/* IVA Observatory: progressive enhancement, no external dependencies. */
:root{--cyan:#6be6d7;--blue:#79adff;--radius:20px;--obs-edge:rgba(140,208,218,.15)}
html[data-theme=dark] body{background:radial-gradient(ellipse at 30% 0%,#102b38 0,transparent 46%),#070e16}
html[data-theme=dark] .sidebar{background:rgba(8,17,25,.97);border-color:var(--obs-edge)}
html[data-theme=dark] .topbar{background:rgba(9,19,28,.86);backdrop-filter:blur(24px)}
html[data-theme=dark] .panel,html[data-theme=dark] .kpi-card{background:linear-gradient(145deg,rgba(22,40,51,.87),rgba(9,22,32,.97));border:1px solid var(--obs-edge);box-shadow:0 12px 30px #0002,inset 0 1px 0 #ffffff05}
.command-hero{position:relative;isolation:isolate;display:grid!important;grid-template-columns:1.12fr 1fr;min-height:370px!important;gap:12px!important;overflow:hidden!important;border:1px solid var(--obs-edge)!important;border-radius:24px!important;padding:36px!important;background:radial-gradient(ellipse at 22% 40%,#123e48 0,transparent 50%),linear-gradient(120deg,#101f2f,#09151e)!important;color:#eaf7fc}
.command-hero:before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#77dadb06 1px,transparent 1px),linear-gradient(90deg,#77dadb06 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,#000,transparent)}
.command-copy{position:relative;z-index:2;align-self:center;max-width:630px!important}.command-copy h1{font-size:clamp(1.8rem,2.8vw,3.1rem)!important;line-height:1.5!important;letter-spacing:-.04em!important;margin:18px 0!important;color:#effbff!important}.command-copy p{max-width:550px;color:#a3bdc9!important;line-height:2!important;font-size:.86rem!important}.eyebrow{color:#85e7db!important}.hero-source-row{gap:7px!important}.source-chip{border-color:#79dacc26!important;background:#08171d66!important}
.obs-visual{min-width:0;min-height:310px;position:relative;align-self:stretch;direction:ltr}.obs-globe{width:100%;height:100%;position:absolute;inset:0;cursor:grab;touch-action:pan-y}.obs-globe:active{cursor:grabbing}.obs-visual:after{content:'';position:absolute;width:65%;height:22px;background:#69ecda17;filter:blur(12px);border-radius:50%;bottom:8px;left:18%;pointer-events:none}
.obs-visual .health-block{position:absolute!important;left:0;bottom:26px;z-index:2;min-width:0!important;width:122px!important;padding:12px 8px!important;border:1px solid #78e3d633;border-radius:16px;background:#0c202cdb!important;backdrop-filter:blur(12px);box-shadow:0 15px 30px #0004;transform:rotate(-3deg)}
.obs-visual .health-ring{width:102px!important;height:102px!important;margin:auto!important}.obs-visual .ring-core strong{font-size:1.8rem!important}.obs-visual .ring-core small,.obs-visual .ring-core span{font-size:.6rem!important}.obs-visual .health-meta{display:none}.obs-caption{position:absolute;bottom:0;right:10px;color:#88adb8;font-size:10px;pointer-events:none}.obs-coordinate{position:absolute;top:12px;left:14px;font:10px/1.9 monospace;letter-spacing:2px;color:#8db6c0;pointer-events:none}.obs-coordinate b{color:#88e8d7;display:block;font-weight:400;font-size:12px}
.obs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 22px;padding:12px 0;border-bottom:1px solid var(--line)}.obs-toolbar-title{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--muted)}.obs-toolbar-title b{color:var(--text);font-weight:500}.obs-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.obs-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);padding:8px 13px;border-radius:9px;color:var(--text-2);background:var(--surface);cursor:pointer;font-size:.75rem;transition:background .2s,border-color .2s}.obs-button:hover{border-color:var(--cyan);color:var(--cyan)}.obs-button[aria-pressed=true]{background:#63dec219;border-color:#63dec266;color:var(--cyan)}.obs-button:disabled{opacity:.5;cursor:wait}.obs-button kbd{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 4px;direction:ltr}.obs-toolbar .obs-search{min-width:210px;justify-content:space-between}.obs-hero-actions{display:flex;gap:10px;margin-top:22px}.obs-hero-actions .obs-button{background:#112f3b;color:#bcece8;border-color:#6bded432}.obs-hero-actions .obs-button:first-child{background:#89edcf;color:#082621;border-color:transparent;font-weight:700;padding-inline:20px}
.kpi-card{transition:transform .22s,box-shadow .22s!important;position:relative}.kpi-card:hover{transform:translateY(-4px);box-shadow:0 20px 35px #0003!important}.kpi-main strong{letter-spacing:-.04em}.nav-item.active{background:linear-gradient(90deg,#71e7d21b,#71e7d205)!important}.panel-head h2{font-weight:600!important}.world-stage{box-shadow:inset 0 0 85px #07131b85}
.obs-dialog{color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:20px;padding:0;width:min(560px,calc(100% - 32px));max-height:80dvh;box-shadow:0 35px 120px #0009}.obs-dialog::backdrop{background:#020911bb;backdrop-filter:blur(6px)}.obs-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.obs-dialog h2{font-size:1rem;margin:0}.obs-dialog input{width:calc(100% - 40px);margin:18px 20px 10px;background:var(--bg);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;padding:14px;font:inherit}.obs-command-list{padding:8px 14px 20px;display:grid;gap:5px;max-height:48dvh;overflow:auto}.obs-command{display:flex;align-items:center;gap:12px;width:100%;text-align:start;background:transparent;color:var(--text-2);border:0;border-radius:10px;padding:13px;cursor:pointer;font:inherit;font-size:.9rem}.obs-command:hover,.obs-command:focus-visible{background:#65dfcc18;color:var(--cyan)}.obs-command span:last-child{margin-inline-start:auto;color:var(--muted);font:11px monospace}.obs-dialog-foot{font-size:.7rem;color:var(--muted);padding:12px 22px;border-top:1px solid var(--line)}.obs-empty{padding:20px;color:var(--muted)}.obs-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:10000;max-width:90vw;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text);padding:12px 22px;box-shadow:0 12px 50px #0006}.obs-toast:empty{display:none}
body.obs-compact .command-hero{min-height:245px!important;padding:22px!important}body.obs-compact .obs-visual{min-height:230px}body.obs-compact .command-copy h1{font-size:1.8rem!important}body.obs-compact .command-copy>p{display:none}body.obs-compact .kpi-card{padding:16px!important}body.obs-compact .panel-head{padding:16px!important}body.obs-compact .panel{margin-bottom:12px}body.obs-compact td,body.obs-compact th{padding-block:10px!important}
:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}body.obs-still *,body.obs-still *:before,body.obs-still *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-theme=light] .obs-toolbar .obs-button{background:#fff;color:#284757}html[data-theme=light] .obs-dialog{background:#f5faff;color:#132b3e}html[data-theme=light] .obs-command{color:#284757}html[data-theme=light] .obs-dialog input{background:#fff;color:#173547}html[data-theme=light] .obs-button[aria-pressed=true]{background:#d8f4eb}
@media(min-width:1450px){.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.kpi-card{padding:20px!important}.kpi-main strong{font-size:2rem!important}}
@media(max-width:1100px){.command-hero{padding:26px!important;grid-template-columns:1.15fr .85fr}.obs-visual .health-block{left:-5px}.obs-toolbar-title{display:none}.obs-toolbar-actions{width:100%}.obs-toolbar .obs-search{flex:1}.obs-visual{min-height:285px}}
@media(max-width:650px){.command-hero{display:flex!important;flex-direction:column!important;padding:24px!important;gap:0!important}.command-copy h1{font-size:1.9rem!important}.command-copy p{font-size:.78rem!important}.obs-visual{width:100%;min-height:260px;order:2;margin-top:12px}.obs-visual .health-block{left:0;bottom:15px}.obs-coordinate{top:20px}.obs-toolbar{margin-bottom:14px}.obs-toolbar .obs-search{min-width:100%;padding:10px}.obs-toolbar-actions>.obs-button:not(.obs-search){flex:1;padding:8px;font-size:.7rem}.obs-hero-actions .obs-button{font-size:.75rem}.obs-caption{font-size:9px}.obs-toast{bottom:90px}.obs-dialog{max-height:85dvh}.hero-source-row{margin-top:14px!important}body.obs-compact .obs-visual{display:none}.kpi-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Override previous device-specific layout patches at the enhancement boundary. */
html body.obs-design .command-hero{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)!important;grid-template-rows:auto!important}
html body.obs-design .command-copy{grid-row:auto!important;grid-column:auto!important}
html body.obs-design .obs-visual .health-block{display:block!important;grid-template-columns:none!important;right:auto!important;top:auto!important}
html body.obs-design .obs-visual .health-ring svg{width:102px!important;height:102px!important}
html body.obs-design .command-copy h1{background:none!important;-webkit-text-fill-color:#effbff!important}
html[data-theme=light]{--surface:#fff;--surface-2:#f1f6fa;--bg:#edf3f7;--text-2:#345268}
@media(max-width:700px){html body.obs-design .command-hero{display:flex!important;flex-direction:column!important}.obs-visual{width:100%;min-height:260px}.obs-visual .health-meta{display:none!important}}
