:root{font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#172433;background:#f4f6f8;--line:#dfe5eb;--muted:#69788a}
*{box-sizing:border-box}body{margin:0}main{max-width:1800px;padding:24px;margin:auto}header,nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}header{justify-content:space-between;margin-bottom:22px}h1{font-size:26px;margin:0;letter-spacing:-.6px}h2{font-size:16px;margin:0 0 12px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 5px}.muted{color:var(--muted);font-size:12px}nav{margin-bottom:18px}nav h2{margin:0;min-width:170px;text-align:center}button,a{touch-action:manipulation}button{font:inherit;border:1px solid #ccd5df;border-radius:7px;background:white;color:inherit;padding:8px 12px;cursor:pointer}button:hover{background:#eff4fa}button:focus-visible,a:focus-visible,.grid:focus-visible{outline:3px solid #508bde;outline-offset:2px}button:disabled{opacity:.5;cursor:wait}a{color:#235b96}#state:not(:empty){padding:24px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:16px}#state h2{margin-bottom:8px}.panel{padding:18px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:16px}.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.figure{border:1px solid var(--line);background:white;border-radius:10px;padding:16px}.figure strong{display:block;font-size:28px;font-weight:650}.figure span{display:block}.legend{display:flex;gap:12px 22px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:7px;font-size:12px}.swatch{width:12px;height:12px;border-radius:3px;background:var(--accent);border:1px solid #0002}.grid{overflow:auto;max-height:65vh;position:relative;border:1px solid var(--line);border-radius:7px}table{border-collapse:separate;border-spacing:0;width:100%;min-width:800px;table-layout:fixed}th,td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;vertical-align:top}thead th{position:sticky;top:0;z-index:4;background:#f6f8fb;text-align:left;padding:12px 8px}thead th:first-child{left:0;z-index:6;width:110px}thead th:nth-child(2){left:110px;z-index:6;width:125px}thead th.vehicle{width:190px}th small{display:block;font-weight:400;color:var(--muted);margin-top:3px}th.date{position:sticky;left:0;z-index:3;background:#f6f8fb;width:110px;text-align:left}th.slot{position:sticky;left:110px;z-index:3;background:white;width:125px;text-align:left;font-size:12px;font-weight:500}.weekend th.date{background:#edf0f5}.cell{--accent:#d3dbe4;--tint:#fff;border-left:3px solid var(--accent);background:var(--tint);border-radius:5px;padding:9px;min-height:72px;height:100%;font-size:12px;text-align:left;width:100%;display:block}.cell span{display:block}.cell strong{font-size:13px}.cell .words{color:#596679;font-size:11px}.TRIP{--accent:#db6c6c;--tint:#fff3f1}.SHIFT{--accent:#d6aa36;--tint:#fff9dd}.NO_DRIVER{--accent:#638fd3;--tint:#edf4ff}.REPAIR{--accent:#858d98;--tint:#e9ecf0}.MAINTENANCE{--accent:#b4bfca;--tint:#f2f4f7}.MANUAL_BLOCK{--accent:#9a7ac7;--tint:#f5effb}.UNSOLD{--accent:#76a774;--tint:#eef8eb}.FREE{--accent:#d5dce5;--tint:#fff}.UNKNOWN{--accent:#d0a767;--tint:#fff8ee}.cell.selected{outline:2px solid #357cc1}dl{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:8px 20px;margin:0}dt{color:var(--muted)}dd{margin:0}#unplaced p{border-bottom:1px solid var(--line);padding:8px 0}#notice:empty{display:none}[hidden]{display:none!important}@media(max-width:700px){main{padding:12px}h1{font-size:21px}.panel{padding:12px}nav{gap:8px}nav h2{min-width:130px}.grid{max-height:70vh}}
dialog{border:1px solid var(--line);border-radius:12px;padding:24px;max-width:640px;width:calc(100% - 32px);max-height:90vh;overflow:auto}dialog::backdrop{background:#17243366}dialog label{display:block;margin:12px 0;font-size:13px}dialog input,dialog select{display:block;width:100%;font:inherit;padding:9px;border:1px solid #ccd5df;border-radius:6px;margin-top:5px}dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}#modalError{color:#ad3030}#detail>a,#detail>button{display:inline-block;margin-top:14px;margin-right:14px}th.vehicle button{font-size:11px;padding:4px 7px;margin-top:7px}
