:root{color-scheme:dark;--bg:#0b1220;--panel:#111d2e;--line:#25354a;--text:#e6edf5;--muted:#8d9eb2;--cyan:#69d8da;--orange:#f6b35c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}header{height:88px;padding:0 26px;display:flex;align-items:center;gap:24px;background:#101b2c;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;color:#f1f6ff;font-size:14px;letter-spacing:1.3px;min-width:260px}.brand b{font-weight:400;color:var(--cyan)}.brand small{display:block;font-size:9px;letter-spacing:2.2px;margin-top:5px;color:var(--muted)}.brand-mark{font-size:32px;font-weight:800;border:1px solid #45617a;border-radius:12px;width:46px;height:48px;text-align:center;position:relative}.brand-mark span{position:absolute;color:var(--cyan);font-size:26px;right:0;top:-9px}.region-picker{margin-left:auto}.region-picker label,.clock span{display:block;color:var(--muted);font-size:11px}.region-picker select{min-width:280px}.clock{text-align:right;white-space:nowrap}.clock strong{font:18px ui-monospace,Consolas,monospace}.button{display:inline-block;padding:9px 14px;border-radius:7px;background:#19283d;border:1px solid #354a63;color:var(--text);white-space:nowrap}.button:hover{background:#263b52;text-decoration:none}.button.primary{background:#146a74;border-color:#258693}.button.small{font-size:12px;padding:6px 10px}input,select,textarea{background:#0e1828;border:1px solid #33465e;color:var(--text);border-radius:6px;padding:8px 10px}select{max-width:100%}.shell{display:flex;min-height:calc(100vh - 88px)}nav{width:194px;background:#101a2a;border-right:1px solid var(--line);padding:26px 12px;flex-shrink:0;display:flex;flex-direction:column;gap:8px}.nav-label{font-size:10px;letter-spacing:2px;color:#6f829a;padding:0 15px 16px}.nav-button{text-align:left;display:flex;align-items:center;gap:12px;background:transparent;border:1px solid transparent;border-radius:8px;padding:12px;color:#a9b8ca;font-size:13px}.nav-button span{font-size:22px;width:20px}.nav-button:hover{background:#18283b}.nav-button.active{background:#15353d;color:#9de9e5;border-color:#28535b}.nav-bottom{margin-top:auto;padding:70px 10px 10px;font-size:11px;color:var(--muted)}.pilot{font-size:9px;letter-spacing:1.2px;border:1px solid #405168;border-radius:4px;padding:5px 7px}.nav-bottom p{line-height:1.8;margin-top:16px}main{padding:26px;min-width:0;width:100%;max-width:2000px;margin:auto}.title-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.7px;color:#8197af}h1{font-size:27px;letter-spacing:-.6px;font-weight:600;margin:5px 0}h2{font-size:15px;font-weight:600;margin:0}h3{font-size:15px}p{color:var(--muted);margin:5px 0 12px}.title-row p{margin-bottom:0;font-size:13px}.badge{font-size:10px;letter-spacing:.5px;border:1px solid;padding:6px 9px;border-radius:5px;white-space:nowrap}.badge.ok{color:#90dfc3;background:#14382f;border-color:#28614e}.badge.stale,.badge.partial{color:#f6c580;background:#392e1e;border-color:#70502c}.badge.neutral,.badge.loading{color:#a8bbd2;background:#1d2a3a;border-color:#3b4c63}.badge.unavailable,.badge.not_connected{color:#c2bdcb;background:#282432;border-color:#4a4256}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{border:1px solid var(--line);border-radius:10px;background:linear-gradient(130deg,#14243a,#111c2e);padding:17px 18px}.metric>span{font-size:9px;letter-spacing:1.2px;color:#a3b5ca}.metric strong{display:block;font-size:30px;font-weight:500;letter-spacing:-.5px;margin:6px 0;color:#f1f7ff}.metric strong small{font-size:17px;color:#a0b6ce}.metric>small{display:block;font-size:10px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(300px,1fr) 330px;gap:18px}.map-card,.alerts-panel,.forecast-card,.info-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.section-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px;border-bottom:1px solid var(--line)}.section-bar small{color:var(--muted);font-size:10px}.section-bar>a{font-size:12px;white-space:nowrap}.map-wrap{height:440px;position:relative}#map{height:100%;width:100%;background:#1a2b38}.map-controls{position:absolute;top:12px;right:12px;z-index:500;background:#101b2ced;border:1px solid #40536c;padding:10px 13px;border-radius:7px;box-shadow:0 6px 20px #0003}.map-controls label{display:block;font-size:11px;line-height:2.2}.map-controls input{accent-color:#4fc5c6;margin-right:7px}.map-note{position:absolute;bottom:27px;left:12px;right:12px;z-index:500;background:#101a2aeb;border-radius:5px;color:#c1cedd;padding:7px 10px;font-size:10px;pointer-events:none}.map-footer{padding:10px 15px;display:flex;flex-wrap:wrap;gap:16px;font-size:10px;color:#a9b6c7}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.cyan{background:var(--cyan)}.orange{background:var(--orange)}.gray{background:#8d97a6}.alerts-panel{max-height:553px;display:flex;flex-direction:column}.panel-note{padding:12px 17px;font-size:11px;border-bottom:1px solid var(--line);margin:0}#alert-list{overflow:auto;padding:14px;flex:1}.alert-card{padding:14px;border:1px solid #3b4250;border-left:3px solid var(--orange);border-radius:7px;background:#192638;margin-bottom:12px}.alert-card h3{margin:8px 0 5px;font-size:15px}.alert-card p{font-size:12px;line-height:1.65;color:#c2cbd7}.alert-card small{font-size:10px;color:#a8b9cc}.alert-card summary{cursor:pointer;font-size:11px;color:var(--cyan);padding:7px 0}.alert-card .detail{white-space:pre-line}.alert-card a{font-size:11px}.empty{color:var(--muted);padding:28px 16px;text-align:center;font-size:12px;line-height:1.8}.empty strong{display:block;color:#dce6f2;font-size:15px;margin-bottom:10px}.forecast-card{margin-top:18px}.inline-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px}.forecast-strip{display:flex;overflow-x:auto;padding:16px 18px;gap:1px}.hour{min-width:82px;flex:1;text-align:center;border-right:1px solid #25354a;padding:0 10px}.hour:last-child{border:0}.hour time{font:11px ui-monospace,monospace;color:#a1b1c5}.hour strong{display:block;font-size:18px;margin:9px 0}.rain-column{height:38px;display:flex;align-items:end;justify-content:center}.rain-column i{display:block;width:16px;background:#3c9aa9;border-radius:3px 3px 0 0;min-height:2px}.hour small{display:block;color:#84d9e2;font-size:10px;margin:4px 0}.hour .speed{color:#98a9bf;font-size:10px}.footnote{color:#70849c;font-size:10px;margin:18px 0 0}.satellite-grid,.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.sat-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.sat-card img{width:100%;display:block}.sat-card h3{padding:0 16px}.sat-card p{font-size:11px;padding:0 16px}.info-card{padding:22px;margin-bottom:18px}.info-card p{font-size:12px;line-height:1.8;margin:12px 0}.info-card>a{display:block;margin:12px 0;font-size:12px}.info-card>a.button{display:inline-block}.info-banner{padding:20px;border:1px solid #2a5960;border-radius:9px;background:#143039;margin-bottom:18px}.info-banner strong,.info-banner span{display:block}.info-banner span{color:#a8c9d0;font-size:12px;margin-top:5px}.filter-row{display:flex;gap:16px;flex-wrap:wrap}.filter-row label{flex:1;min-width:170px;color:#a6b7ca;font-size:12px}.filter-row select{display:block;width:100%;margin-top:6px}.coverage-empty{border:1px dashed #42556c;border-radius:9px;margin-top:20px;background:repeating-linear-gradient(135deg,#132031,#132031 12px,#152335 12px,#152335 24px)}form label{display:block;color:#aec0d2;font-size:11px;margin-top:12px}form input,form textarea{width:100%;display:block;margin-top:5px}.form-actions{display:flex;gap:8px;margin:16px 0}.muted{font-size:11px;color:#8fa2ba}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.source{border:1px solid var(--line);background:var(--panel);padding:20px;border-radius:9px}.source header{padding:0;height:auto;border:0;background:none;justify-content:space-between}.source p{font-size:12px;margin:14px 0}.source small{display:block;font-size:11px;color:#92a5bc;line-height:1.8}.source a{font-size:11px}.notice{padding:12px 16px;border:1px solid #8a663a;background:#382a1a;color:#ffd5a1;border-radius:7px;margin-bottom:16px;font-size:12px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#244153;border:1px solid #45758d;padding:12px 20px;border-radius:8px;z-index:2000;font-size:12px}.leaflet-container{font-family:inherit}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#14243a;color:#e3edf7}.leaflet-tooltip{background:#14243a;color:#e3edf7;border-color:#42566e;font-size:11px}.leaflet-control-attribution{font-size:9px!important}.leaflet-control-layers{color:#1a2530}.leaflet-tile-pane{filter:saturate(.65) brightness(.8)}[hidden]{display:none!important}@media(min-width:1700px){.map-wrap{height:550px}.alerts-panel{max-height:663px}}@media(max-width:1200px){nav{width:162px}.workspace{grid-template-columns:minmax(260px,1fr) 290px}main{padding:20px}.brand{min-width:210px}.clock{display:none}header{gap:15px}.metric{padding:14px}.metric>span{font-size:8px}}@media(max-width:950px){header{padding:15px;height:auto;flex-wrap:wrap}.brand{flex:1}.region-picker{order:3;width:100%;margin:0}.region-picker select{width:100%}.shell{display:block}nav{width:100%;padding:9px 12px;flex-direction:row;overflow-x:auto;border-bottom:1px solid var(--line)}.nav-label,.nav-bottom{display:none}.nav-button{white-space:nowrap;font-size:12px;padding:7px 10px}.workspace{grid-template-columns:1fr}.alerts-panel{max-height:420px}.title-row{align-items:flex-start}.title-row .badge{margin-top:5px}.source-grid{grid-template-columns:1fr 1fr}.map-wrap{height:430px}}@media(max-width:600px){main{padding:16px 12px}.title-row{display:block}.title-row .badge{display:inline-block;margin-top:12px}h1{font-size:24px}.kpis{grid-template-columns:1fr 1fr;gap:9px}.metric strong{font-size:26px}.metric>small{min-height:28px}.section-bar{padding:14px 12px;flex-wrap:wrap;gap:10px}.map-wrap{height:390px}.map-controls{font-size:10px;right:8px;top:8px}.satellite-grid,.two-columns,.source-grid{grid-template-columns:1fr}.filter-row{gap:10px}.filter-row label{min-width:140px}.form-actions{flex-wrap:wrap}.brand{font-size:12px}.brand small{font-size:8px}.button{font-size:12px}.nav-button{font-size:11px;gap:7px}}
