@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Share+Tech+Mono&display=swap";
:root{--bg-main:#f4f8fc;--bg-widget:#fff;--bg-card:#fff;--bg-input:#fff;--bg-nav:#084c9e;--bg-nav-dark:#063b7d;--bg-nav-active:#0060cc;--bg-panel:#f4f8fc;--bg-subtle:#f0f7fd;--primary:#0062cc;--primary-hover:#0052b4;--primary-20:#0062cc33;--primary-12:#0062cc1f;--primary-06:#0062cc0f;--primary-04:#0062cc0a;--primary-40:#0062cc66;--primary-25:#0062cc40;--border:#b9d7f2;--border-subtle:#e1ecf6;--border-hi:#0062cc;--text:#1a3353;--text-dim:#5a7795;--text-bright:#0b2d59;--accent:#0062cc;--danger:#ef4444;--success:#10b981;--warning:#f59e0b;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"Consolas", "Share Tech Mono", "Courier New", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-main);color:var(--text);font-family:var(--font);height:100vh;font-size:13px;overflow:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.app-container{flex-direction:column;height:100vh;display:flex}.main-content{flex:1;display:flex;overflow:hidden}.topbar{background:var(--bg-widget);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.topbar-brand{align-items:center;gap:10px;display:flex}.topbar-logo{border:1.5px solid var(--primary);background:#0062cc14;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.topbar-logo-dot{background:var(--primary);border-radius:50%;width:7px;height:7px}.topbar-title{color:#0b2d59;letter-spacing:.5px;font-size:16px;font-weight:700}.topbar-menus{gap:20px;margin-left:32px;display:flex}.topbar-item{color:var(--text-dim);cursor:pointer;letter-spacing:.5px;padding:4px 2px;font-size:12px;transition:color .15s}.topbar-item:hover{color:var(--primary)}.topbar-item.active{color:var(--primary);border-bottom:1px solid var(--primary)}.topbar-right{align-items:center;gap:12px;display:flex}.topbar-search{background:var(--bg-input);border:1px solid var(--border);color:var(--text-bright);font-family:var(--font);border-radius:6px;outline:none;width:240px;padding:6px 12px;font-size:12px;transition:border-color .15s}.topbar-search:focus{border-color:var(--primary);background:#fff}.topbar-admin{color:var(--text);align-items:center;gap:8px;font-size:12px;display:flex}.bottom-bar{background:var(--bg-widget);border-top:1px solid var(--border);height:28px;color:var(--primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 14px;font-size:11px;display:flex}.bottom-stats{gap:20px;display:flex}.bottom-stat{color:var(--primary);align-items:center;gap:5px;display:flex}.bottom-stat span,.bottom-stat.eff span{color:var(--primary);font-weight:600}.left-nav{background:var(--bg-nav);border-right:none;flex-direction:column;flex-shrink:0;width:172px;min-width:172px;padding:0;display:flex;overflow-y:auto}.nav-header{color:#9cbddf;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid #ffffff1f;padding:14px 16px 10px;font-size:10px}.step-item{cursor:pointer;color:#c0d6f3;letter-spacing:.4px;white-space:nowrap;text-overflow:ellipsis;border-left:3px solid #0000;padding:11px 20px;font-size:12px;transition:all .15s;overflow:hidden}.step-item:hover{background:var(--bg-nav-dark);color:#fff}.step-item.active{background:var(--bg-nav-active);color:#fff;border-left-color:#fff;font-weight:600}.step-num{color:#8fb2d8;margin-right:8px;font-size:10px}.nav-footer{color:#8fb2d8;border-top:1px solid #ffffff1f;margin-top:auto;padding:12px 16px;font-size:10px}.left-context{background:var(--bg-widget);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:330px;min-width:330px;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-widget);flex-shrink:0;align-items:center;gap:10px;padding:14px 20px 12px;display:flex}.panel-header h2{color:#0b2d59;letter-spacing:.5px;font-size:14px;font-weight:700}.panel-header-icon{color:var(--primary);font-size:16px}.step-panel{flex:1;padding:16px;overflow-y:auto}.center-map{background:var(--bg-main);border-right:1px solid var(--border-subtle);flex-direction:column;flex:1;display:flex;overflow:hidden}.map-toolbar{border-bottom:1px solid var(--border-subtle);background:var(--bg-widget);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.map-title{color:var(--text-bright);font-size:13px;font-weight:700}.basemap-toggle{border:1px solid var(--border);border-radius:4px;display:flex;overflow:hidden}.basemap-btn{background:var(--bg-card);color:var(--primary);cursor:pointer;font-family:var(--font);border:none;padding:4px 12px;font-size:11px;font-weight:700;transition:background .15s}.basemap-btn.active{background:var(--primary);color:#fff}.map-draw-bar{border-bottom:1px solid var(--border-subtle);background:var(--bg-widget);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 16px;display:flex}.map-hint{color:var(--text-dim);font-size:11px}.map-draw-btns{gap:6px;display:flex}.right-sidebar{background:var(--bg-widget);border-left:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:340px;min-width:340px;display:flex;overflow:hidden}.right-tabs{border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex}.right-tab{text-align:center;cursor:pointer;color:var(--text-dim);background:var(--bg-widget);letter-spacing:.5px;border-bottom:2px solid #0000;flex:1;padding:13px;font-size:12px;font-weight:700;transition:all .15s}.right-tab:hover{color:var(--primary);background:#f0f7fd}.right-tab.active{color:#fff;background:var(--primary);border-bottom-color:var(--primary)}.right-content{background:var(--bg-widget);flex:1;padding:16px;overflow-y:auto}.hud-box{border:1px solid var(--border);background:var(--bg-card);border-radius:6px;margin-bottom:16px;padding:14px;position:relative}.hud-box:before{content:"";background:var(--primary);border-radius:2px 0 0;width:8px;height:8px;position:absolute;top:-1px;left:-1px}.hud-box-title{color:var(--primary);letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:14px;font-size:12px;font-weight:700;display:flex}.hud-box-subtitle{color:var(--text-dim);margin-top:-10px;margin-bottom:12px;font-size:11px;font-style:italic}.hud-input-group{margin-bottom:12px}.hud-label{color:var(--text-dim);margin-bottom:5px;font-size:11px;display:block}.hud-input,.hud-select,input[type=text],input[type=number],select{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font);border-radius:4px;outline:none;padding:6px 10px;font-size:12px;transition:border-color .15s,background .15s}.hud-input:focus,.hud-select:focus,input[type=text]:focus,input[type=number]:focus,select:focus{border-color:var(--primary);background:#fff}.hud-row{border-bottom:1px solid #edf3f9;justify-content:space-between;align-items:center;padding:7px 0;display:flex}.hud-row:last-child{border-bottom:none}.hud-row>span{color:#1a3353;font-size:12px}.hud-row .hud-input,.hud-row .hud-select{text-align:right;width:100px;padding:5px 8px}.hud-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:12px}.hud-table th{color:var(--text-dim);text-align:left;border-bottom:1px solid var(--border);letter-spacing:.5px;white-space:nowrap;background:#f0f6fc;padding:7px 10px;font-size:11px}.hud-table td{color:var(--text);border-bottom:1px solid #edf3f9;padding:6px 10px}.hud-table tr:hover td{background:#f4f8fd}.hud-table .row-num{color:var(--text-dim);width:24px;font-size:11px}.hud-table input{width:100%;color:var(--text);font-family:var(--font);background:0 0;border:none;outline:none;padding:0;font-size:12px}.hud-table input:focus{border-bottom:1px solid var(--primary);background:#f0f6fc}.hud-btn{border:1px solid var(--border);color:var(--primary);cursor:pointer;font-family:var(--font);letter-spacing:.5px;white-space:nowrap;background:#fff;border-radius:4px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.hud-btn:hover{border-color:var(--primary);background:#f0f6fc}.hud-btn:active{background:#e4effb}.hud-btn:disabled{color:var(--text-dim);cursor:not-allowed;background:#f8fafc;border-color:#e2eaf4}.hud-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.hud-btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.hud-btn.full{justify-content:center;width:100%;padding:10px}.hud-btn.danger{color:var(--danger);background:#fff;border-color:#ef444466}.hud-btn.danger:hover{background:#ef444414}.section-title{color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--border);margin:16px 0 8px;padding-bottom:4px;font-size:11px}.field-row{gap:12px;margin-bottom:10px;display:flex}.field-row>*{flex:1}.field-label{color:var(--text-dim);margin-bottom:4px;font-size:11px;display:block}.hud-checkbox-group{flex-direction:column;gap:6px;display:flex}.hud-checkbox-row{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.hud-checkbox-row>span{color:var(--text);font-size:12px}.hud-checkbox{appearance:none;cursor:pointer;background:#fff;border:1px solid #9cbddf;border-radius:3px;flex-shrink:0;width:14px;height:14px;transition:all .15s}.hud-checkbox:checked{background:var(--primary);border-color:var(--primary);box-shadow:inset 0 0 0 2px #fff}input[type=checkbox]{accent-color:var(--primary)}.radar-widget{opacity:.65;width:90px;height:90px;margin:16px auto 0;position:relative}.radar-widget svg{width:100%;height:100%}.leaflet-container{width:100%;height:100%;background:#eef3f8!important}.leaflet-bar a{color:var(--primary)!important;border-color:var(--border)!important;font-family:var(--font)!important;background:#fff!important}.leaflet-bar a:hover{background:#f0f6fc!important}.leaflet-control-zoom{border:1px solid var(--border)!important}.leaflet-popup-content-wrapper{color:var(--text)!important;border:1px solid var(--border)!important;background:#fff!important;border-radius:6px!important}.leaflet-popup-tip{background:#fff!important}.leaflet-draw-toolbar a{color:var(--primary)!important;background:#fff!important}.stat-cards{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.stat-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:6px;flex:1;min-width:120px;padding:12px;position:relative}.stat-card:before{content:"";background:var(--primary);border-radius:2px 0 0;width:6px;height:6px;position:absolute;top:-1px;left:-1px}.stat-card-value{color:var(--primary);font-size:22px;font-weight:700}.stat-card-label{color:var(--text-dim);margin-top:4px;font-size:11px}.action-row{border-top:1px solid var(--border);gap:8px;margin-top:16px;padding-top:12px;display:flex}.action-row .hud-btn{flex:1;justify-content:center}.highlight{color:var(--primary)!important}.success{color:var(--success)!important}.warning{color:var(--warning)!important}.danger{color:var(--danger)!important}:root[data-theme=dark]{--bg-main:#000814;--bg-widget:#000914;--bg-card:#011222;--bg-input:#000e1c;--bg-nav:#000812;--bg-nav-dark:#00060e;--bg-nav-active:#0057b7;--bg-panel:#000710;--bg-subtle:#00172e;--primary:#0062cc;--primary-hover:#07e;--primary-20:#0062cc33;--primary-12:#0062cc1f;--primary-06:#0062cc0f;--primary-04:#0062cc0a;--primary-40:#0062cc66;--primary-25:#0062cc40;--border:#083d66;--border-subtle:#052440;--border-hi:#00b4d8;--text:#d8e8f8;--text-dim:#6f92b2;--text-bright:#fff;--accent:#00b4d8;--danger:#ff1744;--success:#00e676;--warning:#f59e0b}[data-theme=dark] body{background:var(--bg-main);color:var(--text)}[data-theme=dark] .topbar{background:var(--bg-widget);border-bottom:1px solid var(--border-subtle)}[data-theme=dark] .topbar-logo{border-color:var(--accent);background:#00b4d81f}[data-theme=dark] .topbar-logo-dot{background:var(--accent)}[data-theme=dark] .topbar-search{background:var(--bg-input);border:1px solid var(--border);color:#fff}[data-theme=dark] .topbar-search::placeholder{color:var(--text-dim)}[data-theme=dark] .panel-header{background:var(--bg-widget);border-bottom:1px solid var(--border-subtle)}[data-theme=dark] .hud-box{background:var(--bg-card);border:1px solid var(--border)}[data-theme=dark] .hud-box:before{background:var(--accent)}[data-theme=dark] .hud-box-title{color:var(--accent)}[data-theme=dark] .hud-box-subtitle{color:var(--text-dim)}[data-theme=dark] .hud-input,[data-theme=dark] .hud-select,[data-theme=dark] input[type=text],[data-theme=dark] input[type=number],[data-theme=dark] select{background:var(--bg-input);border:1px solid var(--border);color:#fff}[data-theme=dark] .hud-input:focus,[data-theme=dark] .hud-select:focus,[data-theme=dark] input[type=text]:focus,[data-theme=dark] input[type=number]:focus,[data-theme=dark] select:focus{border-color:var(--border-hi);background:#011428}[data-theme=dark] .hud-row{border-bottom:1px solid var(--border-subtle)}[data-theme=dark] .hud-row>span{color:var(--text)}[data-theme=dark] .hud-table th{background:var(--bg-subtle);color:var(--text-dim);border-bottom:1px solid var(--border)}[data-theme=dark] .hud-table td{border-bottom:1px solid var(--border-subtle);color:var(--text)}[data-theme=dark] .hud-table tr:hover td{background:var(--bg-subtle)}[data-theme=dark] .hud-table input{color:#fff;background:var(--bg-input);border-color:var(--border)}[data-theme=dark] .hud-btn{background:var(--bg-card);border-color:var(--border);color:var(--text)}[data-theme=dark] .hud-btn:hover{background:var(--bg-subtle);border-color:var(--border-hi)}[data-theme=dark] .hud-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}[data-theme=dark] .hud-btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}[data-theme=dark] .right-sidebar{background:var(--bg-widget);border-left:1px solid var(--border-subtle)}[data-theme=dark] .right-tab{background:var(--bg-input);color:var(--text-dim);border-bottom:1px solid var(--border-subtle)}[data-theme=dark] .right-tab.active{background:var(--primary)!important;color:#fff!important;border-bottom-color:var(--primary)!important}[data-theme=dark] .right-content{background:var(--bg-widget)}[data-theme=dark] .bottom-bar{background:var(--bg-widget);border-top:1px solid var(--border-subtle);color:var(--text-dim)}[data-theme=dark] .left-nav{background:var(--bg-nav);border-right:1px solid var(--border-subtle)}[data-theme=dark] .nav-header{background:var(--bg-nav-dark);border-bottom:1px solid var(--border-subtle);color:#fff}[data-theme=dark] .step-item{color:#7297b8;background:0 0}[data-theme=dark] .step-item:hover{background:var(--bg-card);color:#fff}[data-theme=dark] .step-item.active{border-radius:4px;background:var(--bg-nav-active)!important;color:#fff!important;border-left:none!important}[data-theme=dark] .nav-footer{background:var(--bg-nav);border-top:1px solid var(--border-subtle);color:#5c7c99}[data-theme=dark] input[type=checkbox]{accent-color:#0070f3}[data-theme=dark] .leaflet-container{background:var(--bg-main)!important}[data-theme=dark] .leaflet-bar a{background:var(--bg-card)!important;color:var(--accent)!important;border-color:var(--border)!important}[data-theme=dark] .leaflet-popup-content-wrapper{background:var(--bg-card)!important;color:var(--text)!important;border-color:var(--border)!important}[data-theme=dark] .leaflet-popup-tip{background:var(--bg-card)!important}[data-theme=dark] .panel-header h2{color:#fff!important}[data-theme=dark] .panel-header span{color:var(--accent)!important}[data-theme=dark] .active-stage-pill{background:var(--bg-subtle)!important;border-color:var(--border)!important}[data-theme=dark] .active-stage-pill span{color:var(--accent)!important}[data-theme=dark] .ai-reco-box{background:var(--bg-card)!important;border-color:var(--border)!important}[data-theme=dark] .ai-reco-box .hud-box-title,[data-theme=dark] .ai-reco-box strong{color:var(--accent)!important}[data-theme=dark] .ai-reco-note{background:var(--bg-subtle)!important;border-left-color:var(--accent)!important;color:var(--text-dim)!important}[data-theme=dark] .bottom-stat{color:var(--text-dim)!important}[data-theme=dark] .bottom-stat span{color:var(--accent)!important}[data-theme=dark] .location-pill{background:var(--bg-subtle)!important;border-color:var(--border)!important;color:var(--accent)!important}[data-theme=dark] .topbar-title{color:#fff!important}
