:root{--ink:#050607;--paper:#f2f5f6;--white:#fff;--cyan:#32c2ca;--blue:#1677c7;--red:#ee554c;--amber:#f0a52b;--green:#35a963;--muted:#6d787e;--line:#dce2e5;--shadow:0 12px 35px rgba(5,6,7,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--ink);color:white;padding:25px 17px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:14px;padding:0 8px 24px;border-bottom:1px solid #253036}.brand img{width:135px}.brand span{font-size:8px;letter-spacing:.16em;color:#91a0a7}.event-chip{margin:20px 4px;padding:15px;border:1px solid #26333a;border-left:3px solid var(--cyan);background:#0d1215}.event-chip small,.event-chip span{display:block;color:#8e9ba1;font-size:9px;letter-spacing:.1em}.event-chip strong{display:block;margin:7px 0 5px;font-size:15px}nav{display:grid;gap:4px}nav button{border:0;background:transparent;color:#9aa5aa;text-align:left;padding:12px 11px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;font-weight:700;cursor:pointer;border-radius:5px}nav button:hover,nav button.active{color:white;background:#172126}nav button.active{box-shadow:inset 3px 0 var(--cyan)}nav i{font-style:normal;color:var(--cyan);text-align:center;font-size:14px}nav b{background:#28343a;padding:3px 6px;border-radius:10px;font-size:9px}.user{margin-top:auto;border-top:1px solid #253036;padding:18px 5px 0;display:flex;align-items:center;gap:10px}.user>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--blue));font-weight:900}.user strong,.user small{display:block}.user strong{font-size:12px}.user small{color:#829197;font-size:9px;margin-top:3px}.app{margin-left:260px;min-height:100vh}.topbar{height:94px;background:white;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar p{margin:0 0 5px;color:var(--blue);font-size:9px;letter-spacing:.16em;font-weight:900}.topbar h1{margin:0;font-size:25px;letter-spacing:-.03em}.top-actions{display:flex;align-items:center;gap:9px}.ghost,.solid,.small-button,.icon-button{border:1px solid var(--line);background:white;padding:11px 15px;font-weight:800;cursor:pointer}.solid{background:linear-gradient(90deg,var(--cyan),var(--blue));color:white;border:0}.notification{border:0;background:#10191d;color:var(--cyan);width:38px;height:38px;border-radius:50%}.menu-button{display:none;border:0;background:none;font-size:22px}main{padding:30px 34px 70px;max-width:1500px;margin:auto}.hero-card{background:linear-gradient(118deg,#050607,#07171c 70%,#0b3039);color:white;padding:32px;display:grid;grid-template-columns:1fr auto;gap:30px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:340px;height:340px;border:65px solid rgba(50,194,202,.05);border-radius:50%;right:-100px;top:-130px}.eyebrow{color:var(--cyan);font-size:9px;letter-spacing:.18em;font-weight:900;margin:0 0 10px}.hero-card h2{font-size:40px;margin:0 0 10px;letter-spacing:-.05em}.hero-card p{color:#aeb9bd;margin:0}.countdown{display:flex;gap:8px;z-index:1}.countdown div{background:white;color:var(--ink);min-width:72px;padding:15px;text-align:center}.countdown strong{font-size:25px;display:block}.countdown span{font-size:8px;letter-spacing:.12em;color:var(--muted)}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(4,1fr);margin:20px 0}.card{background:white;border:1px solid var(--line);box-shadow:0 4px 18px rgba(5,6,7,.04)}.kpi{padding:22px;border-top:3px solid var(--cyan)}.kpi:nth-child(2){border-color:var(--green)}.kpi:nth-child(3){border-color:var(--amber)}.kpi:nth-child(4){border-color:var(--blue)}.kpi span{font-size:9px;color:var(--muted);font-weight:900;letter-spacing:.12em}.kpi strong{display:block;font-size:30px;margin:9px 0 2px}.kpi small{color:var(--muted)}.two-col{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr)}.card-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.card-head h3{font-size:17px;margin:0}.card-head span{font-size:9px;color:var(--muted)}.progress-list{padding:10px 22px 22px}.progress-row{display:grid;grid-template-columns:145px 1fr 38px;gap:12px;align-items:center;padding:12px 0}.progress-row label{font-size:11px;font-weight:700}.bar{height:7px;background:#e9edef;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue))}.progress-row b{font-size:11px}.alerts{padding:10px 20px}.alert{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.alert:last-child{border:0}.alert i{width:9px;height:9px;border-radius:50%;background:var(--amber);margin-top:4px}.alert.red i{background:var(--red)}.alert.green i{background:var(--green)}.alert strong,.alert small{display:block}.alert strong{font-size:11px}.alert small{color:var(--muted);margin-top:4px}.section-tools{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.search{flex:1;min-width:250px}.search input,.section-tools select,input,select,textarea{border:1px solid var(--line);background:white;padding:12px;font:inherit;font-size:12px;outline:none}.search input{width:100%}.search input:focus,input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(50,194,202,.14)}.table-card{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table th{text-align:left;padding:13px 15px;background:#10191d;color:white;font-size:8px;letter-spacing:.12em}.data-table td{padding:14px 15px;border-bottom:1px solid #e7ebed;font-size:11px}.data-table td strong,.data-table td small{display:block}.data-table td small{color:var(--muted);margin-top:3px}.badge{display:inline-block;padding:6px 8px;font-size:8px;font-weight:900;text-transform:uppercase}.badge.green{background:#ddf4e6;color:#1d7442}.badge.amber{background:#fff0cc;color:#805600}.badge.red{background:#fde2df;color:#9e2920}.badge.blue{background:#e0f3f7;color:#147680}.class-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.class-card{padding:18px;background:white;border:1px solid var(--line);cursor:pointer}.class-card:hover{border-color:var(--cyan);transform:translateY(-1px)}.class-card header{display:flex;justify-content:space-between}.class-card h3{margin:0}.class-card header b{font-size:23px;color:var(--blue)}.mini-riders{margin-top:13px;border-top:1px solid var(--line)}.mini-rider{display:grid;grid-template-columns:35px 1fr;gap:7px;padding:9px 0;border-bottom:1px solid #edf0f1;font-size:10px}.mini-rider b{color:var(--blue)}.tabs{display:flex;gap:5px;margin-bottom:16px}.tabs button{border:1px solid var(--line);background:white;padding:10px 15px;font-weight:800;cursor:pointer}.tabs button.active{background:var(--ink);color:white}.schedule-list{padding:10px 22px 22px}.schedule-row{display:grid;grid-template-columns:90px 1fr 120px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.schedule-row time{font-size:18px;font-weight:900;color:var(--blue)}.schedule-row strong,.schedule-row small{display:block}.schedule-row small{color:var(--muted);margin-top:3px}.schedule-row span{text-align:right;font-size:9px;color:var(--muted)}.schedule-status{padding:22px;background:#eef9fa;border-left:4px solid var(--cyan)}.schedule-status h3{margin:0 0 8px}.schedule-status p{font-size:12px;color:var(--muted);line-height:1.5}.inspection-layout{grid-template-columns:330px 1fr}.inspection-list{max-height:640px;overflow:auto}.inspection-item{padding:15px 17px;border-bottom:1px solid var(--line);cursor:pointer}.inspection-item:hover,.inspection-item.active{background:#edf9fa}.inspection-item header{display:flex;justify-content:space-between}.inspection-item strong,.inspection-item small{display:block}.inspection-item small{color:var(--muted);margin-top:3px}.inspection-panel{padding:24px}.driver-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:18px}.driver-head h2{margin:0}.driver-head p{color:var(--muted);font-size:11px}.check-grid{grid-template-columns:repeat(2,1fr);margin-top:20px}.check-item{border:1px solid var(--line);padding:14px;display:flex;align-items:center;gap:11px;cursor:pointer}.check-item input{width:18px;height:18px;accent-color:var(--cyan)}.check-item strong,.check-item small{display:block}.check-item small{color:var(--muted);margin-top:2px}.task-summary{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.task-board{grid-template-columns:repeat(4,1fr);align-items:start}.task-column{background:#e8edef;padding:12px;min-height:400px}.task-column header{display:flex;justify-content:space-between;padding:5px 4px 13px}.task-column h3{font-size:11px;margin:0}.task-card{background:white;padding:14px;margin-bottom:9px;border-left:3px solid var(--cyan);box-shadow:0 3px 10px rgba(5,6,7,.05)}.task-card.high{border-color:var(--red)}.task-card h4{font-size:11px;margin:0 0 9px}.task-card p{font-size:9px;color:var(--muted);line-height:1.4}.task-meta{display:flex;justify-content:space-between;align-items:center;margin-top:11px}.avatar{width:25px;height:25px;background:#10191d;color:white;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:900}.task-card select{padding:6px;font-size:9px}.operations-grid{grid-template-columns:1fr 1fr}.people-list,.doc-list{padding:8px 20px 20px}.person,.doc{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.person>span{width:34px;height:34px;border-radius:50%;background:#e0f4f6;color:#137780;display:grid;place-items:center;font-size:9px;font-weight:900}.person strong,.person small,.doc strong,.doc small{display:block}.person small,.doc small{color:var(--muted);margin-top:3px}.doc>span{font-size:20px}.track-layout{grid-template-columns:1fr 310px}.track-map{background:white;padding:14px}.track-map img{display:block;width:100%;max-height:720px;object-fit:contain}.legend-panel{padding:22px}.legend-panel h3{margin-top:0}.legend-panel ul{padding:0;list-style:none}.legend-panel li{padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.legend-panel li b{color:var(--blue)}.settings-grid{grid-template-columns:1fr 1fr}.settings-card{padding:22px}.settings-card h3{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:6px}.field label{font-size:9px;font-weight:900;color:var(--muted);letter-spacing:.08em}.field input,.field select{width:100%}.full{grid-column:1/-1}.public-mode .sidebar,.public-mode .topbar{display:none}.public-mode .app{margin:0}.public-mode main{max-width:1100px}.public-header{background:var(--ink);color:white;padding:28px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.public-header img{width:150px}.public-header h1{margin:0}.public-header p{color:#a8b4b9}.close-public{border:1px solid #435057;color:white;background:transparent;padding:10px;cursor:pointer}dialog{width:min(800px,calc(100% - 30px));border:0;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(0,0,0,.7)}.dialog-content{padding:28px}.dialog-content header{display:flex;justify-content:space-between}.dialog-content h2{margin:0}.close-dialog{border:0;background:none;font-size:27px;cursor:pointer}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:white;padding:14px 18px;transform:translateY(100px);opacity:0;transition:.25s;z-index:50;font-size:11px}.toast.show{transform:none;opacity:1}
@media(max-width:1050px){.sidebar{width:220px}.app{margin-left:220px}.kpis,.task-summary{grid-template-columns:1fr 1fr}.class-groups{grid-template-columns:1fr 1fr}.task-board{grid-template-columns:1fr 1fr}.track-layout,.operations-grid{grid-template-columns:1fr}.top-actions .ghost{display:none}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.app{margin-left:0}.menu-button{display:block}.topbar{padding:0 18px}.topbar>div:first-of-type{flex:1;margin-left:10px}.topbar h1{font-size:20px}main{padding:20px 14px 60px}.hero-card{grid-template-columns:1fr}.countdown{overflow:auto}.countdown div{min-width:65px}.kpis,.two-col,.class-groups,.inspection-layout,.task-board,.operations-grid,.settings-grid{grid-template-columns:1fr}.check-grid,.form-grid{grid-template-columns:1fr}.task-summary{grid-template-columns:1fr 1fr}.schedule-row{grid-template-columns:70px 1fr}.schedule-row span{display:none}.inspection-list{max-height:320px}}
