/* OLLY — base styles (wwwroot/app/css/app.css).
   v62 — branded to the OLLY prototype: deep-teal ground, steel/cyan accents,
   amber signal, Nunito + Open Sans, 540px mobile frame, fixed bottom nav. */
:root{
  /* OLLY prototype palette (var names kept so every section rebrands via tokens) */
  --ground:#0a1c2b;
  --bg:#0a1c2b; --panel:#102a3e; --panel-2:#0e2536; --panel-3:#15334a;
  --line:rgba(91,176,209,.22); --line-2:rgba(91,176,209,.45);
  --text:#e9f1f6; --muted:#8da7b8; --mute-2:#6e8799;
  --accent:#39b6d8;            /* steel — replaces the old blue everywhere */
  --steel:#39b6d8; --cyan:#54d6ef;
  --accent-ink:#04212d;        /* dark ink reads well on steel/cyan fills */
  --signal:#e0a23c;            /* amber */
  --danger:#e0736a; --ok:#37c9a3; --warn:#e0a23c;
  --mono:'Nunito',system-ui,sans-serif; --sans:'Open Sans',system-ui,sans-serif;
  --radius:12px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow-x:hidden}
body{background:var(--ground);color:var(--text);
  font:15px/1.55 var(--sans),-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;color-scheme:dark;
  display:flex;justify-content:center;min-height:100%}
a{color:var(--cyan)}
.hidden{display:none !important}

/* ---- 540px mobile app frame (matches prototype .app) ---- */
#view-login,#view-app{width:100%;max-width:540px;margin:0 auto}
#view-app{min-height:100vh;min-height:100dvh;position:relative;
  background:radial-gradient(900px 460px at 80% -8%, #11324a 0%, var(--ground) 52%);
  border-left:1px solid var(--line);border-right:1px solid var(--line);
  display:flex;flex-direction:column;overflow-x:hidden}

/* login */
.login-wrap{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{width:100%;max-width:360px;background:var(--panel-2);border:1px solid var(--line-2);
  border-radius:16px;padding:28px}
.brand{font-family:var(--mono);font-size:28px;font-weight:800;letter-spacing:.03em;margin:0 0 4px}
.brand small{display:block;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--mute-2);
  letter-spacing:.12em;text-transform:uppercase;margin-top:4px}
.login-card label{display:block;font-size:13px;color:var(--muted);margin:16px 0 6px}
.login-card input{width:100%;padding:10px 12px;background:#0b2032;border:1px solid var(--line);
  border-radius:8px;color:var(--text);font-size:15px}
.login-card input:focus{outline:none;border-color:var(--accent)}
.btn{margin-top:20px;width:100%;padding:11px;border:0;border-radius:8px;background:var(--accent);
  color:var(--accent-ink);font-size:15px;font-weight:600;cursor:pointer}
.btn:disabled{opacity:.6;cursor:default}
.error{margin-top:14px;color:var(--danger);font-size:13px;min-height:16px}

/* shell — header (sticky, blurred) */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 18px 13px;border-bottom:1px solid var(--line);
  background:rgba(8,22,34,.9);backdrop-filter:blur(8px);
  position:sticky;top:0;z-index:20}
.topbar .tb-left{display:flex;align-items:center;gap:8px;min-width:0}
.topbar .tb-left>strong{font-family:var(--mono);font-weight:800;letter-spacing:.03em;font-size:20px}
.topbar .who{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .who a{color:var(--cyan)}
.tb-right{display:flex;align-items:center;gap:14px;flex:none}
.linkbtn{background:none;border:0;color:var(--steel);cursor:pointer;
  font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.linkbtn:hover,.linkbtn:active{color:var(--cyan)}
/* header "you're here" state — the current view's link is underlined + bright */
.linkbtn.active{color:var(--cyan);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}

/* slim pinned company bar — name + Back stay under the header while the rest scrolls (v77).
   Full-bleeds to the scroll-area edges (cancels .container's 18px padding) and sticks at top. */
.cobar-stick{display:flex;align-items:center;justify-content:flex-start;
  gap:12px;margin:2px 0 12px;padding:0 0 11px;background:transparent;border-bottom:1px solid var(--line)}
/* Back button now lives in the sticky top header, next to the OLLY wordmark + company symbol */
.topbar #subback button{padding:0!important}
.topbar #subback:empty{display:none}
.cobar-id{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cobar-name{font-family:var(--mono);font-weight:800;font-size:18px;letter-spacing:.01em;color:var(--text)}
.cobar-sym{font-family:var(--mono);font-weight:800;font-size:12px;color:var(--mute-2);margin-left:6px;white-space:nowrap}
.cobar-stick #subback{margin:0;flex:none}
.cobar-stick #subback:empty{display:none}
/* main scroll area — bottom padding clears the fixed nav */
.container{width:100%;margin:0;padding:18px 18px calc(96px + env(safe-area-inset-bottom));
  flex:1;overflow-y:auto;overflow-x:hidden;min-width:0}
.h{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);margin:0 0 12px}

/* ---- persona bottom nav (fixed, matches prototype .tabs) ---- */
.olly-tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:540px;background:var(--ground);border-top:1px solid var(--line);
  display:flex;z-index:30;padding-bottom:env(safe-area-inset-bottom)}
/* every tab reads blue at all times; the one you're on lights up (brighter cyan,
   a lifted + glowing icon, bolder label, glowing top bar) so it's obvious. (v76) */
.olly-tabs button{flex:1;background:none;border:none;color:var(--steel);
  font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  padding:12px 4px 14px;cursor:pointer;position:relative;
  display:flex;flex-direction:column;align-items:center;gap:5px;transition:.15s}
.olly-tabs button .ic{font-size:17px;line-height:1;transition:transform .15s,filter .15s}
.olly-tabs button:hover{color:var(--cyan)}
.olly-tabs button.active{color:var(--cyan);font-weight:700}
.olly-tabs button.active .ic{transform:translateY(-1px) scale(1.14);filter:drop-shadow(0 0 8px rgba(84,214,239,.85))}
.olly-tabs button.active::before{content:"";position:absolute;top:0;width:40px;height:2.5px;border-radius:2px;background:var(--cyan);box-shadow:0 0 8px rgba(84,214,239,.75)}
.olly-tabs button:focus-visible{outline:2px solid var(--signal);outline-offset:-3px}
/* back affordance for sub-views reached from a tile */
.navback{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 13px 0 10px;
  border-radius:16px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--muted);
  font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  cursor:pointer;margin:0 0 14px}
.navback:hover{border-color:var(--steel);color:var(--steel)}

/* ephemeral toast (recognition, optimistic flags) */
.olly-toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%) translateY(20px);
  max-width:500px;width:calc(100% - 36px);background:var(--panel-3);border:1px solid var(--line-2);
  color:var(--text);font-size:13px;line-height:1.45;padding:12px 16px;border-radius:12px;
  box-shadow:0 12px 40px rgba(0,0,0,.5);z-index:9998;opacity:0;pointer-events:none;transition:.2s}
.olly-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.olly-toast b{color:var(--cyan);font-weight:700}

/* recognition "Got it" — a blue ring that flashes on/off until acknowledged */
@keyframes recvflash{
  0%,100%{box-shadow:0 0 0 2px rgba(84,214,239,0);border-color:var(--line)}
  50%{box-shadow:0 0 0 3px rgba(84,214,239,.7);border-color:var(--cyan)}
}
.recv-flash{animation:recvflash 1.3s ease-in-out infinite}

/* company picker */
.co{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px}
.co-btn{width:100%;text-align:left;color:var(--text);font:inherit;cursor:pointer}
.co-btn:hover{border-color:var(--accent)}
.co .name{font-weight:600}
.name.lg{font-size:20px}
.co .meta,.co-head .meta{color:var(--muted);font-size:13px;margin-top:2px}
.pill{font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;border-radius:999px;
  border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.pill.exec{color:#e0a23c;border-color:var(--signal-line,rgba(224,162,60,.45))}
.pill.team{color:#37c9a3;border-color:rgba(55,201,163,.4)}
.tapes{margin-top:6px;color:var(--muted);font-size:12px}

/* company view */
.co-head{padding:4px 0 2px}
/* upper section — which seat you're in for the active symbol */
.whoami{font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-top:5px}
.whoami.exec{color:var(--steel)}   /* colour contract: role/identity is structure → OLLY blue, not amber (amber is reserved for action) */
.whoami.team{color:var(--ok)}
.whoami .seat-dot{margin-right:3px}
/* the symbol switcher — every membership you hold, tagged by the role it grants */
.coswitch{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 4px}
.pchip{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:13px;font-weight:700;
  background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:11px;padding:9px 12px;cursor:pointer;transition:.15s}
.pchip:hover{border-color:var(--line-2);color:var(--text)}
.pchip.active{background:rgba(57,182,216,.16);border:2px solid var(--text);color:var(--text);padding:8px 11px}
.pchip-sym{letter-spacing:.03em}
.pchip-role{font-family:var(--mono);font-size:8.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:2px 6px;border-radius:20px;line-height:1}
.pchip-role.exec{color:var(--signal);background:rgba(224,162,60,.16)}
.pchip-role.team{color:var(--ok);background:rgba(55,201,163,.16)}
.pchip.active .pchip-role.exec{background:rgba(224,162,60,.30)}
.pchip.active .pchip-role.team{background:rgba(55,201,163,.30)}
.tapes-row{color:var(--muted);font-size:13px;margin-top:10px}
.tapes-row select{background:#0b2032;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:13px}
.ledger-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px}

/* buttons */
.btn-sm{padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:#0b2032;color:var(--text);
  font-size:13px;font-weight:600;cursor:pointer}
.btn-sm:hover{border-color:var(--accent)}
.btn-sm.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn-sm:disabled{opacity:.6;cursor:default}

/* forms */
.log-form{margin-bottom:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.card.sm{padding:12px;margin-top:8px}
.card label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:12px 0 5px}
.card label:first-of-type{margin-top:0}
.card select,.card textarea,.card input{width:100%;box-sizing:border-box;padding:9px 11px;background:#0b2032;border:1px solid var(--line);
  border-radius:8px;color:var(--text);font-size:14px;font-family:inherit}
.card select:focus,.card textarea:focus,.card input:focus{outline:none;border-color:var(--accent)}
/* Native date/time inputs carry an intrinsic min-width (calendar/spinner UI) that can shove the layout past the screen edge on WebKit.
   Cap them GLOBALLY — not just inside .card — so every date box (project forms, event/record/snapshot forms, flag time, etc.) shrinks to fit. */
input[type="date"],input[type="datetime-local"],input[type="time"],input[type="month"],input[type="week"]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:100%;min-width:0;box-sizing:border-box}

/* Record-an-event picker (bucket accordion → events) */
.ev-bucket{border:1px solid var(--line);border-radius:8px;margin-top:8px;overflow:hidden;background:#0b2032}
.ev-bucket-head{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;
  background:none;border:0;color:var(--text);font:inherit;font-weight:600;cursor:pointer;padding:12px 14px}
.ev-bucket-head:hover{background:#15334a}
.ev-note{color:var(--muted);font-weight:400;font-size:12px}
.ev-sign{color:var(--muted);font-size:18px;line-height:1;margin-left:10px}
.ev-items{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.ev-item{text-align:left;background:none;border:0;border-bottom:1px solid var(--line);color:var(--accent);
  font:inherit;cursor:pointer;padding:11px 16px}
.ev-item:last-child{border-bottom:0}
.ev-item:hover{background:#15334a}
.ev-custom{color:var(--muted);font-style:italic}
.ev-verify{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--warn);
  border:1px solid #5c4a1e;border-radius:999px;padding:1px 7px;margin-left:8px;white-space:nowrap}
.ev-form-head{font-size:15px;margin-bottom:6px}
.ev-review-note{color:var(--warn);font-size:12px;margin-bottom:6px}
/* monthly report authoring — section groups */
.rep-section{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.rep-sec-name{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);margin-bottom:2px}
/* saved enrichment fields shown under a record */
.rec-fields{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);display:grid;gap:4px}
.rec-field{display:flex;justify-content:space-between;gap:12px;font-size:12px}
.rec-fk{color:var(--muted)}
.rec-fv{color:var(--text);text-align:right;font-weight:600;word-break:break-word}

/* OLLY Index — project G×E matrix */
.pm-wrap{overflow-x:auto;margin:4px 0 2px}
.pm-grid{display:grid;grid-template-columns:auto repeat(9,minmax(46px,1fr));min-width:600px;
  border:1px solid var(--line);border-top-left-radius:10px;border-top-right-radius:10px;background:var(--panel)}
.pm-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:44px;position:relative}
.pm-glabel{position:sticky;left:0;z-index:2;background:var(--panel);display:flex;flex-direction:column;
  align-items:flex-end;justify-content:center;text-align:right;padding:0 8px}
.pm-glabel b{color:var(--text);font-size:12px}
.pm-gsub{font-size:10px;color:var(--text);line-height:1.2;margin-top:2px;display:flex;flex-direction:column;align-items:flex-end}
.pm-gsub .pm-axw{white-space:nowrap}
.pm-corner{position:sticky;left:0;z-index:2;background:var(--panel);border-bottom:0}
.pm-elabel{font-size:9.5px;color:var(--text);text-align:center;padding:6px 3px 4px;line-height:1.15;display:flex;flex-direction:column;align-items:center}
.pm-elabel b{color:var(--text);font-size:12px;margin-bottom:2px}
.pm-esub{display:flex;flex-direction:column;align-items:center;gap:1px}
.pm-esub .pm-axw{overflow-wrap:anywhere}
.pm-mk{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:0}
.pm-mk.ok{background:var(--ok);color:#04212d;border:0}
.pm-mk.no{background:transparent;border:2px solid var(--muted);color:var(--muted)}
.pm-mk.multi{background:var(--accent);color:var(--accent-ink);border:0;font-size:10px}
button.pm-mk{cursor:pointer}
button.pm-mk:hover{box-shadow:0 0 0 3px rgba(47,129,247,.35)}
.pm-legend{display:flex;flex-wrap:wrap;gap:16px;margin:8px 2px 0;font-size:11px;color:var(--muted)}
.pm-dot{display:inline-flex;width:14px;height:14px;border-radius:50%;align-items:center;justify-content:center;
  font-size:8px;margin-right:5px;vertical-align:middle}
.pm-dot.ok{background:var(--ok);color:#04212d}
.pm-dot.no{border:2px solid var(--muted)}
.pm-dot.multi{background:var(--accent)}
.form-actions{display:flex;gap:8px;margin-top:14px}
/* flag modal: keep Raise flag / Cancel pinned to the bottom of the card so they're
   always reachable on mobile, however long the form gets (v75). The card bg is #0b2032;
   negative side margins full-bleed the bar to the card edges (card padding is 22px). */
.flag-actions{position:sticky;bottom:0;z-index:3;background:#0b2032;
  margin:14px -22px 0;padding:12px 22px calc(12px + env(safe-area-inset-bottom));
  border-top:1px solid var(--line)}

/* ledger */
.row{background:#0e2536;border:1px solid var(--line);border-left:3px solid var(--steel);border-radius:14px;margin-bottom:10px;padding:14px 16px;transition:border-color .15s}
.row:hover{border-color:rgba(91,176,209,.45)}
.row-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.claim{font-size:15px;font-weight:800;color:var(--text);line-height:1.3}
.sub{color:var(--muted);font-size:11.5px;margin-top:4px;line-height:1.45}
.sub.rej{color:var(--danger)}
.rowright{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:999px;
  border:1px solid var(--line);color:var(--muted);background:transparent;white-space:nowrap}
/* status pills, per the colour contract: pending = amber (action), verified = green (good), rejected = red (bad) */
.badge.pending{color:var(--warn);border-color:rgba(224,162,60,.45);background:rgba(224,162,60,.10)}
.badge.verified{color:var(--ok);border-color:rgba(55,201,163,.4);background:rgba(55,201,163,.08)}
.badge.rejected{color:var(--danger);border-color:rgba(224,115,106,.45);background:rgba(224,115,106,.10)}
.badge.superseded{color:var(--muted);border-color:var(--line)}
/* convergence levels: red highest, then white (most independent), yellow, building */
.badge.lvl-red{color:var(--danger);border-color:#6e2b28}
.badge.lvl-yellow{color:var(--warn);border-color:#5c4a1e}
.badge.lvl-white{color:#e6edf3;border-color:#5b6570}
.badge.lvl-building{color:var(--muted);border-color:var(--line)}
.tag{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:999px;
  border:1px solid rgba(91,176,209,.28);color:var(--muted);background:rgba(57,182,216,.06)}
.tag.public{color:#54d6ef;border-color:rgba(84,214,239,.4);background:rgba(84,214,239,.08)}

/* company sub-nav (Ledger / Projects) */
.subnav{display:flex;flex-wrap:wrap;gap:4px;margin:16px 0 6px;border-bottom:1px solid var(--line)}
.stream-row{display:flex;gap:8px;margin:10px 0 14px}

/* quick "when did it happen?" chips on the flag form */
.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.chip{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#0b2032;color:var(--text);font-size:13px;cursor:pointer}
.chip:hover{border-color:var(--accent)}
.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}

/* broker picker (TMX member firm search) */
.broker-list{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;margin-top:6px;background:#0b2032}
.broker-item{padding:8px 11px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--line)}
.broker-item:last-child{border-bottom:0}
.broker-item:hover{background:#15334a}
.broker-item .bk{color:var(--accent);font-weight:600;margin-right:6px}
.broker-item.muted{color:var(--muted);cursor:default}
.broker-chosen{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.broker-tag{display:inline-flex;align-items:center;gap:8px;background:#15334a;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px}
.broker-clear{background:none;border:0;color:var(--muted);cursor:pointer;font-size:13px;padding:0;line-height:1}
.broker-clear:hover{color:var(--danger)}
.subtab{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;
  font-size:14px;font-weight:600;padding:8px 6px;margin-bottom:-1px}
.subtab:hover{color:var(--text)}
.subtab.active{color:var(--text);border-bottom-color:var(--accent)}

/* project cards */
.proj-card{display:block;width:100%;text-align:left;color:var(--text);font:inherit;cursor:pointer}
.proj-card:hover{border-color:var(--accent)}

/* share intelligence metrics */
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-top:8px}
.metric{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line)}
.metric .k{color:var(--muted);font-size:13px}
.metric .v{font-weight:600;font-size:14px}
.badge.stress-low{color:var(--ok);border-color:#2e5b34}
.badge.stress-moderate{color:var(--warn);border-color:#5c4a1e}
.badge.stress-elevated{color:#f0883e;border-color:#7a4a1e}
.badge.stress-high{color:var(--danger);border-color:#6e2b28}

/* pending queue */
.pending-co{margin-bottom:22px}
.pending-co-head{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.pending-co-head .co-open{font-size:15px;font-weight:600;padding:0}
.pending-count{font-size:11px;font-weight:600;color:var(--accent-ink);background:var(--accent);
  border-radius:999px;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center}

/* row actions */
.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid rgba(91,176,209,.16)}
.act{padding:8px 15px;border:1px solid rgba(91,176,209,.35);border-radius:9px;background:transparent;color:var(--text);
  font-size:12.5px;font-weight:800;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}
.act:hover{border-color:var(--cyan);background:rgba(84,214,239,.08)}
.row-detail{margin-top:4px}

/* ===== trader My Desk (ported from prototype) ===== */
.tl-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0 0}
.tl-stat{border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;background:var(--panel-2);
  text-align:left;cursor:pointer;transition:border-color .15s,background .15s;width:100%;color:var(--text)}
.tl-stat:hover{border-color:var(--steel);background:var(--panel)}
.tl-stat .n{font-family:var(--sans);font-weight:800;font-size:23px;color:var(--ink,var(--text));line-height:1}
.tl-stat .l{font-family:var(--mono);font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--mute-2);margin-top:5px}
.tl-stat .go{display:block;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--steel);margin-top:7px}
.tl-stat.steel .n{color:var(--steel)} .tl-stat.signal .n{color:var(--signal)} .tl-stat.signal .go{color:var(--signal)}
/* trader flag hero buttons */
.tflag{flex:1;border:none;border-radius:12px;padding:14px 8px;font-family:var(--mono);font-weight:800;font-size:13px;cursor:pointer;transition:filter .15s}
.tflag:hover{filter:brightness(1.07)}
/* Something's off — solid amber/gold gradient with dark ink (matches prototype .submit.fast) */
.tflag.off{background:linear-gradient(180deg,#e7ab44,#cf8f2e);color:#2a1a06}
.tflag.pos{background:linear-gradient(180deg,#37c9a3,#2ba888);color:#04212d}
/* your names */
.ndesk-grp{margin-top:14px}
.ndesk-lbl{font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--muted)}
.ndesk-lbl.steel{color:var(--steel)}
.ndesk-note{font-size:12px;color:var(--mute-2);line-height:1.5;margin:5px 0 9px}
.namegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.namebox{background:var(--panel-2);border:1px solid var(--line-2);border-radius:12px;padding:11px 8px;text-align:center;
  cursor:pointer;display:flex;flex-direction:column;gap:3px;min-height:58px;justify-content:center;transition:.13s;color:var(--text)}
.namebox:hover{border-color:var(--steel)}
.namebox .nb-sym{font-family:var(--mono);font-weight:800;font-size:14px;color:var(--ink,var(--text))}
.namebox.circle .nb-sym{color:var(--steel)}
.namebox .nb-st{font-size:11px;font-weight:700;line-height:1.3}
.namebox.invited{border-color:var(--cyan)}
/* your log + market pulse cards */
.pulsewrap{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);
  border-radius:14px;padding:15px 16px;margin-top:14px;width:100%;text-align:left;cursor:pointer;color:var(--text);display:block;transition:.15s}
.pulsewrap:hover{border-color:var(--steel)}
.pulsehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}
.pulsehead .t{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pw-go{font-family:var(--mono);font-size:11px;font-weight:800;color:var(--steel);letter-spacing:.03em;white-space:nowrap}
.pulse{display:flex;align-items:baseline;gap:8px}
.pulse .num{font-family:var(--mono);font-size:34px;font-weight:800;color:var(--cyan);line-height:1}
.pulse .lbl{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.04em}
.pulsewrap .deident{font-size:11.5px;color:var(--mute-2);line-height:1.5;margin-top:8px}
/* one logged flag (in the log modal) */
.obs{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:11px 13px;margin-bottom:7px}
.obs .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.obs .who .role{font-family:var(--mono);font-size:11px;color:var(--steel);letter-spacing:.04em}
.obs .t{font-family:var(--mono);font-size:11px;color:var(--mute-2)}
.obs .desc{font-size:13.5px;color:var(--ink,var(--text));line-height:1.4}
.obs .sub{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.45;font-style:italic}
/* per-name read (trader record) */
.trec-h{font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--steel);margin:14px 0 8px}
.trec-flag{border:1px solid var(--line);border-left:3px solid var(--signal);border-radius:10px;padding:11px 13px;margin-bottom:8px;background:var(--panel-2)}
.trec-fd{font-size:13px;color:var(--text);font-weight:600}
.trec-ft{font-size:11px;color:var(--mute-2);margin-top:3px}
.trec-fn{font-size:12.5px;color:var(--muted);font-style:italic;margin-top:4px}

/* ===== flag flow — name chips + behaviour accordion (ported from prototype) ===== */
.namechips{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.namechip{font-family:var(--mono);font-size:13px;font-weight:700;background:var(--panel-2);border:1px solid var(--line-2);
  color:var(--muted);border-radius:20px;padding:8px 13px;cursor:pointer}
.namechip:hover{border-color:var(--steel);color:var(--text)}
.namechip.on{background:var(--panel);border-color:var(--text);color:var(--text)}
.namechip .nc-ven{color:var(--mute-2);font-weight:600;font-size:.8em}
.namechip .nc-dot{color:var(--signal);margin-left:4px}
.selectbox{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--panel-2);
  border:1px solid var(--line-2);color:var(--text);border-radius:10px;padding:12px 14px;font-size:14px;cursor:pointer;font-weight:600;margin-top:6px}
.selectbox:hover{border-color:var(--steel)}
.selectbox .chev{color:var(--steel);font-size:12px;transition:transform .15s}
.selectbox[aria-expanded="true"] .chev{transform:rotate(180deg)}
.bcat-head{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:var(--panel-2);
  border:1px solid var(--line-2);border-radius:10px;padding:12px 13px;margin-bottom:6px;cursor:pointer;color:var(--text)}
.bcat-head[aria-expanded="true"]{border-color:var(--steel);background:var(--panel)}
.bcat-name{font-size:13.5px;font-weight:800;color:var(--text)}
.bcat-plus{font-family:var(--mono);font-size:17px;font-weight:800;color:var(--steel);line-height:1}
.bcat-body{margin:0 0 8px;padding:2px 0 2px 4px;border-left:2px solid var(--line-2)}
.bitem{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:9px 11px;margin-bottom:2px;cursor:pointer;line-height:1.4;color:var(--text)}
.bitem:hover{background:var(--panel-2)}
.bitem[aria-pressed="true"]{background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--steel)}
.bi-term{font-size:13px;font-weight:700;color:var(--steel)}
.bi-desc{font-size:12.5px;color:var(--muted)}
.bitem-tell{border:1px dashed var(--line-2);margin-top:4px}
.bitem-tell:hover{border-color:var(--steel);background:var(--panel-2)}
.bi-tell{font-size:12.5px;font-weight:800;color:var(--steel);margin-right:6px}
.beh-selected{line-height:1.45;padding:11px 13px;background:var(--panel-2);border:1px solid var(--line-2);
  border-left:3px solid var(--steel);border-radius:10px;margin-top:6px}
.beh-selected .bs-term{font-size:14px;font-weight:800;color:var(--steel)}
.beh-selected .bs-desc{font-size:13px;font-weight:600;color:var(--signal)}

/* ===== company/symbol typeahead (name or ticker → pick; venue comes from the data) ===== */
.ta-results{border:1px solid var(--line);border-radius:10px;margin-top:6px;background:#0b2032;max-height:210px;overflow-y:auto}
.ta-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;
  background:none;border:none;border-bottom:1px solid var(--line);padding:10px 12px;cursor:pointer;color:var(--text)}
.ta-row:last-child{border-bottom:none}
.ta-row:hover{background:var(--panel-3)}
.ta-name{font-size:13px;font-weight:600}
.ta-sym{font-family:var(--mono);font-size:12px;font-weight:800;color:var(--steel);white-space:nowrap}
.ta-sym .ta-ven{color:var(--mute-2);font-weight:600}

/* ===== Advocacy — the market-wide case (ported from prototype) ===== */
.adv-hero{background:linear-gradient(180deg,rgba(224,162,60,.14),transparent);border:1px solid rgba(224,162,60,.45);border-radius:14px;padding:15px 16px;margin:8px 0 12px}
.adv-hero .hl{font-family:var(--mono);font-weight:800;font-size:17px;color:var(--text);line-height:1.3}
.adv-hero .sb{font-size:13px;color:var(--muted);margin-top:7px;line-height:1.5}
.adv-score{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 8px}
.adv-score .tl-stat{cursor:default}
.adv-toggle{width:100%;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:11px;
  padding:12px 14px;cursor:pointer;color:var(--cyan);font-family:var(--mono);font-weight:800;font-size:11.5px;
  letter-spacing:.03em;text-transform:uppercase;margin:6px 0}
.adv-toggle:hover{border-color:var(--steel)}
.camp-box{display:block;width:100%;text-align:left;background:var(--panel-2);border:1px solid var(--line-2);
  border-radius:12px;padding:13px 15px;margin-bottom:9px;cursor:pointer;color:var(--text)}
.camp-box:hover{border-color:var(--steel)}
.camp-box.backed{border-left:3px solid var(--ok)}
.cb-num{font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.cb-ttl{font-weight:800;font-size:14.5px;color:var(--text);margin:5px 0 7px;line-height:1.35}
.cb-meta{display:flex;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--muted)}
.cb-go{color:var(--steel);font-weight:800;white-space:nowrap}
.adv-petition{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--signal-line,rgba(224,162,60,.45));border-radius:14px;padding:16px;margin-top:14px}
.adv-petition .camp-tier{font-family:var(--mono);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.adv-petition .ph{font-family:var(--mono);font-weight:800;font-size:16px;color:var(--text);line-height:1.3}
.adv-petition .psb{font-size:13px;color:var(--muted);margin:7px 0 13px;line-height:1.55}
.signbtn{width:100%;padding:13px;border:none;border-radius:11px;background:var(--signal);color:#2a1a06;font-family:var(--mono);font-weight:800;font-size:14px;cursor:pointer}
.signbtn.signed{background:var(--ok);color:#04212d}
.sigcount{font-size:12px;color:var(--muted);margin-top:9px;text-align:center}
.adv-repnote{font-size:12.5px;color:var(--text);background:rgba(224,162,60,.10);border:1px solid rgba(224,162,60,.35);border-radius:10px;padding:9px 11px;margin:0 0 11px;line-height:1.6}
.adv-repnote b{color:var(--signal)}
.rep-chip{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.02em;color:var(--signal);background:rgba(224,162,60,.16);border:1px solid rgba(224,162,60,.4);border-radius:6px;padding:1px 6px;margin:1px 3px}
/* company list expander — caps a long ticker list with a "+ N more" toggle (scales to thousands) */
.rep-chips{margin-top:8px;line-height:2}
.rep-more{display:inline}
.rep-more>summary{display:inline-block;cursor:pointer;list-style:none;font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.02em;color:var(--cyan);background:rgba(84,214,239,.12);border:1px solid rgba(84,214,239,.45);border-radius:6px;padding:1px 8px;margin:1px 3px}
.rep-more>summary::-webkit-details-marker{display:none}
.rep-more>summary::marker{content:""}
.rep-more[open]>summary{color:var(--mute-2);background:transparent;border-color:var(--line)}
.rep-more-list{display:block;margin-top:6px}
.moat{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--signal);border-radius:11px;padding:13px 15px;margin-top:14px}
.moat-h{font-weight:800;font-size:13px;color:var(--signal)}
.moat-b{font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.55}
.evid-row{font-size:13px;color:var(--muted);line-height:1.5;padding:7px 0;border-bottom:1px solid var(--line)}
.evid-row:last-child{border-bottom:none}
.evid-row b{color:var(--steel)}
.heatbar{margin-bottom:10px}
.heatbar .hb-top{display:flex;justify-content:space-between;font-size:13px}
.heatbar .hb-name{font-weight:700}
.heatbar .hb-n{font-weight:800;color:var(--steel)}
.heatbar .hb-track{height:6px;border-radius:4px;background:#0b2032;margin-top:5px;overflow:hidden}
.heatbar .hb-fill{height:100%;background:var(--steel)}
.adv-contrib{font-size:13px;line-height:1.55;color:var(--text);background:var(--signal-dim,rgba(224,162,60,.14));
  border:1px solid var(--signal-line,rgba(224,162,60,.45));border-radius:11px;padding:12px 14px;margin-top:14px}
.adv-contrib b{color:var(--signal)}
/* campaign detail modal */
.camp-ask{border:1px solid var(--line);border-left:3px solid var(--steel);border-radius:10px;padding:11px 13px;margin:10px 0;font-size:13px;color:var(--text);line-height:1.5}
.camp-ask-k{font-family:var(--mono);font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px}
.camp-goal{font-size:13px;font-weight:700;margin:2px 0 10px;line-height:1.5}
.camp-wedge{font-size:12.5px;color:var(--muted);line-height:1.6;margin-bottom:12px}
.camp-sec{font-family:var(--mono);font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--steel);margin:12px 0 7px}
.camp-beh{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px solid var(--line)}
.camp-behn{color:var(--steel);font-weight:700}
.adv-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:8px 0}
.adv-stat{border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}
.adv-stat .n{display:block;font-weight:800;font-size:20px;color:var(--text)}
.adv-stat .l{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute-2)}

/* ============================================================
   v74 — mobile: stop the left/right drift & lock the two bars
   ------------------------------------------------------------
   Nothing may be wider than the 540px frame. A single wide child
   was letting the whole page scroll sideways, which knocked the
   fixed bottom nav out of line with the content and made both
   bars feel like they were moving. The frame is now clamped on X
   (html/body/#view-app/.container above). The one intentionally
   wide element — the G×E project matrix — scrolls inside its own
   .pm-wrap, so clamping the frame does not clip it.
   ============================================================ */
#screen{min-width:0}                 /* let flex/grid children shrink instead of pushing width */
.container>*{max-width:100%}         /* no direct child of the scroll area can exceed the frame */
/* long unbroken strings (emails, tickers, URLs, big numbers) wrap instead of widening the page */
.claim,.sub,.card,.row,.co,.co .name,.co .meta,.tapes,.obs,.beh-selected,.bcat-body,
.camp-ask,.camp-wedge,.moat-b,.adv-hero .sb,.rec-fv{overflow-wrap:anywhere;word-break:break-word}
/* flex rows that hold text must be allowed to shrink so the text wraps / ellipses */
.row-main{flex-wrap:wrap}
.row-main>*,.topbar .tb-left{min-width:0}

/* header link cluster: on small phones tighten it so the links never push the page wide */
@media (max-width:420px){
  .topbar{padding:13px 13px 11px}
  .tb-right{gap:10px}
  .linkbtn{font-size:10.5px;letter-spacing:.04em}
  .container{padding-left:14px;padding-right:14px}
}

/* iOS Safari zooms the whole page when a focused input's font-size is under 16px,
   and stays zoomed afterward. Force every form control to 16px on phones/tablets so
   focusing a field never changes the view size. Desktop is untouched. */
@media (max-width: 820px){
  input, select, textarea { font-size: 16px !important; }
}

/* Olly.ai logo mark (trademark) — embedded so no separate asset file is needed */
.olly-mark{display:inline-block;background:url("data:image/png;base64,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") center/contain no-repeat;vertical-align:middle}
