:root{--bg:#070b14;--panel:#101826;--line:#24344c;--red:#f21f2f;--cyan:#09c8ff;--gold:#ffbd16;--text:#f7f9fd;--muted:#99a9be}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input{font:inherit}.hidden{display:none!important}.offline{position:fixed;z-index:100;inset:0 0 auto;background:#ffbd16;color:#111;padding:8px;text-align:center;font-weight:800}.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(400px,.55fr)}.visual{position:relative;min-height:720px;background:#05070d;overflow:hidden}.brand{position:absolute;z-index:4;top:28px;left:34px;display:flex;align-items:center;gap:12px}.brand img,.side-brand img{width:58px;height:58px;object-fit:contain;border-radius:15px}.brand div,.side-brand div{display:grid}.brand b{letter-spacing:2px}.brand span,.side-brand span{color:#ff5660;font-size:11px;letter-spacing:2px}.carousel,.slide{height:100%;min-height:720px}.slide{display:none;background-size:cover;background-position:center;position:relative}.slide.active{display:block;animation:fade .7s}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,15,.8),rgba(3,7,15,.1) 65%,rgba(3,7,15,.5))}.slide>div{position:absolute;z-index:2;left:7%;bottom:18%;max-width:560px}.slide small{color:var(--cyan);font-weight:900;letter-spacing:3px}.slide h1{font-size:clamp(38px,5vw,76px);line-height:.98;margin:16px 0;text-transform:uppercase}.slide p{font-size:20px;color:#d9e8f8}.dots{position:absolute;z-index:5;left:7%;bottom:12%;display:flex;gap:9px}.dot{border:0;width:32px;height:5px;border-radius:9px;background:#607089}.dot.active{background:var(--red)}.play{position:absolute;z-index:5;left:34px;bottom:24px;right:34px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(3,8,18,.86);border:1px solid #31425b;border-radius:15px;backdrop-filter:blur(12px)}.play-icon{font-size:26px;color:#4ee58b}.play div{display:grid}.play small{font-size:9px}.play p{margin-left:auto;color:#aebdd0;font-size:13px}.login-side{background:radial-gradient(circle at top right,#182539,#080d16 55%);display:flex;flex-direction:column;justify-content:center;padding:40px}.login-card{max-width:470px;width:100%;margin:auto;background:rgba(16,24,38,.9);border:1px solid #2b3a51;border-radius:26px;padding:38px;box-shadow:0 35px 100px #000}.secure{color:#4ee58b;font-size:11px;letter-spacing:2px;font-weight:900}.login-card h2{font-size:40px;margin:22px 0 7px}.login-card>p{color:var(--muted);margin:0 0 28px}form{display:grid}label{font-weight:800;font-size:13px;margin:14px 0 8px}input{width:100%;border:1px solid #33445e;background:#0a111e;color:#fff;padding:16px;border-radius:12px;outline:none}input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #09c8ff20}.pin-row{position:relative}.pin-row button{position:absolute;right:8px;top:8px;bottom:8px;background:#1b293d;color:#fff;border:0;border-radius:8px;padding:0 12px}.primary{border:0;border-radius:12px;background:linear-gradient(100deg,#d81222,#ff3444);color:#fff;padding:17px;margin-top:20px;font-weight:900;display:flex;justify-content:space-between}.error,.message{min-height:17px;color:#ff6570;font-size:12px}.first-login{margin-top:22px;padding:14px;border:1px solid #2a3b55;border-radius:12px;background:#0a111d}.first-login p{margin:5px 0 0;color:#9fb0c5;font-size:12px;line-height:1.5}.support{width:100%;margin-top:12px;background:transparent;color:#77dfff;border:0;padding:10px}.login-side footer{text-align:center;color:#617188;font-size:11px}.portal-view{min-height:100vh;display:flex}aside{width:275px;background:#09101b;border-right:1px solid #1e2d43;padding:24px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20}.side-brand{display:flex;align-items:center;gap:10px}.side-brand b{font-size:22px;letter-spacing:4px}.caption{font-size:10px;letter-spacing:2px;color:#667890;margin:35px 12px 10px}nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#aab9ca;text-align:left;padding:12px 14px;border-radius:10px;cursor:pointer}.nav-item:hover,.nav-item.active{background:linear-gradient(90deg,#f21f2f25,#0bcaff10);color:#fff;border-left:3px solid var(--red)}.profile-mini{margin-top:auto;border-top:1px solid #233249;padding:18px 4px;display:flex;gap:10px;align-items:center}.profile-mini>span{width:39px;height:39px;border-radius:12px;background:linear-gradient(135deg,var(--red),#8f0e19);display:grid;place-items:center;font-weight:900}.profile-mini div{display:grid;min-width:0}.profile-mini b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-mini small{color:#8293aa}.logout{border:1px solid #38475c;background:transparent;color:#f6a0a6;padding:11px;border-radius:10px}.workspace{margin-left:275px;min-width:0;width:100%}.workspace>header{height:82px;border-bottom:1px solid #1c2a3d;padding:0 34px;display:flex;align-items:center;gap:16px;background:#0a111df2;position:sticky;top:0;z-index:10}.workspace header div{display:grid}.workspace header small{color:#657890;letter-spacing:2px}.workspace header #connection{margin-left:auto;color:#4ee58b}.menu{display:none;background:transparent;color:#fff;border:0;font-size:24px}#dashboard{padding:34px;max-width:1500px;margin:auto}.hero{min-height:360px;border:1px solid #263b57;border-radius:25px;background-size:cover;background-position:center;position:relative;overflow:hidden;display:flex;align-items:flex-end}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050b16e8 10%,#050b1644)}.hero-content{position:relative;z-index:2;padding:38px;max-width:650px}.hero small{color:var(--cyan);letter-spacing:3px;font-weight:900}.hero h1{font-size:46px;margin:10px 0}.hero p{color:#c0cddd;font-size:18px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.card{border:1px solid #22334b;background:linear-gradient(145deg,#111c2b,#0b121e);border-radius:18px;padding:22px;min-height:150px}.card .icon{font-size:27px}.card h3{margin:16px 0 5px}.card p{color:#8fa1b8;font-size:13px}.badge{display:inline-flex;margin-top:12px;background:#ffbd1618;color:var(--gold);padding:5px 9px;border-radius:99px;font-size:10px;font-weight:900}.user-grid{grid-template-columns:repeat(4,1fr)}.user-grid .card strong{display:block;font-size:18px;margin-top:15px;word-break:break-word}.modal-backdrop{position:fixed;z-index:1000;inset:0;background:#02050bd9;display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)}.modal{width:min(470px,100%);background:#111a28;border:1px solid #34445c;border-top:4px solid var(--red);border-radius:18px;padding:28px}.modal h2{margin-top:0}.modal p{color:#9bacbf;line-height:1.6}.modal form{gap:7px}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.actions button{border:0;border-radius:9px;padding:12px 18px}.cancel{background:#26354a;color:#fff}.confirm{background:var(--red);color:#fff;font-weight:800}@keyframes fade{from{opacity:.2}to{opacity:1}}@media(max-width:980px){.login-view{grid-template-columns:1fr}.visual{min-height:420px}.carousel,.slide{min-height:420px}.slide>div{bottom:24%}.play{display:none}.login-side{padding:25px}.login-card{margin:20px auto}.login-card h2{font-size:32px}.slide h1{font-size:40px}aside{transform:translateX(-100%);transition:.25s}.portal-view.open aside{transform:none}.workspace{margin-left:0}.menu{display:block}.grid,.user-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.visual{min-height:310px}.carousel,.slide{min-height:310px}.brand{top:14px;left:15px}.brand img{width:42px;height:42px}.slide>div{left:20px;bottom:42px}.slide h1{font-size:28px}.slide p{font-size:14px}.dots{bottom:18px;left:20px}.login-side{padding:12px}.login-card{padding:24px}.grid,.user-grid{grid-template-columns:1fr}#dashboard{padding:16px}.hero{min-height:300px}.hero-content{padding:22px}.hero h1{font-size:32px}.workspace>header{padding:0 16px}}

/* Salida de flota - hoja de gestion */
.fleet-shell{display:grid;gap:18px}.fleet-heading{display:flex;align-items:end;justify-content:space-between;padding:28px 32px;border-radius:22px;background:linear-gradient(115deg,#10233f,#0b1525 60%,#132d4c);border:1px solid #294567;box-shadow:0 22px 55px #0005}.fleet-heading small{color:#27c7ff;font-weight:900;letter-spacing:2.5px}.fleet-heading h1{font-size:40px;margin:6px 0}.fleet-heading p{color:#a9b9cb;margin:0}.fleet-live{display:flex;align-items:center;gap:8px;color:#87eeb7;font-weight:800}.fleet-live span{width:10px;height:10px;border-radius:50%;background:#2ee98d;box-shadow:0 0 16px #2ee98d}.fleet-toolbar{display:grid;grid-template-columns:190px 175px auto minmax(220px,1fr) auto;gap:12px;align-items:end;background:#0c1523;border:1px solid #21344e;border-radius:17px;padding:17px}.fleet-toolbar label{display:grid;gap:6px;margin:0;color:#93a6bc;font-size:11px;text-transform:uppercase;letter-spacing:1px}.fleet-toolbar input,.fleet-toolbar select{height:44px;padding:0 12px;border:1px solid #304765;background:#08111e;color:#fff;border-radius:10px}.fleet-toolbar button{height:44px;border:0;border-radius:10px;padding:0 17px;font-weight:850}.fleet-primary,.fleet-send{background:linear-gradient(100deg,#e3192a,#ff4050);color:#fff}.fleet-secondary{background:#1c2d43;color:#dce8f5}.fleet-toolbar button:disabled,.fleet-send:disabled{opacity:.4}.fleet-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fleet-summary article{display:grid;gap:3px;background:linear-gradient(145deg,#111d2d,#0b1421);border:1px solid #223750;border-radius:15px;padding:17px 19px}.fleet-summary span{color:#8094aa;font-size:11px;text-transform:uppercase;letter-spacing:1px}.fleet-summary b{font-size:27px}.fleet-summary small{color:#55cfff}.fleet-summary .summary-file{font-size:14px;line-height:1.35}.fleet-routes{background:#0c1523;border:1px solid #21344e;border-radius:16px;padding:15px}.routes-title{display:flex;gap:12px;align-items:center;margin-bottom:10px}.routes-title span,.routes-empty{color:#7f92aa;font-size:12px}.route-chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}.route-chips button{flex:0 0 auto;border:1px solid #304762;background:#111e2e;color:#a8b8c9;border-radius:20px;padding:7px 12px;font-size:11px}.route-chips button span{display:none}.route-chips button.active{background:#0ba5df22;border-color:#12bfff;color:#fff}.route-chips button.active span{display:inline;color:#43e79b;margin-right:5px}.fleet-message{min-height:0;border-radius:12px;font-size:13px}.fleet-message:not(:empty){padding:12px 15px}.fleet-message.loading{background:#0bbdf015;color:#60d9ff;border:1px solid #18bce055}.fleet-message.success{background:#22cc7a15;color:#6be7a9;border:1px solid #22cc7a55}.fleet-message.error{background:#ff334415;color:#ff8992;border:1px solid #ff334455}.sheet-card{background:#f8fbff;color:#152036;border-radius:18px;border:1px solid #32435b;overflow:hidden;box-shadow:0 25px 70px #0006}.sheet-top{height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:#e8f0fa;border-bottom:1px solid #c8d6e8}.sheet-top>div:first-child{display:flex;gap:12px;align-items:center}.sheet-top span{color:#607086;font-size:12px}.sheet-legend{display:flex;gap:7px;align-items:center;font-size:11px;color:#64748b}.dot-edit,.dot-base{width:9px;height:9px;border-radius:50%;display:inline-block}.dot-edit{background:#39a8ff}.dot-base{background:#8998aa;margin-left:8px}.sheet-scroll{overflow:auto;max-height:64vh}.fleet-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.fleet-table th{position:sticky;top:0;z-index:4;background:#17263b;color:#fff;text-align:left;padding:11px 9px;border-right:1px solid #31445c;white-space:nowrap}.fleet-table td{height:42px;padding:0;border-right:1px solid #cfd9e6;border-bottom:1px solid #d7e0ec;background:#fff}.fleet-table tr:nth-child(even) td{background:#f5f8fc}.fleet-table .row-number{position:sticky;left:0;z-index:2;width:45px;text-align:center;background:#e8eef7!important;color:#617087;font-weight:800}.fleet-table .base-cell{padding:7px 9px;min-width:105px;color:#2f3d51}.fleet-table .base-cell.wide{min-width:230px}.fleet-table .time-base{font-weight:900;color:#0a6fa5}.fleet-table .route-base{min-width:145px;font-weight:800}.cell-input{width:125px;height:40px;border:0!important;border-radius:0!important;background:#eaf5ff!important;color:#142239!important;padding:8px!important;box-shadow:none!important}.cell-input:focus{outline:2px solid #159de5!important;outline-offset:-2px}.movil-cell{width:110px;font-weight:900;color:#064d7b!important}.wide-input{width:210px}.maintenance{width:118px;font-weight:900;color:#14814d!important}.time-cell{display:flex;width:142px}.time-cell input{width:103px}.time-cell button{width:39px;border:0;border-left:1px solid #bfd2e6;background:#d7ebfb;color:#056da5;font-size:18px}.hour-group td{height:32px!important;padding:0 13px!important;background:#d7e8f8!important;color:#174f77!important;font-weight:900;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid #9dbdd8}.sheet-empty{text-align:center;padding:60px!important;color:#7b8b9e;background:#fff!important}.fleet-actions{position:sticky;bottom:12px;z-index:8;display:flex;align-items:center;justify-content:space-between;background:#0e1b2cdd;border:1px solid #29415e;border-radius:16px;padding:13px 16px;backdrop-filter:blur(15px);box-shadow:0 15px 45px #0007}.fleet-actions>div{display:flex;align-items:center;gap:8px}.fleet-actions b{font-size:25px;color:#3ed9ff}.fleet-actions span{color:#93a4b7;font-size:12px}.fleet-send{border:0;border-radius:11px;padding:13px 20px;font-weight:900}.fleet-send span{color:#fff;margin-left:18px;font-size:18px}
@media(max-width:1100px){.fleet-toolbar{grid-template-columns:1fr 1fr}.fleet-search{grid-column:1/-1}.fleet-summary{grid-template-columns:1fr}.fleet-heading{align-items:start}.fleet-live{display:none}}@media(max-width:600px){.fleet-heading{padding:22px}.fleet-heading h1{font-size:31px}.fleet-toolbar{grid-template-columns:1fr}.fleet-search{grid-column:auto}.fleet-toolbar button{width:100%}.sheet-top{align-items:flex-start;height:auto;padding:13px}.sheet-legend{display:none}.fleet-actions{bottom:5px}.fleet-actions>div span{display:none}.fleet-send{padding:12px}.fleet-summary article{padding:14px}}

/* Ajustes profesionales: ancho, menú, rutas, asignación y asistencia */
.menu{display:block}.portal-view.sidebar-collapsed aside{width:76px;padding-inline:10px}.portal-view.sidebar-collapsed .workspace{margin-left:76px}.portal-view.sidebar-collapsed .side-brand div,.portal-view.sidebar-collapsed .caption,.portal-view.sidebar-collapsed .profile-mini div{display:none}.portal-view.sidebar-collapsed .side-brand img{width:48px;height:48px}.portal-view.sidebar-collapsed .nav-item{font-size:0;text-align:center;padding:13px 5px}.portal-view.sidebar-collapsed .nav-item span{font-size:20px}.portal-view.sidebar-collapsed .profile-mini{justify-content:center}.portal-view.sidebar-collapsed .logout{font-size:0}.portal-view.sidebar-collapsed .logout:after{content:"↪";font-size:20px}
#dashboard.fleet-dashboard{max-width:none;padding:18px}.fleet-toolbar{grid-template-columns:170px 165px auto auto minmax(190px,1fr) minmax(160px,.65fr) auto}.fleet-code-search input{border-color:#8f78d8!important;background:#17142b!important}.routes-title{justify-content:space-between}.routes-title>div:first-child{display:grid;gap:4px}.route-actions{display:flex;gap:8px}.route-actions button{border:1px solid #415875;background:#16263a;color:#d8e8f7;border-radius:9px;padding:8px 12px}.route-chips-large{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));overflow:visible}.route-chips-large button{min-height:72px;border-radius:14px;display:grid;grid-template-columns:auto 1fr;align-items:center;text-align:left;gap:2px 7px;padding:12px;background:#f0eaff;color:#483d69;border-color:#cfc0f5}.route-chips-large button b{font-size:15px}.route-chips-large button small{grid-column:2;color:#78699c}.route-chips-large button.active{background:#dff7e9;border-color:#74c99b;color:#174f36;box-shadow:0 0 0 2px #8bd8ad33}.route-chips-large button.active small{color:#347452}
.mobile-assign{display:flex;min-width:150px}.mobile-assign button{width:38px;border:0;background:#dff7e9;color:#18784b;font-weight:900}.assigned-mobile{min-width:150px;height:40px;border:0;background:#dff7e9;color:#155f3d;display:grid;grid-template-columns:25px 1fr;align-items:center;text-align:left}.assigned-mobile small{grid-column:2;color:#438064}.row-assigned td{box-shadow:inset 0 0 0 999px #eafff233}.row-highlighted td{background:#eee5ff!important;box-shadow:inset 0 0 0 2px #a78bfa!important}.attendance-status{display:inline-flex;min-width:128px;justify-content:center;margin:5px 8px;padding:8px 10px;border-radius:9px;font-size:10px;font-weight:900;letter-spacing:.4px}.attendance-no_confirmado{background:#eef1f5;color:#637083}.attendance-confirmado{background:#dff7e9;color:#166a42}.attendance-retardo{background:#eee5ff;color:#67439a}.attendance-inasistencia{background:#ffe3e6;color:#a6293a}.time-cell{width:180px}.time-cell button{width:38px}.slide,.hero{background-size:contain;background-repeat:no-repeat;background-color:#050a13}.visual{background:#050a13}.hero{background-color:#07101d}
@media(max-width:1100px){.fleet-toolbar{grid-template-columns:1fr 1fr}.fleet-code-search,.fleet-search{grid-column:1/-1}}@media(max-width:980px){.portal-view.sidebar-collapsed .workspace{margin-left:0}.portal-view.sidebar-collapsed aside{width:275px;padding:24px 18px}.portal-view.sidebar-collapsed .side-brand div,.portal-view.sidebar-collapsed .caption,.portal-view.sidebar-collapsed .profile-mini div{display:grid}.portal-view.sidebar-collapsed .nav-item{font-size:inherit;text-align:left;padding:12px 14px}.portal-view.sidebar-collapsed .nav-item span{font-size:inherit}.portal-view.sidebar-collapsed .logout{font-size:inherit}.portal-view.sidebar-collapsed .logout:after{content:""}}

/* V47: navegación adaptable y portada visual limpia. */
#sidebar{overflow:hidden}
#sidebar #roleMenu{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;padding-right:6px;scrollbar-width:thin;scrollbar-color:#2e526f transparent}
#sidebar #roleMenu::-webkit-scrollbar{width:6px}
#sidebar #roleMenu::-webkit-scrollbar-track{background:transparent}
#sidebar #roleMenu::-webkit-scrollbar-thumb{background:#294964;border-radius:99px}
#sidebar #roleMenu::-webkit-scrollbar-thumb:hover{background:#09a8dc}
#sidebar .profile-mini{flex:0 0 auto;margin-top:10px}
#sidebar .logout{flex:0 0 auto}
.slide:after{background:linear-gradient(90deg,rgba(3,7,15,.26),rgba(3,7,15,.02) 62%,rgba(3,7,15,.12))}
.slide>div.slide-label{left:34px;bottom:92px;max-width:none;padding:8px 13px;border:1px solid #30cdf04d;border-radius:999px;background:#020812a8;backdrop-filter:blur(8px);box-shadow:0 8px 25px #0006}
.slide-label small{font-size:11px;letter-spacing:2.5px;text-shadow:0 2px 9px #000}
@media(max-height:720px){aside{padding-top:15px;padding-bottom:14px}.side-brand img{width:48px;height:48px}.caption{margin-top:18px}.nav-item{padding-block:9px}.profile-mini{padding-block:10px}}
@media(max-width:580px){.slide>div.slide-label{left:15px;bottom:48px;padding:6px 10px}.slide-label small{font-size:9px}.dots{bottom:17px}}

.fleet-heading{padding:14px 20px;border-radius:15px}.fleet-heading h1{font-size:27px;margin:2px 0}.fleet-heading p{font-size:12px}.fleet-toolbar{position:sticky;top:82px;z-index:9;padding:10px}.sheet-top{position:sticky;top:0;z-index:7;height:44px}.sheet-scroll{max-height:calc(100vh - 210px)}.fleet-table th{height:38px;padding-block:8px}.row-status-confirmado td{background:#e6f8ee!important}.row-status-retardo td{background:#f0e8ff!important}.row-status-inasistencia td{background:#ffe8eb!important}.row-status-no_confirmado td{background:#f6f7f9!important}.row-current td{box-shadow:inset 0 2px #20b7f5,inset 0 -2px #20b7f5!important}.row-current td:first-child:before{content:"AHORA";position:absolute;left:2px;margin-top:-25px;background:#109fd8;color:#fff;padding:2px 5px;border-radius:5px;font-size:8px}
.standalone-module{display:grid;gap:22px}.standalone-module>header{min-height:260px;padding:42px;border:1px solid #2b405e;border-radius:24px;background:radial-gradient(circle at 85% 10%,#263774,#10192a 46%,#0b121e);display:flex;flex-direction:column;justify-content:end}.standalone-module small{color:#54d9ff;letter-spacing:2px;font-weight:900}.standalone-module h1{font-size:clamp(34px,5vw,62px);margin:8px 0}.standalone-module header p{color:#afbdd0;font-size:17px}.development-card{display:flex;align-items:center;gap:18px;border:1px dashed #526684;background:#111c2a;border-radius:18px;padding:24px}.development-card>span{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#efe7ff;color:#7650a8;font-size:28px}.development-card b{color:#ffcb57;letter-spacing:2px}.development-card p{color:#91a2b8}.development-card code{color:#69dcff}

/* Hoja completa sin desplazamiento horizontal */
#dashboard.fleet-dashboard{padding:10px;width:100%;max-width:none}.fleet-shell{gap:9px}.fleet-heading{display:none}.fleet-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-summary article{padding:8px 12px}.fleet-summary b{font-size:18px}.fleet-routes{padding:9px}.sheet-card{width:100%;border-radius:12px}.sheet-scroll{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 290px)}.fleet-table{width:100%;min-width:0;table-layout:fixed;font-size:clamp(7px,.56vw,10px)}.fleet-table th,.fleet-table td{min-width:0!important;width:auto;overflow:hidden}.fleet-table th{white-space:normal;padding:6px 3px;line-height:1.05;text-align:center}.fleet-table td{height:34px}.fleet-table th:nth-child(1){width:2.5%}.fleet-table th:nth-child(2){width:7.5%}.fleet-table th:nth-child(3){width:6%}.fleet-table th:nth-child(4){width:8%}.fleet-table th:nth-child(5){width:6%}.fleet-table th:nth-child(6){width:10%}.fleet-table th:nth-child(7){width:6%}.fleet-table th:nth-child(8){width:10%}.fleet-table th:nth-child(9){width:4.5%}.fleet-table th:nth-child(10){width:9%}.fleet-table th:nth-child(11){width:6%}.fleet-table th:nth-child(12){width:11%}.fleet-table th:nth-child(13){width:7%}.fleet-table th:nth-child(14){width:7%}.fleet-table .base-cell,.fleet-table .base-cell.wide,.fleet-table .route-base{min-width:0;padding:3px;white-space:normal;overflow-wrap:anywhere}.cell-input,.wide-input,.movil-cell,.maintenance{width:100%;min-width:0;height:33px;padding:3px!important;font-size:inherit}.mobile-assign,.assigned-mobile{width:100%;min-width:0}.assigned-mobile{grid-template-columns:16px minmax(0,1fr);padding:2px;font-size:inherit}.assigned-mobile b{overflow:hidden;text-overflow:ellipsis}.time-cell{width:100%;min-width:0}.time-cell input{width:calc(100% - 63px);min-width:0}.time-cell button{width:21px;font-size:11px;padding:0}.attendance-status{min-width:0;width:calc(100% - 4px);margin:2px;padding:5px 2px;font-size:clamp(6px,.5vw,9px);white-space:normal}.sheet-top{height:38px}.fleet-actions{padding:7px 10px}.fleet-toolbar{top:82px;padding:7px;gap:6px}.fleet-toolbar input,.fleet-toolbar select,.fleet-toolbar button{height:36px}.fleet-status-filters{display:flex;gap:6px;flex-wrap:wrap;padding:7px;background:#0c1523;border:1px solid #21344e;border-radius:11px}.fleet-status-filters button{border:1px solid #324861;background:#152238;color:#b9c7d8;border-radius:16px;padding:6px 11px;font-size:10px;font-weight:800}.fleet-status-filters button.active{background:#e8e0ff;color:#573d88;border-color:#a98ce5}.leader-authorized{display:block;padding:4px;text-align:center;color:#1b557d;font-weight:900;overflow-wrap:anywhere}.row-maintenance td:nth-child(2),.row-maintenance td:nth-child(2) .assigned-mobile{background:#ffe0b8!important;color:#8b4600!important}.row-pnc td:nth-child(5),.row-pnc td:nth-child(6){background:#12345b!important;color:#fff!important;font-weight:900}.operator-cell[value="SIN ASIGNAR"]{color:#8b95a3!important;font-style:italic}
.module-placeholder {
  min-height: 260px;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 12px;
  padding: clamp(28px, 5vw, 72px);
  border: 1px solid #d7e2ee;
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff, #eef6ff);
  box-shadow: 0 18px 55px rgba(14, 47, 78, .12);
  color: #10243e;
}

.module-placeholder small {
  color: #1678bd;
  font-weight: 900;
  letter-spacing: 1.5px;
}

.module-placeholder h1,
.module-placeholder p {
  margin: 0;
}

.module-placeholder h1 {
  font-size: clamp(30px, 4vw, 52px);
}

.module-placeholder p {
  max-width: 760px;
  color: #526b82;
  font-size: 17px;
  line-height: 1.6;
}
