@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=Instrument+Serif:opsz,wght@8..12,400;8..12,600&display=swap");:root{--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--text-primary:#1b1d1f;--text-muted:#5c6771;--text-inverse:#f7f6f2;--accent:#1b6b6f;--accent-soft:rgba(27,107,111,.12);--accent-ink:#0f3f42;--accent-border:rgba(27,107,111,.25);--border:rgba(20,24,28,.12);--border-strong:rgba(20,24,28,.24);--panel:hsla(0,0%,100%,.86);--panel-soft:#f0ede8;--panel-contrast:#e6f0f0;--shadow-soft:0 12px 28px rgba(16,20,24,.08);--gradient:linear-gradient(120deg,#0f766e,#1b6b6f 42%,#e28b6c);--page-bg:#f6f3ef;--page-glow-a:rgba(15,118,110,.12);--page-glow-b:hsla(16,67%,65%,.12);--page-wash-a:hsla(0,0%,100%,.6);--page-wash-b:hsla(34,28%,95%,.9);--font-body:"Instrument Sans",system-ui,sans-serif;--font-display:"Instrument Serif","Times New Roman",serif;color-scheme:light;font-family:var(--font-body)}:root,[data-theme=dark]{background:var(--page-bg)}[data-theme=dark]{--text-primary:#e6e9ec;--text-muted:#9aa6b1;--text-inverse:#111418;--accent:#5fd1c7;--accent-soft:rgba(95,209,199,.12);--accent-ink:#c9f2ee;--accent-border:rgba(95,209,199,.28);--border:rgba(148,163,184,.18);--border-strong:rgba(148,163,184,.32);--panel:rgba(10,14,18,.82);--panel-soft:#14181c;--panel-contrast:#1b232a;--shadow-soft:0 18px 40px rgba(4,6,8,.55);--gradient:linear-gradient(120deg,#0f766e,#155e75 45%,#b45309);--page-bg:#0b0f12;--page-glow-a:rgba(95,209,199,.12);--page-glow-b:rgba(255,168,120,.08);--page-wash-a:rgba(12,16,20,.85);--page-wash-b:rgba(11,15,18,.98);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;color:var(--text-primary);background:radial-gradient(circle at 12% 12%,var(--page-glow-a),transparent 45%),radial-gradient(circle at 86% 8%,var(--page-glow-b),transparent 40%),linear-gradient(180deg,var(--page-wash-a),var(--page-wash-b)),var(--page-bg)}img{max-width:100%}a{text-decoration:none}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:var(--panel-soft);padding:2px 6px;border-radius:6px;border:1px solid var(--border);font-size:.85em}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}.app-shell{max-width:1120px;margin:0 auto;padding:32px 28px 96px}.top-bar-wrap{position:-webkit-sticky;position:sticky;top:20px;z-index:10}.top-bar{justify-content:space-between;gap:20px;padding:16px 20px;border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand,.top-bar{display:flex;align-items:center}.brand{gap:12px}.brand-icon{width:28px;height:28px;color:var(--accent)}.brand-title{font-size:20px;font-weight:700}.brand-subtitle{color:var(--text-muted);font-size:13px}.actions{display:inline-flex;align-items:center;gap:12px;padding-left:16px;border-left:1px solid var(--border)}.greeting{padding:9px 14px;border-radius:999px;border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent-ink);font-weight:600;font-size:13px;letter-spacing:.01em;line-height:1.2}.user-menu{position:relative}.user-menu__toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.user-menu__toggle::-webkit-details-marker{display:none}.user-menu__chevron{width:16px;height:16px;transition:transform .2s ease}.user-menu[open] .user-menu__chevron{transform:rotate(180deg)}.user-menu__panel{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;padding:8px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-soft);display:grid;grid-gap:6px;gap:6px;z-index:5}.user-menu__item{border-radius:10px;padding:8px 10px;color:var(--text-primary);font-weight:600;font-size:13px;background:transparent;border:1px solid transparent;text-align:left;cursor:pointer;font-family:inherit;line-height:1.2}.user-menu__item:hover{border-color:var(--border);background:var(--panel-contrast)}.user-menu__item:focus-visible,.user-menu__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav,.nav-actions,.nav-links{display:inline-flex;align-items:center;gap:8px}.nav-toggle{display:none;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--panel);color:var(--text-primary);font-weight:700;font-size:13px;cursor:pointer}.nav-toggle-text{letter-spacing:.01em}.nav-toggle-icon{display:inline-flex;flex-direction:column;gap:4px}.nav-toggle-icon span{width:18px;height:2px;border-radius:999px;background:currentColor}.nav-link{padding:9px 14px;border-radius:999px;border:1px solid transparent;color:var(--text-muted);font-weight:600;font-size:13px;transition:border-color .15s ease,color .15s ease,background .15s ease;display:inline-flex;align-items:center;gap:8px}.nav-link svg{width:16px;height:16px}.nav-link:hover{color:var(--text-primary);border-color:var(--border);background:var(--panel-contrast)}.nav-link.is-active{color:var(--accent);border-color:var(--border-strong);background:var(--accent-soft)}.button{padding:10px 16px;border-radius:999px;border:1px solid var(--border-strong);background:var(--panel);color:var(--accent);font-weight:700;cursor:pointer;transition:background .15s ease,transform .1s ease,border-color .15s ease}.button:hover{background:var(--panel-soft)}.button:active{transform:translateY(1px)}.button:disabled{opacity:.6;cursor:not-allowed}.icon-button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text-primary);font-weight:700;font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease,color .15s ease}.icon-button:hover{background:var(--panel-soft)}.icon-button:active{transform:translateY(1px)}.section{display:flex;flex-direction:column;gap:28px;margin-top:28px}.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.section-header h2{font-size:20px}.section-header p{color:var(--text-muted)}.grid{display:grid;grid-gap:24px;gap:24px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:transparent;border-radius:0;border:0;padding:24px 0;box-shadow:none;display:grid;grid-gap:16px;gap:16px}.card h3{font-size:20px}.card p{color:var(--text-muted)}.card-title{font-size:20px}.card-title-row{display:inline-flex;align-items:center;gap:10px}.card-title-row .icon-muted svg{width:18px;height:18px}.card-subtitle{color:var(--text-muted);font-size:14px;margin-top:4px}.card-body{display:grid;grid-gap:16px;gap:16px}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.card-header .pill{padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600}.card .metric{font-size:28px;font-weight:700}.card .trend{display:inline-flex;align-items:center;gap:4px;font-weight:600}.card .trend.positive{color:#16a34a}.card .trend.negative{color:#dc2626}.badge{padding:6px 12px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:6px}.badge.positive{border-color:rgba(22,163,74,.4);color:#15803d;background:rgba(22,163,74,.1)}.badge.negative{border-color:rgba(220,38,38,.4);color:#b91c1c;background:rgba(220,38,38,.1)}.badge.warn{border-color:rgba(245,158,11,.4);color:#b45309;background:rgba(245,158,11,.12)}.badge-dot{width:8px;height:8px;border-radius:999px}.list{display:grid;grid-gap:10px;gap:10px;padding-left:18px}.list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:var(--radius-sm);background:var(--panel-soft);border:1px solid var(--border)}.list-item strong{font-weight:600}.panel{border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:20px}.panel h3{font-size:18px}.page{margin-top:24px;display:flex;flex-direction:column;gap:24px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.page-heading h1{font-size:34px}.page-heading p{color:var(--text-muted);max-width:560px;font-size:16px}.page-heading__meta{display:flex;flex-wrap:wrap;gap:10px}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px}.hero-card{border-radius:var(--radius-lg);padding:20px;background:var(--gradient);color:var(--text-inverse);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:12px}.hero-card h2{font-size:24px}.hero-card button{margin-top:auto;align-self:flex-start}.card-grid{display:grid;grid-gap:16px;gap:16px}.card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.chart{height:220px;border-radius:var(--radius-md);border:1px dashed var(--border-strong);display:grid;place-items:center;color:var(--text-muted)}.summary-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.summary-chip{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--border);font-size:14px}.summary-chip strong{font-weight:600}.summary-chip .hint{color:var(--text-muted)}.progress{width:100%;height:10px;border-radius:999px;background:var(--panel-soft);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--gradient)}.settings-group,.sidebar{display:flex;flex-direction:column;gap:16px}.settings-group label{font-weight:600;font-size:14px}.input{border-radius:10px;border:1px solid var(--border);padding:10px 12px;font-size:14px;background:var(--panel);color:var(--text-primary)}.textarea{min-height:140px;resize:vertical}.input:focus{outline:2px solid var(--accent-border)}.form-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.field{display:flex;flex-direction:column;gap:8px}.field label{font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.field-hint{font-size:12px;color:var(--text-muted)}.form-actions{display:flex;align-items:center;gap:12px}.form-status{font-size:13px;color:var(--text-muted)}.form-status.warn{color:#b91c1c}.icon-button__glyph{font-size:14px}.icon-button__label{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.sync{display:flex;flex-direction:column;gap:6px}.sync-message{font-size:12px;color:var(--text-muted)}.sync-message.done{color:#15803d}.sync-message.error{color:#b91c1c}.sync-message.running{color:var(--accent)}.small-copy{color:var(--text-muted);font-size:13px}.toggle{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--panel-soft)}.toggle button{border:0;background:none;color:var(--accent);font-weight:600;cursor:pointer}.list-divider{height:1px;background:var(--border)}.callout{padding:16px;border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.callout strong{font-size:15px}.callout.warn{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.1);color:#92400e}.table{width:100%;border-collapse:collapse;font-size:14px}.table td,.table th{padding:10px 12px;border-bottom:1px solid var(--border)}.table th{text-align:left;color:var(--text-muted);font-weight:600}.alert,.table tbody tr:hover{background:var(--panel-soft)}.alert{padding:14px;border-radius:var(--radius-md);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.alert h4{font-size:16px}.notice{padding:16px;border-radius:var(--radius-md);background:var(--accent-soft);font-weight:600}.notice,.notice p{color:var(--accent-ink)}.notice p{font-weight:500}.muted{color:var(--text-muted)}.warn{color:#b91c1c}.hint{color:var(--text-muted);font-size:12px}.stack{display:flex;flex-direction:column;gap:12px}.list-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.chip,.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text-primary);font-size:12px;font-weight:600}.chip.muted,.pill.muted{color:var(--text-muted)}.chip.warn,.pill.warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#b45309}.chip.good{background:rgba(22,163,74,.1);border-color:rgba(22,163,74,.4);color:#15803d}.chip.attention{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.35);color:#b91c1c}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-weight:600}.stat{display:flex;flex-direction:column;gap:6px;padding:4px 0}.stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-weight:600}.stat-label-row{display:inline-flex;align-items:center;gap:8px}.icon-muted{display:inline-flex;color:var(--text-muted)}.icon-muted svg{width:16px;height:16px}.stat-value{font-size:clamp(20px,2vw,28px);font-weight:600;letter-spacing:-.02em}.summary-strip{display:flex;flex-wrap:wrap;gap:10px}.glance-grid{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.glance-block{display:flex;flex-direction:column;gap:10px;padding:18px 0;border-top:1px solid var(--border)}.glance-block__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.glance-title-row{display:inline-flex;align-items:center;gap:8px}.glance-title{font-size:14px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-weight:600}.glance-value{font-size:42px;font-weight:600;letter-spacing:-.02em}.delta{font-size:12px;font-weight:700;padding:4px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.delta.positive{border-color:rgba(22,163,74,.4);color:#15803d;background:rgba(22,163,74,.1)}.delta.negative{border-color:rgba(220,38,38,.35);color:#b91c1c;background:rgba(220,38,38,.1)}.delta.warn{border-color:rgba(245,158,11,.4);color:#b45309;background:rgba(245,158,11,.12)}.change-list{display:grid;grid-gap:16px;gap:16px;list-style:none;padding:0}.change-item{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-top:1px solid var(--border)}.change-meta{display:flex;gap:8px;flex-wrap:wrap}.lever-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lever-card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel)}.lever-title{font-size:18px}.lever-why{color:var(--text-muted);font-size:14px}.code-summary,.raw-toggle summary{cursor:pointer;font-weight:600;color:var(--text-primary)}.code-block{background:var(--panel-soft);border-radius:var(--radius-md);padding:14px;font-size:12px;overflow:auto;border:1px solid var(--border)}.code-details,.raw-toggle{display:flex;flex-direction:column;gap:12px}.code-details[open] summary,.raw-toggle[open] summary{color:var(--accent)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.sparkline{width:100%;height:70px}.sparkline polyline{fill:none;stroke:var(--accent);stroke-width:2;opacity:.8}.section>.card{border-top:1px solid var(--border)}.section>.card:first-child{border-top:none;padding-top:0}.section>.card:last-child{padding-bottom:0}.section>*{animation:rise .6s ease both}.section>:nth-child(2){animation-delay:.04s}.section>:nth-child(3){animation-delay:.08s}.section>:nth-child(4){animation-delay:.12s}.section>:nth-child(5){animation-delay:.16s}.section>:nth-child(6){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.section>*{animation:none}}.pill-row{display:flex;flex-wrap:wrap;gap:10px}.inline-pill{padding:6px 12px;border-radius:999px;background:var(--panel-soft);border:1px solid var(--border);font-size:12px;font-weight:600}footer{margin-top:40px;padding:20px 0;text-align:center;color:var(--text-muted);font-size:13px}.page-spacing{display:flex;flex-direction:column;gap:16px}.pulse{position:relative;width:12px;height:12px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 rgba(22,163,74,.3);animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.4)}70%{box-shadow:0 0 0 12px rgba(22,163,74,0)}to{box-shadow:0 0 0 0 rgba(22,163,74,0)}}.table-row{display:grid;grid-template-columns:120px 1fr;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.table-row strong{font-weight:600;color:var(--text-muted)}.placeholder{padding:18px;border-radius:var(--radius-md);border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center}.hero-banner{border-radius:var(--radius-md);border:1px solid var(--border);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--panel)}.hero-banner-content{display:flex;flex-direction:column;gap:6px}.hero-banner-actions{display:flex;align-items:center;gap:10px}.hero-banner-actions button{margin:0}.dialog{width:min(560px,90vw);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-soft);padding:20px;display:flex;flex-direction:column;gap:20px}.dialog h3{font-size:20px}.dialog p{color:var(--text-muted)}.modal-actions{display:flex;gap:12px;justify-content:flex-end}@media (max-width:860px){.top-bar{flex-direction:column;align-items:flex-start}.brand{width:100%}.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.page{padding-bottom:40px}}@media (max-width:720px){.app-shell{padding:24px 16px 64px}.top-bar-wrap{position:static}.top-bar{padding:14px;gap:14px}.nav{width:100%;flex-direction:column;align-items:flex-start;gap:12px}.nav-toggle{display:inline-flex;width:100%;justify-content:space-between}.nav-links{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:none;padding:14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel-soft);gap:10px}.nav.is-open .nav-links{display:grid}.nav-link{padding:12px 14px;border-color:var(--border);background:var(--panel);text-align:center}.nav-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.actions,.nav-actions>*{width:100%}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;justify-content:stretch;padding-left:0;border-left:0}.actions>*{width:100%}.actions .button,.actions .greeting,.actions .icon-button{display:inline-flex;align-items:center;justify-content:center}.actions .user-menu{grid-column:1/-1}.actions .user-menu__toggle{width:100%;justify-content:space-between;text-align:left}.actions .greeting{grid-column:1/-1;text-align:left;justify-content:flex-start}.user-menu__panel{left:0;right:0;min-width:0;position:static;box-shadow:none;border-top:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md)}.page-heading{flex-direction:column;align-items:flex-start;gap:12px}.page-heading h1{font-size:28px}.page-heading__meta{width:100%}.page-heading p{font-size:15px}.section{gap:16px}.card{padding:20px 0}.card-header{flex-direction:column;align-items:flex-start}.card h3{font-size:16px}.card .metric{font-size:24px}.table-row{grid-template-columns:1fr;gap:6px}.hero-banner{flex-direction:column;align-items:flex-start}.hero-banner-actions{width:100%;justify-content:flex-start}}@media (max-width:560px){.card-grid.cols-2,.card-grid.cols-3,.hero,.kpi-grid{grid-template-columns:1fr}.dialog{padding:16px}.modal-actions{flex-direction:column;width:100%}.modal-actions button{width:100%}}