:root{--ink:#192a27;--muted:#748681;--green:#1d6b56;--dark:#143e33;--line:#e5ece8;--bg:#f6f8f5;--mint:#e5f3eb;--orange:#bb762a}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a6d7c1;outline-offset:2px}.app{display:flex;min-height:100vh}.sidebar{width:244px;background:#fff;border-right:1px solid #e7ede9;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;padding:27px 17px 18px}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 44px}.brand-icon{width:39px;height:39px;border-radius:12px;background:#1d6b56;color:white;display:grid;place-items:center;font-size:20px;font-weight:800;position:relative}.brand-icon span{font-size:10px;position:absolute;right:5px;top:5px}.brand b{font-size:18px;letter-spacing:-.7px}.brand small{display:block;color:#9aa9a2;font-size:9px;letter-spacing:1.3px;font-weight:800;margin-top:3px}.side-label{font-size:9px;font-weight:800;letter-spacing:1.3px;color:#a0afa8;margin:0 10px 13px}.nav-item{width:100%;border:0;background:transparent;color:#71847c;text-align:left;padding:12px 12px;border-radius:8px;font-weight:600;display:flex;align-items:center;gap:12px;margin:2px 0}.nav-item span{font-size:19px;width:20px;text-align:center}.nav-item.active{background:#eaf4ed;color:#206b55}.nav-item:hover{background:#f1f6f2}.nav-item em{margin-left:auto;background:#d8ece0;color:#286a52;font-size:10px;font-style:normal;padding:3px 7px;border-radius:6px}.side-info{margin:auto 0 18px;background:#eef5ed;border:1px solid #e3eee4;padding:17px;border-radius:12px}.side-info-icon{width:28px;height:28px;background:#d9ecdd;color:#3e8b63;border-radius:8px;display:grid;place-items:center;margin-bottom:12px}.side-info strong{font-size:12px;line-height:1.4;display:block}.side-info p{font-size:11px;color:#87968d;line-height:1.5;margin:6px 0 0}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:18px 2px 0}.avatar,.top-avatar{background:#dcebe1;color:#346c51;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700}.profile b{font-size:11px}.profile small{display:block;font-size:10px;color:#9aa9a1;margin-top:3px}.profile>span{margin-left:auto;color:#aab7b0}main{margin-left:244px;width:calc(100% - 244px);padding:0 40px;max-width:1800px}.topline{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.8px;color:#9aa9a2}.slash{margin:0 13px;color:#c2cec6}.topright{display:flex;align-items:center;gap:8px;color:#82958c;letter-spacing:.7px}.demo-dot{width:7px;height:7px;background:#5eaf78;border-radius:50%}.top-sep{width:1px;height:22px;background:var(--line);margin:0 10px}.top-avatar{width:29px;height:29px;font-size:11px;letter-spacing:0}.demo-banner{display:flex;gap:12px;align-items:center;background:#f1f5e8;border:1px solid #e7eedb;color:#71865f;padding:10px 14px;border-radius:8px;margin-top:22px;font-size:11px}.demo-banner b{color:#55734d}.demo-banner span:last-child{margin-left:auto}.page-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:34px 0 25px}.eyebrow{font-size:10px;font-weight:800;color:#75a48b;letter-spacing:1.2px}.page-header h1{font-size:29px;letter-spacing:-1.15px;line-height:1.12;margin:8px 0;color:#1c302a}.page-header p{margin:0;color:#86958e;font-size:13px}.primary,.secondary,.small-btn{border-radius:8px;padding:11px 15px;font-weight:700;font-size:12px;white-space:nowrap}.primary{background:var(--green);border:1px solid var(--green);color:#fff;box-shadow:0 3px 8px #256c4c1a}.primary:hover{background:#155b49}.secondary{background:#fff;border:1px solid #e1e9e3;color:#41574c}.secondary:hover,.small-btn:hover{background:#f4f9f5}.button-group{display:flex;gap:8px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metric,.card{background:#fff;border:1px solid #e6ede8;border-radius:12px;box-shadow:0 3px 14px #1c3c2210}.metric{padding:19px 19px 16px;min-height:142px}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#82938a;font-size:11px;font-weight:700}.metric-icon{background:#eef7f0;color:#4a9970;border-radius:8px;width:31px;height:31px;display:grid;place-items:center;font-size:16px}.metric-number{font-size:27px;font-weight:750;letter-spacing:-1px;margin-top:11px}.metric-number small{font-size:12px;color:#91a097;font-weight:500;letter-spacing:0}.metric-foot{color:#9caaa2;font-size:10px;margin-top:6px}.metric-foot b{color:#4b9871}.grid-main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(285px,1fr);gap:16px;margin-top:19px}.card-head{padding:20px 21px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.card-head h2{font-size:14px;letter-spacing:-.25px;margin:0}.card-head p{font-size:11px;color:#9aa8a0;margin:5px 0 0}.link-btn{border:0;background:none;color:#388065;font-size:11px;font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#fafcf9;color:#9aa9a0;text-transform:uppercase;font-size:9px;letter-spacing:.7px;font-weight:800;padding:11px 21px;white-space:nowrap}td{padding:13px 21px;border-top:1px solid #eff3ef;font-size:11px;color:#5f7368;white-space:nowrap}td b{color:#273e33;font-size:11px}td small{color:#a0afa5;display:block;margin-top:4px;font-size:10px}.status{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;border-radius:5px;padding:5px 7px}.status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.status.aprobada{background:#eaf5ee;color:#488e67}.status.pendiente{background:#fff4e5;color:#b3843d}.status.cerrada{background:#eef2f0;color:#829087}.status.warn{background:#fff2e2;color:#b27627}.empty{text-align:center;padding:35px;color:#99a9a0}.action-cell{display:flex;gap:5px}.small-btn{padding:6px 8px;border:1px solid #e1ebe3;background:#fff;color:#33795d;font-size:10px}.stock-card{padding:21px}.stock-title{display:flex;justify-content:space-between;align-items:start}.stock-title h2{font-size:14px;margin:0}.stock-title p{font-size:11px;color:#9eaba4;margin:5px 0}.stock-circle{height:138px;width:138px;border-radius:50%;border:12px solid #dfeee2;border-top-color:#4f9a72;border-right-color:#4f9a72;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:23px auto 18px;transform:rotate(-30deg)}.stock-circle>div{transform:rotate(30deg);text-align:center}.stock-circle strong{font-size:24px;letter-spacing:-1px}.stock-circle small{display:block;color:#91a196;font-size:10px}.stock-note{font-size:10px;color:#a0ada5;text-align:center;margin:-5px 0 20px}.stock-details{border-top:1px solid #edf2ed;padding-top:14px;display:flex;justify-content:space-between;font-size:11px;color:#8e9f94}.stock-details b{color:#486454}.section-row{display:flex;justify-content:space-between;align-items:center;margin:27px 0 13px}.section-row h2{font-size:15px;margin:0}.section-row span{font-size:11px;color:#9eaca3}.alerts{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.alert{background:white;border:1px solid #e6ede8;border-radius:10px;padding:15px 17px;display:flex;align-items:center;gap:12px}.alert-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#fff5e8;color:#ca9750;font-weight:bold}.alert-icon.green{background:#edf7f0;color:#55a173}.alert strong{font-size:11px}.alert p{margin:4px 0 0;color:#98a79e;font-size:10px}.alert .alert-count{margin-left:auto;color:#8b9b92;font-size:11px}.full-card{margin-top:8px}.notice{background:#eff7f1;color:#557764;border:1px solid #dfefe3;border-radius:9px;padding:13px 15px;margin-bottom:18px;font-size:12px;line-height:1.5}.notice.warn{background:#fff8eb;color:#967347;border-color:#f3e7d0}.modal-overlay{position:fixed;inset:0;background:#163d30a6;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal-overlay[hidden]{display:none}.modal{width:min(100%,570px);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:25px;box-shadow:0 25px 80px #152b2250}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.modal-head h2{font-size:21px;letter-spacing:-.5px;margin:8px 0 0}.close{border:0;background:#f1f6f2;color:#627c6e;border-radius:8px;font-size:24px;width:34px;height:34px;line-height:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:700;color:#647a6e}.field input,.field select{width:100%;border:1px solid #dbe7de;border-radius:8px;padding:10px 11px;color:#263d31;background:#fff;min-width:0}.field small{font-size:10px;color:#96a69c;line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.error{color:#ae514c;font-size:12px;margin-top:12px}#toast{position:fixed;right:25px;bottom:25px;background:#193e30;color:#fff;padding:13px 18px;border-radius:9px;font-size:12px;box-shadow:0 5px 20px #0002;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:20}#toast.show{opacity:1;transform:translateY(0)}footer{padding:32px 0;color:#b1bdb5;font-size:10px}footer span{padding:0 5px}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-main{grid-template-columns:1fr}.stock-card{display:none}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:12px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;border-right:0;border-bottom:1px solid var(--line)}.app{display:block}.brand{padding:0;gap:7px}.brand-icon{width:32px;height:32px;font-size:17px}.brand b{font-size:14px}.brand small,.side-label,.side-info,.profile{display:none}.sidebar nav{display:flex;gap:2px}.nav-item{width:auto;padding:8px;font-size:0}.nav-item span{font-size:19px}.nav-item em{display:none}main{margin:0;width:100%;padding:0 17px}.topline{height:48px}.demo-banner{margin-top:15px;gap:6px}.page-header{margin:25px 0 20px;align-items:start}.page-header h1{font-size:24px}.page-header p{line-height:1.4}.page-header>.button-group{flex-direction:column}.metrics{gap:9px}.metric{padding:14px;min-height:120px}.metric-number{font-size:23px}.grid-main{margin-top:12px}.alerts{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.topright{font-size:9px}.modal{padding:20px}.table-wrap{max-width:100%}}

@media(max-width:700px){.sidebar nav{overflow-x:auto;max-width:calc(100vw - 125px);scrollbar-width:none;flex-shrink:1}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{flex-shrink:0}}

/* Renovación visual: una interfaz ligera y legible, sin recursos externos. */
:root{--ink:#172b3c;--muted:#788da1;--green:#087f76;--dark:#102d40;--line:#e1edf0;--bg:#f5f9fb;--mint:#dff7ef;--orange:#bf8035}
body{background:radial-gradient(ellipse at 85% 0%,#e5f8f7 0,transparent 33%),radial-gradient(ellipse at 40% 70%,#eef2ff 0,transparent 42%),#f5f9fb;color:var(--ink)}
.sidebar{background:linear-gradient(165deg,#112c41 0%,#123a48 55%,#0d4b47 100%);border-right:0;box-shadow:8px 0 35px #17394a12;z-index:2}
.brand b{color:#fff}.brand small{color:#8cbcb8}.brand-icon{background:linear-gradient(135deg,#42dbbc,#168d9d);box-shadow:0 7px 20px #03c1a33d}.side-label{color:#79a9ac}.nav-item{color:#a9c8ca;transition:background .2s ease,transform .2s ease,color .2s ease}.nav-item:hover{background:#ffffff12;color:#fff;transform:translateX(3px)}.nav-item.active{background:linear-gradient(100deg,#33c2a559,#62cdd020);color:#fff;box-shadow:inset 3px 0 #5de1bd}.nav-item em{background:#ffffff22;color:#d9fff4}.side-info{background:linear-gradient(140deg,#ffffff15,#79e7c90d);border-color:#ffffff20;color:#e4faf4}.side-info-icon{background:#ffffff18;color:#6de0c3}.side-info p{color:#a4c9c2}.profile{border-color:#ffffff20}.profile b{color:#f4fffc}.profile small,.profile>span{color:#9cc4bd}.avatar,.top-avatar{background:linear-gradient(135deg,#b4f1d6,#b9e6ef);color:#14665d}
.topline{border-color:#dfebee;color:#8da1ac}.topright{color:#6d918e}.top-avatar{box-shadow:0 2px 8px #1b846b22}.demo-banner{background:linear-gradient(100deg,#ecf9f2,#eff9fc);border-color:#d8eee5;color:#618b83}.demo-banner b{color:#178275}.demo-dot{background:#28c49f;box-shadow:0 0 0 4px #c9f4e9}
.eyebrow{color:#16a68d;letter-spacing:1.4px}.page-header h1{color:#172e40;font-weight:760;letter-spacing:-1.2px}.page-header p{color:#80939e}
.primary,.secondary,.small-btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.primary{background:linear-gradient(120deg,#108878,#0ea89d 58%,#168bb0);border:0;color:white;box-shadow:0 8px 20px #159c9360}.primary:hover{background:linear-gradient(120deg,#08786e,#099c94 58%,#087c9d);transform:translateY(-2px);box-shadow:0 12px 25px #159c936b}.primary:active,.secondary:active,.small-btn:active{transform:translateY(0) scale(.98)}.secondary,.small-btn{border-color:#dbeae9;background:#ffffffd9;color:#287e75;box-shadow:0 3px 10px #1a61600a}.secondary:hover,.small-btn:hover{background:#eefbf7;border-color:#b8e5d9;transform:translateY(-2px);box-shadow:0 7px 16px #1c786d16}.link-btn{color:#128d80}.link-btn:hover{color:#075d59}
.metric,.card{border-color:#e2edef;box-shadow:0 8px 28px #274a5b0c,0 2px 5px #214b4a08}.metric{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease;background:linear-gradient(155deg,#fff 54%,#f0fbf8 100%)}.metric:after{content:'';position:absolute;right:-38px;bottom:-64px;width:120px;height:120px;border-radius:50%;background:linear-gradient(130deg,#8bdec727,#9bddea15);pointer-events:none}.metric:hover{transform:translateY(-3px);box-shadow:0 14px 30px #276d6720}.metric:nth-child(2){background:linear-gradient(150deg,#fff 56%,#edf5ff)}.metric:nth-child(3){background:linear-gradient(150deg,#fff 56%,#ebfaf2)}.metric:nth-child(4){background:linear-gradient(150deg,#fff 56%,#fff8ec)}.metric-icon{background:linear-gradient(135deg,#dcf8eb,#e0f5f7);color:#159d83}.metric:nth-child(2) .metric-icon{background:linear-gradient(135deg,#e0edff,#e8f8ff);color:#628bd7}.metric:nth-child(4) .metric-icon{background:linear-gradient(135deg,#fff0d8,#fff8e8);color:#d79b50}.metric-number{color:#193647}.metric-top,.metric-foot{color:#8ca0a7}.metric-foot b{color:#0aa084}
.card{background:linear-gradient(150deg,#fff 70%,#fbfefd)}.card-head h2,.section-row h2{color:#183b48}.stock-circle{border-color:#d8f0e9;border-top-color:#1bb999;border-right-color:#52c4ce;box-shadow:0 5px 20px #19a88e16}.status.aprobada{background:#e1f8ee;color:#168466}.status.pendiente{background:#fff4e0;color:#a87525}.status.cerrada{background:#edf3f6;color:#718795}.status.warn{background:#fff1e4;color:#b77220}.alert{box-shadow:0 5px 18px #254e4d0a;transition:transform .2s ease}.alert:hover{transform:translateY(-2px)}.alert-icon{background:linear-gradient(135deg,#fff0d8,#fff9ed)}.alert-icon.green{background:linear-gradient(135deg,#daf8e7,#e6f8fa)}
.notice{background:linear-gradient(105deg,#eafaf4,#eff9fa);border-color:#d5f0e7;color:#427a70}.notice.warn{background:linear-gradient(105deg,#fff7e9,#fffaf0);color:#967347}.form-hint{grid-column:1/-1;margin:0;font-size:11px}.modal-overlay{background:#102b3bc2;backdrop-filter:blur(5px)}.modal{box-shadow:0 30px 90px #0b293c59;border:1px solid #ffffffaa}.modal-head h2{color:#173849}.field input,.field select{border-color:#d7e8e5;background:#fbfefd;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus{border-color:#42bda7;box-shadow:0 0 0 4px #70d9c52b;outline:0}.close{background:#eff9f5;color:#508c7d}.close:hover{background:#dff5eb}.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 17px}.workflow>div{display:flex;align-items:center;gap:10px;padding:13px 12px;background:linear-gradient(125deg,#fff,#f1fbf8);border:1px solid #e0f0eb;border-radius:11px;box-shadow:0 4px 14px #147f7510}.workflow i{font-style:normal;background:linear-gradient(135deg,#19ae94,#47c8c3);color:white;border-radius:9px;width:32px;height:32px;display:grid;place-items:center;font-weight:800;font-size:11px;flex:none;box-shadow:0 4px 10px #1aa69225}.workflow b{display:block;color:#255d58;font-size:11px}.workflow small{display:block;color:#88a39d;margin-top:3px;font-size:10px}
@media(max-width:850px){.workflow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.sidebar{box-shadow:0 5px 18px #123b4530}.sidebar nav{max-width:calc(100vw - 125px)}.nav-item:hover{transform:none}.page-header h1{font-size:24px}.workflow>div{padding:10px 8px}.workflow small{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Resumen interactivo y gráficas, sin bibliotecas externas. */
.metric-link{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.metric-link:focus-visible,.alert-link:focus-visible{outline:3px solid #a6d7c1;outline-offset:3px}.metric-link .metric-foot{color:#538f86}.alert-link{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.alert-link:hover{border-color:#a7dcd1;box-shadow:0 9px 24px #148d7b18}.danger-btn{color:#a75a58;border-color:#f2dfdd}.danger-btn:hover{color:#a44243;background:#fff4f3;border-color:#efc9c5}.charts-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:16px}.chart-card{padding:21px;min-height:248px}.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.chart-head h2{font-size:14px;letter-spacing:-.25px;margin:0;color:#183b48}.chart-head p{font-size:11px;color:#94a5a5;margin:5px 0 0}.chart-legend{display:flex;gap:17px;flex-wrap:wrap;margin:17px 0 0;font-size:10px;color:#78928c}.chart-legend span,.route-chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i,.route-chart-legend i{display:inline-block;border-radius:4px;width:9px;height:9px}.legend-routes{background:#23b5a1}.legend-other{background:#93a8ea}.bar-plot{height:135px;display:flex;align-items:stretch;justify-content:space-around;position:relative;margin:10px 0 0;gap:5px}.bar-grid{position:absolute;inset:0 0 21px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.bar-grid span{display:block;border-top:1px dashed #e7efec}.bar-day{display:flex;flex-direction:column;align-items:center;flex:1;z-index:1;min-width:0}.bar-pair{height:calc(100% - 21px);width:100%;display:flex;align-items:end;justify-content:center;gap:5px}.bar{width:16px;min-width:4px;max-width:24px;border-radius:5px 5px 1px 1px;transition:height .35s ease}.route-bar{background:linear-gradient(180deg,#4cdac2,#129e90)}.other-bar{background:linear-gradient(180deg,#bbc9ff,#7a93e1)}.bar-day>span{text-transform:capitalize;font-size:10px;color:#93a6a0;margin-top:6px}.chart-caption{font-size:9px;color:#9aaea7;margin-top:8px;line-height:1.4}.routes-count{display:flex;align-items:baseline;gap:9px;margin:25px 0 14px}.routes-count strong{font-size:34px;letter-spacing:-1.5px;color:#1b3b4a}.routes-count span{font-size:11px;color:#8da19d}.status-bar{height:10px;background:#eef4f2;border-radius:12px;display:flex;overflow:hidden;gap:0}.status-bar span{height:100%}.route-chart-legend{margin-top:16px;display:grid;gap:9px}.route-chart-legend div{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#7d928c}.route-chart-legend b{font-size:11px;color:#36584e}.card-head .secondary{padding:8px 10px;font-size:10px}
@media(max-width:850px){.charts-grid{grid-template-columns:1fr}.chart-card{min-height:auto}.bar-plot{height:135px}}
/* Actividad de rutas adaptable: el estado nunca queda detrás de otra columna. */
.charts-single{max-width:100%}.charts-single .chart-card{min-height:0}.charts-single .route-chart-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.charts-single .route-chart-legend div{gap:10px}.activity-card{margin-top:18px;overflow:hidden}.activity-list{width:100%}.activity-item{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(130px,1.25fr) minmax(100px,1fr) auto;align-items:center;gap:16px;padding:14px 21px;border-top:1px solid #edf3f0;min-width:0}.activity-item b{display:block;font-size:11px;color:#28473c;overflow-wrap:anywhere}.activity-item small{display:block;color:#9aaba2;margin-top:4px;font-size:10px;overflow-wrap:anywhere}.activity-vehicle{display:flex;align-items:center;gap:9px;min-width:0}.activity-icon{width:31px;height:31px;flex:none;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#d9f7eb,#e7f4fa);color:#159c87;font-weight:800}.activity-route,.activity-driver{min-width:0}.activity-status{justify-self:end}.activity-status .status{white-space:nowrap}.two-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.activity-item{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:14px 16px}.activity-vehicle{grid-column:1}.activity-status{grid-column:2;grid-row:1;align-self:center}.activity-route{grid-column:1}.activity-driver{grid-column:2;text-align:right}.charts-single .route-chart-legend{grid-template-columns:1fr;gap:8px}.two-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Archivo histórico y selector de identidad explícitamente de demostración. */
.demo-user-label{font-size:9px;color:#829c98;white-space:nowrap}#demo-user-select{max-width:190px;border:1px solid #d9ebe7;border-radius:9px;padding:7px 10px;background:#ffffffd9;color:#256c65;font-size:11px;font-weight:700;letter-spacing:0}.archive-filter-card{margin-bottom:15px}.archive-filters{display:grid;grid-template-columns:minmax(130px,1.3fr) minmax(130px,1fr) 1fr 1fr auto auto;gap:10px;align-items:end;padding:0 21px 20px}.archive-filters .primary,.archive-filters .secondary{min-height:38px}.revision-history{border-top:1px solid #e7efeb;margin-top:20px;padding-top:15px}.revision-history h3{font-size:13px;margin:0 0 10px;color:#204b43}.revision-item{background:#f3faf7;border:1px solid #e1f2ea;border-radius:9px;margin:8px 0;padding:11px 12px;overflow-wrap:anywhere}.revision-item b{font-size:11px;color:#276759}.revision-item p{font-size:11px;margin:5px 0;color:#46665d}.revision-item small{font-size:10px;color:#738c83;line-height:1.5}
@media(max-width:1050px){.archive-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.archive-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 16px}.topline{gap:6px}.topright{gap:5px}.demo-user-label,.demo-mode-label,.top-sep{display:none}#demo-user-select{max-width:145px;padding:6px;font-size:10px}}
@media(min-width:701px){.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#48877c transparent}}
.archive-footnote{padding:12px 20px 16px;color:#91a39c;font-size:10px;line-height:1.5}
@media(max-width:700px){.archive-table,.archive-table tbody,.archive-table tr,.archive-table td{display:block;width:100%}.archive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.archive-table tr{padding:12px 15px;border-top:1px solid #e9f1ed}.archive-table td{border:0;padding:5px 0;display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,1.4fr);gap:3px 10px;white-space:normal;overflow-wrap:anywhere}.archive-table td:before{content:attr(data-label);color:#98a9a0;font-size:10px;font-weight:700}.archive-table td small{grid-column:2}.archive-table .action-cell{flex-wrap:wrap}}
[hidden]{display:none!important}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#edf7f2,#e9f0fb)}.auth-card{width:min(100%,430px);padding:36px;background:white;border-radius:20px;box-shadow:0 18px 65px #173b2920}.auth-card h1{margin:10px 0;font-size:27px}.auth-card p{font-size:13px;color:#74867c;line-height:1.5}.auth-card form{display:grid;gap:14px;margin-top:22px}.auth-card label{display:grid;gap:7px;font-size:12px;font-weight:700}.auth-card input{border:1px solid #dce8e1;border-radius:9px;padding:12px;font:inherit}.auth-card .error{margin-top:12px}.topright{flex-wrap:wrap}.topright #session-name{font-size:11px;font-weight:700}
/* Filtros de informes: controles alineados en escritorio y apilados en móviles. */
.report-filters{display:grid;grid-template-columns:minmax(180px,1.7fr) minmax(145px,1fr) minmax(145px,1fr) auto;align-items:end;gap:14px;padding:20px 21px;margin-bottom:18px}.report-filters .field{min-width:0}.report-filters .field input,.report-filters .field select{min-width:0;max-width:100%;height:42px}.report-filters .primary{min-height:42px;white-space:nowrap}
@media(max-width:1100px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters .primary{width:100%}}
@media(max-width:520px){.report-filters{grid-template-columns:minmax(0,1fr);padding:16px;gap:12px}}
.report-filters .field{color:#647a6e;font-size:11px;font-weight:700}.report-filters .field input,.report-filters .field select{font-size:13px;font-weight:400}
/* Portal de acceso: fotografía local y degradado de respaldo sin recursos externos. */
.auth-screen{display:block;position:relative;min-height:100vh;min-height:100dvh;padding:0;color:#fff;background-color:#122e37;background-image:linear-gradient(100deg,rgba(6,26,34,.80) 0%,rgba(7,34,43,.56) 49%,rgba(7,27,39,.30) 100%),linear-gradient(0deg,rgba(5,22,30,.65),transparent 55%),url('/login-fleet.jpg?v=20261112l');background-size:cover;background-position:center}
.auth-layout{position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;max-width:1600px;margin:0 auto;padding:36px clamp(25px,5vw,80px) 25px}
.auth-header{display:flex;align-items:center;gap:12px}.auth-brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#34c2a6,#127f72);box-shadow:0 8px 24px #061d2270;display:grid;place-items:center;font-weight:800;font-size:22px;position:relative}.auth-brand-mark span{position:absolute;right:6px;top:5px;font-size:10px}.auth-brand-text{display:grid;gap:2px}.auth-brand-text strong{font-size:17px;letter-spacing:-.3px}.auth-brand-text span{font-size:8px;letter-spacing:1.9px;color:#c0e0d6;font-weight:700}.auth-demo-tag{margin-left:auto;color:#d7eee8;background:#173e3dbb;border:1px solid #ffffff3b;padding:9px 12px;border-radius:100px;letter-spacing:1.1px;font-size:9px;font-weight:800;white-space:nowrap}.auth-demo-tag i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;background:#67dfb7}
.auth-content{flex:1;display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:clamp(55px,8vw,145px);align-items:center;padding:55px 0}.auth-card{width:100%;padding:clamp(27px,3.5vw,43px);color:#1d3a35;background:rgba(255,255,255,.97);border:1px solid #ffffffc9;border-radius:20px;box-shadow:0 28px 85px #031a2390}.auth-card-top{display:flex;align-items:center;gap:9px;color:#32877c;font-size:9px;font-weight:800;letter-spacing:1.5px}.auth-card-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e6f7f1;color:#159d84;font-size:16px;letter-spacing:0}.auth-card h1{font-size:clamp(27px,2.6vw,34px);letter-spacing:-1.1px;line-height:1.15;margin:22px 0 9px;color:#173c38}.auth-card p{margin:0;color:#778f89;font-size:13px;line-height:1.6}.auth-card form{display:grid;gap:17px;margin-top:27px}.auth-card label{display:grid;gap:8px;color:#41645d;font-size:11px;font-weight:750}.auth-card input{width:100%;min-width:0;height:48px;padding:0 14px;border:1px solid #d8e9e3;border-radius:10px;background:#f9fcfb;color:#1b3f38;font-size:13px;font-weight:500;transition:border-color .2s,box-shadow .2s}.auth-card input::placeholder{color:#aabcb6}.auth-card input:focus{outline:0;border-color:#40b7a0;box-shadow:0 0 0 4px #49c6a72b;background:white}.auth-card .auth-submit{height:49px;display:flex;align-items:center;justify-content:space-between;margin-top:3px;padding:0 17px;border-radius:10px;font-size:13px;box-shadow:0 10px 22px #129d8050}.auth-submit span:last-child{font-size:20px}.auth-card .error{margin-top:12px}.auth-card-note{display:flex;gap:8px;align-items:flex-start;border-top:1px solid #edf3f0;margin-top:22px;padding-top:16px;color:#869d95;font-size:10px;line-height:1.5}.auth-card-note span:first-child{color:#53ad9b;font-size:14px;line-height:1}
.auth-story{align-self:start;max-width:540px;padding-top:clamp(10px,5vh,55px);text-shadow:0 2px 24px #071d28a8}.auth-story-kicker{display:flex;align-items:center;gap:9px;color:#b0e7d5;font-size:10px;font-weight:800;letter-spacing:2px}.auth-story-kicker span{width:27px;height:2px;background:#64ddba}.auth-story h2{font-size:clamp(33px,4vw,57px);letter-spacing:-2px;line-height:1.12;margin:20px 0;color:#fff;font-weight:750}.auth-story h2 em{font-style:normal;color:#afe9d7}.auth-story p{max-width:440px;color:#e4eeeb;font-size:14px;line-height:1.8;margin:0}.auth-story-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.auth-story-tags span{border:1px solid #e2fff448;border-radius:100px;background:#102f36a8;padding:8px 11px;color:#e1f1eb;font-size:10px;font-weight:700;letter-spacing:.2px}.auth-footer{display:flex;justify-content:space-between;gap:12px;color:#c2d7d0;font-size:10px;letter-spacing:.2px}.auth-footer b{color:#78dbc1;margin:0 3px}
@media(max-width:900px){.auth-content{grid-template-columns:minmax(300px,410px) minmax(0,1fr);gap:35px}.auth-story h2{font-size:35px}.auth-story-tags{display:none}}
@media(max-width:700px){.auth-screen{background-position:58% center}.auth-layout{padding:22px 20px 18px}.auth-header{gap:9px}.auth-brand-mark{width:39px;height:39px;font-size:19px}.auth-demo-tag{font-size:8px;letter-spacing:.6px;padding:8px}.auth-content{display:flex;flex-direction:column-reverse;align-items:stretch;justify-content:center;gap:22px;padding:36px 0}.auth-story{padding:0;max-width:420px}.auth-story h2{font-size:31px;letter-spacing:-1px;margin:10px 0}.auth-story p{font-size:12px;line-height:1.6}.auth-story-kicker{font-size:9px}.auth-card{max-width:460px;align-self:center;padding:26px}.auth-card h1{font-size:27px;margin:17px 0 7px}.auth-card form{margin-top:20px;gap:14px}.auth-card input{height:45px}.auth-footer{font-size:9px}}
@media(max-width:370px){.auth-demo-tag{font-size:0}.auth-demo-tag i{margin:0}.auth-story h2{font-size:27px}.auth-footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.auth-card input{transition:none}}
.auth-footer{padding:0}
/* Acabado visual del acceso: capas de luz, fotografía y tarjeta de alto contraste. */
.auth-screen{background-image:radial-gradient(ellipse at 17% 18%,rgba(31,166,139,.24),transparent 38%),radial-gradient(ellipse at 83% 4%,rgba(65,142,157,.23),transparent 40%),linear-gradient(108deg,rgba(6,28,35,.87) 0%,rgba(7,35,42,.68) 48%,rgba(7,29,39,.37) 100%),linear-gradient(0deg,rgba(5,22,30,.72),transparent 58%),url('/login-fleet.jpg?v=20261112l');background-size:cover;background-position:center}
.auth-layout{isolation:isolate}.auth-header{position:relative}.auth-brand-mark{background:linear-gradient(145deg,#65e2c0 0%,#20ae99 50%,#087a75 100%);border:1px solid #b6fff254}.auth-demo-tag{background:linear-gradient(120deg,#1a5b50c9,#183e4bce);border-color:#a1e6d742;box-shadow:inset 0 1px #ffffff18}
.auth-card{position:relative;overflow:hidden;background:linear-gradient(155deg,rgba(255,255,255,.985),rgba(244,253,249,.965));border:1px solid #ffffffdf;box-shadow:0 30px 80px #001b269c,0 2px 8px #00151d40}.auth-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,#10a78e,#53d6b2 53%,#92e3d6)}.auth-card-top{color:#247e70}.auth-card-icon{background:linear-gradient(135deg,#d8f6e8,#e9faf7);box-shadow:inset 0 1px 1px #fff}
.auth-card h1{color:#143c36}.auth-card p{color:#607b73}.auth-card label{color:#365f54}.auth-card input{border-color:#cddfd9;background:#fff;box-shadow:0 1px 3px #153d3010}.auth-card input:hover{border-color:#8fcdbd}.auth-card input:focus-visible{outline:3px solid #7adac1;outline-offset:2px}.auth-card .auth-submit{background:linear-gradient(115deg,#087d70,#11a990 65%,#40bfa5);border:0;box-shadow:0 10px 22px #087b6850;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.auth-card .auth-submit:hover{transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 13px 26px #087b6866}.auth-card .auth-submit:active{transform:translateY(0)}.auth-card-note{align-items:center;background:#edf9f4;border:1px solid #d8efe6;border-radius:11px;padding:12px;margin-top:22px;color:#537d70;font-size:10px}.auth-card-note strong{color:#386c5d;font-size:10px}.auth-card-note .auth-note-icon{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:8px;background:#daf2e7;color:#198a75;font-size:14px}
.auth-story h2 em{color:#b7f2dd}.auth-story-tags span{background:linear-gradient(135deg,#174b46b8,#102f3bab);border-color:#bce9dd48;box-shadow:0 5px 15px #091d2930;backdrop-filter:blur(5px)}.auth-route-art{display:flex;align-items:center;gap:13px;max-width:390px;margin-top:38px;color:#b3e7d8}.auth-route-art svg{width:155px;max-width:42%;height:auto;opacity:.82}.auth-route-art span{font-size:10px;letter-spacing:.5px;color:#d9ece6;white-space:nowrap}
@media(max-width:900px){.auth-route-art{margin-top:23px}}
@media(max-width:700px){.auth-screen{background-position:58% center}.auth-card{border-radius:18px}.auth-card-note{margin-top:17px}.auth-route-art{display:none}}
@media(prefers-reduced-motion:reduce){.auth-card .auth-submit{transition:none}.auth-card .auth-submit:hover{transform:none}}

/* Mejoras de acceso y selección de categorías */
.auth-card{box-shadow:0 28px 70px #091f2470,0 0 0 1px #ffffff85}.auth-card-top{letter-spacing:1.8px}.auth-card h1{letter-spacing:-.035em}.password-wrap{position:relative;width:100%;margin-bottom:16px}.auth-card .password-wrap input{width:100%;padding-right:56px;margin:0}.password-reveal{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:10px;color:#47776c;background:transparent;cursor:pointer;touch-action:none}.password-reveal:hover,.password-reveal.revealing{background:#e2f4ed;color:#087d70}.password-reveal:focus-visible{outline:3px solid #56bfa5;outline-offset:0}.password-reveal svg{width:21px;height:21px;pointer-events:none}.license-categories{min-width:0;border:1px solid #d9e6e0;border-radius:12px;padding:12px}.license-categories legend{font-weight:700;padding:0 6px}.license-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:10px}.license-grid label{display:flex;gap:9px;align-items:flex-start;padding:9px;background:#f4f9f7;border-radius:8px;cursor:pointer}.license-grid input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:#0a8875;margin:1px 0 0}.license-grid span{line-height:1.35}

.followup-card,.deliveries-card{margin:18px 0}.deliveries-card .report-filters{margin:16px 0}.deliveries-card .button-group{justify-content:flex-start;margin:12px 0}.delivery-check{width:18px;height:18px;accent-color:#087d70}#print-area{display:none}
@media print{body>*:not(#print-area){display:none!important}#print-area{display:block!important;color:#000;background:#fff;font:11pt Arial,sans-serif}#print-area h1{font-size:18pt;margin:12pt 0}#print-area p{font-size:9pt;margin:8pt 0}#print-area table{width:100%;border-collapse:collapse;font-size:9pt}#print-area th,#print-area td{border:1px solid #555;text-align:left;padding:5pt;vertical-align:top}#print-area tr{break-inside:avoid}.print-brand{font-weight:bold;color:#155b4c}.print-signatures{display:flex;justify-content:space-between;gap:12pt;margin-top:30pt;break-inside:avoid}@page{size:A4;margin:13mm}}
