/* Signal Update / OS 5 — shared widget system. Loaded after view styles. */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif&family=Geist:wght@400;450;500;600;700&family=Geist+Mono:wght@400;500&display=swap');
:root {
  --sd-font-sans: 'Geist', 'Avenir Next', sans-serif;
  --sd-font-body: var(--sd-font-sans);
  --sd-font-display: 'Instrument Serif', 'Baskerville', 'Times New Roman', serif;
  --sd-font-mono: 'Geist Mono', monospace;
  --sd-r: 30px; --sd-r-md: 24px; --sd-r-sm: 16px;
}
html[data-theme="light"] {
  --sd-bg: #eeece9; --sd-bg-panel: #faf9f7; --sd-bg-alt: #e4e1de;
  --sd-bg-sunken: #e3dfdc; --sd-bg-input: #fff;
  --sd-txt: #242222; --sd-txt-muted: #625c59; --sd-txt-dim: #6b6460;
  --sd-border: #d6cfca; --sd-border-hi: #a99e98;
  --sd-accent: #bd292d; --sd-accent-hi: #a51f24;
  --suh-glass-bg: #faf9f7; --suh-glass-border: transparent;
  --os-hero: var(--sd-bg-panel);
  --os-blue: var(--sd-bg-panel); --os-green: var(--sd-bg-panel);
}
html[data-theme="dark"] {
  --sd-bg: #151313; --sd-bg-panel: #242121; --sd-bg-alt: #302b2b;
  --sd-bg-sunken: #1b1818; --sd-bg-input: #1c1919;
  --sd-txt: #f5f1ed; --sd-txt-muted: #bfb3ae; --sd-txt-dim: #b1a39d;
  --sd-border: #413838; --sd-border-hi: #75645f;
  --sd-accent: #ff777a; --sd-accent-hi: #ff9699;
  --suh-glass-bg: #242121; --suh-glass-border: transparent;
  --os-hero: var(--sd-bg-panel);
  --os-blue: var(--sd-bg-panel); --os-green: var(--sd-bg-panel);
}
body, body.st-body { font-family: var(--sd-font-sans); background: var(--sd-bg); background-image: radial-gradient(circle, color-mix(in srgb,var(--sd-txt) 15%,transparent) 1px,transparent 1.5px); background-size: 32px 32px; }
.aurora::before, .aurora::after, .st-aurora { display:none; }
.sd-card, html[data-theme="dark"] .sd-card { background:var(--sd-bg-panel)!important; border:0; border-radius:30px; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.sd-sidebar { background:transparent!important; border-right:1px solid var(--sd-border)!important; backdrop-filter:none; padding-top:20px; }
.sd-topbar { background:transparent!important; border:0!important; backdrop-filter:none; padding:20px 28px; min-height:80px; }
.sd-topbar h1 { font-family:var(--sd-font-sans); font-size:25px; letter-spacing:-.06em; font-weight:500; }
.sd-content__inner { max-width:1440px; padding:12px 28px 36px; }
.suh-pad, .su-card-pad { padding:25px; }
.sd-label, .sd-eyebrow, .eyebrow, .sd-metric__label { font:500 11px/1.6 var(--sd-font-mono); letter-spacing:.08em; }
.sd-wordmark { font-family:var(--sd-font-dot); font-weight:900; }
.sd-display, .sd-readout, .stat .num { font-family:var(--sd-font-display); font-weight:400; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.sd-display--md, .stat .num { font-size:42px; }
.sd-btn, .sd-icon-btn, .sd-segment__btn, .sd-nav { min-height:44px; cursor:pointer; font-family:var(--sd-font-sans); letter-spacing:0; }
.sd-btn, .sd-icon-btn { border-radius:999px; }
.sd-icon-btn { min-width:44px; }
.sd-segment { border:0; border-radius:999px; padding:5px; gap:4px; }
.sd-segment__btn { border-radius:999px; padding-inline:20px; font-weight:500; }
.sd-nav { border-radius:999px; margin:4px 10px; padding:12px 18px; }
.sd-nav.is-active { background:var(--sd-txt)!important; color:var(--sd-bg)!important; border-color:transparent; }
.sd-nav.is-active::before { display:none; }
.sd-btn--primary { background:var(--sd-txt); color:var(--sd-bg); border-color:transparent; }
.sd-btn:hover, .sd-icon-btn:hover { filter:brightness(.92); }
.suh-tag { background:var(--sd-txt); color:var(--sd-bg); font-size:9px; border-radius:999px; padding:6px 9px; }
.suh-side-card { border:0; background:var(--sd-bg-panel); border-radius:24px; padding:20px; }
.suh-brand .sd-live__dot { box-shadow:none; }
/* The earnings widget is a soft, physical surface in either appearance. */
.su-hero.sd-card, #view-overview > .sd-card:has(#hero-money) { background:var(--os-hero)!important; color:var(--sd-txt); position:relative; min-height:215px; }
.su-hero::after, #view-overview > .sd-card:has(#hero-money)::after { display:none; }
.su-hero .sd-label, .su-hero .su-sub, #view-overview > .sd-card:has(#hero-money) .eyebrow, #hero-footage { color:var(--sd-txt-muted); }
#money-mxn, #hero-mxn { color:var(--sd-accent)!important; }
.su-hero-pad { padding:30px 34px; position:relative; z-index:1; }
.su-hero .sd-display, #hero-money { font-size:clamp(52px,6vw,88px); line-height:1.15; }
.su-grid-4 > .sd-card:nth-child(2), .sv-grid-4 > .sd-card:nth-child(2) { background:var(--os-green)!important; }
.su-grid-4 > .sd-card:nth-child(3), .sv-grid-4 > .sd-card:nth-child(3) { background:var(--os-blue)!important; }
.sd-meter { height:16px; border-radius:5px; }
.sd-meter > span { background: var(--sd-accent); border-radius:4px; }
.sd-barchart { background-image:radial-gradient(circle,var(--sd-border-hi) 1px,transparent 1px); background-size:24px 18px; }
.sd-barchart .bar { border-radius:8px 8px 2px 2px; }
.sd-input, select, textarea { border-radius:16px; }
.qa-card, .st-subbar, .st-panel { border-radius:26px; box-shadow:none; }
.qa-card { background:var(--sd-bg-panel); }
.login-card.sd-card { max-width:390px; padding:36px; }
.login-intro { margin:14px 0 22px; }
.login-intro h1 { font-size:36px; font-weight:500; letter-spacing:-.06em; margin:0 0 8px; }
.login-intro p { color:var(--sd-txt-muted); font-size:14px; line-height:1.6; }
/* Persistent shell: identity, mode selector, and a local clock. */
.hub-shell .hub-bar { height:88px; padding:0 28px; background:var(--sd-bg); border-bottom:1px solid var(--sd-border); backdrop-filter:none; }
.hub-brand.suh-brand { gap:12px; }
.hub-brand .sd-wordmark { font-size:25px; letter-spacing:.02em; }
.hub-kicker { font:10px/1.5 var(--sd-font-mono); color:var(--sd-txt-muted); letter-spacing:.12em; margin-top:3px; }
.hub-clock { font:12px/1.6 var(--sd-font-mono); text-align:right; color:var(--sd-txt-muted); }
.hub-clock time { display:block; color:var(--sd-txt); font-size:18px; }
.hub-seg .sd-segment__btn { padding-inline:22px; font-size:12px; }
.hub-frame { border-radius:0; }
:focus-visible { outline:2px solid var(--sd-accent); outline-offset:4px; }
@media(min-width:1100px) {
  .su-grid-4, .sv-grid-4 { gap:16px; }
  .su-grid-4 .sd-card, .sv-grid-4 .sd-card { min-height:150px; }
}
@media(max-width:900px) {
  .hub-clock { display:none; }
  .hub-seg .sd-segment__btn { padding-inline:15px; }
}
@media(max-width:720px) {
  .hub-shell .hub-bar { height:auto; padding:12px 16px; padding-top:max(12px,env(safe-area-inset-top)); gap:12px; }
  .hub-brand .sd-wordmark { font-size:23px; }
  .hub-seg { width:100%; display:flex; }
  .hub-seg .sd-segment__btn { flex:1 0 auto; padding-inline:12px; font-size:11px; }
  .sd-sidebar { padding-top:0; border-right:0!important; }
  .sd-nav { margin:4px 2px; padding:10px 14px; }
  .sd-topbar { min-height:68px; padding:12px 16px; flex-wrap:wrap; }
  .sd-topbar h1 { font-size:22px; }
  .sd-content__inner { padding:8px 16px 28px; }
  .sd-card { border-radius:25px; }
  .suh-pad, .su-card-pad { padding:20px; }
  .su-hero-pad { padding:24px; }
  .su-hero::after, #view-overview > .sd-card:has(#hero-money)::after { display:none; }
  .sd-display--md, .stat .num { font-size:34px; }
  .sd-segment__btn { padding-inline:15px; }
}
@media(prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none!important; transition:none!important; }
}
/* Reset legacy hero ornament anchors before positioning the glyph ring. */
.su-hero::after { left:auto; bottom:auto; transform:none; background:none; }
.sd-nav.is-active svg { color:inherit; }
.su-hero .sd-display, #hero-money, .su-hero .sd-display__cents, #hero-money .sd-display__cents { color:var(--sd-txt); }
.su-hero .sd-display__cur, #hero-money .sd-display__cur { color:#a52a25; }
.sv-grid-4 .stat .num { font-size:clamp(23px,2.5vw,34px); overflow-wrap:anywhere; }
.suh-side-card .k, .suh-side-card .v { display:block; }
.sd-content { padding:0; }
@media(max-width:720px) {
  .sv-grid-4 .stat .num { font-size:25px; }
  .sd-topbar .right { flex-wrap:wrap; }
  .sd-topbar .sd-row { flex-wrap:wrap; }
}

/* Signal palette: warm neutrals, one red accent; semantic statuses retain labels. */
html[data-theme="light"] { --sd-accent-dim:#f7e5e5; --sd-glass-bg:#faf9f7; }
html[data-theme="dark"] { --sd-accent-dim:#3c2527; --sd-glass-bg:#242121; }
.sd-display, .sd-display *, .sd-readout, .stat .num, .stat .num *, #hero-footage,
.qa-rem, .hm-val { font-family:var(--sd-font-display); font-weight:400; }
.sd-display__cents { font-size:.7em; opacity:1; }
#hero-footage { font-size:clamp(30px,4vw,48px); color:var(--sd-txt); }
.su-hero.sd-card, #view-overview > .sd-card:has(#hero-money) { border:1px solid var(--sd-border); min-height:190px; }
.su-hero .sd-display, #hero-money { color:var(--sd-txt); }
.su-hero .sd-display__cur, #hero-money .sd-display__cur { color:var(--sd-accent); }
.sd-sidebar__foot { display:flex; flex-direction:column; gap:16px; flex-shrink:0; padding-top:24px; }
.suh-side-card { border-radius:20px; padding:20px; line-height:1.6; }
.suh-side-card .v { font-size:14px; overflow-wrap:anywhere; }
.sd-pill, .sd-badge { display:inline-flex; align-items:center; gap:6px; flex-shrink:0; white-space:nowrap; line-height:1.4; }
.sd-topbar { height:auto; gap:16px; flex-wrap:wrap; flex-shrink:0; }
.sd-topbar .right, .sd-topbar .sd-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end; }
.sd-topbar h1 { margin:0; }
.sd-segment { display:flex; width:fit-content; max-width:100%; gap:4px; }
.sd-segment__btn { white-space:nowrap; flex-shrink:0; }
.hub-seg.sd-segment { min-width:0; }
.sd-content__inner { padding-top:16px; }
.sv-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sv-summary-grid .num { font-size:clamp(30px,3vw,42px); line-height:1.2; }
.stat .num small { display:block; font-family:var(--sd-font-sans); font-size:14px; color:var(--sd-txt-muted); margin-top:8px; }
.sd-meter { height:10px; }
.sd-nav.is-active { background:var(--sd-accent-dim)!important; color:var(--sd-accent)!important; }
.sd-sidebar { width:220px; }
.sd-card { min-width:0; }
.sd-barchart { background-size:32px 24px; }
.hub-clock, .hub-kicker { display:none; }
.hub-shell .hub-bar { height:76px; }
.st-track.is-active { border-color:var(--sd-accent); }
@media(max-width:1000px) {
  .sd-topbar .right, .sd-topbar .sd-row { justify-content:flex-start; }
}
@media(max-width:720px) {
  .hub-shell .hub-bar { height:auto; padding-inline:max(16px,env(safe-area-inset-left)); }
  .sd-sidebar { width:100%; }
  .sd-topbar { padding:14px 16px; gap:12px; }
  .sd-topbar .right, .sd-topbar .sd-row { width:100%; gap:8px; }
  .sd-topbar .sd-pill { max-width:none; }
  #account-seg { width:100%; }
  #account-seg .sd-segment__btn { flex:1; }
  #period-seg, #seg { width:100%; box-sizing:border-box; }
  #period-seg .sd-segment__btn, #seg .sd-segment__btn { flex:1; padding-inline:10px; font-size:11px; }
  .sv-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .sv-summary-grid .stat:last-child { grid-column:1 / -1; }
  .sv-summary-grid .num { font-size:32px; }
  .sd-sidebar__foot { display:none; }
  .sd-content__inner { padding-bottom:calc(28px + env(safe-area-inset-bottom)); }
  .sd-app, .st-body { height:100%; min-height:0; }
  .hub-shell { height:100dvh; }
  .su-hero .sd-display, #hero-money { font-size:64px; }
  .hero { gap:20px; flex-wrap:wrap; }
  .sd-pill { font-size:10px; }
}
@media(max-width:380px) {
  .hub-seg .sd-segment__btn { padding-inline:9px; }
  #period-seg .sd-segment__btn { padding-inline:7px; }
}
.sd-display__cur, .sd-display__cents { vertical-align:baseline; }
.sd-card[hidden] { display:none!important; }
.st-track-card, .st-track-card:hover, .st-track-card.is-active,
.st-seg[data-type], .st-seg { background:var(--sd-bg-panel); color:var(--sd-txt); border-color:var(--sd-border); box-shadow:none; }
.st-track-card.is-active, .st-seg.is-selected { background:var(--sd-accent-dim); border-color:var(--sd-accent); }
.st-seg[data-type]::before { background:var(--sd-border-hi); }
.st-seg[data-type*="chorus"]::before, .st-seg.is-selected::before { background:var(--sd-accent); }
.st-timecode { font-family:var(--sd-font-display); font-size:24px; }
@media(max-width:720px) { .is-embed .sd-topbar h1 { display:none; } }
.st-subbar, .st-sidebar, .st-stage, .st-player-console, .st-section-detail, .st-global-card { box-shadow:none!important; background:var(--sd-bg-panel); }
.st-hero { flex-wrap:wrap; }
.st-hero-left { flex:1 1 240px; }
.st-hero-metrics { max-width:100%; }
.st-metric-card { min-width:0; }
.st-metric-val { font-family:var(--sd-font-sans); font-weight:500; overflow-wrap:anywhere; }
.st-rate-btn.is-active { color:var(--sd-bg); background:var(--sd-txt); }
@media(max-width:720px) {
  .st-hero-left { flex-basis:100%; }
  .st-hero-metrics { display:grid; grid-template-columns:2fr 1fr 1fr; width:100%; gap:8px; }
  .st-metric-card { padding:8px; }
  .st-metric-val { font-size:12px; }
  .st-hero-kicker { flex-wrap:wrap; }
  .st-workspace { gap:16px; }
  .st-filter-bar .sd-segment__btn { padding-inline:10px; }
}
@media(max-height:500px) and (min-width:721px) {
  .hub-shell .hub-bar { height:64px; }
  .sd-sidebar__foot { display:none; }
  .is-embed .sd-topbar h1 { display:none; }
  .sd-topbar { padding-block:10px; min-height:64px; }
  .sd-sidebar { width:180px; }
  .sd-nav { padding-block:8px; margin-block:0; }
}
/* Compact quota labels remain readable; display numerals use the serif above. */
.qa-rem { font-family:var(--sd-font-mono); font-size:11px; }
