@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap");

:root{
  --warm-1:#2b1b16;
  --warm-2:#6b3e2e;
  --warm-3:#c07a4a;
  --warm-4:#f2e7dd;
  --warm-5:#fffaf5;
  --comisiones-print-page-height: 297mm;
}

.company-logo-preview{
  width: 220px;
  height: 120px;
  object-fit: contain;
  background: #fff;
  border: 1px solid rgba(107, 62, 46, 0.25);
  border-radius: 12px;
  padding: 8px;
  display: block;
}

.nav-logo{
  width: 28px;
  height: 28px;
  object-fit: contain;
  background: #fff;
  border-radius: 6px;
  padding: 2px;
}

.login-logo-wrap{
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}

.login-logo{
  width: 140px;
  height: 80px;
  object-fit: contain;
  background: #fff;
  border-radius: 10px;
  padding: 6px;
  border: 1px solid rgba(107, 62, 46, 0.2);
}

.login-logo-wrap--elevated{
  margin-bottom: 18px;
}

.login-logo--large{
  width: 168px;
  height: 96px;
}

.login-layout{
  max-width: 760px;
  margin: 4px auto 0;
  min-height: calc(100vh - 142px);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
  font-family: "Manrope", "Segoe UI", sans-serif;
}

.login-showcase{
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  padding: clamp(26px, 4vw, 42px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 28px;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.24), transparent 44%),
    radial-gradient(circle at 80% 82%, rgba(255,255,255,.18), transparent 42%),
    linear-gradient(145deg, #3a2219 0%, #5f3728 52%, #8b5339 100%);
  color: #fff;
  box-shadow: 0 18px 45px rgba(43, 27, 22, .28);
}

.login-showcase-logo{
  position: relative;
  z-index: 1;
}

.login-showcase .login-logo--large{
  width: 286px;
  height: 169px;
  border-radius: 14px;
  padding: 8px;
}

.login-tracking-card{
  width: min(100%, 560px);
  background: #ededed;
  border-radius: 14px;
  padding: 20px 18px 16px;
  border: 1px solid rgba(255, 255, 255, .18);
}

.login-tracking-title{
  margin: 0 0 16px;
  text-align: center;
  font-size: clamp(1.1rem, 2vw, 2rem);
  line-height: 1.2;
  color: #111;
  font-weight: 800;
}

.login-tracking-form{
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 10px;
  align-items: center;
}

.login-tracking-input{
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 2px solid rgba(0, 0, 0, .18);
  border-radius: 0;
  padding: 8px 4px;
  color: #444;
  font-weight: 700;
  text-transform: lowercase;
}

.login-tracking-input:focus{
  outline: none;
  border-bottom-color: rgba(0, 0, 0, .42);
}

.login-tracking-input::placeholder{
  color: #6f6f6f;
  opacity: 1;
}

.login-tracking-submit{
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  color: #0f0f0f;
  display: grid;
  place-items: center;
  border-radius: 10px;
}

.login-tracking-submit:hover{
  background: rgba(0, 0, 0, .07);
}

.login-showcase::before{
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 999px;
  top: -185px;
  right: -95px;
  background: rgba(255, 255, 255, .13);
}

.login-showcase-actions{
  margin-top: auto;
  width: min(100%, 560px);
  display: flex;
  justify-content: center;
}

.login-chip{
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 700;
  background: rgba(255, 255, 255, .08);
}

.login-showcase-title{
  margin: 18px 0 12px;
  font-size: clamp(1.6rem, 3.1vw, 2.3rem);
  line-height: 1.15;
  font-weight: 800;
  max-width: 18ch;
}

.login-showcase-text{
  margin: 0;
  max-width: 56ch;
  color: rgba(255, 255, 255, .9);
  font-size: .97rem;
}

.login-points{
  margin-top: 28px;
  display: grid;
  gap: 11px;
}

.login-point{
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 14px;
  padding: 11px 14px;
  background: rgba(255, 255, 255, .08);
}

.login-point strong{
  display: block;
  font-size: .92rem;
  font-weight: 700;
}

.login-point span{
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,.85);
  font-size: .85rem;
}

.login-access{
  border-radius: 22px;
  border: 1px solid rgba(107, 62, 46, .2);
  display: flex;
}

.login-access-body{
  padding: clamp(24px, 3.2vw, 36px);
  width: 100%;
}

.login-title{
  margin: 0;
  text-align: center;
  color: var(--warm-1);
  font-weight: 800;
}

.login-subtitle{
  margin: 8px 0 24px;
  color: #6f594f;
  text-align: center;
  font-size: .93rem;
}

.login-form{
  display: grid;
  gap: 14px;
}

.login-field{
  margin: 0;
}

.login-field .form-label{
  margin-bottom: 8px;
  font-weight: 700;
  color: #52362a;
  font-size: .87rem;
}

.login-auth-input-wrap{
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(107, 62, 46, .22);
  border-radius: 12px;
  background: #fffdfb;
  padding: 0 10px;
}

.login-auth-input-icon{
  color: #6f594f;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.login-control{
  border: 0;
  padding: .72rem .95rem;
  background: transparent;
  box-shadow: none;
}

.login-auth-input-wrap:focus-within{
  border-color: rgba(107, 62, 46, .7);
  box-shadow: 0 0 0 .22rem rgba(107, 62, 46, .15);
  background: #fffdfb;
}

.login-control:focus{
  background: transparent;
  box-shadow: none;
}

.login-submit{
  margin-top: 4px;
  font-weight: 700;
  letter-spacing: .01em;
  border-radius: 12px;
  padding-top: .72rem;
  padding-bottom: .72rem;
}

.login-authorized-link{
  display: inline-flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin-top: 14px;
  border-radius: 12px;
  border: 1px solid rgba(107, 62, 46, .35);
  background: rgba(255, 255, 255, .8);
  color: #5a3426;
  font-weight: 700;
  padding: .78rem 1rem;
  text-decoration: none;
  transition: all .18s ease;
}

.login-authorized-link--showcase{
  width: min(100%, 290px);
  margin-top: 0;
}

.login-authorized-link:hover{
  color: #43261b;
  background: rgba(255, 255, 255, .96);
  border-color: rgba(107, 62, 46, .55);
}

.login-authorized-layout{
  min-height: calc(100vh - 160px);
  display: grid;
  place-items: center;
  padding: 8px 0 14px;
}

.login-authorized-layout .login-access{
  width: min(100%, 430px);
}

@media (max-width: 991.98px){
  .login-layout{
    grid-template-columns: 1fr;
    max-width: 620px;
    min-height: auto;
    gap: 16px;
  }
}

@media (max-width: 767.98px){
  .login-showcase{
    padding: 24px 20px;
  }

  .login-points{
    gap: 9px;
  }

  .login-point{
    padding: 10px 12px;
  }

  .login-showcase .login-logo--large{
    width: 240px;
    height: 142px;
  }

  .login-tracking-form{
    grid-template-columns: 1fr;
  }

  .login-tracking-submit{
    justify-self: center;
  }
}

.admin-shell{
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  gap: 16px;
  font-family: "Manrope", "Segoe UI", sans-serif;
}

.admin-hero{
  border-radius: 22px;
  padding: clamp(18px, 3vw, 28px);
  background:
    radial-gradient(circle at 90% 0%, rgba(255,255,255,.2), transparent 38%),
    linear-gradient(132deg, rgba(255,250,245,.98), rgba(242,231,221,.92));
  border: 1px solid rgba(107, 62, 46, .22);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.admin-kicker{
  display: inline-flex;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid rgba(107, 62, 46, .25);
  color: #6b3e2e;
  font-weight: 700;
  font-size: .73rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, .6);
}

.admin-hero-title{
  margin: 10px 0 6px;
  color: var(--warm-1);
  font-weight: 800;
  letter-spacing: -.01em;
  font-size: clamp(1.32rem, 2.4vw, 1.85rem);
}

.admin-hero-text{
  margin: 0;
  color: #6f594f;
  max-width: 58ch;
}

.admin-back-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 10px;
  flex-shrink: 0;
}

.admin-grid{
  display: grid;
  grid-template-columns: minmax(0, 2.08fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.admin-panel{
  border-radius: 20px;
  border: 1px solid rgba(107, 62, 46, .2);
  background: rgba(255, 252, 248, .92);
  overflow: hidden;
}

.admin-panel.is-collapsed{
  background: rgba(255, 252, 248, .82);
}

.admin-panel--params{
  width: 100%;
  justify-self: stretch;
}

.admin-panel--arca,
.admin-panel--distance{
  grid-column: 1 / -1;
}

.admin-panel-head{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 18px;
  border-bottom: 1px solid rgba(107, 62, 46, .14);
  background: rgba(255, 255, 255, .5);
}

.admin-panel-head--between{
  justify-content: space-between;
}

.admin-panel-toggle{
  margin-left: auto;
  border: 1px solid rgba(107, 62, 46, .2);
  background: rgba(255, 255, 255, .75);
  color: var(--warm-1);
  border-radius: 999px;
  min-width: 40px;
  min-height: 40px;
  padding: 7px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.admin-panel-toggle:hover{
  background: #fff;
  border-color: rgba(107, 62, 46, .36);
}

.admin-panel-toggle:focus{
  outline: none;
  box-shadow: 0 0 0 .22rem rgba(107, 62, 46, .13);
}

.admin-panel-toggle svg{
  transition: transform .18s ease;
}

.admin-panel:not(.is-collapsed) .admin-panel-toggle svg{
  transform: rotate(180deg);
}

.admin-panel-toggle-label{
  font-size: .82rem;
  line-height: 1;
}

.admin-panel-icon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(192,122,74,.18);
  color: var(--warm-1);
}

.admin-panel-title{
  margin: 0;
  font-size: 1.03rem;
  font-weight: 800;
  color: var(--warm-1);
}

.admin-panel-subtitle{
  margin: 2px 0 0;
  color: #7a6458;
  font-size: .84rem;
}

.admin-panel-body{
  padding: 18px;
}

.admin-panel--templates{
  grid-column: 1 / -1;
  overflow: visible;
  position: relative;
}

.admin-logo-section{
  display: grid;
  grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.admin-logo-box{
  padding: 12px;
  border-radius: 14px;
  border: 1px dashed rgba(107, 62, 46, .22);
  background: rgba(255,255,255,.65);
}

.admin-logo-controls .form-control,
.admin-field-group .form-select,
.admin-field-group .form-control{
  border-radius: 11px;
  border: 1px solid rgba(107, 62, 46, .24);
  background: #fff;
}

.admin-logo-controls .form-control:focus,
.admin-field-group .form-select:focus,
.admin-field-group .form-control:focus{
  border-color: rgba(107, 62, 46, .7);
  box-shadow: 0 0 0 .22rem rgba(107, 62, 46, .13);
}

.admin-field-group{
  display: grid;
  gap: 8px;
}

.admin-input-wrap{
  position: relative;
}

.admin-input-prefix{
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
  color: #6b3e2e;
}

.admin-input-wrap .form-control{
  padding-left: 26px;
}

.admin-primary-btn,
.admin-secondary-btn{
  border-radius: 11px;
  font-weight: 700;
  padding: 8px 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.admin-icon-btn{
  width: 36px;
  height: 36px;
  border-radius: 9px;
  border: 1px solid rgba(107, 62, 46, .2);
  background: #fff;
  color: #6b3e2e;
  display: grid;
  place-items: center;
}

.admin-icon-btn:hover{
  background: rgba(107, 62, 46, .08);
}

.admin-templates-wrap{
  border: 1px solid rgba(107, 62, 46, .16);
  border-radius: 12px;
  overflow: visible;
}

.admin-templates-wrap .dropdown-menu{
  z-index: 1200;
}

.admin-templates-table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.9rem;
}

.admin-templates-table th:nth-child(1),
.admin-templates-table td:nth-child(1){
  width: 62%;
}

.admin-templates-table th:nth-child(2),
.admin-templates-table td:nth-child(2){
  width: 20%;
}

.admin-templates-table th:nth-child(3),
.admin-templates-table td:nth-child(3){
  width: 18%;
}

.admin-templates-table th,
.admin-templates-table td{
  padding: 10px 12px;
  border-bottom: 1px solid rgba(107, 62, 46, .12);
  vertical-align: middle;
}

.admin-templates-table th{
  background: rgba(255, 255, 255, .75);
  color: #6b3e2e;
  font-weight: 700;
}

.admin-templates-table tbody tr:hover{
  background: rgba(107, 62, 46, .05);
}

.admin-templates-table tbody tr:last-child td{
  border-bottom: 0;
}

.admin-template-name{
  font-weight: 600;
  color: #2b1b16;
}

.admin-template-status{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}

.admin-template-status.is-active{
  color: #1f7a52;
}

.admin-template-status.is-suspended{
  color: #8d3d2e;
}

.admin-action-btn{
  width: 34px;
  height: 34px;
  border-radius: 9px;
  border: 1px solid rgba(107, 62, 46, .2);
  background: #fff;
  color: #6b3e2e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.admin-action-btn::after{
  margin-left: 0.4rem;
}

.admin-action-btn:hover{
  background: rgba(107, 62, 46, .08);
}

.admin-templates-empty{
  text-align: center;
  color: #7c6a5f;
  padding: 20px;
}

.grid-loader-state{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
}

.grid-loader-cell{
  color: #6b5b50;
}

.grid-loader-cell > span{
  vertical-align: middle;
}

.grid-loader-cell > span + span{
  margin-left: .55rem;
}

.grid-loading-host{
  position: relative;
}

.grid-loading-host.is-loading{
  min-height: 220px;
}

.grid-loader-overlay{
  position: absolute;
  inset: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  border-radius: inherit;
  background: rgba(255, 250, 245, .82);
  color: #6b3e2e;
  font-weight: 600;
  backdrop-filter: blur(2px);
}

.admin-templates-table .dropdown-item{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#adminTemplateEditModal .btn,
#adminTemplateDeleteModal .btn,
#adminWassengerModal .btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.admin-hint{
  color: #7c6a5f;
}

@media (max-width: 991.98px){
  .admin-grid{
    grid-template-columns: 1fr;
  }

  .admin-logo-section{
    grid-template-columns: 1fr;
  }

  .admin-panel--params{
    width: 100%;
  }

  .admin-hero{
    flex-direction: column;
    align-items: flex-start;
  }
}

.app-bg{ background: linear-gradient(180deg, var(--warm-5), var(--warm-4)); min-height:100vh; }
.warm-nav{ background: linear-gradient(90deg, var(--warm-2), var(--warm-1)); }
.warm-card{ background: rgba(255,250,245,.9); border: 1px solid rgba(107,62,46,.18); border-radius: 16px; }
.btn-warm{ background: var(--warm-2); color:#fff; border: 0; }
.btn-warm:hover{ background: var(--warm-1); color:#fff; }
.btn-outline-warm{ border-color: var(--warm-2); color: var(--warm-2); }
.btn-outline-warm:hover{ background: var(--warm-2); color:#fff; }
.tabulator{ border-radius: 14px; overflow: hidden; border: 1px solid rgba(107,62,46,.18); }
.tabulator .tabulator-header{ background: rgba(192,122,74,.14); }

.cadete-shell{
  display: grid;
  gap: 14px;
}

.cadete-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(80, 49, 36, .17);
  background:
    radial-gradient(circle at 8% 12%, rgba(255,255,255,.48), transparent 45%),
    linear-gradient(135deg, #f8eee5 0%, #efe3d8 100%);
}

.cadete-head-kicker{
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(107, 62, 46, .24);
  border-radius: 999px;
  padding: 4px 9px;
  font-size: .7rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6b3e2e;
  font-weight: 700;
  background: rgba(255,255,255,.62);
}

.cadete-head-copy h5{
  margin-top: 9px;
  color: #2f1f19;
  font-weight: 800;
}

.cadete-head-sub{
  margin: 4px 0 0;
  color: #70584b;
  font-size: .9rem;
}

.cadete-head-actions{
  display: flex;
  align-items: center;
  gap: 8px;
}

.cadete-count-pill{
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(107,62,46,.1);
  color: #5b3828;
  border: 1px solid rgba(107,62,46,.2);
  font-weight: 700;
  font-size: .82rem;
  white-space: nowrap;
}

.cadete-refresh-btn{
  border-radius: 10px;
  padding: 8px 14px;
  font-weight: 700;
}

.cadete-menu-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.cadete-menu-btn{
  border: 1px solid rgba(117, 156, 190, .38);
  border-radius: 14px;
  background:
    radial-gradient(circle at 92% 8%, rgba(205, 227, 244, .48), transparent 42%),
    linear-gradient(160deg, #fefeff 0%, #f2f9ff 100%);
  color: #21405a;
  text-align: left;
  padding: 14px;
  display: grid;
  gap: 5px;
  box-shadow: 0 10px 18px rgba(39, 69, 98, .08);
}

.cadete-menu-btn:hover{
  border-color: rgba(53, 124, 199, .54);
  transform: translateY(-1px);
}

.cadete-menu-title{
  font-weight: 800;
  color: #123a66;
}

.cadete-menu-title-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.cadete-menu-pill{
  border-radius: 999px;
  padding: 3px 10px;
  border: 1px solid rgba(53, 124, 199, .34);
  background: rgba(53, 124, 199, .12);
  color: #1f4f7e;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.cadete-menu-desc{
  font-size: .88rem;
  color: #5b7286;
}

.cadete-filters-row{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: end;
  padding: 10px 12px;
  border: 1px solid rgba(142, 176, 207, .34);
  border-radius: 12px;
  background: rgba(239, 248, 255, .56);
}

.cadete-filter-field .form-label{
  margin-bottom: 6px;
  font-size: .82rem;
  color: #5f7387;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.cadete-filter-actions{
  display: flex;
  justify-content: flex-end;
}

.cadete-cliente-search{
  margin-top: 10px;
  max-width: 620px;
}

.cadete-cliente-search .form-label{
  margin-bottom: 6px;
  font-size: .82rem;
  color: #5f7387;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.cadete-cliente-search-row{
  display: flex;
  align-items: center;
  gap: 8px;
}

.cadete-cliente-search-row .form-control{
  min-height: 40px;
}

.cadete-cards-list{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 12px;
}

.cadete-cards-empty{
  border: 1px dashed rgba(107,62,46,.34);
  background: rgba(255,255,255,.6);
  color: #5f473a;
  padding: 14px;
  border-radius: 12px;
  font-weight: 600;
}

.cadete-viaje-card{
  background:
    radial-gradient(circle at 92% 3%, rgba(205, 227, 244, .62), transparent 44%),
    linear-gradient(165deg, #fefeff 0%, #f6fbff 100%);
  border: 1px solid rgba(117, 156, 190, .38);
  border-radius: 16px;
  padding: 14px;
  color: #24374a;
  box-shadow: 0 12px 24px rgba(39, 69, 98, .12);
  animation: cadete-card-in .28s ease both;
  animation-delay: calc(var(--card-index, 0) * 35ms);
}

@keyframes cadete-card-in{
  from{ opacity: 0; transform: translateY(8px); }
  to{ opacity: 1; transform: translateY(0); }
}

.cadete-viaje-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.cadete-viaje-top-actions{
  display: flex;
  align-items: center;
  gap: 8px;
}

.cadete-viaje-toggle{
  width: 28px;
  height: 28px;
  border: 1px solid rgba(101, 139, 171, .45);
  border-radius: 999px;
  background: #f7fbff;
  color: #2b4a66;
  display: grid;
  place-items: center;
  font-weight: 800;
  line-height: 1;
}

.cadete-mis-viaje-card.is-collapsed .cadete-viaje-grid{
  display: none;
}

.cadete-viaje-kicker{
  color: #6d7f90;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 700;
}

.cadete-viaje-remitente{
  margin: 3px 0 0;
  font-size: 1.02rem;
  line-height: 1.2;
  color: #123a66;
  font-weight: 800;
  text-transform: uppercase;
}

.cadete-viaje-status{
  border-radius: 999px;
  padding: 5px 10px;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .02em;
  border: 1px solid transparent;
  white-space: nowrap;
}

.cadete-viaje-status.is-deposito{
  background: rgba(121, 142, 161, .14);
  color: #53687d;
  border-color: rgba(121, 142, 161, .28);
}

.cadete-viaje-status.is-visado{
  background: rgba(213, 171, 78, .16);
  color: #7a5a12;
  border-color: rgba(213, 171, 78, .32);
}

.cadete-viaje-status.is-reparto{
  background: rgba(53, 124, 199, .15);
  color: #174f88;
  border-color: rgba(53, 124, 199, .32);
}

.cadete-viaje-status.is-entregado{
  background: rgba(51, 151, 112, .16);
  color: #1c6e4d;
  border-color: rgba(51, 151, 112, .33);
}

.cadete-viaje-status.is-default{
  background: rgba(107, 62, 46, .12);
  color: #6b3e2e;
  border-color: rgba(107, 62, 46, .22);
}

.cadete-viaje-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cadete-viaje-item{
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border-radius: 10px;
  border: 1px solid rgba(142, 176, 207, .34);
  background: rgba(239, 248, 255, .68);
}

.cadete-viaje-item-full{
  grid-column: 1 / -1;
}

.cadete-viaje-label{
  color: #5f7387;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
}

.cadete-viaje-value{
  color: #2a4257;
  font-size: .98rem;
  line-height: 1.28;
  word-break: break-word;
}

.cadete-viaje-link{
  color: #1d4ed8;
  text-decoration: underline;
  font-weight: 700;
}

.cadete-viaje-empty{
  color: #7a91a6;
}

.cadete-viaje-horas{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.cadete-viaje-hora-item{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #294560;
}

.cadete-viaje-hora-item strong{
  font-size: .82rem;
  font-weight: 700;
  color: #516b80;
}

.cadete-viaje-hora-item span{
  font-size: .91rem;
}

.cadete-viaje-actions{
  margin-top: 10px;
  display: flex;
  gap: 8px;
}

.cadete-viaje-card-skeleton{
  pointer-events: none;
}

.cadete-viaje-item-skeleton{
  border-color: rgba(142, 176, 207, .26);
}

.cadete-skeleton{
  position: relative;
  overflow: hidden;
  display: block;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(198, 216, 231, .42) 0%, rgba(255, 255, 255, .82) 50%, rgba(198, 216, 231, .42) 100%);
  background-size: 220% 100%;
  animation: cadete-skeleton-shimmer 1.2s ease-in-out infinite;
}

.cadete-skeleton-line{
  height: 10px;
}

.cadete-skeleton-line-xs{
  width: 42%;
}

.cadete-skeleton-line-sm{
  width: 58%;
}

.cadete-skeleton-line-md{
  width: 74%;
}

.cadete-skeleton-line-lg{
  width: 92%;
}

.cadete-skeleton-pill{
  width: 84px;
  height: 24px;
}

.cadete-skeleton-head{
  display: grid;
  gap: 8px;
}

.cadete-entrega-layout{
  display: grid;
  gap: 12px;
}

.cadete-entrega-card{
  border: 1px solid rgba(117, 156, 190, .32);
  border-radius: 14px;
  background: rgba(245, 252, 255, .82);
  padding: 14px;
}

.cadete-entrega-title{
  margin: 0 0 6px;
  font-weight: 800;
  color: #16416d;
}

.cadete-entrega-help{
  margin: 0 0 10px;
  color: #5d758b;
  font-size: .88rem;
}

.cadete-entrega-veh-list{
  display: grid;
  gap: 9px;
}

.cadete-entrega-veh-item{
  width: 100%;
  border: 1px solid rgba(117, 156, 190, .34);
  border-radius: 10px;
  background: #fff;
  color: #2a4257;
  padding: 10px 12px;
  text-align: left;
  display: grid;
  gap: 2px;
}

.cadete-entrega-veh-item:hover{
  border-color: rgba(53, 124, 199, .45);
  background: rgba(235, 246, 255, .9);
}

.cadete-entrega-veh-item.is-selected{
  border-color: rgba(53, 124, 199, .65);
  background: rgba(219, 239, 255, .92);
  box-shadow: inset 0 0 0 1px rgba(53, 124, 199, .2);
}

.cadete-entrega-veh-main{
  font-weight: 700;
  color: #18456f;
  line-height: 1.25;
}

.cadete-entrega-veh-sub{
  color: #5f7387;
  font-size: .85rem;
  line-height: 1.2;
}

.cadete-entrega-veh-empty{
  border: 1px dashed rgba(107,62,46,.34);
  background: rgba(255,255,255,.6);
  color: #5f473a;
  padding: 12px;
  border-radius: 10px;
  font-weight: 600;
}

.cadete-entrega-data{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cadete-entrega-item{
  border: 1px solid rgba(142, 176, 207, .34);
  border-radius: 10px;
  padding: 9px 10px;
  background: #fff;
  display: grid;
  gap: 2px;
}

.cadete-entrega-item-full{
  grid-column: 1 / -1;
}

.cadete-entrega-label{
  color: #5f7387;
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
}

.cadete-entrega-value{
  color: #2a4257;
  font-size: .96rem;
  line-height: 1.3;
  word-break: break-word;
}

.cadete-entrega-sign-wrap{
  border: 1px dashed rgba(58, 95, 130, .5);
  border-radius: 12px;
  background: #fff;
  padding: 8px;
}

.cadete-entrega-sign-canvas{
  display: block;
  width: 100%;
  height: 220px;
  touch-action: none;
  border-radius: 8px;
  background: #fff;
}

.cadete-entrega-photo-wrap{
  position: relative;
  border: 1px dashed rgba(58, 95, 130, .44);
  border-radius: 12px;
  min-height: 220px;
  display: grid;
  place-items: center;
  background: #fff;
  overflow: hidden;
}

.cadete-entrega-photo{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: none;
}

.cadete-entrega-photo.is-visible{
  display: block;
}

.cadete-entrega-photo-empty{
  color: #6f8598;
  font-weight: 600;
  font-size: .9rem;
  padding: 10px;
  text-align: center;
}

.cadete-entrega-actions{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}

.cadete-entrega-actions--two{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cadete-entrega-actions .btn{
  width: 100%;
  min-width: 0;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: normal;
  line-height: 1.15;
  padding-left: 10px;
  padding-right: 10px;
}

@keyframes cadete-skeleton-shimmer{
  from{ background-position: 100% 0; }
  to{ background-position: -100% 0; }
}

@media (max-width: 767.98px){
  .cadete-head{
    flex-direction: column;
  }

  .cadete-head-actions{
    width: 100%;
    justify-content: space-between;
  }

  .cadete-cards-list{
    grid-template-columns: 1fr;
  }

  .cadete-viaje-grid{
    grid-template-columns: 1fr;
  }

  .cadete-filters-row{
    grid-template-columns: 1fr;
  }

  .cadete-filter-actions{
    justify-content: stretch;
  }

  .cadete-filter-actions .btn{
    width: 100%;
  }

  .cadete-cliente-search{
    max-width: 100%;
  }

  .cadete-entrega-data{
    grid-template-columns: 1fr;
  }

  .cadete-entrega-sign-canvas{
    height: 190px;
  }

  .cadete-entrega-actions .btn{
    font-size: .89rem;
  }
}
.dashboard-home{
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  gap: 14px;
  animation: dashboard-enter .45s ease both;
}

.dashboard-premium-head{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(92, 62, 43, .5);
  background:
    radial-gradient(circle at 14% 14%, rgba(255,255,255,.12), transparent 45%),
    radial-gradient(circle at 88% 80%, rgba(255,255,255,.08), transparent 42%),
    linear-gradient(142deg, #1f1714 0%, #2c211c 52%, #3b2b22 100%);
  box-shadow: 0 14px 28px rgba(24, 16, 12, .24);
  padding: clamp(17px, 2.1vw, 24px);
}

.dashboard-premium-head::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(216,176,127,.1) 0%, rgba(216,176,127,.55) 50%, rgba(216,176,127,.1) 100%);
}

.dashboard-premium-kicker{
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(216,176,127,.44);
  border-radius: 999px;
  padding: 5px 11px;
  background: rgba(216,176,127,.08);
  color: #e6c7a4;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .69rem;
  font-weight: 700;
}

.dashboard-premium-title{
  margin: 10px 0 7px;
  color: #f9ebdc;
  font-size: clamp(1.32rem, 2.2vw, 1.95rem);
  line-height: 1.18;
  font-weight: 800;
  max-width: 22ch;
}

.dashboard-premium-text{
  margin: 0;
  max-width: 72ch;
  font-size: .9rem;
  color: rgba(244, 225, 204, .88);
}

.menu-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.menu-tile{
  width: 100%;
  border: 1px solid rgba(216,176,127,.24);
  background:
    linear-gradient(165deg, #2a1f1a 0%, #1f1713 100%);
  border-radius: 15px;
  padding: 15px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-align: left;
  min-height: 118px;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(24, 16, 12, .22);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
  opacity: 0;
  transform: translateY(10px);
  animation: dashboard-card-enter .55s ease forwards;
}

.menu-tile:nth-child(1){ animation-delay: .05s; }
.menu-tile:nth-child(2){ animation-delay: .09s; }
.menu-tile:nth-child(3){ animation-delay: .13s; }
.menu-tile:nth-child(4){ animation-delay: .17s; }
.menu-tile:nth-child(5){ animation-delay: .21s; }
.menu-tile:nth-child(6){ animation-delay: .25s; }
.menu-tile:nth-child(7){ animation-delay: .29s; }

.menu-tile:hover{
  transform: translateY(-3px);
  border-color: rgba(216,176,127,.42);
  box-shadow: 0 14px 24px rgba(24, 16, 12, .28);
}

.menu-tile:focus-visible{
  outline: 0;
  border-color: rgba(216,176,127,.68);
  box-shadow: 0 0 0 3px rgba(216,176,127,.24);
}

.menu-icon{
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #f2d6b7;
  background: linear-gradient(150deg, rgba(216,176,127,.3), rgba(216,176,127,.12));
  border: 1px solid rgba(216,176,127,.3);
  flex-shrink: 0;
}

.menu-icon svg{
  width: 22px;
  height: 22px;
}

.menu-content{
  flex: 1;
  display: grid;
  gap: 5px;
  align-content: start;
}

.menu-title{
  font-size: 1rem;
  line-height: 1.15;
  font-weight: 800;
  color: #f6e6d4;
}

.menu-subtitle{
  font-size: .82rem;
  line-height: 1.25;
  color: #ccb29a;
}

@keyframes dashboard-enter{
  from{
    opacity: 0;
    transform: translateY(8px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dashboard-card-enter{
  from{
    opacity: 0;
    transform: translateY(10px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1199.98px){
  .menu-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px){
  .dashboard-premium-head{
    padding: 16px 15px;
  }

  .menu-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px){
  .dashboard-home{
    gap: 12px;
  }

  .dashboard-premium-head{
    padding: 15px 14px;
    border-radius: 16px;
  }

  .dashboard-premium-text{
    font-size: .9rem;
  }

  .menu-grid{
    grid-template-columns: 1fr;
  }

  .menu-tile{
    min-height: 0;
    padding: 13px;
  }
}
.ecommerce-alerts-panel{
  background: #fff;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
}
#ecommerceAlertsPanel{
  height: calc(100vh - 88px);
  overflow: hidden;
}
#ecommerceAlertsPanel > .col-12{
  height: 100%;
}
.ecommerce-alerts-panel .card-body{
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ecomm-alerts-toolbar{
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
}
.ecomm-alerts-left{
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 260px;
  flex: 1 1 420px;
}
.ecomm-alerts-filters{
  display: flex;
  flex-direction: row;
  gap: 14px;
  align-items: flex-end;
  flex-wrap: nowrap;
  width: 100%;
}
.ecomm-alerts-search{
  border-bottom: 1px solid rgba(0,0,0,.28);
  padding: 2px 0;
  width: 100%;
  flex: 1 1 320px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ecomm-alerts-input{
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 0.95rem;
}
.ecomm-alerts-clear{
  border: 0;
  background: transparent;
  color: #666;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  line-height: 1;
  padding: 0;
}
.ecomm-alerts-clear:hover{
  background: rgba(0,0,0,.06);
}
.ecomm-alerts-clear.is-hidden{
  opacity: 0;
  pointer-events: none;
}
.ecomm-alerts-dates{
  display: flex;
  gap: 18px;
  flex-wrap: nowrap;
  align-items: flex-end;
}
.ecomm-alerts-date{
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ecomm-alerts-date-label{
  font-size: 0.75rem;
  color: #666;
}
.ecomm-alerts-date-control{
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(0,0,0,.28);
  padding: 2px 4px;
  min-height: 28px;
  min-width: 180px;
}
.ecomm-alerts-date-text{
  flex: 1 1 auto;
  font-weight: 600;
  color: #2b1b16;
  white-space: nowrap;
}
.ecomm-alerts-date-btn{
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.ecomm-alerts-date-btn input{
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.ecomm-alerts-right{
  display: flex;
  align-items: flex-end;
  gap: 14px;
}
.ecomm-alerts-checks{
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 8px 18px;
  font-size: 0.9rem;
}
.ecomm-alerts-check{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--warm-1);
}
.ecomm-alerts-search-btn{
  width: 42px;
  height: 42px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  display: grid;
  place-items: center;
}
.ecomm-alerts-search-btn:hover{
  background: #f2f2f2;
}
.ecomm-alerts-table-wrap{
  margin-top: 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  overflow: auto;
  background: #fff;
  flex: 1 1 auto;
  min-height: 0;
}
.ecomm-alerts-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.ecomm-alerts-table th,
.ecomm-alerts-table td{
  padding: 8px 10px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.ecomm-alerts-table th{
  color: #555;
  font-weight: 600;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 1;
  text-align: left;
}
.ecomm-alerts-table tbody tr:nth-child(even){
  background: #fafafa;
}
.ecomm-alerts-row.is-unseen{
  background: #b9f1e6;
}
.ecomm-alerts-actions{
  display: flex;
  gap: 6px;
  justify-content: center;
}
.ecomm-alerts-dropdown{
  position: relative;
}
.ecomm-alerts-dropdown-menu{
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 160px;
  padding: 6px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.1);
  background: #fff;
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
  display: none;
  z-index: 5;
}
.ecomm-alerts-dropdown.is-open .ecomm-alerts-dropdown-menu{
  display: block;
}
.ecomm-alerts-dropdown-item{
  width: 100%;
  border: 0;
  background: transparent;
  color: #2b1b16;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 0.85rem;
  text-align: left;
}
.ecomm-alerts-dropdown-item:hover{
  background: #f3f3f3;
}
.ecomm-alerts-dropdown-item:disabled{
  color: #999;
  background: transparent;
  cursor: not-allowed;
}
.ecomm-alerts-dropdown-icon{
  width: 16px;
  height: 16px;
  display: grid;
  place-items: center;
  color: #5b4a45;
}
.tracking-modal{
  max-height: 80vh;
  overflow: auto;
}
.tracking-embed-body{
  margin: 0;
  padding: 0;
  background: transparent;
}
.tracking-card{
  margin: 0;
}
.tracking-modal-frame{
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 8px;
  background: #fff;
}
.tracking-modal-dialog{
  max-width: 92vw;
}
@media (max-width: 768px){
  .tracking-modal{
    max-height: 70vh;
  }
}
.ecomm-alerts-action-btn{
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.1);
  background: #fff;
  display: grid;
  place-items: center;
  color: #2b1b16;
}
.ecomm-alerts-action-btn:hover{
  background: #f0f0f0;
}
.ecomm-alerts-empty{
  text-align: center;
  color: #666;
}
.ecomm-alert-tile{
  background: linear-gradient(135deg, #fff4b8, #ffe16d);
  border-color: rgba(160,116,0,.35);
}
.ecomm-alert-tile:hover{
  background: linear-gradient(135deg, #fff1a3, #ffd85b);
}
.ecomm-alert-icon{
  position: relative;
  background: rgba(255,227,118,.7);
  color: #5a3b00;
}
.ecomm-alert-badge{
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #d21b23;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff1b1;
}
.ecomm-alert-tile.is-alerting{
  box-shadow: 0 0 0 2px rgba(210,27,35,.25);
}
.clientes-panel, .usuarios-panel, .cadetes-panel, .vehiculos-panel, .precios-panel{ background: #fff; position: relative; }
.clientes-premium-panel{
  border: 1px solid rgba(92, 62, 43, .5);
  background:
    radial-gradient(circle at 92% 0%, rgba(255,255,255,.12), transparent 42%),
    linear-gradient(150deg, #241a16 0%, #2d211c 28%, #f1e8de 28%, #f8f1e8 100%);
  overflow: hidden;
}
.clientes-premium-body{
  display: grid;
  gap: 0;
  padding: 11px !important;
}
.clientes-premium-content{
  background: rgba(255, 252, 248, .92);
  border: 1px solid rgba(107, 62, 46, .2);
  border-radius: 15px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
  position: relative;
}
.clientes-premium-panel .clientes-toolbar{
  padding: 8px;
  gap: 8px;
}
.clientes-premium-panel .clientes-search{
  border-radius: 10px;
  border-color: rgba(107, 62, 46, .24);
  background: #fff;
}
.clientes-premium-panel .clientes-icon{
  color: #6b3e2e;
}
.clientes-premium-panel .clientes-input{
  font-size: .9rem;
}
.clientes-premium-panel .clientes-action-btn{
  border-radius: 9px;
  border-color: rgba(107, 62, 46, .24);
  background: linear-gradient(160deg, #fff 0%, #f7efe6 100%);
  color: #5c372a;
}
.clientes-premium-panel .clientes-action-btn:hover{
  background: linear-gradient(160deg, #fff8f0 0%, #f1e5d9 100%);
}
.clientes-premium-panel .clientes-list{
  margin: 0 8px;
  border-radius: 10px;
  border-color: rgba(107, 62, 46, .17);
  max-height: 52vh;
}
.clientes-premium-panel .clientes-item{
  padding: 9px 12px;
  border-bottom-color: rgba(107, 62, 46, .08);
  color: #2c211c;
  font-weight: 600;
}
.clientes-premium-panel .clientes-item:hover{
  background: rgba(216,176,127,.16);
}
.clientes-premium-panel .clientes-item.is-selected{
  background: linear-gradient(90deg, rgba(216,176,127,.3), rgba(216,176,127,.15));
}
.clientes-premium-panel .clientes-empty{
  color: #745f53;
}
.clientes-premium-panel .clientes-footer{
  padding: 10px 8px 8px;
  gap: 7px;
}
.clientes-premium-panel .clientes-footer .btn{
  border-radius: 10px;
  font-weight: 700;
  border-color: rgba(107, 62, 46, .35);
  color: #5e392b;
}
.clientes-premium-panel .clientes-footer .btn:hover{
  background: rgba(107, 62, 46, .12);
  color: #5e392b;
}
.clientes-premium-panel .clientes-confirm-card{
  border-color: rgba(107, 62, 46, .24);
  background: #fffaf4;
}
.cadetes-premium-panel,
.usuarios-premium-panel,
.precios-premium-panel{
  border: 1px solid rgba(92, 62, 43, .5);
  background:
    radial-gradient(circle at 92% 0%, rgba(255,255,255,.12), transparent 42%),
    linear-gradient(150deg, #241a16 0%, #2d211c 28%, #f1e8de 28%, #f8f1e8 100%);
  overflow: hidden;
}
.cadetes-premium-body,
.usuarios-premium-body,
.precios-premium-body{
  background: rgba(255, 252, 248, .92);
  border: 1px solid rgba(107, 62, 46, .2);
  border-radius: 15px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
  padding: 11px !important;
  position: relative;
}
.cadetes-premium-panel .cadetes-toolbar,
.usuarios-premium-panel .usuarios-toolbar,
.precios-premium-panel .precios-toolbar{
  padding: 0 0 8px;
  gap: 8px;
}
.cadetes-premium-panel .cadetes-search,
.usuarios-premium-panel .usuarios-search,
.precios-premium-panel .precios-search{
  border-radius: 10px;
  border-color: rgba(107, 62, 46, .24);
  background: #fff;
}
.cadetes-premium-panel .cadetes-icon,
.usuarios-premium-panel .usuarios-icon,
.precios-premium-panel .precios-icon{
  color: #6b3e2e;
}
.cadetes-premium-panel .cadetes-input,
.usuarios-premium-panel .usuarios-input,
.precios-premium-panel .precios-input{
  font-size: .9rem;
}
.cadetes-premium-panel .cadetes-action-btn,
.usuarios-premium-panel .usuarios-action-btn,
.precios-premium-panel .precios-action-btn{
  border-radius: 9px;
  border-color: rgba(107, 62, 46, .24);
  background: linear-gradient(160deg, #fff 0%, #f7efe6 100%);
  color: #5c372a;
}
.cadetes-premium-panel .cadetes-action-btn:hover,
.usuarios-premium-panel .usuarios-action-btn:hover,
.precios-premium-panel .precios-action-btn:hover{
  background: linear-gradient(160deg, #fff8f0 0%, #f1e5d9 100%);
}
.cadetes-premium-panel .cadetes-list,
.usuarios-premium-panel .usuarios-list,
.precios-premium-panel .precios-list{
  margin: 0;
  border-radius: 10px;
  border-color: rgba(107, 62, 46, .17);
  max-height: 52vh;
}
.cadetes-premium-panel .cadetes-item{
  padding: 9px 12px;
  border-bottom-color: rgba(107, 62, 46, .08);
  color: #2c211c;
  font-weight: 600;
}
.cadetes-premium-panel .cadetes-item:hover{
  background: rgba(216,176,127,.16);
}
.cadetes-premium-panel .cadetes-item.is-selected{
  background: linear-gradient(90deg, rgba(216,176,127,.3), rgba(216,176,127,.15));
}
.cadetes-premium-panel .cadetes-state{
  color: #7a4a34;
}
.usuarios-premium-panel .usuarios-table th,
.precios-premium-panel .precios-table th{
  color: #705a4f;
  background: #fff9f1;
  border-bottom-color: rgba(107, 62, 46, .16);
}
.usuarios-premium-panel .usuarios-table td,
.precios-premium-panel .precios-table td{
  border-bottom-color: rgba(107, 62, 46, .08);
}
.usuarios-premium-panel .usuarios-row:hover,
.precios-premium-panel .precios-row:hover{
  background: rgba(216,176,127,.16);
}
.usuarios-premium-panel .usuarios-row.is-selected,
.precios-premium-panel .precios-row.is-selected{
  background: linear-gradient(90deg, rgba(216,176,127,.3), rgba(216,176,127,.15));
}
.usuarios-premium-panel .usuarios-legend{
  border-top-color: rgba(107, 62, 46, .14);
  color: #5b463d;
  margin-top: 8px;
  padding: 9px 10px 0;
}
.precios-premium-panel .precios-state{
  border-color: #8a583d;
  color: #8a583d;
}
.cadetes-premium-panel .cadetes-empty,
.usuarios-premium-panel .usuarios-empty,
.precios-premium-panel .precios-empty{
  color: #745f53;
}
.cadetes-premium-panel .cadetes-footer{
  padding: 10px 0 0;
}
.cadetes-premium-panel .cadetes-footer .btn{
  border-radius: 10px;
  font-weight: 700;
  border-color: rgba(107, 62, 46, .35);
  color: #5e392b;
}
.cadetes-premium-panel .cadetes-footer .btn:hover{
  background: rgba(107, 62, 46, .12);
  color: #5e392b;
}
.cadetes-premium-panel .cadetes-confirm-card,
.usuarios-premium-panel .usuarios-confirm-card,
.precios-premium-panel .precios-confirm-card{
  border-color: rgba(107, 62, 46, .24);
  background: #fffaf4;
}
#preciosEcommPanel .card-body{
  height: 80vh;
}
.clientes-toolbar, .usuarios-toolbar, .cadetes-toolbar, .vehiculos-toolbar, .precios-toolbar{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px;
}
.clientes-search, .usuarios-search, .cadetes-search, .vehiculos-search, .precios-search{
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 12px;
  padding: 6px 10px;
  background: #fff;
}
.clientes-icon, .usuarios-icon, .cadetes-icon, .vehiculos-icon, .precios-icon{ color: #444; }
.clientes-input, .usuarios-input, .cadetes-input, .vehiculos-input, .precios-input{
  border: 0;
  outline: 0;
  width: 100%;
  font-size: 0.95rem;
}
.clientes-actions, .usuarios-actions, .cadetes-actions, .vehiculos-actions, .precios-actions{ display: flex; gap: 6px; }
.clientes-action-btn, .usuarios-action-btn, .cadetes-action-btn, .vehiculos-action-btn, .precios-action-btn{
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.08);
  background: #f5f5f5;
  color: #2b2b2b;
  display: grid;
  place-items: center;
}
.clientes-action-btn:hover, .usuarios-action-btn:hover, .cadetes-action-btn:hover, .vehiculos-action-btn:hover, .precios-action-btn:hover{ background: #ededed; }
.clientes-list, .usuarios-list, .cadetes-list, .vehiculos-list, .precios-list{
  margin: 4px 6px 0 6px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 8px;
  overflow-y: auto;
  max-height: 60vh;
  background: #fff;
}
.usuarios-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.usuarios-table th, .usuarios-table td{
  padding: 6px 8px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.usuarios-table th{
  color: #666;
  font-weight: 600;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 1;
}
.usuarios-row{ cursor: pointer; }
.usuarios-row:hover{ background: #f7f7f7; }
.usuarios-row.is-selected{ background: #b9f1e6; }
.usuarios-tipo-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
}
.usuarios-tipo-icon img{
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.usuarios-legend{
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 8px 12px 4px;
  border-top: 1px solid rgba(0,0,0,.06);
  margin-top: 6px;
  font-size: 0.85rem;
  color: #444;
}
.usuarios-legend-item{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.usuarios-legend-item img{
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.precios-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
  table-layout: fixed;
}
.precios-table th, .precios-table td{
  padding: 6px 8px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.precios-table th{
  color: #666;
  font-weight: 600;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 1;
  text-align: left;
}
.precios-row{ cursor: pointer; }
.precios-row:hover{ background: #f7f7f7; }
.precios-row.is-selected{ background: #b9f1e6; }
.precios-desc{ width: auto; }
.precios-price{
  text-align: right;
  width: 90px;
  max-width: 90px;
  white-space: nowrap;
}
.precios-estado{
  width: 40px;
  max-width: 40px;
  text-align: center;
  white-space: nowrap;
}
#preciosEcommPanel .precios-list{
  overflow-x: hidden;
}
.precios-state{
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid #1f6f61;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1f6f61;
  background: #fff;
}
.precios-state svg{
  width: 11px;
  height: 11px;
}
.precios-state.is-off{
  color: #1f6f61;
}
.clientes-item, .usuarios-item, .cadetes-item, .vehiculos-item{
  width: 100%;
  border: 0;
  text-align: left;
  padding: 8px 12px;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.05);
  font-size: 0.9rem;
}
.clientes-item:hover, .usuarios-item:hover, .cadetes-item:hover, .vehiculos-item:hover{ background: #f7f7f7; }
.clientes-item.is-selected, .usuarios-item.is-selected, .cadetes-item.is-selected, .vehiculos-item.is-selected{ background: #b9f1e6; }
.clientes-empty, .usuarios-empty, .cadetes-empty, .vehiculos-empty, .precios-empty{
  padding: 16px;
  text-align: center;
  color: #666;
}
.clientes-footer, .cadetes-footer{
  display: flex;
  gap: 8px;
  padding: 10px 6px 6px 6px;
  justify-content: space-between;
  flex-wrap: wrap;
}
.clientes-footer .btn, .cadetes-footer .btn{ flex: 1 1 0; }
.clientes-confirm, .usuarios-confirm, .cadetes-confirm, .vehiculos-confirm, .precios-confirm{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.clientes-confirm.is-open, .usuarios-confirm.is-open, .cadetes-confirm.is-open, .vehiculos-confirm.is-open, .precios-confirm.is-open{ display: flex; }
.clientes-confirm-card, .usuarios-confirm-card, .cadetes-confirm-card, .vehiculos-confirm-card, .precios-confirm-card{
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  min-width: 240px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
}
.clientes-confirm-title, .usuarios-confirm-title, .cadetes-confirm-title, .vehiculos-confirm-title, .precios-confirm-title{
  font-weight: 600;
  color: #2b1b16;
  margin-bottom: 10px;
}
.clientes-confirm-actions, .usuarios-confirm-actions, .cadetes-confirm-actions, .vehiculos-confirm-actions, .precios-confirm-actions{
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.cadetes-item, .vehiculos-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.cadetes-check, .vehiculos-check{
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.12);
  display: grid;
  place-items: center;
  color: #1f6f61;
  background: #fff;
  font-size: 12px;
  opacity: 0;
}
.cadetes-state{
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1f6f61;
}
.vehiculos-state{
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1f6f61;
}
.cadetes-item.is-selected .cadetes-check,
.vehiculos-item.is-selected .vehiculos-check{
  opacity: 1;
  background: #e7f7f2;
  border-color: #7cc6b7;
}
.vehiculos-title{
  font-weight: 600;
  color: #21465a;
  padding: 4px 6px 0 6px;
}
.vehiculos-title span{ color: #1f5fbf; }
@media (max-width: 575.98px){
  .clientes-premium-body{
    padding: 9px !important;
  }

  .cadetes-premium-body,
  .usuarios-premium-body,
  .precios-premium-body{
    padding: 9px !important;
  }

  .clientes-premium-content .clientes-toolbar{
    flex-wrap: wrap;
  }

  .cadetes-premium-panel .cadetes-toolbar,
  .usuarios-premium-panel .usuarios-toolbar,
  .precios-premium-panel .precios-toolbar{
    flex-wrap: wrap;
  }
}
.veh-tipo-group{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.veh-tipo-check{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  color: #234;
}
.veh-tipo-check input{
  margin: 0;
}
.veh-tipo-icon{
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.12);
  background: #f3f6f9;
  color: #234;
}
.veh-tipo-icon svg{
  width: 16px;
  height: 16px;
}
.km-modal{
  background: #fffaf2;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  overflow: hidden;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.km-header{
  background: #21465a;
  color: #d7f1ff;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.km-title{ font-weight: 600; }
.km-close{
  border: 0;
  background: transparent;
  color: #d7f1ff;
  font-size: 18px;
  line-height: 1;
}
.km-subtitle{
  padding: 10px 14px 4px 14px;
  font-size: 0.9rem;
  color: #1f5fbf;
  font-weight: 600;
}
.km-toolbar{
  padding: 0 14px 6px 14px;
  display: flex;
  justify-content: flex-end;
}
.km-actions{ display: flex; gap: 6px; }
.km-action-btn{
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.1);
  background: #f3f6f9;
  color: #234;
  display: grid;
  place-items: center;
  font-weight: 600;
}
.km-table-wrap{
  margin: 0 14px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 8px;
  background: #fff;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.km-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.km-table th, .km-table td{
  padding: 6px 8px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.km-table th{
  color: #666;
  font-weight: 600;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 1;
}
.km-row{ cursor: pointer; }
.km-row.km-selected{ background: #b9f1e6; }
.km-empty{
  text-align: center;
  color: #666;
  padding: 16px 8px;
}
.km-form-modal{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 11;
}
.km-form-modal.is-open{ display: flex; }
.km-form-card{
  background: #fffaf2;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  width: min(760px, 92%);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
  overflow: hidden;
  max-height: 90vh;
  overflow-y: auto;
}
.km-form-header{
  padding: 10px 14px 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.km-form-title{
  font-weight: 600;
  color: #21465a;
}
.km-form-close{
  border: 0;
  background: transparent;
  color: #21465a;
  font-size: 18px;
  line-height: 1;
}
.km-form{
  padding: 10px 14px 12px 14px;
}
.km-form-row{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.km-form-row label{
  font-size: 0.8rem;
  color: #2c6dd0;
  margin-bottom: 4px;
  display: block;
}
.km-input{
  width: 100%;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 6px;
  padding: 6px 8px;
  font-size: 0.85rem;
}
.km-vehiculos{
  display: flex;
  gap: 16px;
  align-items: center;
  padding-top: 8px;
}
.km-veh-option{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: #444;
}
.km-veh-icon{
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #e9eef2;
  color: #234;
  font-weight: 700;
  font-size: 0.7rem;
}
.km-veh-icon svg{
  width: 16px;
  height: 16px;
}
.km-buttons{
  display: flex;
  gap: 10px;
  justify-content: center;
  padding-top: 10px;
}
.km-confirm{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 12;
}
.modal-dialog.modal-fullheight{
  height: 80vh;
  width: 740px;
  max-width: 740px;
}
.modal-dialog.modal-fullheight.modal-dialog-scrollable{
  height: 80vh;
}
.modal-dialog.modal-fullheight .modal-content{
  height: 100%;
}
.modal-dialog.modal-fullheight.modal-dialog-scrollable .modal-content{
  max-height: 100%;
}
.modal-dialog.modal-fullheight .modal-body{
  height: 100%;
  padding: 0;
}
.modal-dialog.modal-destinos{
  height: 80vh;
  width: 740px;
  max-width: 740px;
}
.modal-dialog.modal-destinos.modal-dialog-scrollable{
  height: 80vh;
}
.modal-dialog.modal-destinos .modal-content{
  height: 100%;
}
.modal-dialog.modal-destinos.modal-dialog-scrollable .modal-content{
  max-height: 100%;
}
.modal-dialog.modal-destinos .modal-body{
  height: 100%;
  padding: 0;
}
.modal-dialog.modal-vehiculo{
  width: 560px;
  max-width: 560px;
}
.modal-dialog.modal-bulto{
  height: 80vh;
  width: 630px;
  max-width: 630px;
}
.modal-dialog.modal-bulto.modal-dialog-scrollable{
  height: 80vh;
}
.modal-dialog.modal-bulto .modal-content{
  height: 100%;
}
.modal-dialog.modal-bulto.modal-dialog-scrollable .modal-content{
  max-height: 100%;
}
.modal-dialog.modal-bulto .modal-body{
  height: 100%;
  padding: 0;
}
@media (max-width: 768px){
  .modal-dialog.modal-fullheight{
    width: 95vw;
    max-width: 95vw;
  }
  .modal-dialog.modal-destinos{
    width: 95vw;
    max-width: 95vw;
  }
  .modal-dialog.modal-vehiculo{
    width: 95vw;
    max-width: 95vw;
  }
  .modal-dialog.modal-bulto{
    width: 95vw;
    max-width: 95vw;
  }
  .km-form-row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px){
  .km-form-row{
    grid-template-columns: 1fr;
  }
  .km-vehiculos{
    flex-wrap: wrap;
  }
}
.km-confirm.is-open{ display: flex; }
.km-confirm-card{
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  min-width: 240px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
}
.km-confirm-title{
  font-weight: 600;
  color: #2b1b16;
  margin-bottom: 10px;
}
.km-confirm-actions{
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.bulto-modal{
  background: #fffaf2;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  overflow: hidden;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.bulto-header{
  background: #21465a;
  color: #d7f1ff;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.bulto-title{ font-weight: 600; }
.bulto-close{
  border: 0;
  background: transparent;
  color: #d7f1ff;
  font-size: 18px;
  line-height: 1;
}
.bulto-subtitle{
  padding: 10px 14px 4px 14px;
  font-size: 0.9rem;
  color: #1f5fbf;
  font-weight: 600;
}
.bulto-toolbar{
  padding: 0 14px 6px 14px;
  display: flex;
  justify-content: flex-end;
}
.bulto-actions{ display: flex; gap: 6px; }
.bulto-action-btn{
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.1);
  background: #f3f6f9;
  color: #234;
  display: grid;
  place-items: center;
  font-weight: 600;
}
.bulto-table-wrap{
  margin: 0 14px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 8px;
  background: #fff;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.bulto-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.bulto-table th, .bulto-table td{
  padding: 6px 8px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.bulto-table th{
  color: #666;
  font-weight: 600;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 1;
}
.bulto-row{ cursor: pointer; }
.bulto-row.bulto-selected{ background: #b9f1e6; }
.bulto-empty{
  text-align: center;
  color: #666;
  padding: 16px 8px;
}
.bulto-form{
  padding: 12px 14px 14px 14px;
}
.bulto-form-modal{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 11;
}
.bulto-form-modal.is-open{ display: flex; }
.bulto-form-card{
  background: #fffaf2;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  width: min(560px, 92%);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
  overflow-y: auto;
  max-height: 90vh;
}
.bulto-form-header{
  padding: 10px 14px 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.bulto-form-title{
  font-weight: 600;
  color: #21465a;
}
.bulto-form-close{
  border: 0;
  background: transparent;
  color: #21465a;
  font-size: 18px;
  line-height: 1;
}
.bulto-form-row{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.bulto-form-row label{
  font-size: 0.8rem;
  color: #2c6dd0;
  margin-bottom: 4px;
  display: block;
}
.bulto-input{
  width: 100%;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 6px;
  padding: 6px 8px;
  font-size: 0.85rem;
}
.bulto-buttons{
  display: flex;
  gap: 14px;
  justify-content: center;
  padding-top: 12px;
}
.bulto-confirm{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 12;
}
.bulto-confirm.is-open{ display: flex; }
.bulto-confirm-card{
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  min-width: 240px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
}
.bulto-confirm-title{
  font-weight: 600;
  color: #2b1b16;
  margin-bottom: 10px;
}
.bulto-confirm-actions{
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.destinos-modal{
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  padding: 12px 14px 14px;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.destinos-header{
  display: flex;
  align-items: center;
  gap: 8px;
}
.destinos-title{
  flex: 1;
  text-align: center;
  font-weight: 600;
  color: #21465a;
}
.destinos-title span{ color: #1f5fbf; }
.destinos-close{
  border: 0;
  background: transparent;
  color: #6b3e2e;
  font-size: 18px;
  line-height: 1;
}
.destinos-toolbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 6px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.destinos-search{
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 200px;
  max-width: 300px;
}
.destinos-icon{ color: #444; }
.destinos-input{
  width: 100%;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.85rem;
}
.destinos-actions{ display: flex; gap: 6px; }
.destinos-action-btn{
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.1);
  background: #f3f6f9;
  color: #234;
  display: grid;
  place-items: center;
  font-weight: 600;
}
.destinos-table-wrap{
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 8px;
  background: #fff;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.destinos-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.destinos-table th, .destinos-table td{
  padding: 6px 8px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.destinos-table th{
  color: #666;
  font-weight: 600;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 1;
}
.destinos-row{ cursor: pointer; }
.destinos-row.is-selected{ background: #b9f1e6; }
.destinos-empty{
  text-align: center;
  color: #666;
  padding: 16px 8px;
}
.destinos-num{ text-align: right; }
.destinos-footer{
  display: flex;
  justify-content: center;
  padding-top: 10px;
}
.destinos-form{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.destinos-form.is-open{ display: flex; }
.destinos-form-card{
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  min-width: 390px;
  max-width: 92vw;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
}
.destinos-form.is-editing .destinos-form-card{
  min-width: 390px;
}
.destinos-form-title{
  font-weight: 600;
  color: #2b1b16;
  margin-bottom: 10px;
}
.destinos-form-body{
  display: grid;
  gap: 10px;
}
.destinos-form-row label{
  font-size: 0.85rem;
  color: #2c6dd0;
  margin-bottom: 4px;
  display: block;
}
.destinos-form-grid label{
  font-size: 0.85rem;
  color: #2c6dd0;
  margin-bottom: 4px;
  display: block;
}
.destinos-form-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.destinos-dist-btn{
  width: 100%;
}
.destinos-vehiculos{
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
}
.destinos-veh-option{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: #444;
}
.destinos-veh-icon{
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.1);
  background: #f3f6f9;
  color: #234;
}
.destinos-veh-icon svg{
  width: 16px;
  height: 16px;
}
.destinos-form-types{
  display: flex;
  gap: 14px;
  align-items: center;
}
.destinos-type-option{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: #444;
}
.destinos-form-actions{
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding-top: 10px;
}
.destinos-confirm{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 11;
}
.destinos-confirm.is-open{ display: flex; }
.destinos-confirm-card{
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  min-width: 240px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
}
.destinos-confirm-title{
  font-weight: 600;
  color: #2b1b16;
  margin-bottom: 10px;
}
.destinos-confirm-actions{
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.destinos-type{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 12;
}
.destinos-type.is-open{ display: flex; }
.destinos-type-card{
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  min-width: 240px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
}
.destinos-type-title{
  font-weight: 600;
  color: #2b1b16;
  margin-bottom: 10px;
}
.destinos-type-options{
  display: grid;
  gap: 8px;
}
.pe-modal{
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  padding: 12px 14px 14px;
}
.pe-modal-dialog{
  max-width: 45vw;
}
@media (max-width: 768px){
  .pe-modal-dialog{
    max-width: 95vw;
  }
}
.ecomm-block-modal{
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  padding: 24px 22px 20px;
  text-align: center;
}
.ecomm-block-dialog{
  max-width: 420px;
}
.ecomm-block-icon{
  width: 76px;
  height: 76px;
  border-radius: 50%;
  border: 3px solid #8ad1f5;
  color: #8ad1f5;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  font-size: 36px;
  font-weight: 700;
  font-family: "Georgia", "Times New Roman", serif;
}
.ecomm-block-text{
  color: #505050;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 18px;
}
.ecomm-block-btn{
  min-width: 110px;
  font-weight: 600;
}
.pe-header{
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  padding-bottom: 8px;
  margin-bottom: 12px;
}
.pe-title{
  font-weight: 600;
  color: #2b1b16;
}
.pe-title-input{
  flex: 1;
  border: 0;
  outline: 0;
  border-bottom: 1px solid rgba(0,0,0,.2);
  padding: 2px 4px;
  font-weight: 600;
  background: transparent;
}
.pe-close{
  border: 0;
  background: transparent;
  color: #6b3e2e;
  font-size: 16px;
  line-height: 1;
}
.pe-body{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pe-row{
  display: flex;
  align-items: center;
  gap: 10px;
}
.pe-row label{
  font-size: 0.85rem;
  color: #2b1b16;
  margin-bottom: 0;
  min-width: 60px;
}
.pe-input{
  width: 120px;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 6px;
  padding: 6px 8px;
  font-size: 0.85rem;
}
.pe-check{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: #2b1b16;
}
.pe-buttons{
  display: flex;
  gap: 10px;
  justify-content: center;
  padding-top: 6px;
}

.comisiones-panel{
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  border: 1px solid #d7e1eb;
  border-radius: 18px;
  box-shadow: 0 24px 52px rgba(17, 36, 58, .18) !important;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.comisiones-panel .card-body{
  border: 0;
  box-shadow: none;
  padding: 16px 18px 18px;
  width: 100%;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.comisiones-toolbar{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  padding: 12px 14px;
  border: 1px solid #d6e1ec;
  border-radius: 14px;
  background: linear-gradient(135deg, #f7fbff 0%, #edf4fb 100%);
}
.comisiones-filters{
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: nowrap;
  flex: 1 1 0;
  min-width: 0;
}
.comisiones-filters > div{
  flex: 1 1 0;
  min-width: 0;
}
.comisiones-filters > div:first-child{
  flex: 1.6 1 0;
}
.comisiones-filters .form-label{
  margin-bottom: 4px;
  color: #334155;
  font-weight: 700;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.comisiones-filters .form-select{
  min-height: 40px;
  border: 1px solid #cfd8e3;
  border-radius: 10px;
  background-color: #fff;
  color: #1f2937;
  font-size: .9rem;
}
.comisiones-filters .form-select:focus{
  border-color: #1f7a6f;
  box-shadow: 0 0 0 3px rgba(31, 122, 111, .16);
}
.comisiones-actions{
  display: flex;
  gap: 8px;
}
.comisiones-action-btn{
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid #ccd8e4;
  background: #fff;
  color: #35516b;
  display: grid;
  place-items: center;
  transition: transform .14s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}
.comisiones-action-btn:hover{
  background: #f7fafc;
  border-color: #9cb0c5;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .12);
  transform: translateY(-1px);
}
.comisiones-content{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 14px;
  margin-top: 14px;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  align-items: stretch;
  overflow: hidden;
}
.comisiones-table-wrap{
  border: 1px solid #d3deea;
  border-radius: 14px;
  background: #fff;
  overflow: auto;
  max-height: none;
  min-height: 0;
  height: 100%;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}
.comisiones-table{
  width: 100%;
  border-collapse: collapse;
  font-size: .84rem;
  color: #1f2937;
}
.comisiones-table th,
.comisiones-table td{
  padding: 10px 10px;
  border-bottom: 1px solid #ecf1f6;
  vertical-align: top;
}
.comisiones-table th{
  background: linear-gradient(180deg, #f8fbff 0%, #eef4fa 100%);
  color: #3f556a;
  font-weight: 700;
  font-size: .73rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  position: sticky;
  top: 0;
  z-index: 1;
}
.comisiones-table tbody tr:nth-child(odd){
  background: #fbfdff;
}
.comisiones-table tbody tr:hover{
  background: #edf7f5;
}
.comisiones-veh{
  text-align: center;
  width: 52px;
  color: #21506e;
}
.comisiones-veh svg{
  width: 20px;
  height: 20px;
}
.comisiones-money{
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.comisiones-summary{
  border: 1px solid #d4deea;
  border-radius: 14px;
  background: linear-gradient(180deg, #fdfefe 0%, #f4f8fc 100%);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: 100%;
  min-height: 0;
  overflow: auto;
}
.comisiones-percent{
  text-align: center;
  font-weight: 700;
  color: #264d6b;
  border: 1px solid #d6e3ef;
  border-radius: 10px;
  padding: 10px 8px;
  background: #f6fbff;
}
.comisiones-percent-value{
  font-size: 1.4rem;
  color: #1f5f93;
  margin-top: 4px;
  font-weight: 800;
}
.comisiones-summary-title{
  font-weight: 700;
  color: #334155;
  margin-bottom: 8px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .72rem;
}
.comisiones-summary-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: .88rem;
  color: #415467;
}
.comisiones-summary-amount{
  font-weight: 700;
  color: #1f2937;
}
.comisiones-summary-divider{
  border-top: 1px solid #dce5ef;
  margin: 2px 0;
}
.comisiones-summary-total{
  font-weight: 800;
  color: #21364d;
}
.comisiones-summary-final{
  text-align: center;
  border-radius: 10px;
  background: linear-gradient(180deg, #e9f7f4 0%, #dff2ee 100%);
  border: 1px solid #bce0d8;
  padding: 10px 8px;
}
.comisiones-summary-final-label{
  color: #2e5f57;
  font-weight: 700;
  margin-bottom: 2px;
  text-transform: uppercase;
  font-size: .72rem;
  letter-spacing: .05em;
}
.comisiones-summary-final-value{
  font-size: 1.45rem;
  font-weight: 800;
  color: #1f7a6f;
}
.comisiones-summary #comisionesCerrarPlanillaBtn{
  min-height: 42px;
  border-radius: 10px;
  border-color: #16665d;
  background: linear-gradient(180deg, #1f7a6f 0%, #16665d 100%);
  color: #fff;
  font-weight: 700;
}
.comisiones-summary #comisionesCerrarPlanillaBtn:hover{
  border-color: #115149;
  background: linear-gradient(180deg, #1a6a60 0%, #115149 100%);
  color: #fff;
}
.comisiones-summary #comisionesCerrarPlanillaBtn.is-liquidado,
.comisiones-summary #comisionesCerrarPlanillaBtn.is-liquidado:hover{
  background: linear-gradient(180deg, #b42318 0%, #912018 100%);
  border-color: #912018;
  color: #fff4cc;
}
.comisiones-empty{
  text-align: center;
  color: #64748b;
  padding: 18px 10px;
}
.comisiones-ajustes-dialog{
  max-width: min(1180px, 96vw);
}
.comisiones-ajustes-body{
  padding: 1.1rem 1.25rem 1.25rem;
  background:
    radial-gradient(circle at top left, rgba(31,122,111,.08), transparent 28%),
    linear-gradient(180deg, #fbfdff 0%, #f3f7fb 100%);
}
.comisiones-ajustes-modal{
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 60vh;
}
.comisiones-ajustes-head{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 12px;
  align-items: start;
  padding: 6px 2px 2px;
}
.comisiones-ajustes-head-main{
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: nowrap;
  min-width: 0;
}
.comisiones-ajustes-title{
  font-size: 1.28rem;
  font-weight: 800;
  color: #22364d;
  letter-spacing: .01em;
  white-space: nowrap;
}
.comisiones-ajustes-subtitle{
  color: #64748b;
  font-size: .95rem;
  white-space: nowrap;
}
.comisiones-ajustes-grid{
  display: block;
}
.comisiones-ajustes-form{
  border: 1px solid rgba(201,214,229,.95);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,250,253,.98) 100%);
  box-shadow: 0 14px 32px rgba(31,41,55,.07);
  padding: 16px 18px;
}
.comisiones-ajustes-form-grid{
  display: grid;
  grid-template-columns: 1.05fr .95fr 1.4fr auto auto;
  gap: 14px;
  align-items: end;
}
.comisiones-ajustes-form .form-label{
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #607085;
  font-weight: 700;
  margin-bottom: 6px;
}
.comisiones-ajustes-form .form-control,
.comisiones-ajustes-form .form-select{
  min-height: 46px;
  border-radius: 12px;
  border-color: #d5dfeb;
  background: #fff;
}
.comisiones-ajustes-form textarea.form-control{
  min-height: 46px;
  resize: vertical;
}
.comisiones-ajustes-form-action{
  display: flex;
  align-items: end;
}
.comisiones-ajustes-form-action .btn{
  min-width: 112px;
  min-height: 46px;
  border-radius: 12px;
}
.comisiones-ajustes-delete-dialog{
  max-width: min(560px, 92vw);
}
.comisiones-ajustes-delete-window{
  border-radius: 18px;
}
.comisiones-ajustes-delete-meta{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.comisiones-ajustes-delete-row{
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff8f7 0%, #fff2f0 100%);
  border: 1px solid #f0d4d0;
}
.comisiones-ajustes-delete-row span{
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #8b5b55;
  font-weight: 700;
}
.comisiones-ajustes-delete-row strong{
  color: #4c2d28;
  font-size: .96rem;
}
.comisiones-ajustes-delete-obs{
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #f8fbff;
  border: 1px solid #dbe5ef;
}
.comisiones-ajustes-delete-obs-label{
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #64748b;
  font-weight: 700;
  margin-bottom: 4px;
}
.comisiones-ajustes-delete-obs-value{
  color: #334155;
}
.comisiones-ajustes-table-wrap{
  border: 1px solid rgba(201,214,229,.95);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(31,41,55,.06);
  overflow: auto;
  min-height: 0;
  max-height: 46vh;
}
.comisiones-ajustes-table-wrap .comisiones-table th{
  background: linear-gradient(180deg, #f7fbff 0%, #eef4fa 100%);
}
.comisiones-ajustes-table-wrap .comisiones-table td{
  padding-top: 12px;
  padding-bottom: 12px;
}
.comisiones-ajustes-action-head,
.comisiones-ajustes-action-cell{
  width: 64px;
  text-align: center;
}
.comisiones-ajustes-delete{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #e4c7c7;
  border-radius: 10px;
  background: linear-gradient(180deg, #fff8f7 0%, #fff0ee 100%);
  color: #b42318;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.comisiones-ajustes-delete:hover{
  border-color: #d8a7a2;
  box-shadow: 0 8px 16px rgba(180,35,24,.14);
  transform: translateY(-1px);
}
.comisiones-ajustes-delete.is-disabled{
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
  color: #94a3b8;
  box-shadow: none;
}
.comisiones-ajustes-impact{
  font-weight: 800;
}
.comisiones-ajustes-impact.is-plus{
  color: #16665d;
}
.comisiones-ajustes-impact.is-minus{
  color: #b42318;
}
.comisiones-ajustes-summary{
  width: 100%;
  border: 1px solid rgba(201,214,229,.95);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(246,250,253,.98) 100%);
  box-shadow: 0 12px 28px rgba(31,41,55,.05);
}
.comisiones-ajustes-summary-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.comisiones-ajustes-summary-card{
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid #d9e3ee;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
}
.comisiones-ajustes-summary-label{
  font-size: .73rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #64748b;
  font-weight: 700;
}
.comisiones-ajustes-summary-value{
  font-size: 1.32rem;
  font-weight: 800;
  color: #22364d;
  line-height: 1.1;
}
.comisiones-ajustes-summary-value.is-plus{
  color: #16665d;
}
.comisiones-ajustes-summary-value.is-minus{
  color: #b42318;
}
#cadeteComisionesPanel .comisiones-toolbar{
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 8px;
}
#cadeteComisionesPanel .comisiones-filters{
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  min-width: 0;
}
#cadeteComisionesPanel .comisiones-filters > div{
  min-width: 0;
}
#cadeteComisionesPanel .comisiones-actions{
  width: auto;
  flex: 0 0 auto;
}
#cadeteComisionesPanel .cadete-comisiones-destino{
  max-width: 560px;
}
#cadeteComisionesPanel .cadete-comisiones-destino-row{
  display: flex;
  align-items: center;
  gap: 8px;
}
#cadeteComisionesPanel .cadete-comisiones-destino-row .form-control{
  min-height: 40px;
}
#cadeteComisionesPanel .cadete-comisiones-loader-cell{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
#cadeteComisionesPanel .cadete-comisiones-toggle{
  display: none;
}
#cadeteComisionesPanel .cadete-comisiones-remitente{
  display: inline;
}
@media (max-width: 992px){
  #comisionesPanel .comisiones-toolbar-premium{
    grid-template-columns: 1fr;
    padding: 16px;
  }
  #comisionesPanel .comisiones-form-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  #comisionesPanel .comisiones-actions{
    width: 100%;
    justify-content: flex-end;
  }
  .comisiones-panel .card-body{
    padding: 12px;
  }
  .comisiones-toolbar{
    padding: 10px;
  }
  .comisiones-actions{
    width: 100%;
    justify-content: flex-end;
  }
  .comisiones-content{
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
  }
  .comisiones-summary{
    order: 2;
  }
  .comisiones-ajustes-head,
  .comisiones-ajustes-grid{
    grid-template-columns: 1fr;
  }
  .comisiones-ajustes-head-main{
    flex-wrap: wrap;
    gap: 4px 10px;
  }
  .comisiones-ajustes-delete-meta{
    grid-template-columns: 1fr;
  }
  .comisiones-ajustes-form-grid{
    grid-template-columns: 1fr;
  }
  .comisiones-ajustes-summary-grid{
    grid-template-columns: 1fr;
  }
  .comisiones-ajustes-table-wrap{
    max-height: none;
  }
  #cadeteComisionesPanel .comisiones-toolbar{
    flex-wrap: nowrap;
    gap: 8px;
  }
  #cadeteComisionesPanel .comisiones-filters{
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  #cadeteComisionesPanel .comisiones-actions{
    width: auto;
    justify-content: flex-end;
    flex: 0 0 auto;
  }
  #cadeteComisionesPanel .cadete-comisiones-destino{
    max-width: 100%;
  }
}
@media (max-width: 768px){
  #comisionesPanel{
    height: calc(100dvh - 88px);
    min-height: calc(100dvh - 88px);
  }
  #comisionesPanel .comisiones-form-grid{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 576px){
  #comisionesPanel .comisiones-toolbar-premium{
    padding: 14px;
  }
  #comisionesPanel .comisiones-table th,
  #comisionesPanel .comisiones-table td{
    padding: 10px 9px;
  }
}

@media (max-width: 1100px){
  #cadeteComisionesPanel .comisiones-content{
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
    overflow: visible;
    align-items: stretch;
  }
  #cadeteComisionesPanel .cadete-comisiones-table-wrap{
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
    height: auto;
  }
  #cadeteComisionesPanel .comisiones-summary{
    order: 2;
    max-height: none;
    overflow: visible;
  }
  #cadeteComisionesPanel .comisiones-table,
  #cadeteComisionesPanel .comisiones-table tbody,
  #cadeteComisionesPanel .comisiones-table tr,
  #cadeteComisionesPanel .comisiones-table td{
    display: block;
    width: 100%;
  }
  #cadeteComisionesPanel .comisiones-table thead{
    display: none;
  }
  #cadeteComisionesPanel .comisiones-table tbody{
    display: grid;
    gap: 10px;
  }
  #cadeteComisionesPanel .comisiones-table tbody tr{
    border: 1px solid #d3deea;
    border-radius: 12px;
    background: #fff;
    padding: 8px;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .08);
  }
  #cadeteComisionesPanel .comisiones-table tbody tr.cadete-comision-row.is-collapsed td:not(:first-child){
    display: none;
  }
  #cadeteComisionesPanel .comisiones-table tbody tr td{
    border-bottom: 1px dashed #e2e8f0;
    padding: 7px 8px;
    display: grid;
    grid-template-columns: minmax(120px, 42%) minmax(0, 1fr);
    gap: 8px;
    align-items: start;
  }
  #cadeteComisionesPanel .comisiones-table tbody tr td::before{
    content: attr(data-label);
    font-size: .68rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: .04em;
  }
  #cadeteComisionesPanel .comisiones-table tbody tr td:last-child{
    border-bottom: 0;
  }
  #cadeteComisionesPanel .comisiones-table tbody tr.cadete-comision-row td:first-child{
    padding: 0;
    border-bottom: 0;
    display: block;
  }
  #cadeteComisionesPanel .comisiones-table tbody tr.cadete-comision-row td:first-child::before{
    content: none;
  }
  #cadeteComisionesPanel .cadete-comisiones-remitente{
    display: none;
  }
  #cadeteComisionesPanel .cadete-comisiones-toggle{
    width: 100%;
    min-height: 40px;
    border: 1px solid #d3deea;
    border-radius: 10px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef4fa 100%);
    color: #1f2937;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    text-align: left;
    font-weight: 700;
    font-size: .86rem;
  }
  #cadeteComisionesPanel .cadete-comisiones-toggle-icon{
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 1px solid #9fb4c8;
    display: grid;
    place-items: center;
    color: #36516b;
    font-weight: 800;
    line-height: 1;
  }
  #cadeteComisionesPanel .comisiones-table tbody tr td.comisiones-veh,
  #cadeteComisionesPanel .comisiones-table tbody tr td.comisiones-money{
    text-align: left;
    width: 100%;
    white-space: normal;
  }
  #cadeteComisionesPanel .comisiones-table tbody tr td.comisiones-veh svg{
    width: 18px;
    height: 18px;
  }
  #cadeteComisionesPanel .comisiones-table .comisiones-empty{
    display: block;
    text-align: center;
    border: 0;
    padding: 14px 8px;
  }
  #cadeteComisionesPanel .comisiones-table .comisiones-empty::before{
    content: none;
  }
}

#comisionesPanel{
  height: calc(100dvh - 88px);
  min-height: calc(100vh - 88px);
  overflow: hidden;
}
#comisionesPanel > .w-100{
  height: 100%;
  min-height: 0;
}
#comisionesPanel .comisiones-page{
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  border: 1px solid #d7e1eb;
  border-radius: 18px;
  box-shadow: 0 24px 52px rgba(17, 36, 58, .18);
  overflow: hidden;
}
#comisionesPanel .comisiones-toolbar-premium{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  padding: 18px 20px;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 30;
}
#comisionesPanel .comisiones-toolbar-main{
  min-width: 0;
}
#comisionesPanel .comisiones-form-grid{
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 190px 150px;
  gap: 18px;
  align-items: end;
}
#comisionesPanel .comisiones-field,
#comisionesPanel .comisiones-date{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
#comisionesPanel .comisiones-label{
  font-weight: 700;
  color: #475569;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
#comisionesPanel .comisiones-select-wrap,
#comisionesPanel .comisiones-date-control{
  border: 1px solid #d7e0ea;
  border-radius: 14px;
  background: #fff;
  min-height: 48px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
#comisionesPanel .comisiones-select-wrap:focus-within,
#comisionesPanel .comisiones-date-control:focus-within{
  border-color: #1d6661;
  box-shadow: 0 0 0 4px rgba(29, 102, 97, .14);
}
#comisionesPanel .comisiones-select-input,
#comisionesPanel .comisiones-date-select{
  min-height: 46px;
  border: 0;
  border-radius: 14px;
  background-color: transparent;
  color: #1f2937;
  font-size: .96rem;
  box-shadow: none;
}
#comisionesPanel .comisiones-select-input:focus,
#comisionesPanel .comisiones-date-select:focus{
  box-shadow: none;
}
#comisionesPanel .comisiones-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
#comisionesPanel .comisiones-action-btn{
  width: 46px;
  min-width: 46px;
  min-height: 46px;
  padding: 0;
  border-radius: 14px;
  border: 1px solid #d5dee8;
  background: #fff;
  color: #35516b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 700;
  font-size: .88rem;
  transition: transform .14s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease;
}
#comisionesPanel .comisiones-action-btn:hover{
  background: #f8fafc;
  border-color: #94a3b8;
  box-shadow: 0 10px 18px rgba(15, 23, 42, .08);
  transform: translateY(-1px);
}
#comisionesPanel .comisiones-action-btn-primary{
  background: linear-gradient(135deg, #17324f 0%, #1d6661 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 12px 22px rgba(23, 50, 79, .22);
}
#comisionesPanel .comisiones-action-btn-primary:hover{
  background: linear-gradient(135deg, #10263b 0%, #185650 100%);
  color: #fff;
  border-color: transparent;
}
#comisionesPanel .comisiones-table-card{
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
#comisionesPanel .comisiones-table-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 14px;
  background: #fff;
  flex: 0 0 auto;
}
#comisionesPanel .comisiones-table-kicker{
  display: inline-block;
  margin-bottom: 4px;
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
#comisionesPanel .comisiones-table-title{
  margin: 0;
  color: #0f172a;
  font-size: 1.15rem;
  font-weight: 800;
}
#comisionesPanel .comisiones-table-wrap{
  overflow-x: auto;
  overflow-y: auto;
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
#comisionesPanel .comisiones-table{
  width: 100%;
  border-collapse: collapse;
  font-size: .86rem;
  color: #1f2937;
}
#comisionesPanel .comisiones-table th,
#comisionesPanel .comisiones-table td{
  padding: 12px 12px;
  border-bottom: 1px solid #e9eff5;
  vertical-align: top;
}
#comisionesPanel .comisiones-table th{
  background: rgba(248, 250, 252, .96);
  color: #475569;
  font-weight: 700;
  font-size: .73rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  position: sticky;
  top: 0;
  z-index: 1;
  backdrop-filter: blur(4px);
}
#comisionesPanel .comisiones-table tbody tr:nth-child(odd){
  background: #fcfdff;
}
#comisionesPanel .comisiones-table tbody tr:hover{
  background: #eff8f4;
}
#comisionesPanel .comisiones-veh{
  text-align: center;
  width: 72px;
  color: #21506e;
}
#comisionesPanel .comisiones-veh svg{
  width: 20px;
  height: 20px;
}
#comisionesPanel .comisiones-money{
  text-align: right;
  white-space: nowrap;
  width: 120px;
  font-variant-numeric: tabular-nums;
}
#comisionesPanel .comisiones-empty{
  text-align: center;
  color: #64748b;
  padding: 28px 10px;
}
#comisionesPanel .comisiones-close-btn{
  width: 100%;
  min-height: 58px;
  padding: 0 18px;
  border-radius: 4px;
  border: 1px solid #d5dee8;
  background: #fff;
  color: #35516b;
  font-size: .9rem;
  font-weight: 500;
  box-shadow: none;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}
#comisionesPanel .comisiones-close-btn:hover{
  transform: none;
  box-shadow: none;
  background: #f8fafc;
  border-color: #94a3b8;
}
#comisionesPanel .comisiones-close-btn.disabled,
#comisionesPanel .comisiones-close-btn:disabled{
  cursor: not-allowed;
  opacity: 1;
  box-shadow: none;
}
#comisionesPanel .comisiones-close-btn.is-liquidado,
#comisionesPanel .comisiones-close-btn.is-liquidado:hover{
  background: linear-gradient(180deg, #b42318 0%, #912018 100%);
  border-color: #912018;
  color: #fff4cc;
  transform: none;
  box-shadow: none;
}

.comisiones-cierre-dialog{
  max-width: 620px;
}
.comisiones-cierre-dialog .modal-content{
  background: transparent;
  border: 0;
}
.comisiones-cierre-dialog .modal-body{
  padding: 0;
}
.comisiones-cierre{
  background: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 12px 26px rgba(0,0,0,.2);
  overflow: hidden;
}
.comisiones-cierre-header{
  background: #1f4b67;
  color: #fff;
  padding: 10px 14px;
  font-weight: 600;
  text-align: left;
}
.comisiones-cierre-body{
  padding: 12px 16px 6px;
}
.comisiones-cierre-copy{
  margin-bottom: 10px;
  color: #2b2b2b;
}
.comisiones-cierre-label{
  text-align: center;
  font-weight: 600;
  color: #2b2b2b;
  margin-bottom: 6px;
}
.comisiones-cierre-textarea{
  width: 100%;
  min-height: 120px;
  border: 0;
  border-bottom: 2px solid #1f4b67;
  padding: 6px 4px;
  resize: vertical;
  outline: none;
}
.comisiones-cierre-footer{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 10px 16px 16px;
}
.comisiones-cierre-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #1f4b67;
  background: #fff;
  color: #1f4b67;
  padding: 6px 12px;
  border-radius: 6px;
  font-weight: 600;
}
.comisiones-cierre-btn svg{
  width: 16px;
  height: 16px;
}

.movimientos-panel{
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  border: 1px solid #d7e1eb;
  border-radius: 18px;
  box-shadow: 0 24px 52px rgba(17, 36, 58, .18) !important;
  overflow: hidden;
}
#movimientosPanel{
  height: calc(100dvh - 88px);
  min-height: calc(100vh - 88px);
  overflow: hidden;
}
#movimientosPanel > .col-12{
  height: 100%;
  min-height: 0;
}
body.is-movimientos-full .container-fluid{
  padding: 0;
}
body.is-movimientos-full #movimientosPanel{
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin: 0;
  width: 100%;
}
body.is-movimientos-full #movimientosPanel > .col-12{
  padding: 0;
}
body.is-movimientos-full .movimientos-panel{
  width: 100%;
  height: 100%;
}
.movimientos-page{
  width: 100%;
  height: 100%;
  min-height: 0;
}
.movimientos-toolbar{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  padding: 18px 20px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  position: sticky;
  top: 0;
  z-index: 30;
}
.movimientos-toolbar-main{
  min-width: 0;
}
.movimientos-form-grid{
  display: grid;
  grid-template-columns: minmax(520px, 640px);
  gap: 18px;
  align-items: end;
}
.movimientos-date{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.movimientos-date-control{
  display: flex;
  align-items: center;
  white-space: nowrap;
  flex: 1 1 auto;
  gap: 8px;
  border: 1px solid #d7e0ea;
  border-radius: 14px;
  padding: 12px 14px;
  min-height: 48px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.movimientos-date-control:focus-within{
  border-color: #1d6661;
  box-shadow: 0 0 0 4px rgba(29, 102, 97, .14);
}
.movimientos-label,
.movimientos-date-label{
  flex: 0 0 auto;
  font-weight: 700;
  color: #475569;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  white-space: nowrap;
}
.movimientos-date-text{
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 700;
  color: #1f2937;
  font-size: .88rem;
  white-space: nowrap;
}
.movimientos-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.movimientos-action-btn{
  width: 46px;
  min-width: 46px;
  min-height: 46px;
  padding: 0;
  border-radius: 14px;
  border: 1px solid #d5dee8;
  background: #fff;
  color: #35516b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 700;
  font-size: .88rem;
  transition: transform .14s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease;
}
.movimientos-action-btn:hover{
  background: #f8fafc;
  border-color: #94a3b8;
  box-shadow: 0 10px 18px rgba(15, 23, 42, .08);
  transform: translateY(-1px);
}
.movimientos-action-btn-primary{
  background: linear-gradient(135deg, #17324f 0%, #1d6661 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 12px 22px rgba(23, 50, 79, .22);
}
.movimientos-action-btn-primary:hover{
  background: linear-gradient(135deg, #10263b 0%, #185650 100%);
  color: #fff;
  border-color: transparent;
}
.movimientos-date-btn{
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #35516b;
  background: #f8fafc;
}
.movimientos-date-btn input{
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.movimientos-table-card{
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.movimientos-table-wrap{
  overflow-x: auto;
  overflow-y: auto;
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.movimientos-table{
  width: 100%;
  border-collapse: collapse;
  font-size: .86rem;
  color: #1f2937;
}
.movimientos-table th,
.movimientos-table td{
  padding: 12px 12px;
  border-bottom: 1px solid #e9eff5;
  vertical-align: top;
}
.movimientos-table th{
  background: rgba(248, 250, 252, .96);
  color: #475569;
  font-weight: 700;
  font-size: .73rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  position: sticky;
  top: 0;
  z-index: 1;
  backdrop-filter: blur(4px);
}
.movimientos-table thead .movimientos-filter-row th{
  top: 43px;
  z-index: 2;
  background: rgba(244, 248, 252, .96);
  padding: 6px 8px;
  text-transform: none;
  letter-spacing: 0;
  font-size: .7rem;
  font-weight: 600;
}
.movimientos-filter-input{
  width: 100%;
  border: 1px solid #cfd8e3;
  border-radius: 8px;
  padding: 5px 8px;
  font-size: .74rem;
  color: #334155;
  background: #ffffff;
}
.movimientos-filter-input:focus{
  outline: none;
  border-color: #1d6661;
  box-shadow: 0 0 0 2px rgba(29, 102, 97, .14);
}
.movimientos-filter-action-cell{
  text-align: center;
  min-width: 72px;
}
.movimientos-filter-clear{
  border: 1px solid #d5dee8;
  background: #fff;
  color: #35516b;
  border-radius: 8px;
  padding: 5px 8px;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1;
}
.movimientos-filter-clear:hover{
  background: #f8fafc;
}
.movimientos-table tbody tr:nth-child(odd){
  background: #fcfdff;
}
.movimientos-table tbody tr:hover{
  background: #eff8f4;
}
.movimientos-table tbody tr.is-selected{
  background: #d8efe8;
}
.movimientos-table tbody tr.is-ecomm{
  background: #fff6d9;
}
.movimientos-table tbody tr.is-ecomm:hover{
  background: #ffefc0;
}
.movimientos-table tbody tr.is-ecomm.is-selected{
  background: #ffe2a2;
}
.movimientos-veh{
  text-align: center;
  width: 52px;
  color: #21506e;
}
.movimientos-veh svg{
  width: 20px;
  height: 20px;
}
.movimientos-veh-icon{
  width: 20px;
  height: 20px;
  display: inline-block;
  object-fit: contain;
}
.movimientos-money{
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.movimientos-status{
  text-align: center;
  width: 42px;
}
.movimientos-status-icon{
  width: 18px;
  height: 18px;
  display: inline-block;
  object-fit: contain;
}
.movimientos-status-lock{
  color: #d97706;
}
.movimientos-status-check{
  color: #1f7a6f;
}
.movimientos-empty{
  text-align: center;
  color: #64748b;
  padding: 28px 10px;
}
.movimientos-loader-cell{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.movimientos-footer{
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  gap: 18px;
  background: #fff;
  padding: 16px 18px;
  position: sticky;
  bottom: 0;
  z-index: 30;
}
.movimientos-observaciones{
  width: 100%;
  flex: 1 1 auto;
  min-height: 88px;
  border: 1px solid #d7e0ea;
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.movimientos-observaciones-title{
  font-weight: 700;
  color: #64748b;
  padding: 12px 14px 4px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
}
.movimientos-observaciones-body{
  padding: 0 14px 14px;
  color: #0f172a;
  overflow: auto;
  font-size: .9rem;
}

@media (max-width: 992px){
  .movimientos-toolbar{
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .movimientos-actions{
    width: 100%;
    justify-content: flex-end;
  }
}
@media (max-width: 768px){
  #movimientosPanel{
    height: calc(100dvh - 88px);
    min-height: calc(100dvh - 88px);
  }
  .movimientos-form-grid{
    grid-template-columns: 1fr;
  }
  .movimientos-footer{
    justify-content: stretch;
  }
  .movimientos-observaciones{
    width: 100%;
  }
}
@media (max-width: 576px){
  .movimientos-toolbar{
    padding: 14px;
  }
  .movimientos-table th,
  .movimientos-table td{
    padding: 10px 9px;
  }
}

#clientesPanel{
  height: calc(100dvh - 88px);
  min-height: calc(100vh - 88px);
  overflow: hidden;
}
#clientesPanel > .col-12{
  height: 100%;
  min-height: 0;
}
body.is-clientes-full .container-fluid{
  padding: 0;
}
body.is-clientes-full #clientesPanel{
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin: 0;
  width: 100%;
}
body.is-clientes-full #clientesPanel > .col-12{
  padding: 0;
}
body.is-clientes-full .clientes-page{
  width: 100%;
  height: 100%;
}
.clientes-page{
  position: relative;
}
.clientes-form-grid{
  display: grid;
  grid-template-columns: minmax(360px, 760px);
  gap: 18px;
  align-items: end;
}
.clientes-search-field{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.clientes-search-control{
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #d7e0ea;
  border-radius: 14px;
  padding: 12px 14px;
  min-height: 48px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.clientes-search-control:focus-within{
  border-color: #1d6661;
  box-shadow: 0 0 0 4px rgba(29, 102, 97, .14);
}
.clientes-search-icon{
  color: #35516b;
  flex: 0 0 auto;
}
.clientes-search-input{
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #1f2937;
  font-size: .92rem;
}
.clientes-grid-table tbody tr{
  cursor: pointer;
}
.clientes-col-id{
  width: 82px;
  white-space: nowrap;
}
.clientes-col-ecomm{
  width: 92px;
  text-align: center;
  white-space: nowrap;
}
.clientes-ecomm-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #d7e0ea;
  background: #fff;
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.clientes-ecomm-badge.is-on{
  border-color: rgba(29, 102, 97, .22);
  background: rgba(29, 102, 97, .1);
  color: #1d6661;
}
.clientes-footer-premium{
  justify-content: space-between;
  align-items: center;
}
.clientes-footer-meta{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.clientes-footer-label{
  color: #64748b;
  font-weight: 700;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.clientes-footer-value{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #d7e0ea;
  color: #17324f;
  font-weight: 700;
}
.clientes-footer-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 992px){
  .clientes-form-grid{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px){
  #clientesPanel{
    height: calc(100dvh - 88px);
    min-height: calc(100dvh - 88px);
  }
  .clientes-footer-premium{
    flex-direction: column;
    align-items: stretch;
  }
  .clientes-footer-actions{
    justify-content: stretch;
  }
}
@media (max-width: 576px){
  .clientes-search-control{
    padding: 11px 12px;
  }
  .clientes-footer-actions .btn{
    width: 100%;
  }
}

#cadetesPanel{
  height: calc(100dvh - 88px);
  min-height: calc(100vh - 88px);
  overflow: hidden;
}
#cadetesPanel > .col-12{
  height: 100%;
  min-height: 0;
}
body.is-cadetes-full .container-fluid{
  padding: 0;
}
body.is-cadetes-full #cadetesPanel{
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin: 0;
  width: 100%;
}
body.is-cadetes-full #cadetesPanel > .col-12{
  padding: 0;
}
body.is-cadetes-full .cadetes-page{
  width: 100%;
  height: 100%;
}
.cadetes-page{
  position: relative;
}
.cadetes-form-grid{
  display: grid;
  grid-template-columns: minmax(360px, 720px);
  gap: 18px;
  align-items: end;
}
.cadetes-search-field{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.cadetes-search-control{
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #d7e0ea;
  border-radius: 14px;
  padding: 12px 14px;
  min-height: 48px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.cadetes-search-control:focus-within{
  border-color: #1d6661;
  box-shadow: 0 0 0 4px rgba(29, 102, 97, .14);
}
.cadetes-search-icon{
  color: #35516b;
  flex: 0 0 auto;
}
.cadetes-search-input{
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #1f2937;
  font-size: .92rem;
}
.cadetes-grid-table tbody tr{
  cursor: pointer;
}
.cadetes-col-id{
  width: 82px;
  white-space: nowrap;
}
.cadetes-col-nik{
  width: 82px;
  white-space: nowrap;
}
.cadetes-col-estado{
  width: 132px;
  text-align: center;
  white-space: nowrap;
}
.cadetes-status-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid #d7e0ea;
  background: #fff;
  color: #64748b;
  font-size: .74rem;
  font-weight: 700;
}
.cadetes-status-badge.is-on{
  border-color: rgba(29, 102, 97, .22);
  background: rgba(29, 102, 97, .1);
  color: #1d6661;
}
.cadetes-status-icon-wrap{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cadetes-status-icon-wrap .bi{
  width: 16px;
  height: 16px;
}
.cadetes-footer-premium{
  justify-content: space-between;
  align-items: center;
}
.cadetes-footer-meta{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.cadetes-footer-label{
  color: #64748b;
  font-weight: 700;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cadetes-footer-value{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #d7e0ea;
  color: #17324f;
  font-weight: 700;
}
.cadetes-footer-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 992px){
  .cadetes-form-grid{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px){
  #cadetesPanel{
    height: calc(100dvh - 88px);
    min-height: calc(100dvh - 88px);
  }
  .cadetes-footer-premium{
    flex-direction: column;
    align-items: stretch;
  }
  .cadetes-footer-actions{
    justify-content: stretch;
  }
}
@media (max-width: 576px){
  .cadetes-search-control{
    padding: 11px 12px;
  }
  .cadetes-footer-actions .btn{
    width: 100%;
  }
}

#usuariosPanel{
  height: calc(100dvh - 88px);
  min-height: calc(100vh - 88px);
  overflow: hidden;
}
#usuariosPanel > .col-12{
  height: 100%;
  min-height: 0;
}
body.is-usuarios-full .container-fluid{
  padding: 0;
}
body.is-usuarios-full #usuariosPanel{
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin: 0;
  width: 100%;
}
body.is-usuarios-full #usuariosPanel > .col-12{
  padding: 0;
}
body.is-usuarios-full .usuarios-page{
  width: 100%;
  height: 100%;
}
.usuarios-page{
  position: relative;
}
.usuarios-form-grid{
  display: grid;
  grid-template-columns: minmax(360px, 760px);
  gap: 18px;
  align-items: end;
}
.usuarios-search-field{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.usuarios-search-control{
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #d7e0ea;
  border-radius: 14px;
  padding: 12px 14px;
  min-height: 48px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.usuarios-search-control:focus-within{
  border-color: #1d6661;
  box-shadow: 0 0 0 4px rgba(29, 102, 97, .14);
}
.usuarios-search-icon{
  color: #35516b;
  flex: 0 0 auto;
}
.usuarios-search-input{
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #1f2937;
  font-size: .92rem;
}
.usuarios-grid-table tbody tr{
  cursor: pointer;
}
.usuarios-col-id{
  width: 82px;
  white-space: nowrap;
}
.usuarios-col-nik{
  width: 92px;
  white-space: nowrap;
}
.usuarios-col-tipo{
  width: 180px;
  white-space: nowrap;
}
.usuarios-tipo-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid #d7e0ea;
  background: #fff;
  color: #64748b;
  font-size: .74rem;
  font-weight: 700;
}
.usuarios-tipo-badge img{
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.usuarios-tipo-badge.is-admin{
  border-color: rgba(53, 81, 107, .18);
  background: rgba(53, 81, 107, .08);
  color: #35516b;
}
.usuarios-tipo-badge.is-cadete{
  border-color: rgba(29, 102, 97, .2);
  background: rgba(29, 102, 97, .1);
  color: #1d6661;
}
.usuarios-tipo-badge.is-cliente{
  border-color: rgba(217, 119, 6, .2);
  background: rgba(217, 119, 6, .1);
  color: #b45309;
}
.usuarios-footer-premium{
  justify-content: space-between;
  align-items: center;
}
.usuarios-footer-meta{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.usuarios-footer-label{
  color: #64748b;
  font-weight: 700;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.usuarios-footer-value{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #d7e0ea;
  color: #17324f;
  font-weight: 700;
}
.usuarios-legend-premium{
  margin-top: 0;
  padding: 0;
  border-top: 0;
}
@media (max-width: 992px){
  .usuarios-form-grid{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px){
  #usuariosPanel{
    height: calc(100dvh - 88px);
    min-height: calc(100dvh - 88px);
  }
  .usuarios-footer-premium{
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
}
@media (max-width: 576px){
  .usuarios-search-control{
    padding: 11px 12px;
  }
  .usuarios-legend-premium{
    gap: 10px;
    flex-wrap: wrap;
  }
}

#movimientosClientePanel{
  height: calc(100dvh - 88px);
  min-height: calc(100dvh - 88px);
  overflow: hidden;
}
#movimientosClientePanel > .col-12{
  display: flex;
  min-height: 0;
}
.mov-cliente-page{
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0;
}
.mov-cliente-toolbar{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  padding: 18px 20px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  position: sticky;
  top: 0;
  z-index: 30;
}
.mov-cliente-toolbar-main{
  min-width: 0;
}
.mov-cliente-form-grid{
  display: grid;
  grid-template-columns: 132px minmax(320px, 1fr) 253px 220px;
  gap: 18px;
  align-items: end;
}
.mov-cliente-form-row{
  display: contents;
}
.mov-cliente-form-row-dates{
  display: contents;
}
.mov-cliente-cuit-inline{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.mov-cliente-cuit-chip{
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid #d7e0ea;
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  color: #0f172a;
  display: inline-flex;
  align-items: center;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.mov-cliente-field{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  width: 85%;
  justify-self: start;
}
.mov-cliente-dates{
  display: flex;
  align-items: end;
  gap: 14px;
  flex: 1 1 480px;
  min-width: 320px;
}
.mov-cliente-label{
  font-weight: 700;
  color: #475569;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.mov-cliente-select-group{
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 0 rgba(255,255,255,.6);
}
.mov-cliente-select-input{
  min-height: 48px;
  border: 1px solid #d7e0ea;
  border-left: 1px solid #d7e0ea;
  border-right: 0;
  border-radius: 14px 0 0 14px !important;
  background: #fff;
  color: #1f2937;
  font-size: .96rem;
}
.mov-cliente-select-clear{
  width: 46px;
  min-width: 46px;
  border: 1px solid #d7e0ea;
  border-left: 0;
  border-radius: 0 14px 14px 0 !important;
  background: #fff;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color .16s ease, color .16s ease;
}
.mov-cliente-select-clear:hover{
  background: #f8fafc;
  color: #334155;
}
.mov-cliente-select-input:focus{
  border-color: #1d6661;
  box-shadow: none;
}
.mov-cliente-select-group:focus-within{
  box-shadow: 0 0 0 4px rgba(29, 102, 97, .14);
}
.mov-cliente-select-group:focus-within .mov-cliente-select-clear{
  border-color: #1d6661;
}
.mov-cliente-date{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.mov-cliente-date-control{
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d7e0ea;
  border-radius: 14px;
  padding: 12px 14px;
  min-height: 48px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.mov-cliente-date-control:focus-within{
  border-color: #1d6661;
  box-shadow: 0 0 0 4px rgba(29, 102, 97, .14);
}
.mov-cliente-date-text{
  flex: 1 1 auto;
  font-weight: 700;
  color: #1f2937;
}
#movClienteDesdeLabel,
#movClienteHastaLabel{
  font-size: .88rem;
}
.mov-cliente-date-btn{
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #35516b;
  background: #f8fafc;
}
.mov-cliente-date-btn input{
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.mov-cliente-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.mov-cliente-action-btn{
  width: 46px;
  min-width: 46px;
  min-height: 46px;
  padding: 0;
  border-radius: 14px;
  border: 1px solid #d5dee8;
  background: #fff;
  color: #35516b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 700;
  font-size: .88rem;
  transition: transform .14s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease;
}
.mov-cliente-action-btn:hover{
  background: #f8fafc;
  border-color: #94a3b8;
  box-shadow: 0 10px 18px rgba(15, 23, 42, .08);
  transform: translateY(-1px);
}
.mov-cliente-action-btn-primary{
  background: linear-gradient(135deg, #17324f 0%, #1d6661 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 12px 22px rgba(23, 50, 79, .22);
}
.mov-cliente-action-btn-primary:hover{
  background: linear-gradient(135deg, #10263b 0%, #185650 100%);
  color: #fff;
  border-color: transparent;
}
.mov-cliente-table-card{
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.mov-cliente-table-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 14px;
  border-bottom: 0;
  background: #fff;
  flex: 0 0 auto;
}
.mov-cliente-table-kicker{
  display: inline-block;
  margin-bottom: 4px;
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.mov-cliente-table-title{
  margin: 0;
  color: #0f172a;
  font-size: 1.15rem;
  font-weight: 800;
}
.mov-cliente-table-wrap{
  overflow-x: auto;
  overflow-y: auto;
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.mov-cliente-table{
  width: 100%;
  border-collapse: collapse;
  font-size: .86rem;
  color: #1f2937;
}
.mov-cliente-table th,
.mov-cliente-table td{
  padding: 12px 12px;
  border-bottom: 1px solid #e9eff5;
  vertical-align: top;
}
.mov-cliente-table th{
  background: rgba(248, 250, 252, .96);
  color: #475569;
  font-weight: 700;
  font-size: .73rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  position: sticky;
  top: 0;
  z-index: 1;
  backdrop-filter: blur(4px);
}
.mov-cliente-table tbody tr:nth-child(odd){
  background: #fcfdff;
}
.mov-cliente-table tbody tr:hover{
  background: #eff8f4;
}
.mov-cliente-table tbody tr.is-selected{
  background: #d8efe8;
}
.mov-cliente-nplan{
  width: 70px;
  text-align: center;
}
.mov-cliente-nik{
  width: 70px;
  text-align: center;
}
.mov-cliente-remito{
  width: 90px;
  text-align: center;
}
.mov-cliente-bultos{
  width: 70px;
  text-align: center;
}
.mov-cliente-money{
  text-align: right;
  white-space: nowrap;
  width: 110px;
  font-variant-numeric: tabular-nums;
}
.mov-cliente-status{
  text-align: center;
  width: 110px;
}
.mov-cliente-empty{
  text-align: center;
  color: #64748b;
  padding: 28px 10px;
}
.mov-cliente-loader-cell{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.mov-cliente-footer{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  border: 0;
  border-radius: 0;
  background: #fff;
  padding: 16px 18px;
  box-shadow: none;
  position: sticky;
  bottom: 0;
  z-index: 30;
}
.mov-cliente-total-inline{
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  margin-left: auto;
}
.mov-cliente-total-label{
  color: #64748b;
  font-size: .76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.mov-cliente-total-value{
  color: #0f172a;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -.03em;
  white-space: nowrap;
}
.mov-cliente-total-status{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

@media (max-width: 992px){
  .mov-cliente-toolbar{
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .mov-cliente-form-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
}
@media (max-width: 768px){
  #movimientosClientePanel{
    height: calc(100dvh - 88px);
    min-height: calc(100dvh - 88px);
  }
  .mov-cliente-form-grid{
    grid-template-columns: 1fr;
  }
  .mov-cliente-actions{
    width: 100%;
    justify-content: flex-end;
  }
  .mov-cliente-action-btn{
    flex: 0 0 auto;
  }
  .mov-cliente-footer{
    justify-content: space-between;
    align-items: flex-start;
  }
  .mov-cliente-total-inline{
    margin-left: 0;
  }
}
@media (max-width: 576px){
  .mov-cliente-page{
    gap: 0;
  }
  .mov-cliente-toolbar{
    padding: 14px;
  }
  .mov-cliente-table-head{
    padding: 16px 16px 12px;
  }
  .mov-cliente-action-btn{
    flex: 0 0 auto;
  }
  .mov-cliente-table th,
  .mov-cliente-table td{
    padding: 10px 9px;
  }
}

.mov-cliente-cierre-dialog{
  max-width: 620px;
}
.mov-cliente-edit-dialog{
  max-width: 640px;
}
.mov-cliente-cierre-dialog .modal-content{
  background: transparent;
  border: 0;
}
.mov-cliente-cierre-dialog .modal-body{
  padding: 0;
}
.mov-cliente-cierre{
  background: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 12px 26px rgba(0,0,0,.2);
  overflow: hidden;
}
.mov-cliente-cierre-header{
  background: #1f4b67;
  color: #fff;
  padding: 10px 14px;
  font-weight: 600;
  text-align: left;
}
.mov-cliente-cierre-body{
  padding: 12px 16px 6px;
}
.mov-cliente-cierre-label{
  text-align: center;
  font-weight: 600;
  color: #2b2b2b;
  margin-bottom: 6px;
}
.mov-cliente-cierre-textarea{
  width: 100%;
  min-height: 120px;
  border: 0;
  border-bottom: 2px solid #1f4b67;
  padding: 6px 4px;
  resize: vertical;
  outline: none;
}
.mov-cliente-cierre-footer{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 10px 16px 16px;
}
.mov-cliente-cierre-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #1f4b67;
  background: #fff;
  color: #1f4b67;
  padding: 6px 12px;
  border-radius: 6px;
  font-weight: 600;
}
.mov-cliente-cierre-btn svg{
  width: 16px;
  height: 16px;
}

.mov-planillas-dialog{
  max-width: 980px;
}
.mov-planillas-dialog .modal-content{
  background: transparent;
  border: 0;
}
.mov-planillas-dialog .modal-body{
  padding: 0;
}
.mov-planillas{
  background: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 12px 26px rgba(0,0,0,.2);
  overflow: hidden;
}
.mov-planillas-header{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #fff;
}
.mov-planillas-back{
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.1);
  background: #f5f5f5;
  color: #2b2b2b;
  display: grid;
  place-items: center;
}
.mov-planillas-title{
  font-weight: 600;
  color: #2b1b16;
  text-align: center;
  flex: 1 1 auto;
}
.mov-planillas-table-wrap{
  max-height: 62vh;
  overflow: auto;
  border-top: 1px solid rgba(0,0,0,.08);
}
.mov-planillas-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.mov-planillas-table th,
.mov-planillas-table td{
  padding: 8px 10px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  vertical-align: top;
}
.mov-planillas-table th{
  background: #fff;
  color: #666;
  font-weight: 600;
  position: sticky;
  top: 0;
  z-index: 1;
}
.mov-planillas-table tbody tr:nth-child(odd){
  background: #fafafa;
}
.mov-planillas-table tbody tr:hover{
  background: #e8f5f2;
}
.mov-planillas-nro{
  width: 90px;
  text-align: center;
}
.mov-planillas-importe{
  text-align: right;
  white-space: nowrap;
  width: 110px;
}
.mov-planillas-empty{
  text-align: center;
  color: #666;
  padding: 16px 8px;
}

.mov-nuevo-dialog{
  max-width: 860px;
}
.mov-nuevo-dialog .modal-content{
  background: transparent;
  border: 0;
}
.mov-nuevo-dialog .modal-body{
  padding: 0;
}
.mov-nuevo{
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  border-radius: 18px;
  border: 1px solid #d7e1eb;
  box-shadow: 0 24px 52px rgba(17, 36, 58, .22);
  overflow: hidden;
}
.mov-nuevo-header{
  background: linear-gradient(135deg, #0f3552 0%, #1d5d84 58%, #2f7ea5 100%);
  color: #f2f7fb;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mov-nuevo-title{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: .01em;
}
.mov-nuevo-title-icon{
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: rgba(255,255,255,.18);
  display: grid;
  place-items: center;
  color: #fff;
}
.mov-nuevo-close{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.16);
  color: #f6fbff;
  font-size: 17px;
  line-height: 1;
  display: grid;
  place-items: center;
}
.mov-nuevo-close:hover{
  background: rgba(255,255,255,.26);
}
.mov-nuevo-body{
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.mov-nuevo-step{
  display: none;
}
.mov-nuevo-step.is-active{
  display: grid;
  gap: 14px;
}
.mov-nuevo-fields{
  display: grid;
  gap: 12px;
}
.mov-nuevo-field{
  display: grid;
  grid-template-columns: 150px 1fr;
  align-items: center;
  gap: 12px;
}
.mov-nuevo-field label{
  text-align: right;
  color: #334155;
  font-weight: 700;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.mov-nuevo-remitente-group,
.mov-nuevo-destino-group,
.mov-nuevo-cadete-group,
.mov-nuevo-vehiculo-group{
  border: 1px solid #cfd8e3;
  border-radius: 10px;
  background: #fff;
  min-height: 42px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.mov-nuevo-remitente-group:focus-within,
.mov-nuevo-destino-group:focus-within,
.mov-nuevo-cadete-group:focus-within,
.mov-nuevo-vehiculo-group:focus-within{
  border-color: #1f7a6f;
  box-shadow: 0 0 0 3px rgba(31, 122, 111, .16);
}
.mov-nuevo-remitente-addon,
.mov-nuevo-destino-addon,
.mov-nuevo-cadete-addon,
.mov-nuevo-vehiculo-addon{
  border: 0;
  border-right: 1px solid #d7e0ea;
  background: #eef3f8;
  color: #4b5d71;
  padding: 0 10px;
  font-weight: 700;
  min-width: 36px;
  justify-content: center;
}
.mov-nuevo-remitente-input,
.mov-nuevo-destino-input,
.mov-nuevo-cadete-input,
.mov-nuevo-vehiculo-input{
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 40px;
  padding: 8px 12px;
}
.mov-nuevo-select,
.mov-nuevo-input{
  width: 100%;
  min-height: 42px;
  border: 1px solid #cfd8e3;
  border-radius: 10px;
  padding: 8px 12px;
  background: #fff;
  font-size: .93rem;
  color: #1f2937;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.mov-nuevo-select:focus,
.mov-nuevo-input:focus{
  outline: none;
  border-color: #1f7a6f;
  box-shadow: 0 0 0 3px rgba(31, 122, 111, .16);
}
.mov-nuevo-fecha-wrap{
  position: relative;
}
.mov-nuevo-fecha-wrap:focus-within .mov-nuevo-fecha-long{
  border-color: #1f7a6f;
  box-shadow: 0 0 0 3px rgba(31, 122, 111, .16);
}
.mov-nuevo-fecha-long{
  cursor: pointer;
}
.mov-nuevo-fecha-native{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.mov-nuevo-destino{
  margin-top: 4px;
  background: linear-gradient(180deg, #fffdf0 0%, #fff7d3 100%);
  border: 1px solid #f2df91;
  border-radius: 12px;
  padding: 12px 14px;
}
.mov-nuevo-destino-title{
  font-weight: 700;
  color: #6f4f12;
  margin-bottom: 8px;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.mov-nuevo-destino-row{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
}
.mov-nuevo-map-btn{
  width: 40px;
  height: 40px;
  border: 1px solid #c8d3e0;
  border-radius: 10px;
  background: #fff;
  display: grid;
  place-items: center;
  color: #2b5f87;
}
.mov-nuevo-map-btn:hover{
  background: #f4f8fc;
  border-color: #a8b7c9;
}
.mov-nuevo-map-btn.is-loading{
  opacity: .8;
  cursor: wait;
}
.mov-nuevo-map-btn.is-loading .spinner-border{
  width: 1rem;
  height: 1rem;
  border-width: .14em;
}
.mov-nuevo-dist{
  border: 1px solid #d3deea;
  border-radius: 10px;
  background: #f8fbff;
  padding: 6px 12px;
  min-width: 130px;
  text-align: center;
}
.mov-nuevo-dist-label{
  font-size: .72rem;
  color: #6f7d8e;
  line-height: 1;
}
.mov-nuevo-dist-value{
  margin-top: 2px;
  font-weight: 700;
  color: #21364d;
}
.mov-nuevo-actions{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 10px;
}
.mov-nuevo-actions--split,
.mov-nuevo-actions--final{
  justify-content: space-between;
  align-items: center;
}
.mov-nuevo-btn{
  border: 1px solid #ccd8e4;
  background: #fff;
  border-radius: 10px;
  min-height: 40px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #334155;
  font-weight: 600;
  transition: transform .14s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}
.mov-nuevo-btn:hover{
  background: #f7fafc;
  border-color: #9cb0c5;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .12);
  transform: translateY(-1px);
}
.mov-nuevo-btn-icon{
  width: 14px;
  height: 14px;
  color: #235a85;
}
.mov-nuevo-btn--save .mov-nuevo-btn-icon{
  color: #fff;
}
.mov-nuevo-btn--save{
  border-color: #16665d;
  background: linear-gradient(180deg, #1f7a6f 0%, #16665d 100%);
  color: #fff;
}
.mov-nuevo-btn--save:hover{
  border-color: #115149;
  background: linear-gradient(180deg, #1a6a60 0%, #115149 100%);
}
.mov-nuevo-btn--cancel .mov-nuevo-btn-icon{
  color: #b42318;
}
.mov-nuevo-btn--cancel{
  color: #b42318;
  border-color: #f1b3b3;
  background: #fff5f5;
}
.mov-nuevo-btn--cancel:hover{
  border-color: #e58b8b;
  background: #ffe9e9;
}
.mov-nuevo-hora{
  display: flex;
  align-items: center;
  gap: 10px;
}
.mov-nuevo-cost-btn{
  border: 1px solid #8cc7bc;
  background: #ecf9f6;
  border-radius: 10px;
  min-height: 40px;
  padding: 0 12px;
  font-size: .84rem;
  font-weight: 600;
  color: #1f6e62;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mov-nuevo-cost-btn:hover{
  background: #ddf3ee;
  border-color: #6eb6a9;
}
.mov-nuevo-info{
  margin-top: 4px;
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid #d3deea;
  border-radius: 10px;
  background: #f8fbff;
  color: #225f8d;
  font-weight: 700;
}
.mov-nuevo-field--obs{
  margin-top: 2px;
}
.mov-cierre-dialog{
  max-width: 1125px;
}
.mov-cierre-dialog .modal-content{
  background: transparent;
  border: 0;
}
.mov-cierre-dialog .modal-body{
  padding: 0;
}
.mov-cierre{
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 12px 28px rgba(0,0,0,.2);
  overflow: hidden;
}
.mov-cierre-header{
  background: #f1d94c;
  color: #1b1b1b;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mov-cierre-title{
  font-weight: 700;
  font-size: 0.95rem;
  text-align: center;
  flex: 1 1 auto;
}
.mov-cierre-close{
  border: 0;
  background: #f1d94c;
  color: #000;
  font-size: 18px;
  line-height: 1;
}
.mov-cierre-body{
  padding: 12px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mov-cierre-info{
  display: grid;
  gap: 6px;
}
.mov-cierre-line{
  display: flex;
  align-items: center;
  gap: 8px;
}
.mov-cierre-line--ecomm{
  background: #ffeb3b;
  padding: 4px 8px;
  border-radius: 4px;
}
.mov-cierre-line--ecomm .mov-cierre-label,
.mov-cierre-line--ecomm .mov-cierre-value{
  color: #000;
}
.mov-cierre-line--full{
  flex-wrap: wrap;
}
.mov-cierre-line--split{
  justify-content: space-between;
  gap: 16px;
}
.mov-cierre-label{
  min-width: 90px;
  font-weight: 600;
  color: #444;
}
.mov-cierre-value{
  color: #1232d2;
  font-weight: 600;
}
.mov-cierre-vehiculo{
  display: flex;
  align-items: center;
  gap: 8px;
}
.mov-cierre-veh-icon svg{
  width: 18px;
  height: 18px;
}
.mov-cierre-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 16px;
}
.mov-cierre-grid--wide{
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.mov-cierre-input{
  display: flex;
  align-items: center;
  gap: 6px;
}
.mov-cierre-input label{
  min-width: 110px;
  font-weight: 600;
  color: #444;
  flex: 0 0 auto;
}
.mov-cierre-label-nowrap{
  white-space: nowrap;
  min-width: 160px;
}
.mov-cierre-input input,
.mov-cierre-input select{
  border: 0;
  border-bottom: 1px solid rgba(0,0,0,.25);
  padding: 2px 4px;
  width: auto;
  flex: 1 1 auto;
  min-width: 0;
  background: transparent;
}
.mov-cierre-input--inline{
  min-width: 140px;
}
.mov-cierre-check{
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #444;
}
.mov-cierre-input--obs{
  display: grid;
  grid-template-columns: 110px 1fr;
  align-items: center;
  gap: 8px;
}
.mov-cierre-input--obs input{
  width: 100%;
}
.mov-cierre-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.mov-cierre-total{
  color: #0b22c6;
  font-weight: 700;
}
.mov-cierre-actions{
  display: flex;
  align-items: center;
  gap: 8px;
}
.mov-cierre-finalizar{
  font-weight: 600;
  color: #333;
}
.mov-cierre-save{
  border: 1px solid rgba(0,0,0,.2);
  background: #f7f7f7;
  border-radius: 6px;
  padding: 4px 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
@media (max-width: 768px){
  .mov-cierre-dialog{
    max-width: 96vw;
  }
  .mov-cierre-input{
    flex-direction: column;
    align-items: flex-start;
  }
  .mov-cierre-input--obs{
    grid-template-columns: 1fr;
  }
  .mov-cierre-footer{
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 768px){
  .mov-nuevo-dialog{
    max-width: 96vw;
  }
  .mov-nuevo-body{
    padding: 14px;
  }
  .mov-nuevo-field{
    grid-template-columns: 1fr;
    align-items: start;
  }
  .mov-nuevo-field label{
    text-align: left;
    font-size: .74rem;
  }
  .mov-nuevo-destino-row{
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .mov-nuevo-hora{
    flex-direction: column;
    align-items: stretch;
  }
  .mov-nuevo-actions--split,
  .mov-nuevo-actions--final{
    flex-direction: column;
    align-items: stretch;
  }
}

.comisiones-print{
  display: none;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
}
.comisiones-print-page{
  position: relative;
  height: var(--comisiones-print-page-height);
  padding: 10mm 12mm 26mm;
  box-sizing: border-box;
}
.comisiones-print-header{
  display: grid;
  grid-template-columns: 120px 1fr 120px;
  align-items: start;
}
.comisiones-print-logo img{
  max-width: 110px;
  height: auto;
}
.comisiones-print-title{
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  margin-top: 2px;
}
.comisiones-print-name{
  margin: 8px auto 6px;
  text-align: center;
  border: 1px solid #333;
  padding: 4px 8px;
  font-weight: 600;
  width: 60%;
}
.comisiones-print-meta{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  margin-bottom: 6px;
}
.comisiones-print-meta-center{
  text-align: center;
  font-size: 12px;
}
.comisiones-print-perc{
  font-size: 12px;
}
.comisiones-print-table{
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  font-size: 11px;
}
.comisiones-print-table th,
.comisiones-print-table td{
  padding: 4px 6px;
  border-bottom: 1px solid #b7b7b7;
  border-right: 1px solid #333;
  vertical-align: top;
  line-height: 1.2;
}
.comisiones-print-table th:last-child,
.comisiones-print-table td:last-child{
  border-right: 0;
}
.comisiones-print-table thead th{
  font-weight: 700;
  border-bottom: 1px solid #333;
  text-align: center;
}
.comisiones-print-table td.comisiones-print-right{
  text-align: right;
  white-space: nowrap;
}
.comisiones-print-table td.comisiones-print-center{
  text-align: center;
}
.comisiones-print-summary-wrap{
  margin-top: 8px;
  display: flex;
  justify-content: flex-end;
}
.comisiones-print-summary{
  border: 1px solid #333;
  width: 220px;
  font-size: 12px;
}
.comisiones-print-summary-title{
  padding: 4px 6px;
  font-weight: 700;
  border-bottom: 1px solid #333;
  text-align: center;
}
.comisiones-print-summary-row{
  display: flex;
  justify-content: space-between;
  gap: 6px;
  padding: 3px 6px;
}
.comisiones-print-summary-row.total{
  border-top: 1px solid #333;
  font-weight: 700;
}
.comisiones-print-summary-final{
  display: flex;
  justify-content: space-between;
  gap: 6px;
  padding: 4px 6px;
  border-top: 1px solid #333;
  font-weight: 700;
}
.comisiones-print-footer{
  position: absolute;
  left: 12mm;
  right: 12mm;
  bottom: 8mm;
  border-top: 1px solid #333;
  padding-top: 4px;
  display: flex;
  justify-content: space-between;
  font-size: 11px;
}
.comisiones-preview-frame{
  width: 100%;
  height: 80vh;
  border: 0;
}
@media print{
  @page{
    size: A4;
    margin: 0;
  }
  body{
    background: #fff;
  }
  .navbar,
  #menuPanel,
  #clientesPanel,
  #cadetesPanel,
  #vehiculosPanel,
  #usuariosPanel,
  #preciosEcommPanel,
  #adminGridPanel,
  #comisionesPanel{
    display: none !important;
  }
  .comisiones-print{
    display: block;
  }
  .comisiones-print-page{
    page-break-after: always;
  }
  .comisiones-print-page:last-child{
    page-break-after: auto;
  }
}

.seguimiento-viajes-panel{
  overflow: hidden;
}

.seguimiento-viajes-toolbar{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.seguimiento-viajes-panel.is-single-trip .seguimiento-viajes-toolbar{
  display: none;
}

.seguimiento-viajes-summary{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}

.seguimiento-viajes-summary-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(107, 62, 46, .16);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(255, 249, 242, .96), rgba(248, 239, 229, .92));
  padding: 1rem 1.1rem;
}

.seguimiento-viajes-summary-main{
  min-width: 0;
}

.seguimiento-viajes-summary-kicker{
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #8b6a57;
  margin-bottom: .35rem;
}

.seguimiento-viajes-summary-value{
  font-size: 1.55rem;
  line-height: 1.1;
  font-weight: 700;
  color: #3a261d;
}

.seguimiento-viajes-summary-back{
  flex: 0 0 auto;
}

.seguimiento-viajes-summary-list{
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-left: auto;
}

.seguimiento-viajes-summary-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  white-space: nowrap;
  color: #5b463d;
  font-size: .95rem;
}

.seguimiento-viajes-filters{
  flex: 1 1 360px;
}

.seguimiento-viajes-field{
  max-width: 640px;
}

.seguimiento-viajes-actions{
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}

.seguimiento-viajes-meta{
  margin-bottom: 1rem;
  color: #6b5b50;
  font-size: .95rem;
}

.seguimiento-viajes-map-wrap,
.tracking-route-wrap{
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  border: 1px solid rgba(107, 62, 46, .16);
  background: linear-gradient(180deg, rgba(248, 241, 233, .92), rgba(244, 232, 220, .82));
}

.seguimiento-viajes-map,
.tracking-route-map{
  width: 100%;
  min-height: 420px;
}

.tracking-route-head{
  padding: 1rem 1rem .25rem;
}

.tracking-route-title{
  color: #3a261d;
}

.tracking-route-sub{
  color: #6b5b50;
  font-size: .92rem;
}

.seguimiento-viajes-empty,
.tracking-route-empty{
  position: absolute;
  inset: auto 1rem 1rem 1rem;
  z-index: 500;
  padding: .8rem 1rem;
  border-radius: .9rem;
  background: rgba(255, 250, 244, .94);
  color: #5b463d;
  box-shadow: 0 16px 34px rgba(67, 44, 33, .14);
}

.leaflet-container{
  font: inherit;
}

@media (max-width: 767.98px){
  .seguimiento-viajes-summary{
    grid-template-columns: 1fr;
  }

  .seguimiento-viajes-summary-card{
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .seguimiento-viajes-summary-list{
    width: 100%;
    flex-wrap: wrap;
    margin-left: 0;
  }

  .seguimiento-viajes-map,
  .tracking-route-map{
    min-height: 320px;
  }

  .seguimiento-viajes-actions{
    width: 100%;
  }

  .seguimiento-viajes-actions .btn{
    flex: 1 1 0;
  }
}
