:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#ecf1f4;background:#0c1318}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:#ffac70;text-decoration:none}a:hover{text-decoration:underline}.topbar{height:72px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #27343c;background:#111c22}.mark{font-size:22px;font-weight:900;letter-spacing:.08em;color:#ff9551}.submark{margin-left:16px;color:#90a1aa}.top-actions{display:flex;gap:20px;align-items:center;font-size:13px}.top-actions form{margin:0}.text-button{border:0;background:transparent;color:#b7c3c9}.pill{padding:7px 11px;border-radius:99px;font-size:12px;font-weight:700;white-space:nowrap}.pill.off{background:#28343a;color:#b1bfc5}.pill.on{background:#173c32;color:#89dec0}.dashboard{max-width:1560px;margin:auto;padding:24px;display:grid;gap:22px;grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr)}.video-panel,.map-panel,.stat{background:#142027;border:1px solid #293740;border-radius:16px;overflow:hidden}.panel-heading{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#ff9959}.panel-heading h1,.panel-heading h2{font-size:22px;line-height:1.2;margin:6px 0 0}.video-frame{position:relative;aspect-ratio:16/9;background:#05090c}.video-frame video{display:block;width:100%;height:100%;object-fit:contain}.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#8799a3;background:radial-gradient(circle at center,#15252d,#060b0e 70%)}.video-placeholder[hidden]{display:none}.video-placeholder strong{font-size:18px;color:#d7e0e4}.video-symbol{font-size:50px;color:#ff9551}.panel-foot,.map-coords{padding:13px 20px;font-size:12px;color:#9aabb4}.map-panel{display:flex;flex-direction:column}.map-panel #map{flex:1;min-height:360px;background:#233a3d}.map-coords{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #293740}.secondary-button{border:1px solid #40535d;background:#203039;color:#edf2f4;border-radius:9px;padding:9px 12px}.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat{padding:21px 23px}.stat span{display:block;color:#98aab3;font-size:12px;margin-bottom:9px}.stat strong{font-size:26px;font-variant-numeric:tabular-nums}.login-body,.pilot-body{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 15% 15%,#213941,#0c1318 55%)}.login-card,.pilot-card{width:min(100%,480px);background:#142027;border:1px solid #32414a;border-radius:18px;padding:34px;box-shadow:0 20px 70px #0005}.login-card h1,.pilot-card h1{font-size:30px;margin:9px 0}.login-card p,.pilot-card p{color:#a8b8c0;line-height:1.55}.login-card form{display:grid;gap:12px;margin-top:28px}.login-card label{font-size:13px;color:#b9c7cc}.login-card input{height:45px;padding:0 12px;background:#0d161b;color:#fff;border:1px solid #42545e;border-radius:9px}.login-card button,.pilot-card>button{min-height:44px;border:0;border-radius:9px;background:#f98d4d;color:#142027;font-weight:800;padding:10px 16px}.pilot-card{width:min(100%,620px)}.pilot-card>button{display:block;width:100%;margin:12px 0}.pilot-card>button.secondary-button{background:#273a43;color:#eef4f6}.pilot-card>button:disabled{opacity:.4;cursor:not-allowed}.callout{margin:22px 0;padding:15px;background:#1f3936;border:1px solid #32645b;border-radius:10px;color:#a8ead4}.callout.error{background:#412827;border-color:#75423b;color:#ffc1b3}.fine{font-size:12px}.leaflet-container{font-family:inherit}@media(max-width:1000px){.dashboard{grid-template-columns:1fr}.map-panel #map{height:360px}.stats{grid-column:1}}@media(max-width:600px){.topbar{height:auto;min-height:70px;padding:13px 16px;align-items:flex-start}.submark{display:block;margin:2px 0 0}.top-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}.top-actions a{display:none}.dashboard{padding:12px;gap:12px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:15px}.stat strong{font-size:20px}.map-coords{font-size:11px;flex-wrap:wrap}}

[hidden]{display:none!important}
.demo-badge{background:#624520;color:#ffd99f}
.top-actions .demo-exit{display:inline-block;padding:9px 12px;border:1px solid #e39a52;border-radius:9px;color:#ffcf9c;font-weight:700}
.video-details{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
.map-actions{display:flex;gap:8px;flex-wrap:wrap}
.caltopo-wrap{flex:1;min-height:360px;display:flex;flex-direction:column;background:#0d161b}
.caltopo-wrap iframe{border:0;width:100%;flex:1;min-height:320px}
.caltopo-help{padding:8px 16px;color:#9aabb4;font-size:12px}
.stat small{display:block;margin-top:10px;color:#8fa9aa;font-size:11px}
.stat.stale strong,.stat.stale small{color:#cc9a6d}
.settings-page{max-width:1050px;margin:28px auto;padding:0 18px 40px;display:grid;gap:20px}
.settings-card{background:#142027;border:1px solid #293740;border-radius:16px;padding:24px}
.settings-card h1,.settings-card h2{margin:0 0 12px}
.settings-card p{color:#a8b8c0;line-height:1.5}
.settings-card label{display:block;margin:18px 0 8px;color:#c7d2d6}
.settings-card input{width:min(100%,650px);height:44px;background:#0d161b;color:#fff;border:1px solid #42545e;border-radius:9px;padding:0 12px}
.settings-card button{margin:12px 0}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.capability{background:#0e191f;border:1px solid #2d424a;border-radius:10px;padding:15px}
.capability strong{display:block;margin-bottom:6px}
.capability small{color:#9bb0b6}
.status-note{color:#a8ead4}
@media(max-width:650px){.settings-grid{grid-template-columns:1fr}.top-actions a{display:inline}.video-details{gap:8px}.panel-heading{flex-wrap:wrap}}
.help-page code{background:#0a1318;padding:3px 6px;border-radius:5px;overflow-wrap:anywhere}
.help-steps,.help-list{padding-left:24px;color:#d5e0e4;line-height:1.65}
.help-steps li,.help-list li{margin:0 0 15px;padding-left:5px}
.help-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.help-actions .secondary-button{display:inline-block}
