/* =====================================================================================================
   Atlas 2.0 design layer (11/3, owner: "one carefully designed premium product"). Loaded after app.css and pro.css,
   scoped to the Pro style (the default). One token set: surfaces, lines, a 4-step radius scale, a spacing scale and a
   type scale; restrained color (gold = the one accent; green / red only for money; Main green, Webull blue, Challenge
   gold only for account identity); no glows, no gradients behind data. The illustrated backdrops (html.fx) keep theirs.
   ===================================================================================================== */

/* ---------------- tokens (dark first; pro.css's light values still win in light mode) */
html.pro{
  --r-xs:6px;--r-sm:8px;--r:12px;--r-lg:16px;--r-pill:999px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;
  --fs-page:26px;--fs-sec:15px;--fs-body:14px;--fs-small:13px;--fs-label:11px;--fs-metric:26px;
  --acc-main:#22c55e;--acc-webull:#3b82f6;--acc-ch:#d4a72c;
  /* 11/3: the one universal palette (dark). No selectable backdrops any more. */
  --bg:#0b1018;--panel:#111925;--panel2:#172130;--line:#25303e;--line2:#313e50;
  --ink:#f4f5f8;--ink2:#9ca8b8;--mute:#6f7c8e;--gold:#d4a72c;--gold2:#e6c565;--goldbg:rgba(212,167,44,.13);--on-gold:#141414;
  --shadow:none}
@media (prefers-color-scheme:light){html.pro:not([data-theme=dark]){--shadow:0 1px 2px rgba(16,24,40,.05);--acc-main:#15803d;--acc-webull:#2563eb;--acc-ch:#a16207;
  --bg:#f4f6f9;--panel:#ffffff;--panel2:#f1f4f8;--line:#e3e8ef;--line2:#d3dae4;--ink:#0f1724;--ink2:#4a5566;--mute:#7a8596;--gold:#a8800f;--gold2:#c49a22;--goldbg:rgba(168,128,15,.1);--on-gold:#ffffff}}
html.pro[data-theme=light]{--shadow:0 1px 2px rgba(16,24,40,.05);--acc-main:#15803d;--acc-webull:#2563eb;--acc-ch:#a16207;
  --bg:#f4f6f9;--panel:#ffffff;--panel2:#f1f4f8;--line:#e3e8ef;--line2:#d3dae4;--ink:#0f1724;--ink2:#4a5566;--mute:#7a8596;--gold:#a8800f;--gold2:#c49a22;--goldbg:rgba(168,128,15,.1);--on-gold:#ffffff}

/* ---------------- the universal backdrop: flat, with one very soft vignette at the top. Nothing moves. */
html.pro body{background:radial-gradient(1200px 600px at 50% -200px,color-mix(in srgb,var(--ink) 4%,transparent),transparent 70%) no-repeat,var(--bg)!important;background-attachment:fixed!important}

/* ---------------- page header: title, one line of summary, the page's actions */
html.pro main .top{align-items:flex-end;gap:var(--s4);margin-bottom:var(--s5)}
html.pro #title{font-size:var(--fs-page);font-weight:650;letter-spacing:-.02em;line-height:1.15;margin:2px 0 4px}
html.pro #hello{font-size:var(--fs-label);letter-spacing:.08em;color:var(--mute)}
html.pro #pagesum{font-size:var(--fs-small);color:var(--ink2)}

/* ---------------- surfaces */
html.pro:not(.fx) .card{border-radius:var(--r);border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}
html.pro .card.tight{border-radius:var(--r-sm)}
html.pro .card-h{gap:var(--s3);margin-bottom:var(--s3)}
html.pro .card-h h3{font-size:var(--fs-sec);font-weight:600;letter-spacing:-.005em}
html.pro .grid,html.pro .g2,html.pro .g3,html.pro .g4{gap:var(--s4)}

/* ---------------- metric tiles (kpi): a small label, the number, one line of context */
html.pro .kpi{padding:var(--s4) var(--s4) var(--s3)}
html.pro .kpi .l{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.07em;color:var(--mute);font-weight:600}
html.pro .kpi .v{font-size:var(--fs-metric)!important;font-weight:650;letter-spacing:-.02em;line-height:1.2;margin:6px 0 2px;font-variant-numeric:tabular-nums}
html.pro .kpi .s{font-size:12px;color:var(--ink2)}
html.pro .num{font-variant-numeric:tabular-nums}

/* ---------------- controls: one radius each, one active treatment */
html.pro .btn{border-radius:var(--r-sm)}
html.pro .btn.sm{border-radius:var(--r-xs)}
html.pro .seg,html.pro .tabs{border-radius:var(--r-sm)}
html.pro .seg button,html.pro .tabs button{border-radius:var(--r-xs)}
html.pro .seg button.on,html.pro .tabs button.on{background:var(--panel2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
html.pro .input,html.pro select,html.pro textarea{border-radius:var(--r-sm)}
html.pro .badge{border-radius:var(--r-pill)}

/* ---------------- tables: quiet header, aligned numbers, a hover row */
html.pro table th{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;color:var(--mute);font-weight:600;background:transparent;border-bottom:1px solid var(--line2)}
html.pro table td{border-bottom:1px solid var(--line)}
html.pro table tbody tr:hover td{background:color-mix(in srgb,var(--panel2) 70%,transparent)}
html.pro td.num,html.pro th.num{text-align:right}

/* ---------------- sidebar: the current page gets a gold edge, not a filled block */
html.pro #nav button{border-radius:var(--r-sm);position:relative}
html.pro #nav button.on{background:var(--panel2);color:var(--ink)}
html.pro #nav button.on::after{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}

/* ---------------- Today: one status line, unified account cards (identity = a top edge and the name's dot) */
html.pro .status-line{padding:var(--s3) var(--s4);border-radius:var(--r)}
html.pro body .card.acc-card,html.pro.fx body .card.acc-card{border:1px solid var(--line)!important;border-top:3px solid var(--acc)!important;
  background:var(--panel)!important;box-shadow:var(--shadow)!important;border-radius:var(--r)!important}
html.pro body .card.acc-off{border-style:dashed!important;border-top-style:solid!important}
html.pro .acc-name{color:var(--ink)!important;font-weight:650!important}
html.pro .acc-val{font-size:30px!important;font-weight:650!important;letter-spacing:-.02em}
html.pro .acc-row{font-size:var(--fs-small)}
html.pro .acc-row .mute{color:var(--mute)}

/* ---------------- Friends / Accounts cards share the account-card look */
html.pro .acctlive.acct2{border-radius:var(--r);border:1px solid var(--line);background:var(--panel)}
html.pro .acctlive.acct2:hover{border-color:var(--line2)}

/* ---------------- Analysts: search + Following / Top, folding groups */
html.pro .an-find{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;margin:0 0 var(--s3)}
html.pro .an-find .input{flex:1 1 220px;min-width:0;max-width:420px}
html.pro .an-card[hidden],html.pro .an-grp[hidden],html.pro .an-grp-b[hidden],html.pro .an-jump[hidden]{display:none!important}

/* ---------------- Automation (11/3): setup summary, three paths, strategy cards, Essentials / Advanced, analyst rows, save bar */
html.pro .setup-sum{font-size:15px;line-height:1.65;margin:0 0 12px;color:var(--ink)}
html.pro .paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s2)}
html.pro .path{display:flex;flex-direction:column;gap:4px;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel2)}
html.pro .path.on{border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}
html.pro .path .badge{align-self:flex-start;margin-top:4px}
/* 11/7: the Namrood picker is a set of buttons (one panel shows); Trading Setup has four sections */
html.pro button.path{font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
html.pro button.path:hover{border-color:color-mix(in srgb,var(--gold) 35%,var(--line))}
html.pro button.path.on{background:var(--goldbg)}
html.pro .path-panel{margin-top:var(--s3)}
html.pro .setup-nav{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 var(--s3);padding:6px;
  border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px)}
html.pro .setup-nav button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:8px 10px;border:1px solid transparent;border-radius:calc(var(--r-sm) - 2px);
  background:transparent;color:var(--ink2);font:inherit;cursor:pointer;text-align:left}
html.pro .setup-nav button b{font-size:13px;font-weight:650;color:inherit}
html.pro .setup-nav button span{font-size:11px;color:var(--mute);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.pro .setup-nav button:hover{color:var(--ink)}
html.pro .setup-nav button.on{background:var(--panel2);border-color:color-mix(in srgb,var(--gold) 45%,var(--line));color:var(--gold)}
html.pro .setup-sec>.card+.card{margin-top:var(--s3)}
html.pro .setup-wrap.searching .setup-sec[hidden],html.pro .setup-wrap.searching .path-panel[hidden]{display:block}
@media (max-width:720px){html.pro .paths{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}html.pro button.path{padding:9px 10px;gap:3px}html.pro button.path>b{font-size:12.5px;line-height:1.25}html.pro button.path>.small{display:none}html.pro button.path .badge{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.pro .setup-nav{grid-template-columns:repeat(4,minmax(84px,1fr));overflow-x:auto;scrollbar-width:none}html.pro .setup-nav button{padding:7px 8px}}
html.pro .sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--s3)}
html.pro .sc{display:flex;flex-direction:column;gap:6px;padding:var(--s4);border:1px solid var(--line);border-radius:var(--r);background:var(--panel2)}
html.pro .sc.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
html.pro .sc-h{display:flex;align-items:center;justify-content:space-between;gap:8px}html.pro .sc-h b{font-size:16px}
html.pro .sc-bp{font-size:12px;color:var(--mute)}
html.pro .sc-line{font-size:var(--fs-small);color:var(--ink2);line-height:1.45}
html.pro .sc-f{margin:2px 0 0;padding-left:16px;font-size:12.5px;color:var(--ink2);line-height:1.55}
html.pro .sc-d summary,html.pro details.ess>summary,html.pro details.an-row>summary{cursor:pointer;list-style:none}
html.pro .sc-d summary::-webkit-details-marker,html.pro details.ess>summary::-webkit-details-marker,html.pro details.an-row>summary::-webkit-details-marker{display:none}
html.pro .sc-d summary{font-size:12px;color:var(--mute)}html.pro .sc-d[open] .small{margin-top:6px;display:block}
html.pro .sc .btn{align-self:flex-start;margin-top:auto}
html.pro details.ess,html.pro details.an-row{border-bottom:1px solid var(--line)}
html.pro details.ess:last-child,html.pro details.an-row:last-child{border-bottom:0}
html.pro details.ess>summary,html.pro details.an-row>summary{display:flex;align-items:center;gap:10px;padding:12px 2px;flex-wrap:wrap}
html.pro details.ess>summary .tiny{flex:1;min-width:140px}
html.pro .ess-v{font-size:12.5px;color:var(--ink2);font-variant-numeric:tabular-nums;max-width:45%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.pro details.an-row .an-sum{flex:1;min-width:120px}
html.pro details[open]>summary .chev{transform:rotate(180deg)}html.pro summary .chev{opacity:.45;transition:transform .2s}
html.pro details.ess>.list,html.pro details.an-row>.list{padding:0 0 10px}
html.pro .adv-find{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}
html.pro .adv-find .input{flex:1 1 240px;min-width:0;max-width:460px}
html.pro .adv-miss,html.pro .an-row[hidden]{display:none!important}
html.pro .rs-bar{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:10px 14px;border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));border-radius:var(--r);background:var(--panel);box-shadow:0 10px 30px rgba(0,0,0,.35)}
html.pro .rs-bar.hide{display:none}
html.pro .rs-bar{margin-right:116px}   /* 11/7: clear of the bell and chat buttons in the corner */
@media (max-width:720px){html.pro .rs-bar{bottom:calc(92px + env(safe-area-inset-bottom));margin-right:62px}html.pro .ess-v{display:none}}

/* ---------------- Automation headings (11/3, owner: "headings could stick out more instead of being white"): gold, with a
   slim accent bar; the group names inside Essentials / Advanced / Analysts get the same color at body size */
html.pro .auto-page .card-h h3{color:var(--gold);font-weight:650;display:flex;align-items:center;gap:8px}
html.pro .auto-page .card-h h3::before{content:"";width:3px;height:1em;border-radius:2px;background:var(--gold);flex:0 0 3px}
html.pro .auto-page .conn-st h2{color:var(--gold)}
html.pro .auto-page details.ess>summary>b,html.pro .auto-page details.an-row>summary>b{color:var(--gold)}
html.pro .auto-page .path>b,html.pro .auto-page .sc-h>b{color:var(--ink)}

/* ---------------- Connection (11/3) */
html.pro .conn-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s3);margin-top:var(--s4)}
html.pro .conn-facts>div{display:flex;flex-direction:column;gap:3px;padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel2)}
html.pro .conn-todo{margin-top:var(--s3);padding:10px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--down) 10%,transparent);border:1px solid color-mix(in srgb,var(--down) 35%,var(--line));font-size:var(--fs-small)}

/* ---------------- System Health: monitor cards */
html.pro .mon{display:flex;flex-direction:column;gap:var(--s2)}
html.pro .mon-h{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s1)}
html.pro .mon-h h3{font-size:var(--fs-sec);font-weight:600;margin:0}
html.pro .mon-h .badge{margin-left:auto}
html.pro .mon.bad{border-color:color-mix(in srgb,var(--down) 40%,var(--line))!important}
html.pro .mon.warn{border-color:color-mix(in srgb,var(--amber) 40%,var(--line))!important}
html.pro .mon.notice,html.pro .status-line.notice{border-color:color-mix(in srgb,var(--blue) 40%,var(--line))!important}
html.pro .badge.blue{color:var(--blue)}
html.pro .mon-why{font-size:var(--fs-small);color:var(--ink2);line-height:1.5}
html.pro .mon-d summary{cursor:pointer;font-size:12px;color:var(--mute);list-style:none;display:inline-flex;gap:6px;align-items:center;padding:2px 0}
html.pro .mon-d summary::-webkit-details-marker{display:none}
html.pro .mon-d summary::before{content:"▸";font-size:10px}html.pro .mon-d[open] summary::before{content:"▾"}
html.pro .mon-d[open]{margin-top:2px}
html.pro .hs-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s4)}

/* ---------------- phones: tighter rhythm, the same components */
@media (max-width:720px){
  html.pro{--fs-page:22px;--fs-metric:22px}
  html.pro:not(.fx) .card{border-radius:var(--r)}
  html.pro .kpi{padding:var(--s3)}
  html.pro .grid,html.pro .g2,html.pro .g3,html.pro .g4{gap:var(--s3)}
  html.pro .acc-val{font-size:26px!important}
}
@media (prefers-reduced-motion:reduce){html.pro *{transition:none!important;animation:none!important}}

/* ===== 11/7: Automation Control Center (autocenter.js) ===== */
html.pro .ac-search{position:relative;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 var(--s3)}
html.pro .ac-search .input{flex:1 1 280px;min-width:0}
html.pro .ac-res{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;max-height:min(60vh,520px);overflow:auto;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel);box-shadow:0 12px 32px rgba(0,0,0,.35)}
html.pro .ac-hit{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
html.pro .ac-hit:hover,html.pro .ac-hit:focus-visible{background:var(--panel2);outline:none}
html.pro .ac-hit-t{display:flex;flex-direction:column;gap:2px;min-width:0}
html.pro .ac-hit-t b{font-weight:600}
html.pro .ac-hit-v{display:flex;gap:6px;align-items:center;flex:none;white-space:nowrap}
html.pro .rs-row.ac-flash{animation:acflash 1.6s ease-out}
@keyframes acflash{0%,30%{box-shadow:inset 0 0 0 2px var(--gold);background:var(--goldbg)}100%{box-shadow:inset 0 0 0 0 transparent}}
html.pro .ac-why-l{font-size:11.5px;margin-left:2px}
html.pro .ac-why table,html.pro #ac-cmp-m table{width:100%}
html.pro .ac-win td{color:var(--gold)}
html.pro tr.ac-bad td{color:var(--down)}
/* applied vs proposed, and strategy A vs B: a three-column grid that stacks on phones */
html.pro .ac-cmp{display:grid;font-size:13px}
html.pro .ac-cmp-h,html.pro .ac-cmp-r{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,2fr);gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}
html.pro .ac-cmp.two .ac-cmp-h,html.pro .ac-cmp.two .ac-cmp-r{grid-template-columns:minmax(120px,.8fr) minmax(0,1.6fr) minmax(0,1.6fr)}
html.pro .ac-cmp-h{font-size:11.5px;color:var(--mute);border-bottom-color:var(--line2)}
html.pro .ac-cmp-l{color:var(--mute)}
html.pro .ac-cmp-r>span{min-width:0;overflow-wrap:anywhere}
html.pro .ac-cmp-r.diff{background:color-mix(in srgb,var(--gold) 7%,transparent)}
html.pro .ac-cmp-r.diff>span:not(.ac-cmp-l){color:var(--ink)}
html.pro .ac-cmp-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html.pro .ac-cmp-pick>div{display:flex;gap:6px;align-items:center;min-width:0}
html.pro .ac-cmp-pick select{flex:1;min-width:0}
/* friends' checklist */
html.pro .ac-steps{list-style:none;margin:0;padding:0;display:grid;gap:2px}
html.pro .ac-steps li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
html.pro .ac-dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line2);display:grid;place-items:center;font-size:11px;color:var(--bg)}
html.pro .ac-steps li.ok .ac-dot{background:var(--up);border-color:var(--up)}
html.pro .ac-steps li.ok b{color:var(--mute);font-weight:500}
/* application timeline */
html.pro .ac-tl-w{display:grid;gap:10px}
html.pro .ac-tl-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
html.pro .ac-tl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px}
html.pro .ac-tl-s{display:grid;grid-template-columns:12px minmax(0,1fr);column-gap:6px;align-items:center;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-sm)}
html.pro .ac-tl-s i{width:8px;height:8px;border-radius:50%;background:var(--line2);grid-row:span 2}
html.pro .ac-tl-s.ok i{background:var(--up)}html.pro .ac-tl-s.wait i{background:var(--amber,#d9a43a)}html.pro .ac-tl-s.bad i{background:var(--down)}
html.pro .ac-tl-s b{font-size:12px;font-weight:600}
/* action center */
html.pro .ac-issue{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
html.pro .ac-issue-t{font-size:13px;min-width:0}
html.pro .ac-issue.notice .badge{color:var(--mute)}
/* history filters */
html.pro .ac-hf{display:flex;flex-wrap:wrap;gap:6px}
html.pro .ac-hf .input{flex:1 1 130px;min-width:0;max-width:220px}
html.pro .ac-hv summary .badge{margin-left:auto}
/* phones: a value chip on each row opens a focused editing sheet with the same control */
html.pro .ac-chip{display:none}
#ac-sheet{position:fixed;inset:0;z-index:2000}
#ac-sheet .ac-sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.5)}
#ac-sheet .ac-sheet-p{position:absolute;left:0;right:0;bottom:0;max-height:86vh;overflow:auto;padding:18px 16px calc(18px + env(safe-area-inset-bottom));
  background:var(--panel);border-top:1px solid var(--line2);border-radius:18px 18px 0 0;animation:slideup .2s ease-out}
#ac-sheet .ac-sheet-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:16px}
#ac-sheet .ac-sheet-c{margin:10px 0}
#ac-sheet .ac-sheet-c .seg{flex-wrap:wrap}
#ac-sheet .ac-sheet-c .seg button{min-height:42px;padding:8px 14px}
#ac-sheet .ac-sheet-c .input{min-height:46px;font-size:16px;max-width:none!important;width:100%}
@media (max-width:720px){
  html.pro .auto-sec .rs-row[data-key]{grid-template-columns:minmax(0,1fr) auto;align-items:center}
  html.pro .auto-sec .rs-row[data-key]>.rs-ctl{display:none}
  html.pro .auto-sec .rs-row[data-key] .s{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}   /* the sheet shows it all */
  html.pro .auto-sec .rs-row[data-key] .ac-why-l{display:none}
  html.pro .ac-chip{display:inline-flex;align-items:center;max-width:42vw;min-height:36px;padding:6px 12px;border:1px solid var(--line2);border-radius:999px;background:var(--panel2);
    color:var(--ink);font:600 13px var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
  html.pro .ac-chip.draft{border-color:var(--gold);color:var(--gold)}
  html.pro .ac-cmp.two:not(.strat) .ac-cmp-h{display:none}
  html.pro .ac-cmp.two.strat .ac-cmp-h{grid-template-columns:1fr 1fr;position:sticky;top:0;background:var(--panel);z-index:1}html.pro .ac-cmp.two.strat .ac-cmp-h>span{display:none}
  html.pro .ac-cmp.two .ac-cmp-r{grid-template-columns:1fr 1fr;row-gap:4px}
  html.pro .ac-cmp.two .ac-cmp-r>.ac-cmp-l{grid-column:1/-1;font-weight:600;color:var(--ink2)}
  html.pro .ac-cmp.two .ac-cmp-r>span:not(.ac-cmp-l){font-size:12.5px;padding:6px 8px;border-radius:8px;background:var(--panel2)}
  html.pro .ac-cmp.two:not(.strat) .ac-cmp-r>span:nth-child(2)::before{content:'Applied: ';color:var(--mute)}
  html.pro .ac-cmp.two:not(.strat) .ac-cmp-r>span:nth-child(3)::before{content:'Proposed: ';color:var(--mute)}
  html.pro .ac-cmp-pick{grid-template-columns:1fr}
  html.pro .ac-tl{grid-template-columns:1fr}
  html.pro .ac-issue{grid-template-columns:minmax(0,1fr) auto}html.pro .ac-issue .badge{grid-column:1/-1;justify-self:start}
  html.pro .ac-res{position:fixed;left:12px;right:12px;top:auto;max-height:55vh}
}
html.pro .ac-chg{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(0,2fr);gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
@media (max-width:720px){html.pro .ac-chg{grid-template-columns:1fr;gap:2px}}

/* 11/9 (Atlas 2.5): keyboard + screen-reader basics: a skip link, the status line's own button */
.skip-link{position:fixed;left:12px;top:-80px;z-index:10000;padding:10px 14px;border-radius:10px;background:var(--gold);color:#111;font-weight:700;text-decoration:none}
.skip-link:focus{top:12px}
.status-line .status-main{all:unset;display:flex;align-items:center;gap:8px 12px;flex:1 1 200px;min-width:0;cursor:pointer;border-radius:8px}
.status-line .status-main:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.status-line .status-main .grow{flex:1 1 auto;min-width:0;overflow-wrap:break-word}

/* ---------------------------------------------------------------- 11/9 (Atlas 3.0): market workspace (Pulse, Options Flow,
   Dealer Edge) and Copy Trading. Denser than the account pages; same tokens, gold accent, focus rings. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.mkt{display:flex;flex-direction:column;gap:8px;min-width:0}
.mkt-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r2)}
.mkt-bar .input,.mkt .mkt-sel{height:30px;padding:0 8px;font-size:13px;min-width:0}
.mkt-tick{display:flex;gap:4px;align-items:center}.mkt-tick .input{width:92px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.mkt-quote{display:flex;align-items:baseline;gap:6px;font-size:13px;white-space:nowrap}.mkt-quote b{font-size:17px}
.mkt-seg button{padding:4px 9px;font-size:12px}
.mkt-num{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--mute)}.mkt-num .input{width:74px;height:28px}
.mkt-menu{position:relative}.mkt-menu>summary{list-style:none;cursor:pointer}.mkt-menu>summary::-webkit-details-marker{display:none}
.mkt-pop{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:min(420px,86vw);max-height:70vh;overflow:auto;padding:10px;background:var(--panel);border:1px solid var(--line2);border-radius:var(--r2);box-shadow:0 12px 32px rgba(0,0,0,.35);display:grid;gap:6px}
.mkt-ind{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:4px 0;border-bottom:1px solid var(--line);font-size:13px}
.mkt-ind label:first-child{min-width:150px;display:flex;align-items:center;gap:6px}
.mkt-ind input[type=color]{width:28px;height:24px;padding:0;border:1px solid var(--line2);border-radius:6px;background:none}
.mkt-body{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:8px;min-height:0}
.mkt-chart-wrap,.mkt-table-wrap,.mkt-heat-wrap{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);padding:6px;min-width:0}
.mkt-chart{height:min(68vh,640px);min-height:340px}
.mkt-ohlc{position:absolute;z-index:3;top:8px;left:12px;font-size:12px;display:flex;flex-wrap:wrap;gap:4px 8px;pointer-events:none;background:color-mix(in srgb,var(--panel) 80%,transparent);padding:2px 6px;border-radius:6px}
.mkt-msg{position:absolute;inset:40px 12px auto;z-index:4;padding:14px;background:var(--panel2);border:1px solid var(--line2);border-radius:var(--r2);font-size:13px}
.mkt-msg[hidden]{display:none}.mkt-table-wrap .mkt-msg{position:static;margin:8px}
.mkt-side{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);padding:8px;display:flex;flex-direction:column;gap:4px;min-width:0;max-height:min(72vh,700px);overflow:auto}
.mkt-side-h{display:flex;justify-content:space-between;align-items:baseline;padding:2px 4px 6px;border-bottom:1px solid var(--line)}
.mkt-w{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;border-radius:8px;padding:0 4px}
.mkt-w.on{background:var(--goldbg)}.mkt-w-s{all:unset;cursor:pointer;font-weight:700;padding:6px 2px}.mkt-w-s:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
.mkt-x{all:unset;cursor:pointer;color:var(--mute);padding:2px 6px;border-radius:6px;font-size:15px;line-height:1}.mkt-x:hover{color:var(--ink);background:var(--panel2)}.mkt-x:focus-visible{outline:2px solid var(--gold)}
.mkt-add{display:flex;gap:4px;margin-top:6px}.mkt-add .input{flex:1;min-width:0;height:30px}
.mkt-side-f{margin-top:auto;padding-top:8px}.mkt-jump{display:flex;flex-wrap:wrap;gap:4px}
.mkt-foot{padding:0 4px}
.mkt-demo{padding:8px 12px;border-radius:var(--r2);background:color-mix(in srgb,var(--violet,#8b5cf6) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--violet,#8b5cf6) 45%,var(--line));font-size:13px}
.mkt-note{padding:8px 12px;border-radius:var(--r2);background:var(--panel2);border:1px solid var(--line);color:var(--ink2);line-height:1.45}
.mkt-full{position:fixed;inset:0;z-index:900;background:var(--bg);padding:10px;overflow:auto}.mkt-full .mkt-chart{height:calc(100vh - 120px)}
body.mkt-noscroll{overflow:hidden}
/* Options Flow table: sticky header, compact rows, right-aligned numbers */
.mkt-tw{max-height:min(66vh,680px)!important;overflow:auto}
.mkt-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}
.mkt-table th{position:sticky;top:0;z-index:2;background:var(--panel2);border-bottom:1px solid var(--line2);padding:0;white-space:nowrap}
.mkt-table th.num{text-align:right}
.mkt-sort{all:unset;cursor:pointer;display:block;padding:6px 8px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--mute)}
.mkt-sort:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.mkt-table td{padding:4px 8px;border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}
.mkt-table td.num{text-align:right}
.mkt-row{cursor:pointer}.mkt-row:hover td{background:var(--panel2)}.mkt-row:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.mkt-row.sel td{background:var(--goldbg)}
.mkt-preset{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;font-size:13px;padding:3px 0}
.mkt-drawer{margin-top:10px;padding:10px;border:1px solid var(--line2);border-radius:var(--r2);background:var(--panel2)}
.mkt-dr{padding:3px 0;border-bottom:1px solid var(--line)}
/* Dealer Edge heatmap */
.mkt-heat{overflow:auto;max-height:min(70vh,720px)}
.mkt-heatmap{border-collapse:separate;border-spacing:2px;font-size:11.5px;width:100%}
.mkt-heatmap th{position:sticky;top:0;background:var(--panel);z-index:1;padding:4px 6px;font-weight:600;color:var(--mute);white-space:nowrap}
.mkt-heatmap tbody th{position:sticky;left:0;text-align:right;color:var(--ink)}
.mkt-heatmap td{padding:4px 6px;border-radius:4px;text-align:right;min-width:52px;font-variant-numeric:tabular-nums;color:var(--ink)}
.mkt-heatmap tr.spot th,.mkt-heatmap tr.spot td{box-shadow:inset 0 -2px 0 var(--gold)}
.mkt-legend{display:flex;align-items:center;gap:8px;padding:6px 4px 0}.mkt-legend i{flex:0 1 220px;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--down),var(--panel2),var(--up))}
.mkt-lv{padding:6px 4px;border-bottom:1px solid var(--line)}
.mkt-method summary{cursor:pointer;font-size:13px;padding:6px 4px}.mkt-method p{margin:6px 4px;line-height:1.45}
/* Copy Trading */
.cp-facts{gap:8px}.cp-fact .cp-v{font-weight:700;margin:4px 0 2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cp-list{display:grid;gap:6px}.cp-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 0;border-bottom:1px solid var(--line)}
.cp-trace{padding:8px 0;border-bottom:1px solid var(--line)}
.cp-steps{list-style:none;display:flex;flex-wrap:wrap;gap:4px;padding:0;margin:6px 0 0}
.cp-steps li{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:12px}
.cp-steps li:not(.cp-end)::after{content:'›';color:var(--mute);margin-left:2px}
.cp-steps .cp-end{background:none;border:0;padding:0}
@media (max-width:900px){
  .mkt-body{grid-template-columns:1fr}
  .mkt-side{max-height:none}
  .mkt-chart{height:56vh;min-height:300px}
  .mkt-bar{padding:6px}
  .mkt-pop{position:fixed;left:12px;right:12px;top:auto;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;max-height:60vh}
}
.mkt .mkt-sel{width:auto!important;flex:0 0 auto}
/* 11/10: the Live / Dry chip on account cards: coloured text and border with the dot */
html.pro .badge.mode-live{color:var(--down);border-color:color-mix(in srgb,var(--down) 45%,transparent)}
html.pro .badge.mode-dry{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 45%,transparent)}
.badge.mode-dry{color:var(--blue)}
