:root{--obs-ink:#16302b;--obs-muted:#62746f;--obs-green:#176b57;--obs-green-rgb:23,107,87;--obs-dark:#0d4d3e;--obs-bg:#eef5f2;--obs-card:#fff;--obs-border:#d6e4df;--obs-warn:#fff6d9;--obs-danger:#a82b23;--obs-radius-sm:8px;--obs-radius-md:12px;--obs-radius-lg:16px;--obs-shadow-sm:0 1px 3px rgba(13,56,45,.06),0 1px 2px rgba(13,56,45,.03);--obs-shadow-md:0 4px 10px -2px rgba(13,56,45,.06),0 2px 4px -1px rgba(13,56,45,.03);--obs-shadow-hover:0 18px 32px -12px rgba(13,56,45,.16),0 8px 14px -6px rgba(13,56,45,.06)}*{box-sizing:border-box}.observatory-app,.observatory-public{margin:0;background:var(--obs-bg);color:var(--obs-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.observatory-app [hidden]{display:none!important}.observatory-app .topbar{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:8px clamp(18px,3vw,38px);background:#fff;border-bottom:1px solid var(--obs-border)}.observatory-app .top-title,.observatory-app .top-actions,.obs-heading,.obs-card-head{display:flex;align-items:center}.observatory-app .top-title{gap:12px}.observatory-app .topbar-logo{width:44px;height:48px;object-fit:contain}.observatory-app .top-title span,.obs-card-head span,.obs-kicker,.obs-public-header span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--obs-green);font-weight:850}.observatory-app .top-title h1{font-size:1.12rem;margin:3px 0}.observatory-app .top-actions{gap:10px}.obs-public-link{padding:8px 11px;border:1px solid var(--obs-border);border-radius:9px;color:var(--obs-green);font-weight:750;text-decoration:none}.obs-content{display:grid;padding:24px clamp(14px,2vw,28px) 70px}.obs-heading{justify-content:space-between;gap:20px}.obs-heading h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:4px 0 8px}.obs-heading p{margin:0;color:var(--obs-muted)}.obs-notice{margin:20px 0 8px;padding:14px 17px;border:1px solid #ead794;border-radius:12px;background:var(--obs-warn);color:#644e08}.obs-feedback{min-height:28px;margin:7px 0;color:var(--obs-muted)}.obs-feedback.success{color:var(--obs-green)}.obs-feedback.error{color:var(--obs-danger)}.obs-metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:18px}.obs-metrics article,.obs-card{border:1px solid rgba(var(--obs-green-rgb),.08);border-radius:var(--obs-radius-lg);background:var(--obs-card);box-shadow:var(--obs-shadow-md);transition:box-shadow .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),border-color .25s}.obs-metrics article{padding:16px 18px;transition:box-shadow .25s,transform .25s}.obs-metrics article:hover{transform:translateY(-3px);box-shadow:var(--obs-shadow-hover);border-color:rgba(var(--obs-green-rgb),.2)}.obs-metrics span{display:block;color:var(--obs-muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.obs-metrics strong{display:block;margin-top:8px;font-size:1.6rem;font-weight:800;font-family:Inter,system-ui,sans-serif;letter-spacing:-.02em;color:var(--obs-dark)}.obs-grid{display:grid;grid-template-columns:minmax(270px,.7fr) minmax(540px,1.6fr);gap:15px}.obs-card{min-width:0;padding:19px}.obs-wide{grid-column:2}.obs-card-head{justify-content:space-between;gap:15px;margin-bottom:15px}.obs-card-head h2,.obs-card-head h3{margin:4px 0 0;font-size:1.05rem}.obs-card-head small{color:var(--obs-muted)}.obs-form{display:grid;gap:11px}.obs-form-grid{grid-template-columns:repeat(3,minmax(130px,1fr));align-items:end}.obs-form label{display:grid;gap:5px;color:var(--obs-muted);font-size:.76rem;font-weight:750}.obs-form input,.obs-form select,.obs-form textarea{width:100%;padding:9px 10px;border:1px solid #c8d9d3;border-radius:9px;background:#fff;color:var(--obs-ink);font:inherit}.obs-two{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.obs-button{padding:10px 14px;border:0;border-radius:9px;font:inherit;font-weight:780;cursor:pointer}.obs-button.primary{background:var(--obs-green);color:#fff}.obs-button.secondary{border:1px solid var(--obs-border);background:#fff;color:var(--obs-ink)}.obs-button:disabled{opacity:.5}.obs-table{overflow:auto;margin-top:16px;border:1px solid var(--obs-border);border-radius:10px}.obs-table table{width:100%;border-collapse:collapse;white-space:nowrap}.obs-table th,.obs-table td{padding:10px 11px;border-bottom:1px solid #e7efec;text-align:left;font-size:.78rem}.obs-table th{background:#f5f9f7;color:var(--obs-muted);font-size:.68rem;text-transform:uppercase}.obs-list{display:grid;gap:8px;margin-top:13px}.obs-list article,.obs-source{padding:11px;border:1px solid var(--obs-border);border-radius:10px;background:#fbfdfc}.obs-list article strong,.obs-source strong{display:block;font-size:.82rem}.obs-list article span,.obs-source span{display:block;margin-top:4px;color:var(--obs-muted);font-size:.73rem;line-height:1.45}:root{--viz-blue:#2a78d6;--viz-aqua:#1baf7a;--viz-orange:#eb6834;--viz-yellow:#eda100;--viz-violet:#4a3aa7;--viz-magenta:#e87ba4;--viz-good:#0ca30c;--viz-warning:#fab219;--viz-serious:#ec835a;--viz-critical:#d03b3b;--viz-grid:#e7e9e5;--viz-axis:#c3c2b7;--viz-muted:#898781}
.obs-indicator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.obs-indicator{--accent:var(--obs-green);position:relative;display:flex;gap:14px;align-items:flex-start;overflow:visible;padding:18px 20px;border:1px solid rgba(var(--obs-green-rgb),.07);border-radius:var(--obs-radius-md);background:#fff;box-shadow:var(--obs-shadow-md);transition:box-shadow .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),border-color .25s}
.obs-indicator:hover{box-shadow:var(--obs-shadow-hover);transform:translateY(-3px);border-color:rgba(var(--accent-rgb,var(--obs-green-rgb)),.25)}
.obs-indicator[data-accent="blue"]{--accent:var(--viz-blue);--accent-rgb:42,120,214}
.obs-indicator[data-accent="aqua"]{--accent:var(--viz-aqua);--accent-rgb:27,175,122}
.obs-indicator[data-accent="orange"]{--accent:var(--viz-orange);--accent-rgb:235,104,52}
.obs-indicator[data-accent="violet"]{--accent:var(--viz-violet);--accent-rgb:74,58,167}
.obs-indicator[data-accent="good"]{--accent:var(--viz-good);--accent-rgb:12,163,12}
.obs-indicator[data-accent="warning"]{--accent:var(--viz-warning);--accent-rgb:250,178,25}
.obs-indicator[data-accent="critical"]{--accent:var(--viz-critical);--accent-rgb:208,59,59}
.obs-indicator-icon{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(var(--accent-rgb,var(--obs-green-rgb)),.1);color:var(--accent);transition:transform .3s ease}
.obs-indicator-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.obs-indicator:hover .obs-indicator-icon{transform:scale(1.08) rotate(3deg)}
.obs-indicator-body{min-width:0;flex:1}
.obs-indicator>span,.obs-indicator-body>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.1em;color:var(--obs-muted);font-size:.79rem;font-weight:600;line-height:1.35}.obs-indicator-body{display:flex;flex-direction:column;min-width:0;flex:1}
.obs-indicator>strong,.obs-indicator-body>strong{display:block;margin:6px 0;font-size:1.9rem;font-weight:800;letter-spacing:-.015em;color:var(--obs-dark)}
.obs-indicator small{display:block;color:var(--viz-muted);font-size:.66rem;line-height:1.4}
.obs-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(560px,1fr));gap:16px;align-items:start;margin-bottom:14px}.obs-chart-card{padding:18px 20px;max-width:none}@media(max-width:750px){.obs-charts-grid{grid-template-columns:1fr}}
.obs-chart-card h4{margin:0 0 2px;font-size:.98rem}
.obs-chart-card p{margin:0 0 12px;color:var(--obs-muted);font-size:.78rem}
.obs-chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:.72rem;color:var(--obs-muted)}
.obs-chart-legend span{display:inline-flex;align-items:center;gap:6px}
.obs-chart-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.obs-hbar-row{display:grid;grid-template-columns:130px 1fr 56px;align-items:center;gap:10px;margin:9px 0;font-size:.78rem}
.obs-hbar-row .obs-hbar-label{color:var(--obs-ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.obs-hbar-track{position:relative;height:14px;background:var(--viz-grid);border-radius:7px;overflow:hidden}
.obs-hbar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:7px;min-width:6px}
.obs-hbar-goal{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--obs-ink);opacity:.35}
.obs-hbar-value{text-align:right;font-weight:700;color:var(--obs-ink);font-variant-numeric:tabular-nums}
.obs-tower{cursor:pointer;outline:none}
.obs-tower rect{transition:fill-opacity .15s ease}
.obs-tower:hover rect,.obs-tower:focus-visible rect{fill-opacity:1!important}
.obs-tower .obs-tower-value{transform-box:fill-box;transform-origin:center;transition:transform .15s ease}
.obs-tower:hover .obs-tower-value,.obs-tower:focus-visible .obs-tower-value{transform:scale(1.4)}
.obs-group-card{--accent:var(--obs-green);position:relative;border-left:4px solid var(--accent)}
.obs-group-card[data-accent="blue"]{--accent:var(--viz-blue)}
.obs-group-card[data-accent="aqua"]{--accent:var(--viz-aqua)}
.obs-group-card[data-accent="orange"]{--accent:var(--viz-orange)}
.obs-group-card[data-accent="violet"]{--accent:var(--viz-violet)}
.obs-group-card .obs-indicator-icon{background:rgba(var(--obs-green-rgb),.1);color:var(--accent)}
.obs-group-card[data-accent] .obs-indicator-icon{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.obs-compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
#secCharts>.obs-compare-grid{grid-column:1/-1}
@media(max-width:1100px){.obs-compare-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.obs-compare-grid{grid-template-columns:1fr}}
.obs-compare-card{padding:18px 20px}
.obs-compare-card .obs-card-head{margin-bottom:10px}
.obs-compare-card .obs-card-head span{color:var(--obs-muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.obs-compare-value{display:block;font-size:1.7rem;font-weight:800;color:var(--obs-dark);letter-spacing:-.015em;margin-bottom:12px}
.obs-toggle-chart{width:100%;margin-top:12px}
.obs-toggle-target{margin-top:14px}
.obs-compare-source{display:block;color:var(--viz-muted);font-size:.72rem}.obs-empty{color:var(--obs-muted)}.obs-map{height:360px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--obs-border);border-radius:12px;background:#e9f1ee;color:var(--obs-muted);text-align:center}.obs-map p{max-width:430px;padding:20px}.obs-map-large{height:70vh;min-height:520px}.obs-map-hint{margin:0 0 8px;color:var(--obs-muted);font-size:.76rem}.obs-theme-nav{display:flex;flex-wrap:wrap;gap:8px;padding:12px clamp(14px,2vw,28px);background:#fff;border-bottom:1px solid var(--obs-border)}.obs-theme-nav a{padding:8px 13px;border-radius:9px;font-size:.8rem;font-weight:750;color:var(--obs-muted);text-decoration:none;border:1px solid transparent}.obs-theme-nav a:hover{background:var(--obs-bg)}.obs-theme-nav a.active{background:var(--obs-green);color:#fff}.obs-main-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px clamp(14px,2vw,28px);background:#fff;border-bottom:1px solid var(--obs-border);position:relative;z-index:20}.obs-nav-group{position:relative}.obs-nav-group>.obs-nav-trigger{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:9px;font-size:.82rem;font-weight:780;color:var(--obs-ink);border:1px solid var(--obs-border);background:#fff;user-select:none}.obs-nav-group>.obs-nav-trigger::-webkit-details-marker{display:none}.obs-nav-group>.obs-nav-trigger::after{content:'';width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .15s}.obs-nav-group[open]>.obs-nav-trigger{background:var(--obs-bg);border-color:rgba(var(--obs-green-rgb),.3);color:var(--obs-green)}.obs-nav-group[open]>.obs-nav-trigger::after{transform:rotate(-135deg);margin-top:3px}.obs-nav-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;display:grid;gap:4px;padding:10px;background:#fff;border:1px solid var(--obs-border);border-radius:12px;box-shadow:var(--obs-shadow-hover);z-index:30}.obs-nav-menu .obs-nav-item{display:flex;flex-direction:column;gap:1px;padding:8px 11px;border-radius:8px;font-size:.82rem;font-weight:750;color:var(--obs-ink);text-decoration:none;border:0;background:transparent;text-align:left;cursor:pointer;white-space:nowrap}.obs-nav-menu .obs-nav-item small{font-weight:600;color:var(--obs-muted);font-size:.68rem}.obs-nav-menu .obs-nav-item:hover{background:var(--obs-bg)}.obs-nav-menu .obs-nav-item.active{background:var(--obs-green);color:#fff}.obs-nav-menu .obs-nav-item.active small{color:rgba(255,255,255,.8)}@media(max-width:650px){.obs-nav-menu{position:static;box-shadow:none;border:0;padding:6px 0 0}.obs-nav-menu .obs-nav-item{white-space:normal}}.obs-map-popup{font-size:.8rem;line-height:1.45}.obs-map-popup strong{font-size:.88rem}.obs-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.obs-capabilities article{padding:14px;border:1px solid var(--obs-border);border-radius:11px}.obs-capabilities h4{margin:0 0 8px}.obs-capabilities ul{margin:0;padding-left:18px;color:var(--obs-muted);font-size:.78rem;line-height:1.6}.obs-public-header{display:flex;align-items:center;gap:15px;padding:20px clamp(18px,5vw,70px);background:#fff;border-bottom:1px solid var(--obs-border)}.obs-public-header img{width:54px}.obs-public-header h1{margin:3px 0;font-size:1.35rem}.obs-public-header p{margin:0;color:var(--obs-muted)}.obs-public-header a{margin-left:auto;padding:9px 12px;border-radius:9px;background:var(--obs-green);color:#fff;text-decoration:none;font-weight:750}.obs-public-main{padding:22px clamp(14px,5vw,70px) 60px}.obs-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.observatory-public .obs-card{padding:19px}.observatory-public .obs-metrics{grid-template-columns:repeat(4,1fr)}@media(max-width:1050px){.obs-metrics{grid-template-columns:repeat(2,1fr)}.obs-grid{grid-template-columns:1fr}.obs-wide{grid-column:auto}.obs-form-grid{grid-template-columns:repeat(2,1fr)}.obs-public-grid{grid-template-columns:1fr}}@media(max-width:650px){.observatory-app .top-actions .profile-pill,.obs-public-link{display:none}.obs-heading,.obs-card-head{align-items:flex-start;flex-direction:column}.obs-metrics,.observatory-public .obs-metrics,.obs-form-grid,.obs-two,.obs-capabilities{grid-template-columns:1fr}.obs-card{padding:14px}.obs-public-header{align-items:flex-start;flex-wrap:wrap}.obs-public-header a{margin-left:0}.obs-map{height:300px}.obs-map-large{height:60vh;min-height:340px}}
