.chart-canvas--compact[data-v-8fc4f0b5]{height:180px;min-height:180px}.chart-canvas--tall[data-v-4ca79ed0]{height:340px;min-height:340px}.chart-ath-atl-row[data-v-27f11f82]{display:flex;gap:4px;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--muted);padding:4px var(--space-panel) 8px}.ath-atl-label[data-v-27f11f82]{font-weight:600;color:var(--text)}.ath-atl-sep[data-v-27f11f82]{opacity:.4}.decade-card[data-v-a7774df7]{display:flex;flex-direction:column;gap:14px}.decade-group[data-v-a7774df7]{display:flex;flex-direction:column;gap:4px}.decade-group-title[data-v-a7774df7]{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.decade-row[data-v-a7774df7]{display:flex;align-items:center;gap:8px;font-size:.8rem}.decade-era[data-v-a7774df7]{width:40px;flex-shrink:0;color:var(--muted)}.decade-track[data-v-a7774df7]{flex:1;height:6px;background:var(--line);border-radius:3px;overflow:hidden}.decade-fill[data-v-a7774df7]{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.decade-val[data-v-a7774df7]{width:64px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.delta-up[data-v-a7774df7]{color:var(--ok)}.delta-down[data-v-a7774df7]{color:var(--err)}.market-sector-heatmap[data-v-ca622ef5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--space-panel, 8px);padding:var(--space-panel, 12px)}.market-sector-heatmap-tile[data-v-ca622ef5]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;border:1px solid var(--line);border-radius:var(--radius-soft);background:transparent;cursor:pointer;text-align:center;transition:border-color .15s}.market-sector-heatmap-tile[data-v-ca622ef5]:hover{border-color:var(--accent)}.market-sector-heatmap-name[data-v-ca622ef5]{font-size:.75rem;color:var(--text);font-weight:500}.market-sector-heatmap-change[data-v-ca622ef5]{font-size:.8rem;font-weight:600}.delta-up[data-v-ca622ef5]{color:var(--ok)}.delta-down[data-v-ca622ef5]{color:var(--err)}.market-sector-heatmap[data-v-dd76185c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--space-panel, 8px);padding:var(--space-panel, 12px)}.market-sector-heatmap-tile[data-v-dd76185c]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;border:1px solid var(--line);border-radius:var(--radius-soft);background:transparent;cursor:pointer;text-align:center;transition:border-color .15s}.market-sector-heatmap-tile[data-v-dd76185c]:hover{border-color:var(--accent)}.market-sector-heatmap-name[data-v-dd76185c]{font-size:.75rem;color:var(--text);font-weight:500}.market-sector-heatmap-change[data-v-dd76185c]{font-size:.8rem;font-weight:600}.delta-up[data-v-dd76185c]{color:var(--ok)}.delta-down[data-v-dd76185c]{color:var(--err)}.bonds-cards-grid[data-v-7a1e51df]{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:640px){.bonds-cards-grid[data-v-7a1e51df]{grid-template-columns:repeat(2,1fr)}}.bond-card[data-v-7a1e51df]{border-radius:8px;padding:0;background:var(--panel-strong);display:flex;flex-direction:column;height:100%;box-sizing:border-box}.bond-card-body[data-v-7a1e51df]{border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0 0 8px 8px;flex:1;display:flex;flex-direction:column}.bond-card-header[data-v-7a1e51df]{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:.4rem;padding:.6rem 1rem 0}.bond-card-name[data-v-7a1e51df]{font-size:.85rem;font-weight:600;color:var(--text)}.bond-card-symbol[data-v-7a1e51df]{font-size:.7rem;font-weight:600;color:var(--muted);white-space:nowrap}.bond-top-bar[data-v-7a1e51df]{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.28em .7em;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;white-space:nowrap;border-radius:8px 8px 0 0}.bond-top-bar.basis-FIXED[data-v-7a1e51df]{background:var(--accent)}.bond-top-bar.basis-CPI[data-v-7a1e51df]{background:var(--ok)}.bond-top-bar.basis-NBP_REF[data-v-7a1e51df]{background:var(--gold)}.bond-top-bar-family[data-v-7a1e51df]{font-size:.58rem;font-weight:700;padding:.1em .35em;border-radius:3px;background:#0000002e;letter-spacing:.04em}.bond-card-dl[data-v-7a1e51df]{margin:0;display:flex;flex-direction:column;gap:.2rem;padding:.5rem 1rem;flex:1}.bond-dl-row[data-v-7a1e51df]{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.8rem;line-height:1.4}.bond-dl-row dt[data-v-7a1e51df]{color:var(--muted);flex-shrink:0}.bond-dl-row dd[data-v-7a1e51df]{margin:0;text-align:right;font-variant-numeric:tabular-nums}.bond-highlight[data-v-7a1e51df]{font-weight:600;font-size:.9rem}.bond-rate-value[data-v-7a1e51df]{color:var(--ok)}.bond-card-footer[data-v-7a1e51df]{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding:.5rem 1rem;border-top:1px solid var(--line)}.bond-link-btn[data-v-7a1e51df]{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;padding:.2em .55em;border-radius:4px;border:1px solid var(--border);color:var(--muted);text-decoration:none;transition:color .15s,border-color .15s}.bond-link-btn[data-v-7a1e51df]:hover{color:var(--text);border-color:var(--muted)}.bond-link-pdf[data-v-7a1e51df]{color:var(--err);border-color:var(--err);opacity:.7}.bond-link-pdf[data-v-7a1e51df]:hover{opacity:1;color:var(--err);border-color:var(--err)}.bond-link-right[data-v-7a1e51df]{margin-left:auto}.bonds-period-badge[data-v-7a1e51df]{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:.15em .55em;white-space:nowrap;align-self:center}.bonds-explainer[data-v-7a1e51df]{display:flex;flex-direction:column;gap:.6rem;font-size:.8rem;line-height:1.6;color:var(--muted)}.bonds-explainer p[data-v-7a1e51df]{margin:0}.bonds-explainer strong[data-v-7a1e51df]{color:var(--text);font-weight:600}.bonds-state-msg[data-v-7a1e51df]{padding:1rem;color:var(--muted);font-size:.9rem}.bonds-bar-canvas[data-v-7a1e51df]{min-height:180px;height:180px}@media(min-width:600px){.bonds-bar-canvas[data-v-7a1e51df]{min-height:220px;height:220px}}.bonds-history-select[data-v-7a1e51df]{max-width:240px}.bonds-cpi-panel[data-v-7a1e51df]{padding-bottom:.75rem}.bonds-cpi-body[data-v-7a1e51df]{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:.5rem 1rem .25rem}.bonds-cpi-value[data-v-7a1e51df]{font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.bonds-cpi-value--mom[data-v-7a1e51df]{text-align:right}.bonds-cpi-label[data-v-7a1e51df]{font-size:.7rem;font-weight:600;letter-spacing:.04em;color:var(--muted);vertical-align:baseline;margin-left:2px}.cpi-positive[data-v-7a1e51df]{color:var(--err)}.cpi-target[data-v-7a1e51df]{color:var(--ok)}.commodity-kpi[data-v-752b212e]{display:flex;flex-direction:column;gap:8px}.commodity-kpi-value[data-v-752b212e]{font-size:1.35rem;font-weight:700;letter-spacing:-.01em}.commodity-kpi-note[data-v-752b212e]{font-size:.78rem;color:var(--text-muted, #888);line-height:1.45;margin:0}.jobs-list[data-v-bd4172f4]{display:flex;flex-direction:column;gap:12px;padding:4px 0}.job-card[data-v-bd4172f4]{background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius-card);padding:14px 16px 12px;display:flex;flex-direction:column;gap:6px;transition:opacity .2s}.job-card__header[data-v-bd4172f4]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.job-card__title-group[data-v-bd4172f4]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.job-card__name[data-v-bd4172f4]{font-family:monospace;font-size:.95rem;font-weight:600;color:var(--text)}.job-badge[data-v-bd4172f4]{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:20px}.job-badge--toggle[data-v-bd4172f4]{cursor:pointer;border:none;font-family:inherit;transition:filter .15s}.job-badge--toggle[data-v-bd4172f4]:hover:not(:disabled){filter:brightness(1.15)}.job-badge--toggle[data-v-bd4172f4]:disabled{opacity:.5;cursor:not-allowed}.job-badge--enabled[data-v-bd4172f4]{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.job-badge--disabled[data-v-bd4172f4]{background:color-mix(in srgb,var(--muted) 15%,transparent);color:var(--muted)}.job-card__actions[data-v-bd4172f4]{display:flex;gap:8px;flex-shrink:0}.job-card__desc[data-v-bd4172f4]{font-size:.85rem;color:var(--muted);margin:0}.job-card__cron-row[data-v-bd4172f4]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem}.job-card__meta-label[data-v-bd4172f4]{color:var(--muted);white-space:nowrap}.job-cron-value[data-v-bd4172f4]{font-family:monospace;font-size:.85rem;color:var(--text);background:color-mix(in srgb,var(--muted) 10%,transparent);padding:2px 6px;border-radius:4px}.job-cron-input[data-v-bd4172f4]{font-family:monospace;font-size:.85rem;padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);width:180px}.job-cron-input[data-v-bd4172f4]:focus{outline:2px solid var(--accent);outline-offset:1px}.job-cron-input--error[data-v-bd4172f4]{border-color:#e05}.job-cron-error[data-v-bd4172f4]{font-size:.78rem;color:#e05;flex-basis:100%}.job-card__last[data-v-bd4172f4]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.83rem}.job-card__meta-muted[data-v-bd4172f4]{color:var(--muted)}.job-exec-line[data-v-bd4172f4]{font-size:.83rem;font-weight:500}.job-status--ok[data-v-bd4172f4],.job-exec-line.job-status--ok[data-v-bd4172f4]{color:var(--ok)}.job-status--err[data-v-bd4172f4],.job-exec-line.job-status--err[data-v-bd4172f4]{color:var(--err)}.job-status--running[data-v-bd4172f4],.job-exec-line.job-status--running[data-v-bd4172f4]{color:var(--accent)}.job-card__error-msg[data-v-bd4172f4]{color:var(--err);font-size:.8rem;font-family:monospace}.job-card__action-error[data-v-bd4172f4]{color:var(--err);font-size:.83rem;margin:2px 0 0}.btn[data-v-bd4172f4]{cursor:pointer;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);padding:5px 12px;font-size:.82rem;font-weight:500;line-height:1.4;transition:background .15s,opacity .15s;white-space:nowrap}.btn[data-v-bd4172f4]:hover:not(:disabled){background:color-mix(in srgb,var(--muted) 12%,var(--panel))}.btn[data-v-bd4172f4]:disabled{opacity:.5;cursor:not-allowed}.btn--sm[data-v-bd4172f4]{padding:3px 10px;font-size:.78rem}.btn--accent[data-v-bd4172f4]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn--running[data-v-bd4172f4]{background:var(--err, #c0392b);color:#fff;border-color:var(--err, #c0392b);cursor:default}.btn--accent[data-v-bd4172f4]:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}button{background:transparent;border:none;cursor:pointer}input[type=checkbox],input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}@layer utilities{@media(max-width:500px){.hide-xs{display:none}}@media(max-width:640px){.hide-sm{display:none}}@media(max-width:768px){.hide-md{display:none}}@media(max-width:1024px){.hide-lg{display:none}}@media(max-width:1300px){.hide-xl{display:none}}.hide-below-xs,.hide-below-sm,.hide-below-md,.hide-below-lg,.hide-below-xl{display:none}@media(min-width:500px){.hide-below-xs{display:revert-layer}}@media(min-width:640px){.hide-below-sm{display:revert-layer}}@media(min-width:768px){.hide-below-md{display:revert-layer}}@media(min-width:1100px){.hide-below-lg{display:revert-layer}}@media(min-width:1300px){.hide-below-xl{display:revert-layer}}.show-xs-only,.show-sm-only,.show-md-only,.show-lg-only,.show-xl-only{display:none}@media(max-width:500px){.show-xs-only{display:revert-layer}}@media(max-width:640px){.show-sm-only{display:revert-layer}}@media(max-width:768px){.show-md-only{display:revert-layer}}@media(max-width:1024px){.show-lg-only{display:revert-layer}}@media(max-width:1300px){.show-xl-only{display:revert-layer}}@media(max-width:500px){.hide-xs-only{display:none}}}.is-loading{opacity:.58;filter:saturate(.65);pointer-events:none;transition:opacity .14s ease,filter .14s ease}:root{color-scheme:light;--bg: #f4efe7;--bg-deep: #10324a;--panel: #fffcf7;--panel-strong: #fffaf2;--text: #173042;--muted: #637a8e;--line: rgba(23, 48, 66, .12);--accent: #1f6feb;--accent-dark: #164d9c;--gold: #b7791f;--ok: #1c7c54;--err: #b42318;--shadow: 0 20px 60px rgba(16, 50, 74, .12);--radius-panel: 16px;--radius-card: 12px;--radius-soft: 10px;--hero-lead: #213e56;--space-page: 10px;--space-stack: 8px;--space-panel: 10px;--space-hero: 8px;--space-controls: 7px}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1a24;--bg-deep: #08131b;--panel: #12212e;--panel-strong: #172b3b;--text: #e9f2f9;--muted: #9cb5c9;--line: rgba(156, 181, 201, .2);--accent: #63a4ff;--accent-dark: #3d82dc;--gold: #d8a74b;--ok: #48bf8d;--err: #ef6a5b;--shadow: 0 20px 60px rgba(0, 0, 0, .35);--hero-lead: #d2e6f6}:root[data-theme=dark] select{color-scheme:dark;background-color:var(--panel-strong);color:var(--text)}:root[data-theme=dark] option{background-color:var(--panel-strong);color:var(--text)}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(255,214,102,.35),transparent 28%),radial-gradient(circle at top right,rgba(31,111,235,.18),transparent 26%),linear-gradient(180deg,#f8f4ed,#eef4f8);font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;color:var(--text);padding:var(--space-page);position:relative}body:before{content:"";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) translateZ(0);width:100vmax;height:100vmax;background:url(/images/logo.png) center / contain no-repeat;opacity:.028;pointer-events:none;z-index:0;will-change:auto}:root[data-theme=dark] body{background:radial-gradient(circle at top left,rgba(89,149,255,.18),transparent 35%),radial-gradient(circle at top right,rgba(216,167,75,.1),transparent 32%),linear-gradient(180deg,#101b25,#0a1118)}.app-shell{max-width:1280px;margin:0 auto;display:grid;gap:var(--space-stack);min-width:0;transition:max-width .14s ease-out}.app-header{display:grid;gap:var(--space-stack);min-width:0}html.layout-wide .app-shell{max-width:1800px}html.disable-transitions .app-shell,html.disable-transitions *{transition:none!important}.app-section{display:grid;gap:var(--space-stack);min-width:0}.site-footer{border-top:1px solid rgba(23,48,66,.14);margin-top:6px;padding:12px 4px 4px;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;color:var(--muted);min-width:0}.site-footer-main{display:flex;align-items:center;gap:2px}.site-footer-brand{font-size:.74rem}.data-date-note{font-size:.7rem;color:var(--muted);opacity:.75;letter-spacing:.01em;white-space:nowrap;align-self:center}.site-footer-meta{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;font-size:.74rem;margin-left:auto}:root[data-theme=dark] .site-footer{border-top-color:#9cb5c938}:root[data-theme=dark] h1{background:linear-gradient(110deg,#5ba3d0,#38bdf8,#2dd4bf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[hidden]{display:none!important}.app-section[hidden]{display:none}.hero,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow);min-width:0}.hero{display:grid;grid-template-columns:1fr;gap:14px;padding:var(--space-hero)}.hero-topline{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;padding-inline:6px}.hero-links-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.display-controls{display:inline-flex;align-items:center;gap:4px;order:-1;margin-right:auto}.display-toggle{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;width:28px;height:28px;padding:0;font-size:.95rem;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}:root[data-theme=dark] .display-toggle{color:#d3e7f7}.display-toggle[aria-pressed=true],.display-toggle[data-section-target][aria-pressed=true]{border-color:#63a4ff8c;background:#63a4ff1f}.display-toggle:hover{border-color:#63a4ff80;background:#63a4ff1a;transform:translateY(-1px)}.brand-row{display:flex;align-items:center;gap:12px}.brand-intro{display:flex;align-items:center;gap:12px;min-width:0}.logo{width:48px;height:48px;object-fit:contain;cursor:pointer}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.4rem,4vw,2rem);line-height:1;white-space:nowrap;font-variant:small-caps;letter-spacing:.04em;background:linear-gradient(110deg,#0d3b5e,#1a6fa0,#0d9488);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:clamp(1.3rem,2vw,1.75rem)}h3{font-size:1.05rem}.hero-lead{display:block;max-width:62ch;font-size:.78rem;font-variant:small-caps;letter-spacing:.06em;color:var(--muted);font-weight:500}.hero-quote-text{margin:0}.hero-quote-author-inline{white-space:nowrap;font-weight:inherit;color:inherit}.user-info{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;color:#466177;font-size:.92rem}.auth-links{display:inline-flex;align-items:center;gap:6px}.top-nav{display:inline-flex;flex-wrap:wrap;gap:4px}.top-nav-link{position:relative;display:inline-flex;align-items:center;text-decoration:none;color:#4f6b81;padding:2px;font:inherit;line-height:1.2;cursor:pointer;transition:color .16s ease}.top-nav-link:hover{color:var(--text)}.top-nav-link.is-active{color:var(--text);font-weight:700}.auth-link{text-decoration:none;color:#2d5878;font-weight:600;line-height:1;transition:color .16s ease}.auth-link:hover{color:#153952}.user-profile{display:inline-flex;align-items:center;gap:8px}.user-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;object-fit:cover;flex-shrink:0}.user-menu-wrap{position:relative}.user-menu-trigger{display:flex;flex-direction:row;gap:8px;align-items:center;background:none;border:none;padding:0;font:inherit;cursor:pointer}.user-text{display:flex;flex-direction:column;align-items:flex-start}.user-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.user-name{font-size:.8rem;font-weight:600;color:var(--text);line-height:1.2}.user-email-display{font-size:.8rem;font-weight:600;color:#2d5878;line-height:1.2}:root[data-theme=dark] .user-email-display{color:#6aa1c8}.user-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius-soft);box-shadow:var(--shadow);min-width:140px;z-index:200;display:flex;flex-direction:column;overflow:hidden}.user-menu-item{display:block;width:100%;padding:10px 16px;background:none;border:none;text-align:left;cursor:pointer;font:inherit;font-size:.85rem;color:var(--text);text-decoration:none;transition:background-color .12s ease}.user-menu-item:hover{background:var(--line)}.user-menu-item--danger{color:var(--err)}.user-menu-item--danger:hover{background:#b4231814}:root[data-theme=dark] .user-menu-item--danger:hover{background:#ef6a5b1f}.btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-soft);border:1px solid transparent;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn-danger{background:transparent;color:var(--err);border-color:var(--err)}.btn-sm{padding:2px 7px;font-size:.72rem}.btn-icon{padding:2px 5px;line-height:1}.btn-trash{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:2px 4px;cursor:pointer;color:var(--err, #b42318);opacity:1;transition:opacity .12s ease;line-height:1}.btn-trash:hover:not(:disabled){opacity:1}.btn-trash:disabled{opacity:.25;cursor:not-allowed}.btn-danger:hover{background:#b4231814}:root[data-theme=dark] .btn-danger:hover{background:#ef6a5b1f}.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn-ghost:hover{background:var(--line)}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.status{font-weight:700}.panel{padding:var(--space-panel);display:grid;gap:var(--space-stack)}.panel-muted{background:#f7f9fc}:root[data-theme=dark] .panel-muted{background:linear-gradient(180deg,#1d2936,#121c26);border-color:#63a4ff2e;color:#e9f2f9}.public-analytics-grid{display:grid;gap:var(--space-stack)}.panel-analytics{min-width:0}.panel-chart{gap:var(--space-controls)}.chart-ath-atl-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.76rem;color:var(--muted);padding:4px 0 0}.ath-atl-label{font-weight:600;color:var(--text-secondary, var(--muted))}.ath-atl-sep{color:var(--muted);opacity:.5}.analytics-col-charts,.analytics-col-tables{display:flex;flex-direction:column;gap:var(--space-stack);min-width:0}.panel-description{font-size:.82rem;color:var(--muted);line-height:1.5;margin:0;text-align:center}.indicator-country-tag{font-size:.72rem;font-weight:400;color:var(--muted);margin-left:6px;vertical-align:middle}.indicator-country-tag:not(:empty):before{content:"— "}.td-symbol-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px;background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:4px}.td-symbol-bar-spacer{margin-left:auto;display:flex;align-items:center}.td-symbol-search-wrap{position:relative}.td-symbol-input{min-width:340px;padding:5px 10px;font-size:.95rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);outline:none}.td-symbol-input:focus{border-color:var(--accent, #1f6feb);box-shadow:0 0 0 2px #1f6feb1f}.td-symbol-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;max-width:360px;max-height:260px;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0000002e;list-style:none;margin:0;padding:4px 0;z-index:200}.td-symbol-dropdown li{padding:8px 14px;cursor:pointer;font-size:.9rem;display:flex;gap:8px;align-items:baseline}.td-symbol-dropdown li:hover,.td-symbol-dropdown li[aria-selected=true]{background:var(--hover, rgba(31,111,235,.08))}.td-symbol-dropdown-ticker{font-weight:700;color:var(--text);white-space:nowrap}.td-symbol-dropdown-name{font-weight:400;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-symbol-dropdown-type{font-size:.76rem;color:var(--muted);margin-left:auto;white-space:nowrap}.td-symbol-dropdown-empty{padding:10px 14px;font-size:.88rem;color:var(--muted);text-align:center}.td-symbol-tag{font-size:.85rem;font-weight:600;color:var(--text);background:var(--hover, rgba(31,111,235,.08));border:1px solid var(--line);border-radius:5px;padding:3px 10px;white-space:nowrap;max-width:340px;overflow:hidden;text-overflow:ellipsis}.section-header{display:grid;gap:var(--space-controls);align-items:center;min-width:0}.section-header h2{font-size:clamp(1rem,1.5vw,1.3rem)}.panel-period-badge{font-size:.7rem;font-weight:500;color:var(--muted);background:var(--bg-alt, rgba(128,128,128,.08));border-radius:4px;padding:1px 6px;white-space:nowrap;align-self:center;margin-left:auto}.section-header-meta{font-size:.75rem;font-weight:400;color:var(--muted);white-space:nowrap}.section-header-with-controls{grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center}.section-header-with-controls>h2,.section-header-with-controls>.chart-title-row{grid-column:1;grid-row:1}.section-header-with-controls>.chart-expand-btn{grid-column:2;grid-row:1;align-self:center}.section-header-with-controls>.chart-controls{grid-column:1 / -1;grid-row:2}.section-header:has(>.chart-expand-btn){grid-template-columns:1fr auto;grid-template-rows:auto auto}.section-header:has(>.chart-expand-btn)>h2,.section-header:has(>.chart-expand-btn)>.chart-title-row{grid-column:1;grid-row:1}.section-header:has(>.chart-expand-btn)>.chart-expand-btn{grid-column:2;grid-row:1;align-self:center}.section-header:has(>.chart-expand-btn)>.chart-controls{grid-column:1 / -1;grid-row:2}.section-header-with-controls:has(>.section-header-meta){grid-template-columns:1fr auto auto}.section-header-with-controls:has(>.section-header-meta)>.section-header-meta{grid-column:2;grid-row:1;align-self:center}.section-header-with-controls:has(>.section-header-meta)>.chart-expand-btn{grid-column:3;grid-row:1;align-self:center}.compact-data-table-wrap{min-width:0}.market-sector-heatmap-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.market-sector-heatmap-tile{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;text-align:left;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.market-sector-heatmap-tile:hover{transform:translateY(-1px);border-color:#1f6feb59}.market-sector-heatmap-tile:focus-visible{outline:2px solid rgba(31,111,235,.45);outline-offset:2px}.market-sector-heatmap-name{font-size:.78rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-sector-heatmap-change{font-size:.86rem;font-weight:700}:root[data-theme=dark] .market-sector-heatmap-tile:hover{border-color:#63a4ff73}@media(max-width:480px){.market-sector-heatmap-grid{grid-template-columns:1fr}}.compact-data-table{width:100%;border-collapse:collapse;table-layout:fixed}.compact-data-table th,.compact-data-table td{padding:2px 0;min-width:0}.compact-data-row[data-code]{cursor:pointer;transition:background-color .16s ease}.compact-data-row[data-code]:hover{background:#1f6feb0d}.compact-data-row[data-code]:focus-visible{outline:2px solid rgba(31,111,235,.35);outline-offset:2px}:root[data-theme=dark] .compact-data-row[data-code]:hover{background:#63a4ff14}.compact-data-leading-header,.compact-data-value-header{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:400}.compact-data-leading-header,.compact-data-leading-cell{width:calc(100% - 180px);text-align:left}.compact-data-value-header,.compact-data-value-cell{width:72px;text-align:right;white-space:nowrap}.compact-data-leading-cell{font-size:.78rem;font-weight:700;text-transform:none;letter-spacing:.03em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.compact-data-primary{color:var(--accent)}.compact-data-secondary{font-size:.72rem;font-weight:600;color:var(--muted);margin-left:3px}.compact-data-value-cell{font-size:.85rem;font-weight:600}.delta-up{color:var(--ok)}.delta-down{color:var(--err)}.compact-data-table .compact-data-group-start td,.compact-data-table .compact-data-group-start th{border-top:1px solid var(--line);padding-top:6px}.chart-controls{display:inline-flex;justify-content:flex-end;width:auto;gap:var(--space-controls);align-items:center;flex-wrap:wrap;justify-self:end}.chart-control-select{width:auto;min-width:75px;max-width:200px;height:30px;-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select;border:none;border-radius:var(--radius-soft);background-color:var(--panel-strong);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 13px) calc(50% - 1px),calc(100% - 8px) calc(50% - 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;box-shadow:inset 0 0 0 1px var(--line);color:var(--text);padding:0 24px 0 10px;font:inherit;font-size:.84rem;line-height:30px;transition:color .16s ease,outline .16s ease,background-color .16s ease}.chart-control-select:hover{background-color:#1730420a;box-shadow:inset 0 0 0 1px #1f6feb3d}.chart-control-select:focus-visible{outline:none;box-shadow:inset 0 0 0 1px #1f6feb59,0 0 0 3px #1f6feb24}:root[data-theme=dark] .chart-control-select{background-color:#ffffff0f}:root[data-theme=dark] .chart-control-select:hover{background-color:#ffffff1a}.chart-control-select::picker-icon{display:none}.chart-control-select::picker(select){border-radius:var(--radius-soft);background-color:var(--panel-strong);border:1px solid var(--line);overflow:hidden}.chart-checkboxes{display:inline-flex;gap:12px;align-items:center}.chart-checkbox-label{display:inline-flex;align-items:center;gap:5px;font-size:.84rem;cursor:pointer;color:var(--text);white-space:nowrap}.chart-range-change{font-weight:700;font-size:.84rem;color:var(--muted);white-space:nowrap}.chart-range-change.tone-up{color:var(--ok)}.chart-range-change.tone-down{color:var(--err)}.chart-title-daily{font-weight:700;font-size:.84rem;color:var(--muted);white-space:nowrap}.chart-title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-controls);min-width:0}.state-note{padding:14px;color:var(--muted)}.payload{margin:0;background:#0f2130;color:#eff7ff;border-radius:var(--radius-card);padding:16px;min-height:110px;white-space:pre-wrap;overflow-x:auto}.actions{display:flex;flex-wrap:wrap;gap:10px}.status-meta{margin:0;font-size:.9rem;color:var(--muted)}.status-grid{display:grid;grid-template-columns:1fr;gap:12px}.status-grid-compact,.status-grid-wide{grid-template-columns:1fr}.status-section{display:grid;gap:10px}.status-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel-strong);padding:14px;display:grid;gap:6px}.status-card-label{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.status-card-value{margin:0;font-weight:700;overflow-wrap:break-word;word-break:break-word;white-space:normal}.status-card.tone-ok{border-color:#1c7c5447;background:#1c7c5414}.status-card.tone-warn{border-color:#b4771f4d;background:#b7791f14}.status-card.tone-err{border-color:#b4231847;background:#b4231814}.admin-overview{display:grid;grid-template-columns:1fr;gap:10px}.admin-kv{margin:0;border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--panel-strong);padding:12px;display:grid;gap:6px}.admin-kv p{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.admin-kv strong{overflow-wrap:anywhere}.admin-tables,.admin-lists{display:grid;gap:14px}.admin-list-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel-strong);padding:12px;display:grid;gap:12px}.admin-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-count{border:1px solid rgba(23,48,66,.16);border-radius:999px;padding:4px 10px;font-size:.8rem;color:var(--muted);background:#17304214}:root[data-theme=dark] .admin-count{border-color:#9cb5c942;background:#9cb5c91f}.admin-list-body{display:grid;gap:10px}.admin-item{display:grid;grid-template-columns:1fr;gap:6px 12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-soft);background:#ffffffb3}:root[data-theme=dark] .state-note,:root[data-theme=dark] .admin-item{background:#ffffff0d}.admin-item-compact{grid-template-columns:1fr;align-items:center}.admin-item-key{font-weight:700;color:var(--text);overflow-wrap:anywhere}.admin-item-value-compact{font-weight:500;color:var(--muted)}.admin-item-label{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.admin-item-value{margin:0;font-weight:600;overflow-wrap:anywhere}.admin-table-wrap{display:grid;gap:8px}.admin-table-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;border:1px solid var(--line);background:#fff}.admin-table th,.admin-table td{border:1px solid var(--line);text-align:left;padding:7px 8px;vertical-align:top}.admin-table thead th{background:#10324a0f}:root[data-theme=dark] .admin-table{background:var(--panel-strong)}:root[data-theme=dark] .admin-table thead th{background:#9cb5c914}.data-table-value{font-weight:600;white-space:nowrap;text-align:right}.status-ok{color:var(--ok)}.status-err{color:var(--err)}.login-banner{display:flex;align-items:center;gap:10px;margin:0;padding:12px 16px;border-radius:8px;background:color-mix(in srgb,var(--err) 12%,var(--bg));border:1px solid color-mix(in srgb,var(--err) 40%,transparent);color:var(--err);font-size:.9rem}.login-banner--success{background:color-mix(in srgb,var(--ok) 12%,var(--bg));border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}.login-banner-icon{flex-shrink:0;font-size:1rem}.login-banner-close{margin-left:auto;flex-shrink:0;background:none;border:none;cursor:pointer;color:inherit;font-size:.85rem;opacity:.7;padding:2px 6px;border-radius:4px;transition:opacity .14s ease}.login-banner-close:hover{opacity:1}.account-toggle,.group-enabled-toggle,.account-locked-toggle,.group-locked-toggle{background:none;border:none;cursor:pointer;font:inherit;font-size:.9rem;padding:2px 6px;border-radius:var(--radius-soft);transition:background-color .14s ease,opacity .14s ease}.account-toggle:hover,.group-enabled-toggle:hover,.account-locked-toggle:hover,.group-locked-toggle:hover{background:var(--line)}.account-toggle:disabled,.group-enabled-toggle:disabled,.account-locked-toggle:disabled,.group-locked-toggle:disabled{opacity:.4;cursor:not-allowed}#adminMetrics{display:grid;gap:12px}.admin-empty{color:var(--muted);text-align:center}.admin-tab-nav,.logged-tab-nav,.open-tab-nav{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line);padding:0}.admin-tab-btn,.logged-tab-btn,.open-tab-btn{padding:8px 12px;border:none;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;margin-bottom:-1px;transition:color .12s ease,border-color .12s ease}.admin-tab-btn:hover:not(.is-active),.logged-tab-btn:hover:not(.is-active),.open-tab-btn:hover:not(.is-active){color:var(--text)}.admin-tab-btn.is-active,.logged-tab-btn.is-active,.open-tab-btn.is-active{color:var(--text);border-bottom-color:var(--accent)}.admin-tab-panel,.logged-tab-panel,.open-tab-panel{display:grid;gap:14px;min-width:0}.open-tab-select{display:none;width:100%;padding:8px 32px 8px 12px;font:inherit;font-size:.9rem;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-soft);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.tab-label-short{display:none}.public-todo-panel{min-height:220px;align-content:start}.logged-section{display:grid;gap:var(--space-stack)}.settings-logout-group,.settings-group{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.settings-block{display:flex;flex-direction:column;gap:12px;padding:16px 0;border-top:1px solid var(--line)}.settings-block:first-of-type{border-top:none;padding-top:4px}.settings-block-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}.settings-block--danger .settings-block-title{color:#b42318}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-row-text{display:flex;flex-direction:column;gap:3px;min-width:0}.settings-row-label{font-size:.9rem;font-weight:600;color:var(--text)}.settings-row-desc{font-size:.8rem;color:var(--muted)}.settings-toggle{position:relative;display:inline-flex;align-items:center;flex-shrink:0;cursor:pointer}.settings-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.settings-toggle-track{width:40px;height:22px;background:var(--muted);border-radius:11px;transition:background .2s;position:relative}.settings-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}.settings-toggle input[type=checkbox]:checked+.settings-toggle-track{background:var(--accent)}.settings-toggle input[type=checkbox]:checked+.settings-toggle-track:after{transform:translate(18px)}.settings-toggle input[type=checkbox]:focus-visible+.settings-toggle-track{outline:2px solid var(--accent);outline-offset:2px}.settings-logout-label,.settings-group-label{font-size:.8rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.settings-group-desc{font-size:.85rem;color:var(--muted);max-width:50ch}.data-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-soft)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--panel-strong)}.data-table th.data-table-value{text-align:right}.data-table th{padding:7px 10px;text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);background:#1730420a;white-space:nowrap}.data-table th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable-th:hover{color:var(--text)}.sort-indicator{display:inline-block;width:1em;text-align:right;font-size:.7em}.sort-indicator--hidden{visibility:hidden}:root[data-theme=dark] .data-table th{background:#9cb5c90f}.data-table td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#17304206}:root[data-theme=dark] .data-table tbody tr:hover td{background:#9cb5c90a}.api-usage-table th,.api-usage-table td{padding:4px 8px}.data-table-key{white-space:nowrap}.admin-users-avatar-cell{width:52px;padding-right:4px;white-space:nowrap}.col-num{width:2.5rem}.col-profile{width:52px}.col-email{min-width:14rem}.col-code{width:8rem}.col-firstname,.col-lastname{width:7rem;white-space:normal;word-break:break-word}.col-groups{width:9rem}.col-desc{width:14rem}.col-created,.col-last-login,.col-updated{width:12rem;white-space:nowrap}.col-enabled,.col-locked{width:5rem;text-align:center}.admin-users-avatar-cell>*{display:inline-block;vertical-align:middle}.email-verified-badge{font-size:.7rem;font-weight:700;border-radius:999px;padding:1px 4px;margin-left:2px}.email-verified-yes{color:var(--ok)}.email-verified-no{color:var(--err)}.admin-user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;display:inline-block;vertical-align:middle}.data-table caption{caption-side:top;text-align:left;padding:8px 10px 7px;font-size:.82rem;font-weight:700;letter-spacing:.03em;color:var(--text);border-bottom:1px solid var(--line);background:#1730420a}:root[data-theme=dark] .data-table caption{background:#9cb5c90f}.data-table-count{font-size:.75rem;font-weight:600;color:var(--muted);float:right}.data-table-group td{padding:6px 10px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:#1730420a}.data-table tbody tr.data-table-group:first-child td{border-top:none}.cache-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;margin-bottom:4px}:root[data-theme=dark] .data-table-group td{background:#9cb5c90f}.diag-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.diag-head h2{margin:0}.diag-ts{font-size:.78rem;color:var(--muted);white-space:nowrap}.admin-health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.health-card{border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--panel-strong);padding:11px 12px;display:grid;gap:4px}.health-card.tone-ok{border-color:#1c7c544d;background:#1c7c540f}.health-card.tone-err{border-color:#b423184d;background:#b423180f}.health-card.tone-warn{border-color:#b4771f4d;background:#b4771f0f}.health-card-label{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600}.health-card-value{font-size:1rem;font-weight:700;overflow-wrap:anywhere}.health-card.tone-ok .health-card-value{color:var(--ok)}.health-card.tone-err .health-card-value{color:var(--err)}.health-card-sub{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.admin-tables-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.admin-sub-section{display:grid;gap:10px}.admin-sub-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-sub-head h3{margin:0}button.secondary{border:1px solid transparent;background:#ffffff1f;color:var(--text);border-radius:999px;padding:7px 10px;font:inherit;font-size:.84rem;cursor:pointer;min-height:36px;transition:transform .16s ease,background .16s ease,border-color .16s ease;border-color:#ffffff3d}button.secondary:hover{transform:translateY(-1px);color:var(--text);border-color:#5ea37b59;background:#ffffff2e}.status-error{margin:0;padding:12px;border-radius:8px;background:#b4231814;color:var(--err);font-size:.9rem}.chart-canvas{min-height:220px;height:220px}.chart-description{margin:4px 0 0;padding:0 4px 8px;font-size:.72rem;color:var(--muted);line-height:1.4}@media(min-width:600px){:root{--space-page: 14px;--space-stack: 12px;--space-panel: 14px;--space-hero: 11px;--space-controls: 9px}.admin-overview,.status-grid,.status-grid-compact,.status-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-data-leading-header,.compact-data-leading-cell{width:calc(100% - 154px)}.compact-data-value-header,.compact-data-value-cell{width:77px}.logo{width:51px;height:51px}.chart-canvas{min-height:320px;height:320px}h2{font-size:clamp(1.15rem,2vw,1.45rem)}.section-header h2{font-size:clamp(.95rem,1.4vw,1.15rem)}.admin-tab-btn,.logged-tab-btn,.open-tab-btn{padding:9px 14px;font-size:.86rem}.admin-tab-panel,.logged-tab-panel,.open-tab-panel{gap:16px}}@media(min-width:768px){:root{--space-page: 16px;--space-stack: 16px;--space-panel: 18px;--space-hero: 12px}.section-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.section-header-with-controls>h2,.section-header-with-controls>.chart-title-row,.section-header:has(>.chart-expand-btn)>h2,.section-header:has(>.chart-expand-btn)>.chart-title-row{flex:1 1 0;min-width:0}.brand-row{align-items:stretch;justify-content:space-between;gap:24px}.brand-intro{gap:16px}.logo{width:58px;height:58px}.chart-controls{display:flex;justify-content:flex-end;gap:12px}.admin-item{grid-template-columns:minmax(0,140px) 1fr}.admin-item-compact{grid-template-columns:minmax(0,180px) 1fr}.user-avatar{width:28px;height:28px}.user-info{gap:8px}.data-table th{padding:8px 12px}.data-table td{padding:9px 12px}.admin-table th,.admin-table td{padding:8px 10px}.admin-tables-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.admin-health-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.admin-tab-btn,.logged-tab-btn,.open-tab-btn{padding:10px 18px;font-size:.9rem}.admin-tab-panel,.logged-tab-panel,.open-tab-panel{gap:20px}.site-footer{gap:12px}}@media(min-width:1100px){:root{--space-page: 18px;--space-stack: 14px;--space-panel: 16px;--space-hero: 13px;--space-controls: 11px}.display-controls{order:0;margin-right:0;gap:6px}.display-toggle{width:30px;height:30px;font-size:.95rem}.logo{width:61px;height:61px}.brand-intro{flex:0 0 auto}.hero-quote{display:grid;align-content:center;justify-items:center;gap:8px;flex:1 1 0;min-width:0;opacity:.72;text-align:center}.hero-quote-text{font-size:.94rem;line-height:1.55;color:var(--muted);font-weight:400}.public-analytics-grid{grid-template-columns:minmax(0,1fr) 400px;align-items:start}html.layout-wide .public-analytics-grid{grid-template-columns:minmax(0,1fr) 400px}.compact-market-grid .compact-data-item{grid-template-columns:minmax(156px,1fr) minmax(96px,auto);gap:2px 12px}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.status-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.chart-canvas{min-height:400px;height:400px}h2{font-size:clamp(1.3rem,2vw,1.75rem)}#adminMetrics{gap:16px}.admin-table th,.admin-table td{padding:9px 10px}.data-table th{padding:8px 14px}.data-table td{padding:9px 14px}.data-table caption{padding:9px 14px 8px}.data-table-group td{padding:7px 14px}.admin-tables-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.admin-health-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.health-card{padding:14px 16px}.diag-head{gap:16px;margin-bottom:12px}}@media(min-width:1280px){:root{--space-page: 20px;--space-stack: 20px;--space-panel: 22px;--space-hero: 14px}.public-analytics-grid,html.layout-wide .public-analytics-grid{grid-template-columns:minmax(0,1fr) 400px}}@media(min-width:1600px){html.layout-wide .bonds-cards-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1440px){:root{--space-page: 24px}.hero-lead{font-size:1.05rem;line-height:1.6}}@media(max-width:500px){h1{font-size:clamp(1.2rem,6.4vw,1.65rem)}.chart-title-row{gap:6px}.chart-title-value{font-size:.95rem}.chart-title-daily{font-size:.7rem}.chart-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.chart-control-select{font-size:.8rem;min-width:86px;height:30px;line-height:30px;padding:0 24px 0 10px}}@media(max-width:412px){:root{--space-page: 9px;--space-stack: 9px;--space-panel: 11px;--space-hero: 8px;--space-controls: 7px}.display-toggle{width:26px;height:26px;font-size:.84rem}.compact-data-leading-header,.compact-data-leading-cell{width:calc(100% - 134px)}.compact-data-value-header,.compact-data-value-cell{width:80px}}@media(max-width:390px){.brand-row{gap:10px}.logo{width:43px;height:43px}.hero-lead{font-size:.9rem}.admin-tab-btn,.logged-tab-btn,.open-tab-btn{padding:3px 5px;font-size:.73rem}.data-table{font-size:.82rem}}@media(max-width:360px){:root{--space-page: 8px;--space-stack: 8px;--space-panel: 10px;--space-hero: 7px}.period-button,.currency-button,.gold-period-button{min-height:34px;font-size:.76rem;padding:6px 8px}}.market-strip{position:relative;width:100%;min-width:0}.market-strip-shell{position:relative;overflow:hidden;width:100%;min-width:0;border:none;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.strip-ticker{overflow:hidden;position:relative;min-height:32px;mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}.ticker-track{display:flex;width:max-content;will-change:transform;animation:ticker-scroll var(--ticker-duration, 90s) linear infinite}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-item{display:flex;flex-direction:row;align-items:baseline;gap:6px;padding:4px 20px;border-right:1px solid rgba(117,145,168,.18);white-space:nowrap;opacity:.82}.ticker-code{font-weight:700;font-size:.73rem;letter-spacing:.08em;color:var(--accent)}.ticker-currency{font-size:.72rem;color:var(--muted)}.ticker-value{font-size:.76rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.ticker-change{font-size:.72rem;font-variant-numeric:tabular-nums}.ticker-loading{margin:0;padding:4px 18px;color:var(--muted);font-size:.75rem}@media(max-width:640px){.ticker-item{padding:4px 14px}.open-tab-nav{display:none}.open-tab-select{display:block}}@media(max-width:1099px){.tab-label-short{display:inline}.open-tab-btn{padding:8px 7px}}@media(orientation:landscape)and (max-height:480px){.tab-label-short{display:inline}.open-tab-btn{padding:8px 12px}}.admin-toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.admin-table-heading{margin:.25rem 0 .5rem;font-size:.86rem;font-weight:700;letter-spacing:.02em;color:var(--text-soft)}#external-api-usage-section .data-table th:nth-child(2),#external-api-usage-section .data-table td:nth-child(2){min-width:180px}.data-table-mono{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.82rem}.data-table-muted{color:var(--muted);font-size:.88rem}.table-actions{display:flex;gap:.35rem;justify-content:flex-end;white-space:nowrap}@media(max-width:940px){.data-table-wrap{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-soft);background:transparent}.data-table.stack-on-mobile{border:none;background:transparent;width:100%}.data-table.stack-on-mobile thead{display:none}.data-table.stack-on-mobile tbody{display:grid;gap:6px}.data-table.stack-on-mobile tbody tr{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--radius-soft);background:var(--panel-strong);padding:6px}.data-table.stack-on-mobile tbody td{border:none;border-bottom:1px dashed rgba(23,48,66,.14);padding:3px 0;display:block;overflow-wrap:anywhere}.data-table.stack-on-mobile tbody td:before{content:attr(data-label);display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-bottom:2px}.data-table.stack-on-mobile tbody td:last-child{border-bottom:none}.data-table.stack-on-mobile tbody td.actions-cell{border-bottom:none;display:block}.table-actions{justify-content:flex-start;white-space:normal;flex-wrap:wrap;width:100%}.table-actions .btn{min-width:36px;min-height:32px;justify-content:center;padding:4px 8px}.admin-users-avatar-cell{width:auto;padding-right:0}.data-table.stack-on-mobile .data-table-mono{font-size:.78rem;overflow-wrap:anywhere;word-break:break-word;white-space:normal}:root[data-theme=dark] .data-table.stack-on-mobile tbody td{border-bottom-color:#9cb5c92e}}@media(max-width:650px){.data-table.stack-on-mobile tbody td{padding:2px 0}.data-table.stack-on-mobile tbody td:before{font-size:.59rem;letter-spacing:.04em;margin-bottom:1px}.data-table.stack-on-mobile tbody tr{padding:4px;gap:1px}.data-table.stack-on-mobile tbody{gap:4px}}@media(max-width:360px){.data-table.stack-on-mobile tbody td{padding:2px 0;font-size:.85rem}.data-table.stack-on-mobile tbody tr{padding:4px;gap:1px}.table-actions .btn{min-width:32px;min-height:28px;font-size:.72rem}}.modal-form{display:flex;flex-direction:column;gap:.75rem}.form-group{display:grid;grid-template-columns:9rem 1fr;align-items:center;column-gap:1rem}.form-group--textarea .form-label{align-self:start;padding-top:.45rem}.form-label{font-size:.85rem;font-weight:500;color:var(--text);text-align:right;white-space:nowrap}.form-input{width:100%;padding:.45rem .65rem;border:1px solid var(--line);border-radius:.4rem;background:var(--panel);color:var(--text);font-size:.9rem;line-height:1.4;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.form-input--readonly{color:var(--muted);cursor:default}.form-textarea{resize:vertical;min-height:80px}input[type=checkbox].form-checkbox{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;width:1rem;height:1rem;cursor:pointer;accent-color:var(--accent);justify-self:start}.form-multiselect{max-height:200px;overflow-y:auto;border:1px solid var(--line);border-radius:.4rem;background:var(--panel);padding:.25rem 0}.ms-option{display:flex;align-items:center;gap:.5rem;padding:.3rem .65rem;cursor:pointer;font-size:.9rem;color:var(--text)}.ms-option:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.ms-option input[type=checkbox]{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.ms-loading{display:block;padding:.5rem .65rem;font-size:.85rem;color:var(--muted)}.form-error{color:var(--err);font-size:.82rem;min-height:1.1em;margin:0}.btn-link{background:none;border:none;padding:0;color:var(--accent);font-size:inherit;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{opacity:.8}.messages-banner{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1rem;background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius-soft)}.messages-banner-text{margin:0;font-size:.9rem;color:var(--text-secondary, var(--muted));line-height:1.5}@media(min-width:540px){.messages-banner{flex-direction:row;align-items:center;justify-content:space-between}}.messages-detail-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.messages-detail-header-actions{display:flex;align-items:center;gap:.45rem;margin-left:auto}.messages-detail-title{display:flex;flex-direction:column;gap:.2rem}.messages-detail-heading{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.messages-detail-heading h3{margin:0;font-size:1rem;font-weight:600}.messages-table-wrap{margin-bottom:.9rem;border:1px solid var(--line);border-radius:var(--radius-soft);overflow:hidden}.messages-list-table{width:100%;border-collapse:collapse;table-layout:fixed}.messages-list-table td{padding:.42rem .55rem;border-bottom:1px solid var(--line);vertical-align:top}.messages-list-table tbody tr:last-child td{border-bottom:none}.messages-list-table .col-author{width:13rem}.messages-list-table .col-body{width:auto}.message-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.message-author{font-weight:600;font-size:.8rem}.message-author-box{display:flex;flex-direction:column;gap:.1rem}.message-author-date{font-size:.72rem;color:var(--muted);opacity:.8}.message-body{font-size:.86rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.messages-reply-form{display:flex;flex-direction:column;gap:.6rem;padding-top:.75rem;border-top:1px solid var(--line)}.messages-reply-actions{display:flex;justify-content:flex-end}.messages-thread-table{width:100%;table-layout:fixed}.messages-thread-table .col-num{width:4rem;text-align:center}.messages-thread-table .col-author{width:14rem}.messages-thread-table .col-date{width:12rem}.messages-thread-table .col-msg{width:7.5rem;text-align:center}.messages-thread-table .col-status{width:5.5rem;text-align:center}.thread-status-icon{display:inline-flex}.thread-status-icon svg{width:1.15rem;height:1.15rem}.thread-status-icon-open{color:#15803d}.thread-status-icon-closed{color:#111}@media(max-width:760px){.messages-list-table{table-layout:auto}.messages-list-table tbody,.messages-list-table tr,.messages-list-table td{display:block;width:100%}.messages-list-table tbody tr{padding:6px;border-bottom:1px solid var(--line);background:var(--panel-strong)}.messages-list-table tbody tr:last-child{border-bottom:none}.messages-list-table td{border:none;padding:3px 0}.messages-list-table td:before{content:attr(data-label);display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-bottom:2px}}@media(max-width:640px){.messages-thread-table .col-author{width:2.5rem}.messages-detail-header{flex-direction:column;gap:.75rem}.messages-detail-header-actions{margin-left:0;flex-wrap:wrap}.modal{width:min(96vw,560px);max-height:92vh;padding:1rem}.modal-form{gap:.6rem}.form-group{grid-template-columns:1fr;row-gap:.35rem}.form-group--textarea .form-label{padding-top:0}.modal-footer{margin-top:0}}.thread-author{display:flex;align-items:center;gap:.5rem}.thread-author-avatar,.message-author-avatar{display:block;width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem;max-width:1.25rem;max-height:1.25rem;border-radius:50%;overflow:hidden;object-fit:cover;flex-shrink:0}.thread-author-avatar--placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--panel-strong);border:1px solid var(--line);color:var(--muted);box-sizing:border-box}.thread-author-avatar--placeholder svg{width:.7rem;height:.7rem}.thread-author-name,.message-author{font-size:.86rem;font-weight:600}.thread-author-name{white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.2}.thread-title{font-weight:500}.author-deleted{color:var(--muted);text-decoration:line-through}.messages-thread-closed-note{margin:0 0 .9rem;font-size:.85rem;color:var(--muted)}.data-table-empty{padding:1.5rem 10px;text-align:center;color:var(--muted);font-size:.88rem}.data-table-row--interactive{cursor:pointer}.data-table-row--interactive:hover td{background:color-mix(in srgb,var(--accent) 7%,transparent)}.data-table-actions{display:flex;gap:.15rem;justify-content:flex-end;white-space:nowrap;align-items:center}.data-table-actions-sep{color:var(--muted);font-size:.8rem}.col-actions{width:8rem;text-align:right;white-space:nowrap}.btn-link--danger{color:var(--err)}.btn-link--danger:hover{color:#7f1d1d}.admin-section{display:grid;gap:var(--space-stack)}.admin-tab-content{min-height:120px}.diag-fullwidth-section{display:grid;gap:0}.diag-panels-list{display:flex;flex-direction:column;gap:14px;margin-top:14px}.diag-status-ok{color:var(--ok, #14a05a);font-weight:500}.diag-status-err{color:var(--err, #b42318);font-weight:500}.admin-row{transition:background 80ms ease}.admin-users-table,.admin-groups-table{table-layout:auto}.admin-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-toggle,.account-locked-toggle,.group-enabled-toggle,.group-locked-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-soft);border:none;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .12s ease}.account-locked-toggle:disabled,.group-locked-toggle:disabled{opacity:.45;cursor:not-allowed}.status-ok{background:#14a05a26;color:var(--ok, #14a05a)}.status-err{background:#b423181f;color:var(--err, #b42318)}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px}.admin-modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-soft);box-shadow:0 12px 40px #0000002e;width:100%;max-width:540px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden}.admin-modal--sm{max-width:360px}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--line);flex-shrink:0}.admin-modal-title{margin:0;font-size:1rem;font-weight:700}.admin-modal-close{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--muted);padding:4px 6px;border-radius:4px;line-height:1}.admin-modal-close:hover{background:#17304214;color:var(--text)}.admin-modal-body{padding:16px 18px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.admin-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--line);flex-shrink:0;gap:10px;flex-wrap:wrap}.admin-modal-footer-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.admin-modal-delete-hint{font-size:.8rem;color:var(--muted)}.admin-multiselect{border:1px solid var(--line);border-radius:var(--radius-soft);max-height:180px;overflow-y:auto;background:var(--panel-strong)}.admin-multiselect-item{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:.875rem;cursor:pointer;border-bottom:1px solid var(--line);transition:background 80ms ease}.admin-multiselect-item input[type=checkbox]{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;flex-shrink:0;cursor:pointer}.admin-multiselect-item:last-child{border-bottom:none}.admin-multiselect-item:hover{background:#1730420a}.form-field{display:flex;flex-direction:column;gap:5px}.form-field--checkbox .form-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:600}.form-required{color:var(--err, #b42318)}.form-error{color:var(--err, #b42318);font-size:.8rem;margin:0}.chart-title-row{display:flex;align-items:baseline;flex-wrap:nowrap;gap:var(--space-controls);min-width:0}.chart-title-row h2{margin:0;min-width:0;white-space:nowrap}@media(max-width:767px){.chart-title-row h2{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}}.chart-title-value{font-weight:600;color:var(--text);white-space:nowrap;font-size:1rem}.chart-title-daily{font-weight:600;font-size:.8rem;white-space:nowrap;color:var(--muted)}.chart-title-daily.tone-up{color:var(--ok)}.chart-title-daily.tone-down{color:var(--err)}.chart-title-daily.is-empty{color:var(--muted)}@media(min-width:768px){.chart-title-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.chart-title-value,.chart-title-daily{white-space:normal}.chart-title-value{font-size:1.05rem}.chart-title-daily{font-size:.9rem}}@media(min-width:1024px){.chart-title-value,.chart-title-daily{white-space:nowrap}}.chart-canvas{width:100%;min-height:230px;height:230px;overflow:hidden}@media(max-width:412px){.chart-canvas{min-height:218px;height:218px}}@media(max-width:390px){.chart-title-value{font-size:.88rem}.chart-title-daily{font-size:.7rem}.chart-canvas{min-height:206px;height:206px}}@media(max-width:360px){.chart-canvas{min-height:198px;height:198px}}@media(min-width:600px){.chart-canvas{min-height:280px;height:280px}}.decade-group{margin-bottom:10px}.decade-group:last-child{margin-bottom:0}.decade-group-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:4px;font-weight:400}.decade-row{display:flex;align-items:center;gap:6px;margin-bottom:3px}.decade-era{font-size:.72rem;color:var(--muted);width:36px;flex-shrink:0}.decade-track{flex:1;height:5px;background:var(--line);border-radius:3px;min-width:0;overflow:hidden}.decade-fill{height:100%;background:var(--accent);border-radius:3px;min-width:2px}.decade-val{font-size:.74rem;font-weight:600;width:58px;text-align:right;flex-shrink:0;white-space:nowrap}@media(min-width:1024px){.chart-canvas{min-height:360px;height:360px}}.chart-canvas-compact{min-height:160px;height:160px}@media(min-width:600px){.chart-canvas-compact{min-height:180px;height:180px}}@media(min-width:1024px){.chart-canvas-compact{min-height:180px;height:180px}}.chart-line{fill:none;stroke:var(--line-color, var(--accent));stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-grid-line{stroke:#1730421c;stroke-dasharray:4 6}.chart-grid-label,.chart-axis-label{fill:#70869a;font-size:12px;font-family:Avenir Next,Trebuchet MS,sans-serif}.chart-expand-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:3px 4px;cursor:pointer;color:var(--muted);border-radius:4px;line-height:1;transition:color .12s ease,background-color .12s ease}.chart-expand-btn:hover{color:var(--text);background:#63a4ff14}.chart-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:9500;display:flex;align-items:center;justify-content:center;padding:20px}.chart-modal{background:var(--panel);border-radius:10px;box-shadow:0 8px 40px #00000059;width:100%;height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden}.chart-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:5px}.chart-modal-body>.panel{flex:1!important;min-height:0!important;height:auto!important;margin:0!important;border-radius:0!important;box-shadow:none!important;border:none!important;padding:0!important;display:flex!important;flex-direction:column!important}.chart-modal-body .section-header{padding:8px 12px}.chart-modal-body .chart-canvas{flex:1!important;min-height:0!important;height:auto!important;overflow:visible!important}.chart-modal-body .chart-expand-btn:not(.chart-modal-inject-close){display:none!important}
