.bar[data-v-2b2a68f6]{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);height:52px;flex:none;background:var(--color-header);color:var(--color-on-header)}h1[data-v-2b2a68f6]{margin:0;font-size:var(--text-2xl);white-space:nowrap;display:flex;align-items:center}.logo[data-v-2b2a68f6]{margin-right:var(--space-2)}.health[data-v-2b2a68f6]{color:var(--color-brand-health)}.risk[data-v-2b2a68f6]{color:var(--color-brand-risk)}.adapt[data-v-2b2a68f6]{color:var(--color-brand-adapt)}.sub[data-v-2b2a68f6]{font-size:var(--text-lg);font-weight:500;color:var(--color-on-header)}.end[data-v-2b2a68f6]{margin-left:auto;display:flex;gap:var(--space-1)}.end .bar-button[data-v-2b2a68f6-s]{display:grid;place-items:center;width:var(--control-height-sm);height:var(--control-height-sm);border:0;border-radius:var(--button-radius);background:none;color:inherit;cursor:pointer}.end .bar-button[data-v-2b2a68f6-s]:hover{background:var(--color-slate-2)}:root{color-scheme:light;--color-bg: #eef1f5;--color-surface: #ffffff;--color-fg: #2e3440;--color-muted: #4c566a;--color-border: #dce1e8;--color-control: #cdd3dc;--color-primary: #3b4252;--color-on-primary: #eceff4;--color-on-danger: #eceff4;--color-header: #3b4252;--color-on-header: #eceff4;--color-accent: #4c566a;--color-success: #a3be8c;--color-warning: #ebcb8b;--color-danger: #bf616a;--color-panel: #f6f8fa;--color-line-soft: #e5e9f0;--color-subtle: #5c6577;--color-slate-2: #4c566a;--color-mist: #d8dee9;--color-snow-muted: #c5cdd9;--color-category-1: #d08770;--color-category-2: #81a1c1;--color-category-3: #b48ead;--color-category-4: #bf616a;--color-gold: #ebcb8b;--color-sage: #7a9a62;--color-timeframe-historical: var(--color-primary);--color-timeframe-forecast: #848d9f;--timeframe-none: repeating-linear-gradient(-45deg, var(--color-snow-muted) 0 2px, transparent 2px 5px);--color-brand-health: #5793af;--color-brand-risk: #e1b37c;--color-brand-adapt: #9fa861;--font-heading: "IBM Plex Sans", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 17px;--text-2xl: 22px;--text-3xl: 24px;--text-4xl: 28px;--leading-body: 1.45;--leading-heading: 1.2;--weight-heading: 600;--heading-tracking: -.025em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius: 12px;--badge-radius: 5px;--app-min-width: 1200px;--control-height: 44px;--control-height-sm: 36px;--button-radius: 9px;--button-padding: 0 16px;--button-padding-sm: 0 12px;--button-weight: 500;--card-border: 1px solid var(--color-border);--card-padding: 18px;--card-title-size: 16px;--input-radius: 7px;--input-padding: 0 8px;--map-ramp: var(--color-gold), var(--color-category-1), var(--color-danger), var(--color-primary);--shadow-lg: 0 12px 48px rgba(46, 52, 64, .25);--color-backdrop: rgba(20, 24, 30, .42);--focus-ring: 2px solid var(--color-primary);--color-level-1: var(--color-gold);--color-level-2: var(--color-category-1);--color-level-3: var(--color-danger);--color-level-4: var(--color-category-3);--icon-xs: 12px;--icon-sm: 16px;--icon: 20px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);color:var(--color-fg);background:var(--color-bg);accent-color:var(--color-primary)}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--heading-tracking)}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.lucide{width:var(--icon);height:var(--icon);flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height-sm);padding:var(--button-padding-sm);font:inherit;font-size:var(--text-sm);font-weight:var(--button-weight);white-space:nowrap;border:1px solid var(--color-control);border-radius:var(--button-radius);background:transparent;color:var(--color-fg);cursor:pointer}.btn:hover{border-color:var(--color-slate-2)}.btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.btn.primary:hover{background:color-mix(in srgb,var(--color-primary) 85%,black)}.btn:disabled{opacity:.5;cursor:default}.card{background:var(--color-surface);border:var(--card-border);border-radius:var(--radius);padding:var(--card-padding)}.dialog{border:0;padding:0;margin:var(--space-12) auto auto;width:min(var(--dialog-width, 460px),calc(100% - 2 * var(--space-4)));max-height:calc(100vh - 2 * var(--space-12));overflow-y:auto;border-radius:var(--radius);background:var(--color-surface);color:var(--color-fg);box-shadow:var(--shadow-lg)}.dialog::backdrop{background:var(--color-backdrop)}.dialog .body{padding:var(--space-6)}.dialog header{position:relative}.dialog h2{margin:0;font-size:var(--text-2xl);padding-right:var(--space-8)}.dialog .lede{color:var(--color-muted);font-size:var(--text-sm);margin:var(--space-1) 0 var(--space-4)}.dialog:focus-visible{outline:none}.dialog .x{position:absolute;top:calc(-1 * var(--space-2));right:calc(-1 * var(--space-2));display:grid;place-items:center;width:var(--control-height-sm);height:var(--control-height-sm);padding:0;border:0;border-radius:50%;background:none;color:var(--color-subtle);cursor:pointer}.dialog .x:hover{background:var(--color-panel);color:var(--color-fg)}.dialog .actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chips button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-sm);padding:var(--button-padding-sm);font:inherit;font-size:var(--text-sm);color:var(--color-fg);border:1px solid var(--color-control);border-radius:var(--control-height);background:none;cursor:pointer}.chips button:hover{border-color:var(--color-slate-2)}.chips button[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.seg{display:flex;height:var(--control-height-sm);border:1px solid var(--color-control);border-radius:var(--button-radius);overflow:hidden}.seg button{font:inherit;font-size:var(--text-sm);font-weight:var(--button-weight);padding:var(--button-padding-sm);border:0;background:var(--color-surface);color:var(--color-muted);cursor:pointer;white-space:nowrap}.seg button+button{border-left:1px solid var(--color-control)}.seg button[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary)}.picker{display:inline-flex;align-items:center;gap:var(--space-2);max-width:420px;height:var(--control-height-sm);padding:var(--input-padding);padding-right:var(--space-2);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;border:1px solid var(--color-control);border-radius:var(--input-radius);background:var(--color-surface);color:var(--color-fg)}.picker:hover{border-color:var(--color-slate-2)}.picker .lucide{width:var(--icon-sm);height:var(--icon-sm);color:var(--color-muted)}.picker .chevron{margin-left:auto}.alert{background:var(--color-surface);border:var(--card-border);border-left:4px solid var(--color-warning);border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}.alert.danger{border-left-color:var(--color-danger)}.alert strong{display:block}.spinner{display:inline-block;width:14px;height:14px;border-radius:50%;flex:none;border:2px solid var(--color-mist);border-top-color:var(--color-primary);animation:spin .8s linear infinite}.delayed{opacity:0;animation:appear .2s var(--delay, .3s) forwards}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{to{opacity:1}}.skeleton{display:block;border-radius:var(--badge-radius);background:linear-gradient(90deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%) 0 0 / 300% 100%,var(--color-line-soft);animation:sheen 1.4s ease-in-out infinite}@keyframes sheen{0%{background-position:100% 0,0 0}to{background-position:0 0,0 0}}.progress{height:4px;border-radius:2px;background:var(--color-line-soft);overflow:hidden}.progress:before{content:"";display:block;height:100%;border-radius:inherit;background:var(--color-primary);width:calc(var(--done, 0) * 100%);transition:width .3s ease-out}.progress.unknown:before{width:35%;animation:slide 1.2s ease-in-out infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media(prefers-reduced-motion:reduce){.skeleton,.progress.unknown:before,.spinner{animation-duration:4s}}
