/* Shared ticker desk: presentation only. Quotes, chart engine and admission stay unchanged. */
body.ticker-desk {
  --bg:#10110f; --panel:#151713; --panel2:#1c2019; --line:#34372e;
  --line2:#34372e; --gold:#dfbf78; --gold2:#f0d596; --ink:#f0eee5;
  --muted:#aaa99c; --green:#8bca9d; --red:#ed9890;
  --font:Arial,Helvetica,sans-serif; --display:Georgia,"Times New Roman",serif;
  height:auto; min-height:100vh; overflow:auto; background:var(--bg);
  font:14px/1.5 var(--font); letter-spacing:0;
}
html:has(body.ticker-desk) { height:auto; overflow:auto; scroll-behavior:smooth; }
.ticker-desk *, .ticker-desk *::before, .ticker-desk *::after { box-sizing:border-box; }
.ticker-desk :is(a,button,input):focus-visible { outline:2px solid var(--gold2); outline-offset:4px; }
.ticker-desk a { text-underline-offset:4px; }
.ticker-desk [id] { scroll-margin-top:24px; }
.ticker-desk .skip-link { position:fixed; z-index:100; top:-100px; left:16px; padding:14px 20px; background:var(--gold); color:#20241c; }
.ticker-desk .skip-link:focus { top:12px; }
.ticker-desk .app { display:block; height:auto; min-height:100vh; max-width:1600px; margin:auto; overflow:visible; padding:0 40px; }
.ticker-desk .top { display:grid; grid-template-columns:1fr auto; gap:0 30px; padding:22px 0 0; background:none; border:0; box-shadow:none; }
.ticker-desk .brand { display:inline-flex; align-items:center; gap:12px; width:max-content; max-width:100%; color:var(--ink); text-decoration:none; }
.ticker-desk .brand b { display:grid; place-items:center; width:40px; height:40px; border:1px solid #696b50; font:italic 23px/1 var(--display); color:var(--gold); text-shadow:none; }
.ticker-desk .brand strong { color:var(--ink); font:400 26px/1 var(--font); letter-spacing:-.07em; }
.ticker-desk .brand strong span { font-weight:800; }
.ticker-desk .brand small { margin-top:8px; color:var(--muted); font:8px/1.4 var(--font); letter-spacing:.15em; }
.ticker-desk .controls { grid-column:2; grid-row:1; gap:0; min-width:250px; display:grid; grid-template-columns:1fr 50px; align-items:end; }
.ticker-desk .symbol-label { grid-column:1/-1; font-size:9px; letter-spacing:.12em; color:var(--muted); margin-bottom:4px; }
.ticker-desk .ticker-input { height:44px; min-width:0; width:100%; padding:10px 12px; border:1px solid #5c614e; border-right:0; border-radius:0; background:var(--panel); color:var(--ink); font-size:16px; letter-spacing:.06em; }
.ticker-desk .gold-btn { height:44px; min-width:44px; padding:0; border:1px solid #5c614e; border-left:0; border-radius:0; background:var(--panel); color:var(--gold); box-shadow:none; font-size:22px; }
.ticker-desk .gold-btn:hover { background:#293020; }
.ticker-desk .gold-btn:disabled { opacity:.5; cursor:wait; }
.ticker-desk .nav { display:flex; grid-column:1/-1; grid-row:2; gap:30px; margin-top:20px; height:auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:auto; scrollbar-width:thin; }
.ticker-desk .nav a { display:flex; align-items:center; min-height:52px; padding:13px 0; border:0; border-bottom:2px solid transparent; border-radius:0; font:600 12px/1.5 var(--font); color:#c9cbbd; text-transform:none; background:none; box-shadow:none; }
.ticker-desk .nav a[aria-current] { color:var(--gold); border-bottom-color:var(--gold); }
.ticker-desk .nav a:hover { color:var(--gold2); }
.ticker-desk .tape { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); justify-content:initial; gap:0; padding:0; border-bottom:1px solid var(--line); }
.ticker-desk .tape div { min-width:0; padding:14px 20px; border-left:1px solid var(--line); }
.ticker-desk .tape div:first-child { padding-left:0; border-left:0; }
.ticker-desk .tape small { white-space:normal; color:var(--muted); font-size:9px; line-height:1.5; }
.ticker-desk .tape b { font:500 20px/1.4 var(--font); color:var(--ink); font-variant-numeric:tabular-nums; }
.ticker-desk .tape i { margin-left:10px; font-size:11px; color:var(--green); }
.ticker-desk .workspace-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 0 20px; }
.ticker-desk .workspace-heading p { margin:0; color:var(--muted); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.ticker-desk .workspace-heading p span { color:var(--gold); margin-right:12px; }
.ticker-desk .section-links { display:flex; gap:22px; }
.ticker-desk .section-links a { display:inline-flex; align-items:center; min-height:44px; color:#c4c8b8; text-decoration:none; font-size:11px; }
.ticker-desk main { display:grid; grid-template-columns:minmax(0,2.5fr) minmax(280px,1fr); grid-template-rows:auto auto auto; gap:24px; padding:0; min-width:0; }
.ticker-desk .card, .ticker-desk .tv-chart { border:1px solid var(--line); border-radius:0; background:var(--panel); box-shadow:none; }
.ticker-desk .overview { grid-column:1/-1; padding:28px 28px 0; margin:0; }
.ticker-desk .overview-line { grid-template-columns:minmax(0,1.35fr) minmax(160px,.8fr) minmax(170px,.85fr); gap:28px; align-items:center; }
.ticker-desk .company h1 { font:400 clamp(30px,3.2vw,46px)/1.1 var(--display); letter-spacing:-.035em; margin:0 0 12px; overflow-wrap:anywhere; }
.ticker-desk .star { display:none; } /* Decorative star was not a working watchlist control. */
.ticker-desk .company p { font:12px/1.6 var(--font); color:#d6d9ca; }
.ticker-desk .company p b { color:var(--gold); letter-spacing:.06em; }
.ticker-desk .company small { font:11px/1.5 var(--font); color:var(--muted); margin-top:6px; }
.ticker-desk .quote { text-align:left; }
.ticker-desk .quote-stack { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; min-width:0; }
.ticker-desk .quote b { font:500 clamp(30px,3.4vw,46px)/1.1 var(--font); letter-spacing:-.045em; font-variant-numeric:tabular-nums; }
.ticker-desk .quote span { font:500 14px/1.5 var(--font); margin-top:9px; }
.ticker-desk .quote-label { display:block; color:var(--muted); font:10px/1.5 var(--font); margin-bottom:5px; }
.ticker-desk .state { padding:5px 0 5px 24px; border-left:1px solid var(--line); min-width:0; }
.ticker-desk .state b { font:600 10px/1.6 var(--font); color:var(--gold); letter-spacing:.04em; }
.ticker-desk .state span, .ticker-desk .state small { font:10px/1.7 var(--font); color:var(--muted); overflow-wrap:anywhere; white-space:normal; overflow:visible; margin-top:6px; }
.ticker-desk .metrics { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); margin-top:26px; padding:0; border-top:1px solid var(--line); }
.ticker-desk .metric { padding:16px 12px 18px; border-right:1px solid var(--line); }
.ticker-desk .metric:first-child { padding-left:0; }
.ticker-desk .metric:last-child { border-right:0; }
.ticker-desk .metric span { font:9px/1.5 var(--font); letter-spacing:.025em; color:var(--muted); white-space:normal; overflow:visible; }
.ticker-desk .metric b { margin-top:7px; font:500 14px/1.5 var(--font); color:var(--ink); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; white-space:normal; }
.ticker-desk .chart-host { grid-column:1; grid-row:2; min-width:0; min-height:590px; height:64vh; max-height:760px; margin:0; }
.ticker-desk .tv-chart { height:100%; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(260px,1fr) auto auto; min-width:0; }
.ticker-desk .tv-chart__head { align-items:flex-start; flex-direction:column; gap:14px; padding:20px; background:none; border-bottom:1px solid var(--line); }
.ticker-desk .tv-chart__title { color:var(--ink); font:500 17px/1.4 var(--font); }
.ticker-desk .tv-chart__meta { display:block; margin:5px 0 0; color:var(--muted); font:10px/1.5 var(--font); }
.ticker-desk .tv-chart__controls { display:flex; width:100%; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.ticker-desk .tv-chart__ranges { display:flex; flex-wrap:wrap; gap:4px; }
.ticker-desk .tv-chart__controls button { min-width:40px; min-height:36px; border:1px solid transparent; border-radius:0; padding:7px 9px; font:11px/1.4 var(--font); background:none; color:#c5cab9; box-shadow:none; }
.ticker-desk .tv-chart__controls button:is([aria-pressed="true"],.active) { border-color:#68694e; color:var(--gold); background:#25291e; box-shadow:none; }
.ticker-desk .tv-chart__controls button:hover:not(:disabled) { color:var(--gold2); background:#25291e; }
.ticker-desk .tv-chart__stage { min-height:260px; min-width:0; overflow:hidden; border:0; background:#242424; }
.ticker-desk .tv-chart__legend { color:#d0d1c8; font:10px/1.4 var(--font); }
.ticker-desk .tv-chart__returns { grid-auto-flow:initial; grid-template-columns:repeat(5,minmax(0,1fr)); background:var(--panel); border-top:1px solid var(--line); }
.ticker-desk .tv-chart__return { min-height:68px; gap:8px; padding:12px 4px; border-right:1px solid var(--line); }
.ticker-desk .tv-chart__return span { font:10px/1.3 var(--font); color:var(--muted); }
.ticker-desk .tv-chart__return b { font:500 12px/1.4 var(--font); font-variant-numeric:tabular-nums; }
.ticker-desk .tv-chart__return.active { background:#25291e; box-shadow:inset 0 2px var(--gold); }
.ticker-desk .tv-chart__foot { min-height:38px; padding:10px 15px; gap:10px; flex-wrap:wrap; color:var(--muted); background:none; border-top:1px solid var(--line); font:9px/1.5 var(--font); white-space:normal; }
.ticker-desk .headlines { grid-column:2; grid-row:2; align-self:stretch; min-width:0; max-height:760px; height:64vh; min-height:590px; margin:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#656850 var(--panel); }
.ticker-desk .section-head { min-height:68px; height:auto; padding:18px 22px; background:none; border-bottom:1px solid var(--line); gap:12px; text-transform:none; }
.ticker-desk .section-head b { font:400 23px/1.2 var(--display); color:var(--ink); }
.ticker-desk .section-head a { display:inline-flex; align-items:center; min-height:44px; color:var(--gold); font:11px/1.4 var(--font); white-space:nowrap; }
.ticker-desk .headline { padding:20px 22px; border-bottom:1px solid var(--line); }
.ticker-desk .headline small { font:10px/1.6 var(--font); color:var(--muted); margin-bottom:9px; }
.ticker-desk .headline a { font:14px/1.55 var(--font); color:var(--ink); }
.ticker-desk .headline a:hover { color:var(--gold); text-decoration:underline; }
.ticker-desk .headlines .empty { padding:24px 22px; margin:0; color:var(--muted); font:13px/1.7 var(--font); }
.ticker-desk .financial-desk { grid-column:1/-1; grid-row:3; min-width:0; padding-top:10px; }
.ticker-desk .financial-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:20px; }
.ticker-desk .financial-heading small { font:9px/1.5 var(--font); letter-spacing:.1em; color:var(--gold); }
.ticker-desk .financial-heading h2 { font:400 32px/1.2 var(--display); letter-spacing:-.025em; color:var(--ink); margin:6px 0 0; }
.ticker-desk .financial-heading p { margin:0; color:var(--muted); font:11px/1.6 var(--font); }
.ticker-desk .financials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto; gap:16px; min-height:0; margin:0; align-items:start; }
.ticker-desk .financial { padding:22px; min-height:272px; background:var(--panel); border:1px solid var(--line); border-radius:0; box-shadow:none; overflow:visible; }
.ticker-desk .financial header { display:flex; align-items:center; gap:12px; color:var(--ink); font:500 13px/1.5 var(--font); text-transform:none; }
.ticker-desk .financial header button { min-height:44px; border:0; border-radius:0; padding:8px 0 8px 12px; background:none; color:var(--gold); font:11px/1.4 var(--font); letter-spacing:0; }
.ticker-desk .financial dl { margin-top:10px; }
.ticker-desk .financial dl div { padding:10px 0; margin:0; border-bottom:1px solid #2b3026; gap:14px; font:12px/1.6 var(--font); }
.ticker-desk .financial dl div:last-child { border-bottom:0; }
.ticker-desk .financial dt { color:#b9c0ad; white-space:normal; }
.ticker-desk .financial dd { color:var(--ink); font-weight:500; font-variant-numeric:tabular-nums; }
.ticker-desk .financial.expanded { min-height:408px; padding:24px; background:#1b2117; border-color:#797b56; box-shadow:none; overflow:visible; }
.ticker-desk .financial.expanded header { font-size:15px; }
.ticker-desk .financial.expanded header button { min-height:44px; font-size:12px; border:0; border-radius:0; background:none; padding:8px 0 8px 12px; }
.ticker-desk .financial.expanded :is(dl div,dt,dd) { font-size:15px; margin:0; }
.ticker-desk .financial.expanded dl div { padding:14px 0; }
.ticker-desk .financial-note { color:var(--muted); font:9px/1.6 var(--font); }
.ticker-desk main:has(.financial.expanded) { grid-template-rows:auto auto auto; }
.ticker-desk .foot { display:flex; flex-wrap:wrap; justify-content:space-between; gap:15px 30px; margin-top:40px; padding:24px 0; height:auto; border-top:1px solid var(--line); background:none; color:var(--muted); font:10px/1.5 var(--font); text-transform:none; }
.ticker-desk .foot b { color:var(--ink); font:600 15px/1.4 var(--font); letter-spacing:-.04em; }
.ticker-desk .foot span { margin-left:14px; }
.ticker-desk .status { max-width:calc(100% - 32px); bottom:20px; padding:12px 18px; border:1px solid #696b50; border-radius:0; color:var(--gold2); background:#25291e; font:12px/1.5 var(--font); }
.ticker-desk .extended-quote { border-left:0; border-top:1px solid var(--line); padding:12px 0 0; }
.ticker-desk .extended-quote b { font-size:22px; }
@media (max-width:1199px) {
  .ticker-desk .app { padding:0 24px; }
  .ticker-desk .overview { padding:24px 24px 0; }
  .ticker-desk .overview-line { gap:20px; grid-template-columns:minmax(0,1.2fr) minmax(150px,.8fr) minmax(160px,.85fr); }
  .ticker-desk .metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .ticker-desk .metric:nth-child(4) { border-right:0; }
  .ticker-desk .metric:nth-child(n+5) { border-top:1px solid var(--line); }
  .ticker-desk .metric:nth-child(5) { padding-left:0; }
  .ticker-desk main { grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:20px; }
  .ticker-desk .financial { padding:18px; }
}
@media (max-width:900px) {
  .ticker-desk main { grid-template-columns:minmax(0,1fr); }
  .ticker-desk .chart-host { grid-column:1; grid-row:2; height:620px; }
  .ticker-desk .headlines { grid-column:1; grid-row:3; height:auto; min-height:0; max-height:480px; }
  .ticker-desk .financial-desk { grid-row:4; }
  .ticker-desk main:has(.financial.expanded) { grid-template-rows:auto; }
  .ticker-desk .financials { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ticker-desk .overview-line { grid-template-columns:minmax(0,1fr) auto; }
  .ticker-desk .state { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px; padding:14px 0 0; border:0; border-top:1px solid var(--line); }
  .ticker-desk .state :is(b,span,small) { margin:0; }
}
@media (max-width:600px) {
  .ticker-desk .app { padding:0 16px; }
  .ticker-desk .top { grid-template-columns:minmax(0,1fr); padding-top:24px; }
  .ticker-desk .brand strong { font-size:24px; }
  .ticker-desk .controls { grid-column:1; grid-row:2; margin-top:24px; min-width:0; }
  .ticker-desk .nav { grid-row:3; gap:24px; margin-top:18px; }
  .ticker-desk .nav a { font-size:12px; min-height:48px; }
  .ticker-desk .tape { display:flex; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; }
  .ticker-desk .tape div { flex:0 0 150px; padding:12px 16px; }
  .ticker-desk .tape div:first-child { padding-left:0; }
  .ticker-desk .tape b { font-size:18px; }
  .ticker-desk .workspace-heading { display:block; padding:24px 0 14px; }
  .ticker-desk .workspace-heading p { font-size:9px; }
  .ticker-desk .section-links { justify-content:space-between; gap:8px; margin-top:5px; }
  .ticker-desk .section-links a { font-size:11px; }
  .ticker-desk .overview { padding:22px 18px 0; }
  .ticker-desk .overview-line { grid-template-columns:minmax(0,1fr); gap:20px; }
  .ticker-desk .company h1 { font-size:36px; }
  .ticker-desk .quote b { font-size:40px; }
  .ticker-desk .state { display:block; padding-top:16px; }
  .ticker-desk .state :is(span,small) { margin-top:5px; }
  .ticker-desk .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:20px; }
  .ticker-desk .metric { padding:14px 10px; }
  .ticker-desk .metric:nth-child(odd) { padding-left:0; }
  .ticker-desk .metric:nth-child(even) { border-right:0; }
  .ticker-desk .metric:nth-child(n+3) { border-top:1px solid var(--line); }
  .ticker-desk .metric b { font-size:14px; }
  .ticker-desk .chart-host { height:690px; min-height:0; }
  .ticker-desk .tv-chart__head { padding:18px 12px; }
  .ticker-desk .tv-chart__title { font-size:16px; }
  .ticker-desk .tv-chart__controls { justify-content:start; gap:6px; }
  .ticker-desk .tv-chart__ranges { width:100%; flex-wrap:wrap; gap:2px; }
  .ticker-desk .tv-chart__controls button { min-width:44px; min-height:44px; font-size:11px; }
  .ticker-desk .tv-chart__returns { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .ticker-desk .tv-chart__return { min-height:60px; }
  .ticker-desk .tv-chart__foot { font-size:9px; }
  .ticker-desk .financial-heading { align-items:start; flex-direction:column; gap:10px; margin-top:6px; }
  .ticker-desk .financial-heading h2 { font-size:30px; }
  .ticker-desk .financials { grid-template-columns:minmax(0,1fr); }
  .ticker-desk .financial { padding:20px; min-height:0; }
  .ticker-desk .financial header { font-size:14px; }
  .ticker-desk .financial dl div { font-size:13px; }
  .ticker-desk .foot { margin-top:30px; padding-block:24px; font-size:10px; }
  .ticker-desk .foot span { display:block; margin:7px 0 0; }
}
@media (prefers-reduced-motion:reduce) {
  html:has(body.ticker-desk) { scroll-behavior:auto; }
}
