:root{--ink:#1b2b3b;--muted:#7b8794;--line:#e7ebef;--blue:#245bd7;--nav:#142435}.admin-app{margin:0;background:#f5f7fa;color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif}.admin-app *{box-sizing:border-box}.admin-app h1,.admin-app h2,.admin-app h3,.admin-app p,.admin-app small{margin:0;text-align:left;font-style:normal}.admin-app h1{font-size:28px;letter-spacing:-.8px;font-weight:700;margin:6px 0 8px}.admin-app h2{font-size:16px;font-weight:700}.admin-app p{font-size:13px;color:var(--muted);line-height:1.7}.admin-app a{text-decoration:none}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:#aeb9c5;padding:32px 18px 20px;display:flex;flex-direction:column;z-index:50}.brand{display:flex;align-items:center;gap:11px;color:white;font-size:23px;font-weight:800;letter-spacing:1px;padding:0 12px 35px}.brand:hover{color:white}.brand small{display:block!important;font-size:7px!important;letter-spacing:1.35px;color:#a7b6c8;margin-top:3px!important}.brand-icon{display:grid;place-items:center;width:36px;height:40px;border-radius:9px;background:#3269ec;color:#fff;font-size:26px;transform:skew(-7deg)}.nav-label{font-size:9px;letter-spacing:1.5px;font-weight:700;color:#7f90a4;margin:23px 14px 10px}.sidebar> .nav-label{margin-top:0}.sidebar nav>a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:6px;font-size:12px;color:#b9c4d1;margin:3px 0}.sidebar nav>a:hover{background:#20374f;color:white}.sidebar nav>a.active{background:#2a5ccc;color:white;box-shadow:0 4px 15px #0001}.nav-icon{width:22px;text-align:center;font-size:21px;line-height:1}.sidebar-bottom{margin-top:auto;padding:28px 10px 0;font-size:12px}.sidebar-bottom>a{color:#aeb9c5;display:flex;gap:13px;padding-top:22px}.fleet-note{padding-bottom:20px;border-bottom:1px solid #ffffff13;font-size:11px}.fleet-note p{font-size:10px;margin-top:6px;color:#7f90a4}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#51caa6;margin-right:6px}.workspace{margin-left:246px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:80px;background:white;border-bottom:1px solid var(--line);padding:0 36px;display:flex;justify-content:space-between;align-items:center;gap:20px}.breadcrumbs{font-size:12px;color:#82909e}.breadcrumbs span{margin:0 14px;color:#c8cfd5}.breadcrumbs strong{color:#475467;font-weight:500}.account{display:flex;align-items:center;gap:11px;font-size:11px}.account-role{display:block;font-size:10px}.avatar{background:#eef2fb;color:#42609d;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:700}.demo-label{background:#eff4fb;color:#6c83a2;border:1px solid #e2e9f3;border-radius:4px;padding:4px 7px;font-size:9px;letter-spacing:1px;margin-right:10px}.muted{color:var(--muted)}#main{padding:32px 36px;flex:1;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#8793a3}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-app .btn{font-size:11px;padding:11px 15px;font-weight:600;border-radius:6px;white-space:normal}.admin-app .btn-primary{background:var(--blue);border-color:var(--blue)}.admin-app .btn-primary:hover{background:#1749b9}.admin-app .btn-light{background:white;border:1px solid #dfe5ec;color:#455366}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat-card{display:block;background:white;border:1px solid var(--line);border-radius:9px;padding:20px;color:var(--ink);box-shadow:0 3px 6px #1c2b3b02}.stat-card>span{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#697787;gap:8px}.stat-card>strong{display:block;font-size:34px;font-weight:700;letter-spacing:-1px;margin:7px 0 0}.stat-card p{font-size:10px}.stat-symbol{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:7px;font-size:17px}.neutral{background:#edf3fd;color:#4776cd}.danger{background:#fdefef;color:#d55a5b}.warning{background:#fff7e5;color:#d39d29}.success{background:#eaf8f0;color:#38a372}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 3px 8px #122d4202}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 24px;border-bottom:1px solid var(--line)}.panel-heading p{font-size:11px;margin-top:5px}.section-tag{font-size:8px;letter-spacing:1px;color:#8592a3;background:#f5f7fa;padding:5px 8px;border-radius:4px;white-space:nowrap}.filters{display:flex;gap:12px;align-items:center;padding:18px 24px}.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e0e5eb;border-radius:5px;padding:7px 10px;flex:1;max-width:310px;margin:0!important}.search-box span{color:#8795a5;font-size:20px;line-height:1}.search-box input{border:0;outline:none;min-width:0;width:100%;font-size:11px;color:var(--ink);background:transparent}.admin-app .filters .form-select{width:158px;font-size:11px;padding:9px 25px 9px 10px}.filter-hint{margin-left:auto;color:#9aa5b0;font-size:10px}.admin-app table{margin:0;width:100%;font-size:11px;white-space:nowrap}.admin-app table tbody tr td:nth-child(2){display:table-cell;text-align:left}.data-table thead{background:#f8fafc;color:#83909e}.data-table th{font-size:10px;font-weight:500;padding:13px 18px;border-bottom:1px solid var(--line)}.data-table td{padding:18px;border-bottom:1px solid #edf0f3;color:#586777;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafcff}.data-table td:first-child,.data-table th:first-child{padding-left:24px}.number{font-variant-numeric:tabular-nums}.unit-link{font-weight:700;color:#30445e;display:inline-flex;align-items:center;gap:10px}.unit-icon{background:#f0f4f9;padding:5px 8px;color:#6c819d;font-size:19px;border-radius:5px}.status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:4px 7px;border-radius:4px;font-size:9px;font-weight:600}.status span{font-size:6px}.status-success{background:#eaf7ef;color:#248956}.status-warning{background:#fff7df;color:#9d7610}.status-urgent{background:#fff0e4;color:#c06720}.status-danger{background:#fcebec;color:#c64b58}.text-link,.text-button{color:#3e6fc7;font-size:10px}.text-button{border:0;background:transparent;margin-left:10px;padding:5px}.table-footer{border-top:1px solid var(--line);padding:14px 24px;color:#91a0ae;font-size:10px;display:flex;justify-content:space-between}.side-stack{display:flex;flex-direction:column;gap:20px}.fleet-summary{padding:25px;background:linear-gradient(130deg,#f1f6ff,#fff)}.fleet-summary h2{font-size:20px;letter-spacing:-.5px;margin:10px 0}.fleet-summary p{font-size:11px}.fleet-summary .btn{width:100%}.odometer-art{margin:24px 0;color:#8295ac}.odometer-art>span{font-size:8px;letter-spacing:2px}.odometer-art strong{display:block;font-size:34px;color:#243a55;font-variant-numeric:tabular-nums;letter-spacing:4px}.road-line{height:6px;border-top:2px dashed #bacbe1;margin:10px 0}.legend{padding:22px}.legend h2{font-size:13px;margin-bottom:18px}.legend p{display:flex;align-items:center;justify-content:space-between;margin-top:13px;font-size:9px}.legend .status{font-size:8px}.quick-panel{display:flex;align-items:center;gap:12px;padding:22px 24px;margin-top:24px}.quick-panel>div{margin-right:auto}.quick-panel p{font-size:11px;margin-top:4px}.quick-panel h2{font-size:14px}.app-footer{padding:18px 36px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#8a98a8;font-size:9px}.count-pill{background:#f0f4fa;border-radius:5px;font-size:11px;padding:3px 8px;margin-left:8px}.info-note{padding:18px 20px;background:#edf3fd;color:#637996;border:1px solid #e0eafb;border-radius:7px;font-size:12px;margin-top:20px;line-height:1.8}.side-stack .info-note{margin-top:0}.form-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:26px;max-width:1100px}.form-panel form{padding:24px}.admin-app label:not(.search-box){display:block;font-size:12px;font-weight:600;margin-bottom:20px}.admin-app .form-control,.admin-app .form-select{font-size:13px;border-color:#dde4ec;padding:11px 12px;border-radius:5px;color:#43546a}.admin-app label .form-control,.admin-app label .form-select{margin-top:8px}.required{color:#d96565}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:22px;margin-top:8px}.help-panel{padding:26px}.help-panel h2{margin:18px 0}.help-panel p{margin-top:12px;font-size:12px}.reading-value{display:block;font-size:24px;font-weight:600;color:#315981}.form-feedback:not(:empty){margin-top:20px;padding:15px;background:#eaf7ef;color:#248956}.back-link{display:inline-block;margin-bottom:18px;color:#6a7b90;font-size:12px}.unit-overview{padding:26px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}.unit-heading{display:flex;align-items:center;gap:18px}.large-unit-icon{padding:12px 20px;background:#f0f4fb;color:#6081b3;font-size:35px;border-radius:9px}.unit-heading h2{font-size:25px;margin:5px 0 10px}.odometer-value{display:block;font-size:30px;font-variant-numeric:tabular-nums}.odometer-value span{font-size:14px;font-weight:400;color:#8798aa}.unit-overview p{font-size:10px}.unit-overview .muted{font-size:11px}.unit-overview .heading-actions{flex-direction:column}.empty-result{padding:35px;text-align:center!important}.icon-button{border:0;background:transparent;color:#677b90;font-size:23px}.menu-toggle{display:none}.app-toast{position:fixed;bottom:25px;right:25px;max-width:400px;z-index:100;padding:18px 24px;background:#173e30;color:#fff;box-shadow:0 5px 30px #0002;border-radius:8px;font-size:13px}.admin-app dialog{width:480px;max-width:calc(100% - 32px);border:1px solid var(--line);border-radius:12px;padding:26px;color:var(--ink)}dialog::backdrop{background:#13243688}dialog .panel-heading{padding:0 0 18px;margin-bottom:20px}dialog p{margin-bottom:18px!important}.skip-link{position:fixed;top:-100px;left:15px;z-index:150;background:white;padding:15px}.skip-link:focus{top:10px}.admin-app :focus-visible{outline:3px solid #82adfc;outline-offset:3px}.login-page{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:white}.login-story{padding:50px 60px;background:radial-gradient(ellipse at bottom right,#244365,#132334 65%);display:flex;flex-direction:column;color:white}.login-story .brand{padding-left:0}.login-message{margin:auto 0}.login-message .eyebrow{color:#87a5c8}.login-message h1{font-size:42px;line-height:1.25;letter-spacing:-1px;margin:25px 0}.login-message p{color:#a6b7ca;font-size:14px;line-height:1.9}.login-road{display:flex;gap:24px;padding:28px 0;border-top:1px dashed #6684a555;margin-top:65px;font-size:9px;letter-spacing:1.5px;color:#88a2c2}.login-story>p{font-size:10px;color:#748da8}.login-main{padding:45px;display:grid;place-items:center}.login-box{width:100%;max-width:360px}.login-box h2{font-size:27px;letter-spacing:-.7px;margin:22px 0 10px}.login-box>p{margin-bottom:30px}.login-box form{margin-top:30px}.password-field{position:relative}.password-field input{padding-right:72px!important}.password-field button{position:absolute;right:10px;top:12px;background:none;border:0;font-size:10px;color:#677b90}.login-submit{width:100%;padding:13px!important}.login-divider{display:flex;align-items:center;gap:14px;color:#99a3af;font-size:10px;margin:25px 0}.login-divider:before,.login-divider:after{content:'';height:1px;background:var(--line);flex:1}.login-disclaimer{font-size:10px!important;text-align:center!important;margin-top:22px!important;line-height:1.8!important}[hidden]{display:none!important}@media(min-width:1550px){#main{max-width:1600px;width:100%;margin:0 auto}}@media(max-width:1200px){.sidebar{width:215px;padding-left:12px;padding-right:12px}.workspace{margin-left:215px}.topbar{padding:0 24px}#main{padding:28px 24px}.page-heading{align-items:flex-start;flex-direction:column}.overview-grid{grid-template-columns:minmax(0,1fr)}.side-stack{display:grid;grid-template-columns:1fr 1fr}.form-layout .side-stack{display:flex}.stats-grid{gap:12px}.stat-card{padding:16px}.stat-card>span{font-size:10px}.unit-overview{flex-wrap:wrap}}@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:246px;box-shadow:10px 0 30px #0002}.menu-open .sidebar{transform:translateX(0)}.workspace{margin-left:0}.menu-toggle{display:block}.topbar{height:65px;padding:0 16px;gap:10px}.breadcrumbs{margin-right:auto;font-size:10px}.breadcrumbs>span{margin:0 4px}.account>div{display:none}#main{padding:24px 16px}.admin-app h1{font-size:24px}.stats-grid{grid-template-columns:1fr 1fr}.form-layout{grid-template-columns:1fr}.filters{padding:16px;flex-wrap:wrap}.filter-hint{display:none}.search-box{max-width:none}.panel-heading{padding:18px}.side-stack{grid-template-columns:1fr}.quick-panel{flex-wrap:wrap}.quick-panel>div{flex-basis:100%;margin-bottom:8px}.app-footer{padding:18px 16px;gap:12px;flex-wrap:wrap}.form-grid{grid-template-columns:1fr;gap:0}.login-page{grid-template-columns:1fr}.login-story{padding:25px}.login-story .brand{padding-bottom:0}.login-message,.login-story>p{display:none}.login-main{padding:40px 24px}.login-box{max-width:420px}.form-panel form{padding:20px}.unit-overview .heading-actions{flex-direction:row}.section-tag{white-space:normal}.account .demo-label{margin:0}}
.service-detail-button{border:0;background:transparent;color:var(--blue);font:inherit;font-weight:600;text-align:left;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.service-detail-button[aria-pressed="true"]{color:var(--ink);text-decoration-thickness:3px}.service-detail-button:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.service-summary-details{margin:0 0 20px}.service-summary-details>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.service-summary-details dt{color:var(--muted);font-size:12px}.service-summary-details dd{margin:0;text-align:right;font-size:12px;font-weight:600}
.service-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}.service-card{padding:24px}.service-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.service-distance{margin:24px 0}.service-distance>span{color:var(--muted);font-size:13px}.service-distance>strong{display:block;font-size:32px;line-height:1.4;font-variant-numeric:tabular-nums}.service-distance small{display:inline!important;font-size:16px!important}.service-card .service-summary-details{margin-bottom:0}

/* Conserva las dimensiones del ícono de SweetAlert frente al reset general. */
.admin-app .swal2-icon,
.admin-app .swal2-success-ring {
  box-sizing: content-box;
}

/* Paginación de los catálogos */
.catalog-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    padding: 20px 24px;
    border-top: 1px solid var(--line);
}
.catalog-pagination-summary {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: var(--muted);
}
.catalog-page-size {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: var(--ink);
    font-size: 13px;
}
.catalog-page-size .form-select {
    width: 80px;
    font-size: 13px;
}
.catalog-pages {
    margin: 0;
    --bs-pagination-color: var(--ink);
    --bs-pagination-border-color: var(--line);
    --bs-pagination-active-bg: var(--blue);
    --bs-pagination-active-border-color: var(--blue);
    --bs-pagination-hover-color: var(--blue);
    --bs-pagination-hover-bg: #eef3ff;
    --bs-pagination-disabled-bg: #f5f7fa;
}
.catalog-pages .page-link {
    min-width: 36px;
    min-height: 38px;
    text-align: center;
    font-size: 14px;
}
@media (max-width: 480px) {
    .catalog-pagination { padding: 16px; }
    .catalog-pages .page-link { min-width: 28px; padding: 8px 6px; font-size: 12px; }
}

.history-filters {
    flex-wrap: wrap;
    align-items: flex-end;
}
.admin-app .history-filters label:not(.search-box) {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    font-size: 12px;
}
.history-filters .form-control {
    width: 165px;
    font-size: 12px;
}

.admin-app .history-filters label .form-control,
.admin-app .history-filters label .form-select {
    margin-top: 0;
    height: 40px;
}
.admin-app .history-filters > .btn {
    display: inline-flex;
    align-items: center;
    height: 40px;
}

.service-selector { margin-bottom: 24px; }
.admin-app .service-selector label:not(.search-box) { margin-bottom: 0; }
.service-history { margin-top: 26px; }
.service-history td:last-child { white-space: normal; min-width: 180px; }
