/* ============================================================
   SKYVIDYA OBSERVATORY v2 — clean shell overrides
   Lighter chrome, map-first, persona switcher, KPI strip.
   Layers on top of skyvidya-app.css / map-geo.css / etc.
   ============================================================ */

/* shell: header + body only (no left rail — nav is in header) */
.v2-shell { display:grid; grid-template-rows:54px 1fr; height:100vh; }
.v2-body { display:grid; grid-template-columns:1fr var(--ai-w, 0px); min-height:0;
  transition:grid-template-columns 260ms cubic-bezier(.4,0,.2,1); }
.v2-shell.ai-on .v2-body { --ai-w:360px; }

/* header */
.v2-top { gap:14px; }
.v2-top .brand-word b { font-size:14px; }
.v2-divider { width:1px; height:26px; background:var(--rule); flex:none; }

.v2-nav { margin-left:6px; gap:0; }
.v2-nav button { display:inline-flex; align-items:center; gap:7px; padding:8px 13px; }
.v2-nav button svg { opacity:0.7; }
.v2-nav button.active svg { opacity:1; }

.v2-ai-btn { display:inline-flex; align-items:center; gap:6px; cursor:pointer;
  font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  padding:8px 13px; border-radius:var(--radius); border:1px solid color-mix(in srgb, var(--sv-cyan) 40%, transparent);
  background:none; color:var(--sv-cyan); transition:all 150ms; }
.v2-ai-btn:hover, .v2-ai-btn.on { background:color-mix(in srgb, var(--sv-cyan) 12%, transparent); }

/* persona switcher */
.persona-switch { position:relative; flex:none; }
.ps-trigger { display:flex; align-items:center; gap:10px; cursor:pointer; background:none;
  border:1px solid var(--rule); border-radius:var(--radius); padding:5px 11px 5px 7px; transition:border-color 150ms; }
.ps-trigger:hover { border-color:var(--sv-ink-500); }
.ps-ico { width:28px; height:28px; flex:none; display:grid; place-items:center; border-radius:6px;
  background:color-mix(in srgb, var(--sv-coral) 10%, transparent); border:1px solid color-mix(in srgb, var(--sv-coral) 22%, transparent); }
.ps-meta { display:flex; flex-direction:column; line-height:1.2; text-align:left; }
.ps-meta b { font-size:12.5px; font-weight:600; color:var(--fg); }
.ps-meta .mono { font-size:8.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-soft); }

.ps-menu { position:absolute; top:calc(100% + 8px); left:0; z-index:120; width:260px; padding:7px;
  background:var(--bg-elev); border:1px solid var(--sv-ink-500); border-radius:var(--radius-lg);
  box-shadow:0 16px 44px -14px rgba(0,0,0,0.6); }
.ps-menu-h { padding:8px 9px 6px; color:var(--fg-mute); }
.ps-opt { display:flex; align-items:center; gap:10px; width:100%; cursor:pointer; text-align:left;
  background:none; border:none; padding:9px; border-radius:6px; transition:background 130ms; }
.ps-opt:hover { background:var(--bg-elev-2); }
.ps-opt.active { background:color-mix(in srgb, var(--sv-coral) 8%, transparent); }
.ps-opt .ps-meta b { font-size:13px; }

/* KPI strip */
.kpi-strip { display:flex; align-items:center; gap:24px; flex-wrap:wrap;
  padding:11px 24px; border-bottom:1px solid var(--rule); background:color-mix(in srgb, var(--bg) 96%, black); }
.ks-lead { display:flex; flex-direction:column; gap:3px; min-width:0; flex:1; }
.ks-tag { font-size:9px; letter-spacing:0.16em; color:var(--sv-coral); }
.ks-tagline { font-size:12.5px; color:var(--fg-soft); }
.ks-items { display:flex; gap:0; }
.ks-item { display:flex; flex-direction:column; gap:4px; padding:0 20px; border-left:1px solid var(--rule-soft); }
.ks-item:first-child { border-left:none; }
.ks-k { font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-mute); white-space:nowrap; }
.ks-v { font-family:var(--font-display); font-weight:600; font-size:22px; line-height:1; letter-spacing:-0.02em; color:var(--fg); }
.ks-v small { font-size:11px; color:var(--fg-mute); font-weight:500; }

/* map-first wrap: left insight sidebar carries KPIs now (hide floating strip) */
.v2-main.main-map { overflow:hidden; position:relative; }
.v2-map-wrap { position:absolute; inset:0; }
.v2-map-kpis { display:none; }
/* nudge map chrome clear of the left insight sidebar */
.v2-map-wrap .map-scalebar, .v2-map-wrap .map-attrib { z-index:7; }

/* generic v2 content views */
.v2-main { overflow-y:auto; }
.v2-pad { padding:22px 24px 44px; max-width:1320px; margin:0 auto; }
.v2-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.v2-head h2 { font-size:21px; letter-spacing:-0.02em; margin-top:6px; }
.v2-head p { margin:7px 0 0; color:var(--fg-soft); font-size:12.5px; max-width:70ch; }
.v2-agent { font-size:9.5px; letter-spacing:0.1em; color:var(--sv-cyan); white-space:nowrap; }

.v2-card { background:var(--bg-elev); border:1px solid var(--rule); border-radius:var(--radius); position:relative; }
.v2-card-h { display:flex; align-items:center; justify-content:space-between; padding:13px 16px; border-bottom:1px solid var(--rule); }
.v2-card-h .ctitle { font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--fg-soft); }
.v2-meta { font-size:9.5px; color:var(--fg-mute); letter-spacing:0.1em; }
.v2-card.brackets { padding:18px; }
.v2-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:1080px){ .v2-grid-2 { grid-template-columns:1fr; } }

/* carteira hero */
.v2-hero { display:grid; grid-template-columns:300px 1fr; gap:16px; }
@media (max-width:1000px){ .v2-hero { grid-template-columns:1fr; } }
.v2-gauge { display:flex; align-items:center; justify-content:center; padding:14px; }
.v2-hero-r { display:flex; flex-direction:column; gap:14px; min-width:0; }

/* AI panel only when on (no permanent left rail in v2) */
.v2-body.ai-collapsed .ai-panel { display:none; }
