/* AlphaLens — AlphaPad design tokens (Figma export, 21 Oct 2026). Base: v2 click-through stylesheet. */
/* Layout: sticky top bar (brand · Screener/Profile switch · search · theme) → Screener landing (query builder rail + results table)
   or Company profile (hero + at-a-glance chips + sticky FA/TA mode bar with section nav + one pane at a time).
   Colour, type, spacing and radius come only from the AlphaPad tokens (Figma export, 21 Oct 2026). Dark is default; light via data-theme or OS setting. */
:root{
  --white:#FFFFFF;--teal:#00C99A;--amber:#F0A04B;--red:#E05252;--blue:#3282E8;
  --indigo-500:#3F5BD9;--indigo-600:#3452C9;
  --slate-50:#F8FAFC;--slate-200:#CBD5E1;--slate-400:#8793A5;--slate-500:#7B8799;--slate-600:#63758F;
  --navy-600:#34445B;--navy-700:#252F3F;--navy-800:#1D2432;--navy-850:#171B26;--navy-900:#101827;
  --space-2:2px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-48:48px;--space-64:64px;
  --radius-6:6px;--radius-8:8px;--radius-12:12px;--radius-16:16px;--radius-20:20px;--radius-pill:9999px;
  --font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --type-headline-md:600 24px/1.25 var(--font-sans);--ls-headline-md:-0.3px;
  --type-title:600 18px/1.3 var(--font-sans);--ls-title:-0.1px;
  --type-body-md:400 14px/1.5 var(--font-sans);
  --type-label:500 14px/1.4 var(--font-sans);
  --type-caption:400 12px/1.4 var(--font-sans);
  --type-data:500 14px/1.4 var(--font-sans);
  --type-eyebrow:600 12px/1.2 var(--font-sans);--ls-eyebrow:1.2px;
  --ease:cubic-bezier(.4,0,.2,1);
  color-scheme:dark;
  --surface-canvas:var(--navy-900);--surface-raised:var(--navy-850);--surface-elevated:var(--navy-800);
  --surface-glass:rgba(255,255,255,.06);--surface-hover:rgba(63,91,217,.15);--surface-hover-stroke:rgba(63,91,217,.30);
  --text-primary:var(--slate-50);--text-secondary:var(--slate-200);--text-tertiary:var(--slate-400);--text-disabled:var(--slate-600);
  --border-decorative:var(--navy-700);--border-control:var(--slate-400);--border-glass:rgba(255,255,255,.12);
  --focus-outer:var(--slate-200);
  --action-primary:var(--indigo-500);--action-hover:var(--indigo-600);--action-on-primary:var(--white);
  --fin-positive:var(--teal);--fin-negative:var(--slate-500);
  --fin-positive-soft:rgba(0,201,154,.12);--fin-negative-soft:rgba(123,135,153,.12);
  --fb-warning:var(--amber);--fb-error:var(--red);--fb-info:var(--blue);
  --fb-warning-soft:rgba(240,160,75,.12);--fb-error-soft:rgba(224,82,82,.12);--fb-info-soft:rgba(50,130,232,.12);
  --scrim:rgba(16,24,39,.72);--indigo-soft:rgba(63,91,217,.14);--indigo-text:#8FA3F2;
  --up-text:var(--teal);--dn-text:var(--slate-500);--warn-text:var(--amber);--info-text:var(--blue);
  --bar-bg:rgba(16,24,39,.9);--chart-grid:var(--navy-700);--shadow:0 12px 32px rgba(0,0,0,.35);
}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){
  color-scheme:light;
  --surface-canvas:var(--slate-50);--surface-raised:var(--white);--surface-elevated:var(--white);
  --surface-glass:rgba(16,24,39,.04);
  --text-primary:var(--navy-900);--text-secondary:var(--navy-600);--text-tertiary:var(--navy-600);--text-disabled:var(--slate-400);
  --border-decorative:var(--slate-200);--border-control:var(--slate-600);--border-glass:var(--slate-200);
  --focus-outer:var(--indigo-500);--scrim:rgba(16,24,39,.55);
  --up-text:var(--navy-900);--dn-text:var(--navy-600);--warn-text:var(--navy-900);--info-text:var(--navy-900);--indigo-text:var(--indigo-600);
  --bar-bg:rgba(248,250,252,.9);--chart-grid:var(--slate-200);--shadow:0 12px 32px rgba(16,24,39,.12);
}}
:root[data-theme="light"]{
  color-scheme:light;
  --surface-canvas:var(--slate-50);--surface-raised:var(--white);--surface-elevated:var(--white);
  --surface-glass:rgba(16,24,39,.04);
  --text-primary:var(--navy-900);--text-secondary:var(--navy-600);--text-tertiary:var(--navy-600);--text-disabled:var(--slate-400);
  --border-decorative:var(--slate-200);--border-control:var(--slate-600);--border-glass:var(--slate-200);
  --focus-outer:var(--indigo-500);--scrim:rgba(16,24,39,.55);
  --up-text:var(--navy-900);--dn-text:var(--navy-600);--warn-text:var(--navy-900);--info-text:var(--navy-900);--indigo-text:var(--indigo-600);
  --bar-bg:rgba(248,250,252,.9);--chart-grid:var(--slate-200);--shadow:0 12px 32px rgba(16,24,39,.12);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--surface-canvas);scroll-behavior:smooth}
body{margin:0;background:var(--surface-canvas);color:var(--text-primary);font:var(--type-body-md);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--surface-canvas)}
.num,table,.stat b,.k b,.price,.spg-num b{font-variant-numeric:tabular-nums}
button,select,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--focus-outer);outline-offset:2px;border-radius:var(--radius-6)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font:var(--type-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-tertiary);margin:0}
h1,h2,h3,h4{margin:0;text-wrap:balance}
.up{color:var(--up-text)} .dn{color:var(--dn-text)}
.up .arr{color:var(--teal)} .dn .arr{color:var(--slate-500)}
.arr{font-style:normal;margin-right:2px}

/* Top bar */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--bar-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-decorative)}
.topbar-in{max-width:1280px;margin:0 auto;padding-block:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand .mark{width:28px;height:28px;border-radius:var(--radius-8);background:var(--action-primary);color:var(--action-on-primary);display:grid;place-items:center;font-weight:600;font-size:13px}
.brand b{font-weight:600;font-size:15px}
.brand .sep{width:1px;height:18px;background:var(--border-decorative)}
.brand .prod{color:var(--text-secondary);font-weight:500}
.seg{display:inline-flex;background:var(--surface-raised);border:1px solid var(--border-decorative);border-radius:var(--radius-pill);padding:3px}
.seg button{border:0;background:transparent;border-radius:var(--radius-pill);padding:6px 14px;font:var(--type-label);color:var(--text-secondary);transition:background .15s var(--ease);min-height:32px}
.seg button[aria-pressed="true"],.seg button[aria-selected="true"]{background:var(--action-primary);color:var(--action-on-primary)}
.search{position:relative;flex:1 1 260px;min-width:0;max-width:520px}
.search input[type=text]{width:100%;height:40px;border-radius:var(--radius-pill);border:1px solid var(--border-control);background:var(--surface-raised);color:var(--text-primary);padding:0 16px 0 40px;font-size:14px}
.search input::placeholder{color:var(--text-disabled)}
.search input:focus{outline:none;border-color:var(--action-primary);box-shadow:0 0 0 3px var(--surface-hover-stroke)}
.search>svg{position:absolute;left:14px;top:11px;color:var(--text-tertiary)}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:35;background:var(--surface-elevated);border:1px solid var(--border-glass);border-radius:var(--radius-8);padding:6px;list-style:none;margin:0;max-height:320px;overflow:auto;box-shadow:var(--shadow)}
.sugg li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:var(--radius-6);cursor:pointer;align-items:baseline}
.sugg li[aria-selected="true"],.sugg li:hover{background:var(--surface-hover)}
.sugg .s-sym,.sugg .s-sec{color:var(--text-tertiary);font:var(--type-caption);white-space:nowrap}
.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-pill);font:var(--type-caption);font-weight:500;border:1px solid var(--border-decorative);color:var(--text-secondary);white-space:nowrap}
.pill.warn{border-color:transparent;background:var(--fb-warning-soft);color:var(--warn-text)}
.pill.warn::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber)}
.top-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.icon-btn{width:36px;height:36px;border-radius:var(--radius-pill);border:1px solid var(--border-decorative);background:var(--surface-raised);display:grid;place-items:center;color:var(--text-secondary)}
.icon-btn:hover{background:var(--surface-hover);border-color:var(--surface-hover-stroke)}

/* Page frame */
.wrap{max-width:1280px;margin:0 auto;padding-block:24px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:24px}
.view{display:flex;flex-direction:column;gap:24px}
.btn{border-radius:var(--radius-pill);padding:8px 18px;font:var(--type-label);border:1px solid transparent;min-height:36px}
.btn.pri{background:var(--action-primary);color:var(--action-on-primary)} .btn.pri:hover{background:var(--action-hover)}
.btn.sec{background:transparent;border-color:var(--border-control);color:var(--text-primary)} .btn.sec:hover{background:var(--surface-hover)}
.btn.ghost{background:transparent;color:var(--text-secondary);padding:6px 10px;min-height:32px} .btn.ghost:hover{background:var(--surface-hover);color:var(--text-primary)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.chip{border:1px solid var(--border-decorative);background:var(--surface-raised);border-radius:var(--radius-pill);padding:4px 12px;color:var(--text-secondary);font:var(--type-caption);font-weight:500;transition:all .15s var(--ease);min-height:28px}
.chip:hover{border-color:var(--surface-hover-stroke);background:var(--surface-hover);color:var(--text-primary)}
.chip[aria-pressed="true"]{background:var(--action-primary);border-color:var(--action-primary);color:var(--action-on-primary)}
.card{background:var(--surface-raised);border:1px solid var(--border-decorative);border-radius:var(--radius-12);padding:20px;min-width:0}
.card h3{font:var(--type-title);letter-spacing:var(--ls-title);font-size:15px;margin:0 0 12px}
.card h3 small{color:var(--text-tertiary);font:var(--type-caption);margin-left:6px}
.card-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.card-h h3{margin:0}
.note{color:var(--text-tertiary);font:var(--type-caption);margin:8px 0 0}
.grid2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}
.grid2e{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pills{display:flex;gap:4px;flex-wrap:wrap}
.pills button{border:1px solid var(--border-decorative);background:var(--surface-glass);border-radius:var(--radius-pill);padding:3px 10px;font:var(--type-caption);font-weight:500;color:var(--text-secondary);letter-spacing:.03em;min-height:26px}
.pills button[aria-pressed="true"]{background:var(--action-primary);border-color:var(--action-primary);color:var(--action-on-primary)}
.toggles{display:flex;gap:14px;flex-wrap:wrap;color:var(--text-secondary);font:var(--type-caption)}
.toggles label{display:flex;gap:6px;align-items:center;cursor:pointer}
input[type=checkbox]{accent-color:var(--action-primary);width:15px;height:15px}
.swatch{width:12px;height:3px;border-radius:2px;display:inline-block;flex:none}
.cv{position:relative;height:300px} .cv.sm{height:110px} .cv.md{height:240px} .cv.xs{height:180px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font:var(--type-caption);color:var(--text-secondary);margin-top:10px}
.legend span{display:flex;gap:6px;align-items:center}
select,input[type=number],input[type=text],textarea{background:var(--surface-raised);border:1px solid var(--border-control);border-radius:var(--radius-8);padding:6px 10px;color:var(--text-primary);font-size:13px;max-width:100%;min-height:34px}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--action-primary);box-shadow:0 0 0 3px var(--surface-hover-stroke)}
.fld{display:flex;flex-direction:column;gap:4px;font:var(--type-caption);color:var(--text-tertiary);min-width:0}
.tw{overflow-x:auto;margin-inline:-4px}
table{width:100%;border-collapse:collapse;font:var(--type-data);font-size:13px}
th{color:var(--text-tertiary);font:var(--type-label);font-size:12px;text-align:right;padding:8px 10px;border-bottom:1px solid var(--border-decorative);white-space:nowrap}
td{padding:9px 10px;text-align:right;border-bottom:1px solid var(--border-decorative);white-space:nowrap}
th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:var(--surface-raised);z-index:1}
tr.me td{background:var(--surface-hover)}
th.sort{cursor:pointer;user-select:none} th.sort:hover{color:var(--text-primary)}
td .sub{color:var(--text-tertiary);font:var(--type-caption);display:block}
tbody tr.click{cursor:pointer} tbody tr.click:hover td{background:var(--surface-hover)}
.empty{background:var(--surface-raised);border:1px dashed var(--border-control);border-radius:var(--radius-16);padding:32px;text-align:center;color:var(--text-secondary)}
.empty h2,.empty h3{margin:0 0 6px;font:var(--type-title);color:var(--text-primary)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.stat{background:var(--surface-raised);border:1px solid var(--border-decorative);border-radius:var(--radius-12);padding:14px 16px;display:flex;flex-direction:column;gap:2px;min-width:0}
.stat span{color:var(--text-tertiary);font:var(--type-caption)}
.stat b{font-size:20px;font-weight:600;line-height:28px}
.stat small{color:var(--text-tertiary);font:var(--type-caption)}
.ftag{font:var(--type-eyebrow);font-size:11px;letter-spacing:1px;padding:1px 8px;border-radius:var(--radius-6);border:1px solid var(--border-decorative);color:var(--text-tertiary);line-height:18px}

/* Screener — horizontal layout (point 7) */
.scr-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.scr-intro h1{font:var(--type-headline-md);letter-spacing:var(--ls-headline-md)}
.scr-intro p{margin:6px 0 0;color:var(--text-secondary);max-width:80ch}
.scr-meta{display:flex;gap:8px;flex-wrap:wrap}
.panel{background:var(--surface-raised);border:1px solid var(--border-decorative);border-radius:var(--radius-12);padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row label.lbl{font:var(--type-caption);color:var(--text-tertiary);white-space:nowrap}
.row .vsep{width:1px;height:28px;background:var(--border-decorative)}
.row select{min-height:36px;max-width:260px;flex:0 1 auto}
#filtersRow select{flex:1 1 150px;min-width:120px;max-width:240px}
.qb-field{position:relative;flex:1 1 260px;min-width:0}
.qb-field input[type=text]{width:100%;padding-left:34px;min-height:36px}
.qb-field>svg{position:absolute;left:11px;top:11px;color:var(--text-tertiary)}
.qb-field .sugg li{flex-direction:column;align-items:flex-start;gap:2px}
.qb-field .sugg .s-l{display:flex;justify-content:space-between;width:100%;gap:8px;align-items:center}
.fchip{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;color:var(--text-primary);border-radius:var(--radius-6);padding:4px 10px;font:var(--type-label);font-size:13px;min-height:30px;white-space:nowrap}
.fchip::before{content:"";width:6px;height:6px;border-radius:50%;flex:none;background:var(--text-disabled)}
/* tag colour by area (point 8) */
.fchip.g-score{background:var(--surface-glass);border-color:var(--indigo-500)} .fchip.g-score::before{background:var(--indigo-500)}
.fchip.g-val{background:var(--indigo-soft)} .fchip.g-val::before{background:var(--indigo-500)}
.fchip.g-prof{background:var(--fin-positive-soft)} .fchip.g-prof::before{background:var(--teal)}
.fchip.g-grow{background:var(--fb-info-soft)} .fchip.g-grow::before{background:var(--blue)}
.fchip.g-bs{background:var(--fb-warning-soft)} .fchip.g-bs::before{background:var(--amber)}
.fchip.g-own{background:var(--fin-negative-soft)} .fchip.g-own::before{background:var(--slate-500)}
.fchip.g-ctx,.fchip.g-ta,.fchip.g-vol,.fchip.g-opt{background:var(--surface-glass);border-color:var(--border-decorative)} .fchip.g-ctx::before{background:var(--text-tertiary)} .fchip.g-ta::before,.fchip.g-vol::before,.fchip.g-opt::before{background:var(--amber)}
.fchip.empty{background:var(--surface-glass);color:var(--text-tertiary);border-color:var(--border-decorative)} .fchip.empty::before{background:var(--text-disabled)}
.gdot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:1px;background:var(--text-disabled)}
.gdot.g-val,.gdot.g-score{background:var(--indigo-500)} .gdot.g-prof{background:var(--teal)} .gdot.g-grow{background:var(--blue)} .gdot.g-bs{background:var(--amber)} .gdot.g-own{background:var(--slate-500)} .gdot.g-ctx{background:var(--text-tertiary)} .gdot.g-ta,.gdot.g-vol,.gdot.g-opt{background:var(--amber)}
.gkey{display:flex;gap:12px;flex-wrap:wrap;font:var(--type-caption);color:var(--text-tertiary);align-items:center}
.gkey span{display:inline-flex;align-items:center;gap:5px}
.keys{display:inline-flex;gap:4px}
.keys button{width:34px;height:34px;border-radius:var(--radius-6);border:1px solid var(--border-decorative);background:var(--surface-glass);color:var(--text-secondary);font:var(--type-label);font-size:13px}
.keys button[aria-pressed="true"]{background:var(--action-primary);border-color:var(--action-primary);color:var(--action-on-primary)}
.rhs{position:relative;flex:0 1 240px;min-width:140px}
.rhs input[type=text]{width:100%;min-height:36px}
.qb-hint{font:var(--type-caption);color:var(--text-tertiary);display:flex;gap:10px;flex-wrap:wrap;align-items:center;min-height:17px}
.quickv{display:inline-flex;gap:4px;flex-wrap:wrap}
.quickv button{border:1px solid var(--border-decorative);background:transparent;border-radius:var(--radius-pill);padding:1px 8px;font:var(--type-caption);color:var(--text-secondary);min-height:22px}
.quickv button:hover{background:var(--surface-hover)}
.lines{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.qline{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 8px;border-radius:var(--radius-8);background:var(--surface-glass);border:1px solid var(--border-decorative);font-size:13px}
.qline .fchip{padding:2px 8px;min-height:24px;font-size:12px}
.qline .op{color:var(--text-tertiary);font-weight:500}
.qline b{font-weight:500}
.qline .x{border:0;background:none;color:var(--text-tertiary);font-size:16px;line-height:1;padding:0 4px;width:26px;height:26px;border-radius:var(--radius-6)}
.qline .x:hover{background:var(--surface-hover);color:var(--text-primary)}
.qline.bad{border-color:var(--fb-error)}
.lines .and{color:var(--text-disabled);font:var(--type-eyebrow);letter-spacing:1px}
.lines .none{color:var(--text-tertiary);font:var(--type-caption)}
textarea{width:100%;resize:vertical;font-size:13px;line-height:20px;padding:8px 10px;font-variant-numeric:tabular-nums}
.qerr{font:var(--type-caption);color:var(--text-primary);background:var(--fb-error-soft);border-left:3px solid var(--fb-error);padding:6px 10px;border-radius:var(--radius-6);margin-top:8px}
.qerr:empty{display:none}
details.fieldlist{margin-top:10px}
details summary{cursor:pointer;font:var(--type-caption);color:var(--text-secondary);list-style:none;display:flex;align-items:center;gap:6px}
details summary::before{content:"▸";font-size:10px;color:var(--text-tertiary)} details[open] summary::before{content:"▾"}
.fgroup{margin-top:10px}
.fgroup .eyebrow{font-size:11px;margin-bottom:4px}
.fields{display:flex;flex-wrap:wrap;gap:4px}
.fields button{border:1px solid var(--border-decorative);background:transparent;border-radius:var(--radius-6);padding:2px 8px;font:var(--type-caption);color:var(--text-secondary);min-height:24px}
.fields button:hover{background:var(--surface-hover);color:var(--text-primary)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.scr-r .card-h span{color:var(--text-tertiary);font:var(--type-caption)}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;font:var(--type-caption);color:var(--text-tertiary)}
.pager .pg{display:flex;gap:4px;align-items:center}
.pager button{border:1px solid var(--border-decorative);background:transparent;border-radius:var(--radius-6);padding:3px 10px;font:var(--type-caption);color:var(--text-secondary);min-height:28px}
.pager button:hover{background:var(--surface-hover)} .pager button:disabled{opacity:.4;cursor:not-allowed}
.pager select{min-height:28px;padding:2px 8px;font-size:12px}
.spgcell{display:inline-flex;gap:6px;align-items:center;justify-content:flex-end}
.spgcell .gbadge{padding:0 7px;font-size:11px}
.gbadge{display:inline-flex;align-items:center;gap:5px;font:var(--type-eyebrow);font-size:12px;letter-spacing:.3px;padding:2px 10px;border-radius:var(--radius-pill);white-space:nowrap;line-height:18px}
.gbadge::before{content:"";width:6px;height:6px;border-radius:50%;flex:none}
.g-A,.g-B{background:var(--fin-positive-soft);color:var(--up-text)} .g-A::before,.g-B::before{background:var(--teal)}
.g-C{background:var(--surface-hover);color:var(--text-primary)} .g-C::before{background:var(--indigo-500)}
.g-D,.g-E{background:var(--fin-negative-soft);color:var(--dn-text)} .g-D::before,.g-E::before{background:var(--slate-500)}
.zp{font:var(--type-eyebrow);font-size:11px;letter-spacing:.2px;padding:1px 8px;border-radius:var(--radius-pill);white-space:nowrap;display:inline-flex;align-items:center;gap:5px;line-height:18px}
.zp::before{content:"";width:7px;height:7px;border-radius:50%}
.zp.g{background:var(--fin-positive-soft);color:var(--up-text)} .zp.g::before{background:var(--teal)}
.zp.w{background:var(--fin-negative-soft);color:var(--dn-text)} .zp.w::before{background:var(--slate-500)}
.zp.n{background:transparent;color:var(--text-tertiary);border:1px solid var(--border-decorative)} .zp.n::before{background:var(--text-disabled)}
.zd{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--text-disabled);margin-right:3px}
.zd.g{background:var(--teal)} .zd.w{background:var(--slate-500)}

/* Profile: hero */
.crumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font:var(--type-caption);color:var(--text-tertiary)}
.link-btn{border:0;background:none;color:var(--text-secondary);font:var(--type-label);font-size:13px;padding:4px 0;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-control)}
.link-btn:hover{color:var(--text-primary)}
.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 300px;gap:24px;background:var(--surface-elevated);border:1px solid var(--border-decorative);border-radius:var(--radius-20);padding:24px}
.hero h1{font-size:28px;line-height:36px;font-weight:600;letter-spacing:-.4px}
.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;color:var(--text-tertiary);font:var(--type-caption);align-items:center}
.price-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:16px}
.price{font-size:36px;line-height:44px;font-weight:600;letter-spacing:-.7px}
.chg{font-weight:500;font-size:15px}
.asof{color:var(--text-tertiary);font:var(--type-caption)}
.kstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;margin-top:20px}
.k{display:flex;flex-direction:column;gap:2px;min-width:0}
.k span{color:var(--text-tertiary);font:var(--type-caption)}
.k b{font-weight:500;font-size:15px}
.k.zk b{display:flex;align-items:center;gap:4px;font-size:13px}
.k.zk button{border:0;background:none;padding:0;display:flex;align-items:center;gap:2px;color:var(--text-primary);font:inherit;white-space:nowrap}
.range{margin-top:20px}
.range .lbl{display:flex;justify-content:space-between;color:var(--text-tertiary);font:var(--type-caption)}
.range .track{position:relative;height:6px;border-radius:3px;background:var(--border-decorative);margin:6px 0}
.range .fill{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--indigo-500);opacity:.55}
.range .dot{position:absolute;top:-4px;width:14px;height:14px;border-radius:50%;background:var(--surface-raised);border:3px solid var(--indigo-500);transform:translateX(-50%)}
.hero-about{display:flex;flex-direction:column;gap:10px;min-width:0;border-left:1px solid var(--border-decorative);padding-left:24px}
.hero-about p{margin:0;color:var(--text-secondary)}
.ev{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border-decorative);font-size:13px}
.ev span{color:var(--text-tertiary)} .ev b{font-weight:500;text-align:right}
.spg{position:relative;align-self:start;background:var(--surface-raised);border:1px solid var(--border-decorative);border-radius:var(--radius-12);padding:20px;display:flex;flex-direction:column;gap:12px;cursor:default;transition:border-color .15s var(--ease)}
.spg:hover,.spg.open,.spg:focus-within{border-color:var(--surface-hover-stroke)}
.spg-top{display:flex;justify-content:space-between;align-items:center}
.spg-num{display:flex;align-items:baseline;gap:6px}
.spg-num b{font-size:48px;line-height:52px;font-weight:600;letter-spacing:-1px}
.spg-num span{color:var(--text-tertiary);font-size:15px}
.gscale{position:relative;display:flex;gap:2px;height:26px;margin-top:4px}
.gscale div{display:grid;place-items:center;font:var(--type-eyebrow);font-size:11px;color:var(--text-tertiary);background:var(--surface-glass);border-radius:4px}
.gscale div.on{background:var(--action-primary);color:var(--action-on-primary)}
.gscale .mk{position:absolute;top:-6px;width:2px;height:38px;background:var(--text-primary);border-radius:1px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.split div{display:flex;flex-direction:column;gap:4px}
.split span{font:var(--type-caption);color:var(--text-tertiary);display:flex;justify-content:space-between}
.split span b{color:var(--text-primary);font-weight:600}
.mbar{height:6px;background:var(--border-decorative);border-radius:3px;overflow:hidden}
.mbar i{display:block;height:100%;border-radius:3px}
.spg .link-btn{align-self:flex-start;font-size:12px;color:var(--text-tertiary)}
.spg-pop{position:absolute;right:0;top:calc(100% + 8px);width:min(640px,calc(100vw - 32px));z-index:36;background:var(--surface-elevated);border:1px solid var(--border-glass);border-radius:var(--radius-8);padding:16px;box-shadow:var(--shadow);display:none;cursor:default;text-align:left}
.spg:hover .spg-pop,.spg.open .spg-pop{display:block}
@media (hover:none){.spg:hover .spg-pop{display:none} .spg.open .spg-pop{display:block}}
.spg-pop h4{font:var(--type-title);font-size:14px;margin:0 0 4px}
.spg-pop .how{font:var(--type-caption);color:var(--text-tertiary);margin:0 0 12px}
.sc-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.scores{display:flex;flex-direction:column;gap:12px}
.sc-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px;gap:8px}
.sc-h b{font-size:18px;font-weight:600}
.sc-h small{color:var(--text-tertiary);font:var(--type-caption)}
.srow{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:3px 10px;align-items:center}
.srow .n{color:var(--text-secondary);font:var(--type-label);font-size:13px}
.srow .n small{color:var(--text-tertiary);font-weight:400;font-size:11px;margin-left:4px}
.srow .t{text-align:right;font-weight:600;font-size:13px}
.srow .bar{grid-column:1/-1;height:6px;background:var(--border-decorative);border-radius:3px;overflow:hidden}
.srow .bar i{display:block;height:100%;border-radius:3px}
.srow .why{grid-column:1/-1;color:var(--text-tertiary);font:var(--type-caption);line-height:16px}
.formula{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-decorative);font:var(--type-caption);color:var(--text-secondary);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* At a glance */
.glance{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.glance .eyebrow{margin-right:4px}
.gchip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-decorative);background:var(--surface-raised);border-radius:var(--radius-pill);padding:5px 12px 5px 10px;font:var(--type-caption);font-weight:500;color:var(--text-secondary);text-align:left;min-height:30px;max-width:100%}
.gchip::before{content:"";width:8px;height:8px;border-radius:50%;flex:none}
.gchip.s::before{background:var(--teal)} .gchip.w::before{background:var(--amber)}
.gchip:hover{background:var(--surface-hover);border-color:var(--surface-hover-stroke);color:var(--text-primary)}
.gchip .tg{font:var(--type-eyebrow);font-size:10px;letter-spacing:1px;color:var(--text-tertiary);border-left:1px solid var(--border-decorative);padding-left:8px}

/* Mode bar + section nav */
.modebar{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--topH,66px));z-index:20;background:var(--surface-canvas);padding-block:8px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--border-decorative)}
.seg.mode button{padding:7px 16px}
.secnav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;align-items:center;min-width:0;flex:1 1 320px}
.secnav::-webkit-scrollbar{display:none}
.secnav a{text-decoration:none;padding:8px 12px;color:var(--text-secondary);font:var(--type-label);font-size:13px;white-space:nowrap;border-bottom:2px solid transparent;border-radius:var(--radius-6) var(--radius-6) 0 0}
.secnav a:hover{background:var(--surface-hover);color:var(--text-primary)}
.secnav a.on{color:var(--text-primary);border-bottom-color:var(--indigo-500)}
.pane{display:flex;flex-direction:column;gap:32px}
section.blk{scroll-margin-top:calc(var(--topH,66px) + var(--modeH,58px) + 16px);display:flex;flex-direction:column;gap:16px}
.blk-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.blk-h h2{font:var(--type-headline-md);letter-spacing:var(--ls-headline-md);font-size:22px;display:flex;align-items:center;gap:10px}
.blk-h p{margin:2px 0 0;color:var(--text-tertiary);font-size:13px;max-width:72ch}

/* FA pieces */
.cfread .r{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border-decorative);font-size:13px;align-items:baseline}
.cfread .r:first-child{border-top:0;padding-top:0}
.cfread .r span{color:var(--text-tertiary)} .cfread .r b{font-weight:500;text-align:right}
.cfread .r b small{display:block;color:var(--text-tertiary);font:var(--type-caption)}
.ratios{display:flex;flex-direction:column}
.rrow{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(5,minmax(44px,.6fr)) 84px;gap:8px;align-items:center;padding:8px 8px;border-top:1px solid var(--border-decorative);cursor:pointer;border-radius:var(--radius-6);font-size:13px;text-align:right}
.rrow.hd{cursor:default;color:var(--text-tertiary);font:var(--type-label);font-size:12px;border-top:0}
.rrow:not(.hd):hover{background:var(--surface-hover)}
.rrow.sel{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--indigo-500)}
.rrow .nm{text-align:left;color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rrow .spark{color:var(--text-tertiary)} .rrow.tu .spark{color:var(--teal)} .rrow.td .spark{color:var(--slate-500)}
.rrow .last{color:var(--text-primary);font-weight:600}
.retctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.retctl select{min-height:28px;padding:2px 8px;font-size:12px;border-radius:var(--radius-pill)}

/* TA pieces */
.ind .r{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--border-decorative);font-size:13px}
.ind .r:first-child{border-top:0}
.ind .r span{color:var(--text-tertiary)} .ind .r b{font-weight:500}
.sig{font:var(--type-eyebrow);font-size:11px;letter-spacing:.2px;padding:0 8px;border-radius:var(--radius-pill);line-height:18px;margin-left:8px;display:inline-flex;align-items:center;gap:4px}
.sig::before{content:"";width:6px;height:6px;border-radius:50%}
.sig.b{background:var(--fin-positive-soft);color:var(--up-text)} .sig.b::before{background:var(--teal)}
.sig.n{background:var(--surface-glass);color:var(--text-secondary)} .sig.n::before{background:var(--text-disabled)}
.sig.s{background:var(--fin-negative-soft);color:var(--dn-text)} .sig.s::before{background:var(--slate-500)}
.trend{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-8);background:var(--surface-glass);margin-bottom:8px}
.trend b{font-size:16px;font-weight:600}
.trend .gauge{display:flex;gap:3px;margin-left:auto}
.trend .gauge i{width:10px;height:18px;border-radius:2px}
.piv{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center;margin-top:4px}
.piv div{background:var(--surface-glass);border-radius:var(--radius-8);padding:8px 2px;display:flex;flex-direction:column;gap:2px;min-width:0}
.piv span{font:var(--type-caption);font-size:11px;color:var(--text-tertiary)}
.piv b{font-size:12px;font-weight:500}
.piv .p{background:var(--surface-hover)}
.gauge2{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.gauge2 .hd{display:flex;justify-content:space-between;align-items:baseline}
.gauge2 .hd b{font-size:24px;font-weight:600}
.gauge2 .bar{position:relative;height:10px;border-radius:5px;background:linear-gradient(90deg,var(--border-decorative) 0 20%,var(--surface-glass) 20% 80%,var(--border-decorative) 80%);border:1px solid var(--border-decorative)}
.gauge2 .bar i{position:absolute;top:-4px;width:4px;height:16px;border-radius:2px;background:var(--indigo-500);transform:translateX(-50%)}
.gauge2 .ax{display:flex;justify-content:space-between;font:var(--type-caption);font-size:11px;color:var(--text-tertiary)}
.gauge2 p{margin:0;font:var(--type-caption);color:var(--text-tertiary)}
.zone-ctl{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}
.zone-ctl .fld{flex:1 1 260px}
.zone-ctl select{width:100%}
.zexp{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 16px;align-items:start;padding:14px 16px;border-radius:var(--radius-8);background:var(--surface-glass);border:1px solid var(--border-decorative);margin-bottom:12px}
.zexp .st{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.zexp .st small{color:var(--text-tertiary);font:var(--type-caption);white-space:nowrap}
.zexp .st b{font-size:18px;font-weight:600}
.zexp p{margin:0;color:var(--text-secondary);font-size:13px}
.zexp p b{color:var(--text-primary);font-weight:500}
.zdots{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px;font:var(--type-caption);color:var(--text-tertiary)}
.zdots button{border:1px solid var(--border-decorative);background:transparent;border-radius:var(--radius-pill);padding:2px 10px 2px 8px;display:inline-flex;align-items:center;gap:6px;font:var(--type-caption);color:var(--text-secondary);min-height:26px}
.zdots button:hover{background:var(--surface-hover)}
.zdots button[aria-pressed="true"]{border-color:var(--indigo-500);color:var(--text-primary)}
.zdots .zd{margin:0}
.zform{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.zform .line{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--text-secondary)}
.zform input[type=number]{width:72px}
.zlist{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.zlist .qline{justify-content:space-between}
.secrank{display:flex;flex-direction:column;gap:8px}
.sr-row{display:grid;grid-template-columns:170px minmax(0,1fr) 64px 64px 72px;gap:10px;align-items:center;font-size:13px;padding:4px 6px;border-radius:var(--radius-6)}
.sr-row.me{background:var(--surface-hover)}
.sr-row .nm{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-row .bx{height:6px;position:relative;background:var(--border-decorative);border-radius:3px}
.sr-row .bx i{position:absolute;top:0;bottom:0;border-radius:3px}
.sr-row .bx .z{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--border-control)}
.sr-row .v{text-align:right}
.sr-row.hd{color:var(--text-tertiary);font:var(--type-caption);font-size:11px}
footer.disc{border-top:1px solid var(--border-decorative);padding-top:20px;color:var(--text-tertiary);font:var(--type-caption);line-height:19px}
footer.disc b{color:var(--text-secondary);font-weight:500}
footer.disc p{margin:0 0 8px}

@media (max-width:1020px){
  .hero{grid-template-columns:1fr}
  .hero-about{border-left:0;padding-left:0;border-top:1px solid var(--border-decorative);padding-top:16px}
  .grid2,.grid2e,
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spg-pop{right:auto;left:0}
}
@media (max-width:640px){
  .topbar-in{gap:10px}
  .top-right .pill{display:none}
  .hero{padding:18px}
  .price{font-size:30px}
  .kstrip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sc-cols{grid-template-columns:1fr}
  .piv{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sr-row{grid-template-columns:120px minmax(0,1fr) 56px 60px}
  .sr-row .m3{display:none}
  .rrow{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(44px,.6fr)) 72px}
  .rrow .mid{display:none}
  .cv{height:240px}
  .zexp{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important} html{scroll-behavior:auto}}

/* additions for the real build */
.btn.sm{min-height:30px;padding:4px 12px;font-size:13px}
.pill.info{border-color:transparent;background:var(--fb-info-soft);color:var(--info-text)}
.pill.info::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue)}
th .gdot{margin-right:5px}
td.na,.na{color:var(--text-disabled)}
.fields button:disabled{opacity:.5;cursor:not-allowed}
.fgroup .eyebrow{display:flex;align-items:center;gap:6px}
.combo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px}
.combo-list label{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--border-decorative);border-radius:var(--radius-8);cursor:pointer;font-size:13px}
.combo-list label:hover{background:var(--surface-hover)}
.combo-list label small{display:block;color:var(--text-tertiary);font:var(--type-caption)}
.combo-list input{margin-top:3px}
.banner{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-8);background:var(--fb-info-soft);border-left:3px solid var(--fb-info);font-size:13px;color:var(--text-primary);flex-wrap:wrap}
.banner b{font-weight:500}
.saved-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--surface-elevated);border:1px solid var(--border-glass);border-radius:var(--radius-8);padding:10px 16px;box-shadow:var(--shadow);font-size:13px;z-index:50;opacity:0;transition:opacity .2s var(--ease);pointer-events:none}
.toast.on{opacity:1}
.modal-bg{position:fixed;inset:0;background:var(--scrim);z-index:45;display:grid;place-items:center;padding:16px}
.modal{background:var(--surface-elevated);border:1px solid var(--border-glass);border-radius:var(--radius-16);padding:24px;width:min(560px,100%);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;max-height:90vh;overflow:auto}
.modal h3{font:var(--type-title);margin:0}
.modal .actions{display:flex;gap:8px;justify-content:flex-end}
.pend-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:start;padding:12px 16px;border-radius:var(--radius-12);background:var(--surface-raised);border:1px solid var(--border-decorative);border-left:3px solid var(--amber)}
.pend-strip .t{font:var(--type-label);font-size:13px;display:flex;align-items:center;gap:8px;white-space:nowrap}
.pend-strip .t::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber)}
.pend-strip p{margin:0;font-size:13px;color:var(--text-secondary)}
.pend-strip .req{grid-column:2;display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.pend-strip .req span{font:var(--type-caption);color:var(--text-tertiary);border:1px solid var(--border-decorative);border-radius:var(--radius-pill);padding:1px 8px}
.card .pend-strip{border-radius:var(--radius-8);background:var(--surface-glass)}
.secnav a.pend::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);margin-left:6px;vertical-align:1px}
.k b.pend{color:var(--text-tertiary);font-weight:400;font-size:12px;display:inline-flex;align-items:center;gap:5px}
.k b.pend::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber)}
.peerbox{max-height:520px;overflow:auto;margin-inline:-4px}
.peerbox th{position:sticky;top:0;background:var(--surface-raised);z-index:2}
.peerbox th:first-child{z-index:3}
.docs{display:flex;flex-direction:column;gap:10px}
.doc-links{display:flex;gap:8px;flex-wrap:wrap}
.doc-links a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;border:1px solid var(--border-control);border-radius:var(--radius-pill);padding:6px 14px;color:var(--text-primary);font:var(--type-label);font-size:13px}
.doc-links a:hover{background:var(--surface-hover)}
.loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px;color:var(--text-tertiary)}
.loading i{width:28px;height:28px;border-radius:50%;border:3px solid var(--border-decorative);border-top-color:var(--indigo-500);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.etf-prof{display:flex;flex-direction:column;gap:16px}
.rrow .spark.pend{color:var(--text-disabled);font:var(--type-caption)}
.stats.s6{grid-template-columns:repeat(6,minmax(0,1fr))}
.inlinestats{display:flex;gap:16px;flex-wrap:wrap}
.inlinestats .stat{flex:1 1 140px}
a{color:var(--indigo-text)}
@media (max-width:1020px){.stats.s6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pend-strip{grid-template-columns:1fr} .pend-strip .req{grid-column:1} .rhs{flex:1 1 100%}}
/* key-ratio rows for the snapshot: earlier · latest · trend */
.rrow.two{grid-template-columns:minmax(0,1.5fr) minmax(70px,.7fr) minmax(70px,.7fr) 84px}
.rrow.two .na{color:var(--text-disabled)}
.rrow .nm .gdot{margin-right:6px}
@media (max-width:640px){.rrow.two{grid-template-columns:minmax(0,1.3fr) minmax(56px,.6fr) minmax(56px,.6fr) 70px}}
.range .track:empty{background:repeating-linear-gradient(90deg,var(--border-decorative) 0 6px,transparent 6px 10px)}
.k b.pend{margin-top:4px}
