:root{
  --bg:#070a08;
  --panel:rgba(12,17,14,.93);
  --panel2:#111713;
  --line:#263229;
  --text:#f6f8f4;
  --muted:#9eaaa1;
  --accent:#d9ff4f;
  --accent2:#75ff95;
}
*{box-sizing:border-box}
html,body,#app{margin:0;width:100%;height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input{font:inherit}
button{cursor:pointer}
.app-shell{height:100vh;display:grid;grid-template-rows:64px 1fr;overflow:hidden}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:#090d0a;z-index:20}
.brand{display:flex;align-items:center;gap:10px}
.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px rgba(217,255,79,.7)}
.brand strong,.brand span{display:block}
.brand strong{font-size:15px}
.brand span{font-size:11px;color:var(--muted);margin-top:2px}
.top-actions{display:flex;gap:6px}
.ghost,.layer{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:9px;padding:8px 10px}
.ghost.active,.ghost:hover,.layer.active,.layer:hover{color:var(--text);background:#121813;border-color:var(--line)}
.workspace{min-height:0;display:grid;grid-template-columns:360px 1fr}
.left-panel{padding:26px 22px;background:#0a0f0c;border-right:1px solid var(--line);overflow:auto;z-index:10}
.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:var(--accent)}
h1{font-size:44px;line-height:1.02;margin:12px 0 16px;letter-spacing:-.04em}
h3{font-size:20px;margin:8px 0 12px}
p{color:var(--muted);line-height:1.55}
.search-box{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:22px}
.search-box input{min-width:0;padding:13px 14px;border-radius:10px;border:1px solid var(--line);background:#101612;color:var(--text);outline:none}
.search-box input:focus{border-color:#6f8b31}
.search-box button{border:0;border-radius:10px;background:var(--accent);color:#0b0d08;font-weight:800;padding:0 14px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 24px}
.quick-grid button{padding:9px;border-radius:9px;border:1px solid var(--line);background:#101612;color:var(--muted);text-align:left}
.quick-grid button:hover{color:var(--text);border-color:#40503e}
.module-list{display:grid;gap:8px}
.module-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);background:#0f1511;border-radius:12px}
.module-card.active{border-color:#42512a;background:#121a11}
.module-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#182019;color:var(--accent)}
.module-card b,.module-card small{display:block}
.module-card b{font-size:13px}
.module-card small{font-size:11px;color:var(--muted);margin-top:4px}
.map-stage{position:relative;min-width:0;min-height:0;background:#090d0a;overflow:hidden}
#map{position:absolute;inset:0}
.maplibregl-canvas{outline:none}
.map-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 65% 40%,transparent 30%,rgba(4,8,5,.12) 70%,rgba(4,8,5,.45) 100%)}
.map-topbar{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:5}
.live-chip,.layer-chips{display:flex;align-items:center;gap:6px;background:rgba(8,12,9,.84);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:12px;padding:7px}
.live-chip{padding:9px 12px;color:#cdd6cf;font-size:12px}
.live-chip span{width:7px;height:7px;border-radius:50%;background:var(--accent2);box-shadow:0 0 10px rgba(117,255,149,.7)}
.layer{font-size:11px;padding:7px 9px}
.intel-card{position:absolute;right:20px;bottom:20px;width:min(390px,calc(100% - 40px));z-index:5;padding:18px;background:rgba(8,13,9,.91);backdrop-filter:blur(16px);border:1px solid #2a382d;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.3)}
.intel-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.intel-metrics div{padding:10px;background:#101712;border:1px solid #202b23;border-radius:10px}
.intel-metrics span,.intel-metrics b{display:block}
.intel-metrics span{font-size:10px;color:var(--muted)}
.intel-metrics b{font-size:20px;margin-top:4px}
.intel-card p{font-size:12px;margin-bottom:0}
.map-legend{position:absolute;left:18px;bottom:18px;z-index:5;background:rgba(8,12,9,.8);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:10px;padding:9px 11px;display:flex;gap:14px;font-size:10px;color:var(--muted)}
.map-legend span{display:flex;align-items:center;gap:6px}
.map-legend i{width:7px;height:7px;border-radius:50%}
.hot{background:#58ff9a}.mid{background:#d9ff4f}.low{background:#a7b59e}
.maplibregl-ctrl-group{background:#101612!important;border:1px solid var(--line)!important}
.maplibregl-ctrl button{filter:invert(1);opacity:.75}
.maplibregl-ctrl-attrib{display:none}
@media(max-width:900px){
  .workspace{grid-template-columns:1fr}
  .left-panel{position:absolute;left:12px;top:78px;width:min(340px,calc(100% - 24px));max-height:47vh;border:1px solid var(--line);border-radius:14px;background:rgba(8,13,9,.93);backdrop-filter:blur(14px)}
  .map-stage{height:calc(100vh - 64px)}
  .top-actions{display:none}
  h1{font-size:34px}
}
@media(max-width:600px){
  .left-panel{max-height:42vh;padding:18px}
  .module-list{display:none}
  .map-topbar{top:auto;bottom:150px;left:12px;right:12px;align-items:flex-end}
  .layer-chips{display:none}
  .map-legend{display:none}
  .intel-card{right:12px;left:12px;bottom:12px;width:auto}
}

.tool-rail{position:absolute;right:18px;top:76px;z-index:7;display:grid;gap:7px}
.tool-rail button{width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:rgba(8,13,9,.92);color:#eaf0e8;backdrop-filter:blur(12px);font-size:18px}
.tool-rail button:hover{border-color:#61763d;color:var(--accent)}
.tool-panel{position:absolute;right:70px;top:76px;width:245px;z-index:8;background:rgba(8,13,9,.95);backdrop-filter:blur(15px);border:1px solid var(--line);border-radius:13px;padding:14px;box-shadow:0 18px 45px rgba(0,0,0,.3)}
.tool-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.tool-panel-head button{background:transparent;border:0;color:var(--muted);font-size:20px}
.tool-panel label{display:block;padding:8px 0;font-size:12px;color:#d8dfd9}
.tool-panel small{display:block;color:var(--muted);line-height:1.5}
.divider{height:1px;background:var(--line);margin:8px 0}
.measure-badge{position:absolute;left:50%;top:76px;transform:translateX(-50%);z-index:8;background:#d9ff4f;color:#0b0d08;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}
.timeline-card{margin-top:16px;padding:13px;border:1px solid var(--line);background:#0f1511;border-radius:12px}
.timeline-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}
.timeline-head span{color:var(--accent)}
.timeline-card input{width:100%;accent-color:#d9ff4f}
.timeline-card small{color:var(--muted);line-height:1.35}
.hidden{display:none!important}


.zone-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.zone-title-row h3{margin-bottom:4px}
.demo-pill{font-size:9px;letter-spacing:.12em;color:#0b0d08;background:var(--accent);border-radius:999px;padding:5px 7px;font-weight:900}
.zone-summary{font-size:12px;color:#c6d0c8;margin:6px 0 12px}
.zone-block{margin-top:14px;padding-top:12px;border-top:1px solid #243028}
.block-label{display:block;font-size:9px;letter-spacing:.12em;color:#829087;font-weight:800;margin-bottom:8px}
.tag-list{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:10px;padding:6px 8px;border-radius:999px;border:1px solid #2c3930}
.tag.existing{background:#121a14;color:#cbd6cd}
.tag.gap{background:rgba(217,255,79,.08);border-color:#546526;color:#d9ff4f}
.reason-text{font-size:11px;margin:0;color:#d0d8d2}
.detail-btn{width:100%;margin-top:14px;padding:10px 12px;border-radius:9px;border:1px solid #435129;background:#172014;color:#e8f6b2;font-weight:800}
.detail-btn:hover{background:#1b2617}
.data-note{font-size:9px!important;color:#768279!important;margin-top:10px!important}
.intel-card.expanded{width:min(520px,calc(100% - 40px))}
@media(max-width:600px){
  .intel-card{max-height:42vh;overflow:auto}
}


/* Zone intelligence drawer */
.intel-card.zone-drawer{
  top:76px;
  bottom:20px;
  right:20px;
  width:440px;
  max-height:none;
  overflow:auto;
  padding:18px;
}
.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.drawer-head h3{font-size:26px;margin:5px 0 0}
.zone-split{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.business-panel{border:1px solid #263229;background:#0e1510;border-radius:12px;padding:12px}
.business-panel.missing{border-color:#43542b;background:rgba(217,255,79,.035)}
.business-panel h4{margin:3px 0 10px;font-size:14px}
.business-list{display:grid;gap:6px}
.business-row{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:8px;background:#121914;border-radius:8px}
.business-row.opportunity{background:rgba(217,255,79,.055)}
.business-rank{font-size:9px;color:#718078;font-weight:800}
.business-row b{font-size:12px}
.present-pill,.gap-pill{font-size:8px;padding:4px 6px;border-radius:999px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.present-pill{background:#1d2920;color:#9fb3a3}
.gap-pill{background:#d9ff4f;color:#0b0d08}
.intel-metrics.compact{margin:12px 0}
.why-panel{margin-top:10px;padding:12px;border:1px solid #263229;border-radius:10px;background:#101612}
.why-panel p{font-size:11px;margin:6px 0 0;color:#d2dbd4}
.drawer-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}
.secondary-btn{padding:10px 12px;border-radius:9px;border:1px solid #2d3a31;background:#101612;color:#aebbb1;font-weight:700}
@media(max-width:900px){
  .intel-card.zone-drawer{
    top:auto;
    left:12px;
    right:12px;
    bottom:12px;
    width:auto;
    max-height:55vh;
  }
}


.decision-card{
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border-radius:12px;
  border:1px solid #415129;
  background:linear-gradient(135deg,rgba(217,255,79,.09),rgba(117,255,149,.025));
}
.decision-label{display:block;font-size:9px;letter-spacing:.12em;color:#a4b09f;font-weight:800;margin-bottom:4px}
.decision-card strong{font-size:18px}
.decision-card p{font-size:11px;margin:6px 0 0}
.decision-score{text-align:center;min-width:82px}
.decision-score b{display:block;font-size:30px;color:var(--accent);line-height:1}
.decision-score span{font-size:9px;color:#97a39a;text-transform:uppercase}
.cross-summary{margin-top:12px;padding:12px;border:1px solid #28342b;border-radius:10px;background:#101612}
.cross-summary p{margin:6px 0 0;font-size:11px;color:#d2dbd4;line-height:1.55}
.intel-metrics.four{grid-template-columns:repeat(4,1fr)}
.primary-reco{margin-top:12px}
.top-opportunity{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.top-opportunity b{font-size:17px}
.top-opportunity p{font-size:10px;margin:5px 0 0}
.reco-percent{font-size:22px;font-weight:900;color:#0b0d08;background:var(--accent);padding:8px 10px;border-radius:10px}
@media(max-width:600px){
  .intel-metrics.four{grid-template-columns:repeat(2,1fr)}
}

.loading-bar{height:7px;background:#182019;border-radius:999px;overflow:hidden;margin-top:14px}
.loading-bar span{display:block;height:100%;width:35%;background:var(--accent);border-radius:999px;animation:loadingMove 1.1s infinite ease-in-out}
@keyframes loadingMove{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}
.source-strip{margin-top:12px;padding:9px 10px;border:1px solid #2a382d;border-radius:9px;background:#0d140f;color:#9eaaa1;font-size:9px;line-height:1.5}
.source-strip b{color:#d8e1da}

.global-context{margin-top:12px;padding:12px;border:1px solid #263229;border-radius:10px;background:#0e1510}
.global-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}
.global-grid div{padding:8px;border-radius:8px;background:#121914}
.global-grid span,.global-grid b{display:block}
.global-grid span{font-size:8px;color:#7f8e83;text-transform:uppercase;letter-spacing:.05em}
.global-grid b{margin-top:3px;font-size:11px}
@media(max-width:600px){.global-grid{grid-template-columns:repeat(2,1fr)}}

.search-wrap{position:relative}
.suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;background:#0c120e;border:1px solid #2a382d;border-radius:11px;box-shadow:0 18px 50px rgba(0,0,0,.45);overflow:hidden;max-height:320px;overflow-y:auto}
.suggestion-item{width:100%;display:block;text-align:left;padding:11px 12px;border:0;border-bottom:1px solid #1f2a22;background:#0c120e;color:#eff4ef}
.suggestion-item:hover{background:#141c16}
.suggestion-name{display:block;font-size:12px;font-weight:800}
.suggestion-meta{display:block;font-size:10px;color:#8d9a90;margin-top:3px}
.suggestion-loading{padding:12px;color:#95a198;font-size:11px}
.zone-control{margin:12px 0 18px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#0e1510}
.zone-control>div{display:flex;justify-content:space-between;align-items:center;font-size:11px}
.zone-control span{color:var(--accent);font-weight:800}
.zone-control input{width:100%;margin:8px 0 3px;accent-color:var(--accent)}
.zone-control small{font-size:9px;color:#7f8b82;line-height:1.4}

.overture-status{font-size:9px;color:#93a097}
