:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#263d46;background:#f3f5f5;font-synthesis:none;--navy:#172d38;--red:#e85c46;--muted:#829096;--line:#e7ecee}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #eaa153;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #6389ef}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}.topbar{background:var(--navy);height:84px;padding:0 36px;display:flex;align-items:center;gap:65px;color:white}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;font-weight:750;letter-spacing:1.8px;flex-shrink:0}.brand small{display:block;font-size:18px;letter-spacing:3.3px;margin-top:3px}.brand-icon{border:2px solid #a7b5bb;border-radius:10px;padding:4px 10px;font-size:29px;line-height:35px;position:relative}.brand-icon span{color:#f17b5b;font-size:23px;position:absolute;right:4px;top:-13px}.topbar nav{display:flex;height:100%;gap:28px}.nav{background:none;color:#a9b7bd;font-size:13px;padding:0 2px;border-bottom:3px solid transparent}.nav.active{border-color:#f0755a;color:#fff}.top-account{margin-left:auto;display:flex;align-items:center;gap:26px}.credits{display:grid;grid-template-columns:24px auto;gap:0 9px;font-size:16px}.credits small{grid-column:2;font-size:10px;color:#a2b4ba;margin-top:2px}.coin{grid-row:span 2;align-self:center;border:1px solid #a78848;color:#e9c875;border-radius:50%;font-size:12px;text-align:center;width:22px;height:22px;line-height:20px}.avatar{width:36px;height:36px;border-radius:50%;background:#3f555f;color:#e8eff0;font-weight:600}.statusbar{min-height:34px;background:#e8eeed;display:flex;align-items:center;justify-content:space-between;padding:7px 36px;font-size:10px;color:#687e80;gap:12px}.status-dot{display:inline-block;width:6px;height:6px;background:#41968b;border-radius:50%;margin-right:5px;box-shadow:0 0 0 3px #41968b12}.region-label{letter-spacing:1.5px;font-size:9px}.region-label b{padding:0 8px;color:#9caeb0}.statusbar button{color:#536f74;background:none;font-size:10px}main{padding:30px 36px 0;max-width:1920px;margin:auto}.workspace-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:700;color:#839296;margin:0 0 9px}h1{font-size:29px;font-weight:650;letter-spacing:-1px;margin:0 0 9px;color:#263b44}h1 span{color:var(--red)}.workspace-heading p:not(.eyebrow){font-size:12px;color:#7f8e94;margin:0}.heading-actions{display:flex;gap:10px}.button{padding:11px 15px;border-radius:6px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px}.primary{background:var(--red);color:white;box-shadow:0 3px 5px #a4381710}.primary:hover{background:#d7513b}.subtle{background:white;color:#51646c;border:1px solid #dfe6e8}.subtle:hover{background:#f6f8f8}.full{width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.stats>div{position:relative;background:white;border:1px solid var(--line);border-radius:8px;min-height:91px;display:flex;align-items:center;padding:17px;gap:14px}.stat-icon{display:grid;place-items:center;width:41px;height:41px;border-radius:9px;font-size:22px}.red{background:#fff0eb;color:#e36f58}.green{background:#eef6f1;color:#6d9c81}.blue{background:#eff3fb;color:#6b87b8}.amber{background:#fdf6e8;color:#c5a057}.stats small{display:block;font-size:10px;color:#87949a;margin-bottom:6px}.stats strong{font-size:24px;font-weight:600;line-height:1}.stats em{font-size:12px;font-style:normal;font-weight:400;color:#99a5aa}.stat-hint{font-size:8px;margin-left:auto;color:#9ba8ac;align-self:flex-end;white-space:nowrap}.operations{display:grid;grid-template-columns:310px minmax(300px,1fr) 258px;gap:16px;align-items:stretch}.panel{background:white;border:1px solid #e0e7e9;border-radius:9px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;min-height:57px;padding:0 18px;border-bottom:1px solid var(--line);gap:10px}h2{font-size:13px;letter-spacing:-.2px;font-weight:650;margin:0;display:flex;align-items:center;gap:9px}h3{font-size:12px;margin:0}.count{font-size:9px;color:#8b9a9f;background:#f0f4f4;padding:3px 6px;border-radius:4px;font-weight:500}.icon-button{background:transparent;color:#84949a;font-size:17px;min-width:28px;min-height:28px}.filter-row{display:flex;gap:5px;padding:13px 12px;overflow:auto}.filter{padding:7px 8px;font-size:9px;white-space:nowrap;background:#f6f8f8;color:#8b9a9e;border-radius:4px;flex:1;min-height:30px}.filter.active{background:#223b45;color:white}.mission-panel{display:flex;flex-direction:column;height:531px}.mission-list{flex:1;overflow:auto;padding:0 11px 10px}.mission-card{border:1px solid var(--line);border-left:3px solid var(--org);padding:13px 12px;border-radius:5px;margin-bottom:9px;cursor:pointer;text-align:left;background:white;width:100%;transition:background .2s}.mission-card:hover{background:#f8faf9}.mission-card.selected{background:#fff9f6;border-color:#e9cabc;border-left-color:var(--org)}.mission-meta{font-size:8px;color:#9ba7ac;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;letter-spacing:.3px}.mission-meta .tag{color:var(--org);background:color-mix(in srgb,var(--org) 8%,white);padding:3px 5px;border-radius:3px;font-size:8px}.mission-card h3{font-size:12px;font-weight:600;margin-bottom:7px;color:#354a53}.mission-card p{font-size:9px;color:#8b999f;margin:0 0 13px}.mission-card .bottom{display:flex;justify-content:space-between;font-size:9px;color:#85959b}.bottom b{font-weight:500;color:#9a8050}.mission-state{display:inline-flex;align-items:center;gap:4px}.mission-state:before{content:'';width:5px;height:5px;background:var(--org);border-radius:50%}.panel-foot{border-top:1px solid var(--line);padding:12px 15px;font-size:9px;color:#91a0a3}.live-time{float:right}.map-panel{position:relative;min-height:531px;background:#e6eadc}#map{height:100%;width:100%;min-height:531px;z-index:1}.map-top,.map-bottom{position:absolute;left:15px;right:15px;z-index:450;display:flex;justify-content:space-between;align-items:center;gap:10px;pointer-events:none}.map-top{top:15px}.map-bottom{bottom:26px}.map-top>*,.map-bottom>*{pointer-events:auto}.map-title{background:#fffffff2;box-shadow:0 2px 12px #1e363518;padding:12px;border-radius:5px;font-size:10px;color:#71847d}.map-title b{display:block;font-size:10px;font-weight:500;color:#405c54;margin-top:4px;margin-left:12px}.map-control{background:white;border:1px solid #d8e1dd;border-radius:5px;min-width:35px;min-height:35px;padding:8px 10px;font-size:11px;color:#5b7169;box-shadow:0 2px 6px #00000010}.map-legend{background:#fffffff0;padding:11px 12px;border-radius:5px;display:flex;gap:10px;font-size:8px;color:#6a7c72;flex-wrap:wrap}.map-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:3px}.map-error{position:absolute;top:45%;left:10%;right:10%;background:#fff;padding:20px;border-radius:8px;z-index:451;font-size:12px;line-height:1.6}.leaflet-control-zoom{margin-top:90px!important;border:1px solid #dbe2dc!important;box-shadow:0 2px 5px #00000010!important}.leaflet-control-zoom a{color:#496759!important}.leaflet-control-attribution{font-size:8px!important}.leaflet-popup-content{font-size:12px;line-height:1.7}.map-pin{background:var(--org);border:3px solid white;border-radius:9px;box-shadow:0 2px 6px #26413945;color:white;display:grid;place-items:center;font-size:15px;width:30px!important;height:30px!important}.map-pin.incident{border-radius:50%;width:26px!important;height:26px!important}.map-pin.muted{opacity:.7}.station-panel{padding-bottom:15px}#station-summary{padding:17px 16px;border-bottom:1px solid var(--line)}.station-summary-card{display:flex;gap:10px;align-items:center}.station-summary-card .station-icon{width:36px;height:36px;border-radius:6px;background:#fff1ed;color:#d3745d;display:grid;place-items:center;font-size:20px}.station-summary-card b{font-size:11px;display:block;margin-bottom:4px}.station-summary-card small{font-size:9px;color:#93a0a5}.station-details{display:flex;gap:14px;font-size:9px;margin-top:14px;color:#86969c}.station-details b{color:#667f71;font-weight:500}.fleet-title{display:flex;align-items:center;justify-content:space-between;padding:17px 16px 4px}.fleet-title h3{font-size:10px;color:#86969b;font-weight:500}#fleet-list{max-height:220px;overflow:auto;padding:0 14px;margin-bottom:9px}.vehicle{display:flex;align-items:center;gap:7px;border-bottom:1px solid #f0f3f3;padding:12px 0}.vehicle img{width:57px;height:29px;object-fit:contain}.vehicle b{font-size:10px;display:block;margin-bottom:5px;font-weight:500}.vehicle small{font-size:8px;color:#98a4a8}.vehicle .v-status{margin-left:auto;font-size:9px;border-radius:3px;background:#edf5ef;color:#619077;padding:4px 6px}.vehicle .v-status.busy{background:#fff3e1;color:#b18b47}.station-panel>.button{width:calc(100% - 28px);margin:0 14px;font-size:10px;min-height:32px;padding:7px}.radio-card{margin:20px 14px 0;padding:14px 10px;background:#f4f7f7;border:1px solid #e6ecec;border-radius:6px;display:flex;gap:10px;align-items:center}.radio-wave{font-size:26px;color:#819d9e}.radio-card b{font-size:10px;display:block;margin-bottom:6px}.radio-card small{font-size:9px;color:#90a0a3}.radio-card button{margin-left:auto}.mini-note{font-size:8px;line-height:1.8;color:#9ba7aa;margin:12px 16px 0}.lower-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin:20px 0 0}.chat-panel,.activity-panel{min-height:215px}.panel-heading select{font-size:10px;background:#f6f8f8;color:#6f838a;border:0;padding:6px;border-radius:4px}.tiny-icon{color:#94a5aa}.chat-messages{height:108px;overflow:auto;padding:14px 18px;font-size:10px}.chat-message{display:flex;gap:10px;margin-bottom:11px;align-items:baseline}.chat-message time{font-size:8px;color:#a6b2b5}.chat-message b{font-size:10px;color:#64877c;flex-shrink:0}.chat-message span{color:#83949a;overflow-wrap:anywhere}.chat-panel form{display:flex;gap:10px;padding:0 14px 14px}.chat-panel input{border:1px solid #e5ebed;background:#f8fafa;min-width:0;flex:1;padding:10px 12px;border-radius:5px;font-size:10px}.chat-panel .button{min-height:32px;padding:8px 12px;font-size:10px}.label{font-size:8px;letter-spacing:1px;color:#99a7aa}#activity{padding:13px 18px;font-size:10px;max-height:180px;overflow:auto}.log-row{display:flex;gap:12px;margin:8px 0 17px;color:#889ba0;line-height:1.6}.log-row .log-dot{color:#78a291}.log-row time{margin-left:auto;color:#a4b1b4;font-size:9px;white-space:nowrap}footer{max-width:1920px;padding:22px 36px;display:flex;justify-content:space-between;gap:15px;color:#99a7ac;font-size:9px;line-height:1.6}footer b{padding:0 6px;font-weight:400}footer button{background:none;color:#8b9ca1;font-size:9px;padding:0 0 0 12px}.empty{color:#91a1a5;font-size:12px;padding:25px 10px;line-height:1.8}.notice{padding:12px 14px;background:#fff7e8;color:#987637;border:1px solid #eedebb;border-radius:6px;font-size:11px;line-height:1.8;margin:12px 0}.info{background:#eff5f6;color:#627e85;border-color:#d8e7ea}.view-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.view-heading p{font-size:12px;color:#889ba0}.view-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.view-filters .filter{flex:0 1 auto;padding:10px 16px;font-size:11px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.content-card{background:white;border:1px solid var(--line);border-radius:9px;padding:22px;line-height:1.7;font-size:12px;overflow-wrap:anywhere}.content-card h2{font-size:16px;margin:10px 0}.content-card p{color:#82959b;font-size:11px}.content-card .button{margin-top:9px}.org-label{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--org)}.source-link{font-size:10px;color:#588e8a}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-tile{padding:28px 20px;background:white;text-align:left;border:1px solid var(--line);border-radius:8px;color:#425d65}.admin-tile b{display:block;font-size:14px;margin:12px 0 7px}.admin-tile small{color:#8c9fa4;line-height:1.7}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}th,td{padding:14px;border-bottom:1px solid var(--line);white-space:nowrap}td button{margin:2px;font-size:10px;padding:8px;border-radius:4px;background:#f1f4f5;color:#58737b}dialog{border:1px solid #dce6e9;border-radius:12px;max-width:680px;width:calc(100% - 30px);padding:0;color:#334c55;box-shadow:0 25px 90px #10222d3d;max-height:90dvh}dialog::backdrop{background:#0d253895;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.modal-heading h2{font-size:17px}#modal-content{padding:22px 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .span-2{grid-column:1/-1}label.field{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#7f949b}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #dbe5e8;border-radius:5px;background:#fbfcfc;color:#3c5660;font-size:12px}textarea{min-height:120px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.check{display:flex;gap:10px;align-items:center;font-size:11px;line-height:1.7;margin:12px 0}.check input{accent-color:var(--red)}.check img{width:65px;height:32px;object-fit:contain}.check small{display:block;color:#8ca0a5}.check .v-status{margin-left:auto}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs button{flex:1;padding:10px;background:#f2f6f6;color:#7c939b;border-radius:5px}.tabs button.active{background:#223d48;color:white}.form-error{font-size:12px;color:#bf5947;background:#fff2ef;padding:10px;border-radius:5px;margin:12px 0}.modal-copy{font-size:12px;line-height:1.9;color:#7c929a}.mission-details{display:flex;justify-content:space-between;align-items:center;padding:12px 0;color:#81969e;font-size:12px}.requirement{padding:7px 10px;background:#f3f6f6;border:1px solid #e2e9e9;border-radius:4px;font-size:10px;display:inline-block;margin:4px 5px 4px 0}.editor{font-family:Consolas,monospace!important;min-height:330px;font-size:11px!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#233e48;color:white;padding:14px 22px;border-radius:7px;box-shadow:0 5px 20px #0003;z-index:2000;max-width:calc(100% - 30px);font-size:12px;line-height:1.7}input[type=range]{accent-color:var(--red)}.range-value{font-size:24px;font-weight:600;color:#42636b}.progress{height:5px;border-radius:5px;background:#edf2ef;margin-top:10px;overflow:hidden}.progress span{display:block;background:#73a58f;height:100%}.mobile-view-tabs{display:none}@media(min-width:1600px){.operations{grid-template-columns:350px minmax(400px,1fr) 290px}.mission-panel,#map,.map-panel{min-height:600px;height:600px}.mission-card{padding:18px 14px}.vehicle{padding:17px 0}}
@media(max-width:1200px){.topbar{gap:35px;padding:0 24px}.topbar nav{gap:18px}main{padding:25px 24px 0}.operations{grid-template-columns:280px minmax(260px,1fr)}.station-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;padding:0}.station-panel .panel-heading{grid-column:1/-1}.station-panel #fleet-list{display:flex;max-height:none;gap:18px;margin:0;flex-wrap:wrap}.station-panel .fleet-title,.station-panel>.button,.station-panel .mini-note{display:none}.station-panel #station-summary{border:0}.radio-card{margin:12px}.stats .stat-hint{display:none}footer{padding:22px 24px;flex-wrap:wrap}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{height:auto;min-height:76px;padding:15px 16px;gap:16px;flex-wrap:wrap}.brand{font-size:10px}.brand small{font-size:15px}.brand-icon{font-size:25px;line-height:30px}.topbar nav{order:3;width:100%;height:32px;justify-content:space-between;gap:10px}.top-account{gap:15px}.credits{font-size:13px}.credits small{font-size:9px}.nav{font-size:11px;padding:4px}.statusbar{padding:9px 16px;flex-wrap:wrap}.region-label{display:none}main{padding:23px 16px 0}.workspace-heading{display:block;margin-bottom:20px}h1{font-size:25px}.heading-actions{margin-top:18px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.stats>div{min-height:77px;padding:12px;gap:10px}.stats strong{font-size:21px}.stats small{font-size:9px}.stat-icon{width:33px;height:33px;font-size:19px}.operations{display:flex;flex-direction:column;gap:14px}.map-panel{order:-1;min-height:350px}#map{min-height:350px;height:350px}.map-title{padding:8px}.map-title b{font-size:9px}.map-legend{max-width:245px;gap:7px;padding:8px;font-size:7px}.map-top,.map-bottom{left:10px;right:10px}.mission-panel{height:390px}.mission-card{padding:13px}.mission-list{display:grid;grid-template-columns:1fr;align-content:start}.station-panel{display:block}.station-panel #fleet-list{display:block;max-height:220px}.station-panel .fleet-title{display:flex}.station-panel>.button{display:block}.station-panel .mini-note{display:block}.station-panel #station-summary{border-bottom:1px solid var(--line)}.station-panel .radio-card{margin:18px 14px}.lower-grid{grid-template-columns:1fr;gap:14px;margin-top:14px}footer{padding:20px 16px;font-size:8px;display:block}footer>span{display:block;margin-bottom:6px}footer button{padding:5px 12px 0 0;font-size:9px}.cards,.admin-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.view-heading{display:block}.view-heading .button{margin-top:10px}#modal-content{padding:18px}.modal-heading{padding:17px 18px}.chat-panel form{padding:0 12px 12px}.check{font-size:12px}button{touch-action:manipulation}}
