:root{
  --bg:#FAF9F6;--surface:#FFFFFF;--surface2:#F5F0EB;--border:#E8E4DF;--border2:#D9D2CA;
  --text:#1A1A1A;--text2:#8B8580;--text3:#B0A99F;
  --accent:#C4956A;--accent-bg:#F5EDE5;--accent-dark:#A67B52;
  --radius:8px;--radius-lg:12px;
  --shadow-sm:0 1px 2px rgba(0,0,0,0.04);
  --shadow:0 2px 8px rgba(0,0,0,0.06);
  --shadow-lg:0 4px 16px rgba(0,0,0,0.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-y:scroll;scrollbar-gutter:stable}
/* Cross-fade full-page navigations so button/nav clicks don't flash white
   for the server round-trip (admin console, SSR pages). */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.14s}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
body{background:var(--bg);color:var(--text);min-height:100vh;
  font-family:'Inter',-apple-system,'Segoe UI',system-ui,sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent-dark);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1400px;margin:0 auto;padding:0 32px}
header{background:var(--surface);border-bottom:1px solid var(--border);
  padding:16px 0;position:sticky;top:0;z-index:100}
header .container{display:flex;align-items:center;gap:24px}
.logo{font-size:1.25rem;font-weight:600;letter-spacing:-0.3px;color:var(--text)}
.logo a{color:inherit}
.logo a:hover{text-decoration:none}
.logo span{color:var(--accent-dark)}
header nav{display:flex;gap:2px;background:var(--surface2);border-radius:10px;padding:3px;max-width:100%;overflow-x:auto}
header nav a{background:transparent;border:none;color:var(--text2);
  padding:8px 18px;border-radius:8px;cursor:pointer;
  font-size:0.875rem;font-weight:500;transition:color 0.12s;white-space:nowrap}
header nav a:hover{color:var(--text);text-decoration:none}
header nav a.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}
.auth-nav{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.auth-nav a,.auth-nav button{display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);
  color:var(--text2);border-radius:8px;padding:7px 12px;font:inherit;font-size:.82rem;font-weight:650;white-space:nowrap;cursor:pointer}
.auth-nav a:hover,.auth-nav button:hover{border-color:var(--border2);color:var(--text);text-decoration:none}
.auth-nav .primary{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-dark)}
.auth-nav form{margin:0}
.auth-modal[hidden]{display:none}
.auth-modal{position:fixed;inset:0;z-index:1200}
.auth-backdrop{position:absolute;inset:0;background:rgba(26,26,26,.38)}
.auth-dialog{position:absolute;top:72px;left:50%;transform:translateX(-50%);width:min(460px,calc(100vw - 32px));
  background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:20px}
.auth-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.auth-dialog h2{font-size:1.1rem;line-height:1.35;margin:0;color:var(--text);letter-spacing:0;text-transform:none;border:0;padding:0}
.auth-close{width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text2);font:inherit;font-size:1.1rem;line-height:1;cursor:pointer}
.auth-close:hover{border-color:var(--border2);color:var(--text)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 14px}
.auth-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text2);border-radius:8px;padding:9px 10px;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}
.auth-tabs button.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-dark)}
.auth-modal-form{display:none;gap:12px}
.auth-modal-form.active{display:grid}
.auth-field{display:grid;gap:5px}
.auth-field label{font-size:.76rem;color:var(--text2);text-transform:uppercase;letter-spacing:.65px;font-weight:700}
.auth-field label .alert-tip{margin-left:4px;vertical-align:middle}
/* Left-anchor the tooltip: the mark sits near the dialog's left edge, so the
   default centred 300px bubble would run off-screen on narrow viewports. */
.auth-field .alert-tip::after{left:-6px;transform:translate(0,3px);width:min(300px,calc(100vw - 104px));text-transform:none;letter-spacing:normal}
.auth-field .alert-tip:hover::after{transform:translate(0,0)}
.auth-field input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;padding:9px 11px}
.auth-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}
.auth-submit{background:var(--accent-dark);border:1px solid var(--accent-dark);color:var(--on-accent);border-radius:8px;padding:9px 16px;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}
.auth-submit:disabled{opacity:.65;cursor:default}
.auth-status{font-size:.84rem;color:var(--text2);line-height:1.45}
.auth-status.err{color:var(--err-text)}
.auth-switch{font-size:.84rem;color:var(--text2);line-height:1.45;margin:0}
main{padding:30px 0 64px}
main.container{padding-top:20px;padding-bottom:64px}
.entity-head{margin-bottom:28px}
.entity-head h1{font-size:1.75rem;font-weight:600;margin:0 0 6px;letter-spacing:-0.3px}
.entity-head .c-name{font-size:1.1rem;color:var(--text2);margin-bottom:12px}
.entity-head .meta{color:var(--text2);font-size:0.9rem;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.inline-alert{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-width:0}
.inline-alert-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;background:var(--surface);border:1px solid var(--border);color:var(--text2);border-radius:18px;padding:7px 14px;font-size:0.82rem;font-weight:600;transition:all 0.2s}
.inline-alert-link:hover{border-color:var(--border2);color:var(--text);text-decoration:none}
.inline-alert-link .bell-ico{width:16px;height:16px;display:block;fill:#E8A83A}
.alert-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid currentColor;color:inherit;background:transparent;font-size:0.62rem;font-weight:700;line-height:1;cursor:help;flex:0 0 14px}
.alert-tip::before,.alert-tip::after{position:absolute;left:50%;bottom:calc(100% + 9px);opacity:0;pointer-events:none;transition:opacity 0.12s,transform 0.12s;transform:translate(-50%,3px);z-index:260}
.alert-tip::before{content:"";bottom:calc(100% + 4px);border:6px solid transparent;border-top-color:var(--card);filter:drop-shadow(0 1px 0 var(--border))}
.alert-tip::after{content:attr(data-tooltip);width:300px;max-width:calc(100vw - 40px);background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:8px;box-shadow:var(--shadow-lg);padding:9px 11px;font-size:0.75rem;line-height:1.45;font-weight:400;text-align:left;white-space:normal}
.alert-tip:hover::before,.alert-tip:hover::after,.inline-alert-link:focus-visible .alert-tip::before,.inline-alert-link:focus-visible .alert-tip::after{opacity:1;transform:translate(-50%,0)}
.watch-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface2);border:1px solid var(--border2);color:var(--text2);border-radius:20px;padding:6px 12px;font:inherit;font-size:0.8rem;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap}
.watch-toggle .bell-ico{width:16px;height:16px;display:block;fill:#E8A83A}
.watch-toggle:hover{border-color:var(--accent);color:var(--text)}
.watch-toggle[aria-pressed="true"]{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-dark)}
.watch-toggle:disabled{opacity:.6;cursor:default}
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:0.75rem;font-weight:500;background:var(--surface2);color:var(--text2)}
.badge-active{background:var(--ok-bg);color:var(--ok-text)}
.badge-ceased{background:var(--surface2);color:var(--text2)}
.badge-ro{background:var(--err-bg);color:var(--err-text)}
.badge-ri{background:var(--accent-bg);color:var(--accent-dark)}
.badge-category-buy{background:var(--ok-bg);color:var(--ok-text)}
.badge-category-sell{background:var(--sell-bg);color:var(--sell-text)}
.category-badge-wrap{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.category-uncertain-mark{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;flex:0 0 13px;border-radius:50%;border:1px solid currentColor;font-size:.62rem;line-height:1;font-weight:700;opacity:.78;vertical-align:middle;box-sizing:border-box}
.lede{margin:0 0 24px;color:var(--text);font-size:0.95rem;max-width:72ch}
section{margin-top:32px}
section h2{font-size:0.8rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.8px;
  margin:0 0 12px;border-bottom:1px solid var(--border);padding-bottom:10px;font-weight:600}
.info-list{margin:0;display:grid;gap:10px;font-size:0.92rem}
.info-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:start}
.info-row dt{color:var(--text2);font-weight:600}
.info-row dd{margin:0;min-width:0}
.info-row .lede{margin:0;max-width:72ch}
.info-na{color:var(--text3)}
.profile-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);
  border-radius:6px;background:var(--surface);color:var(--accent-dark);vertical-align:middle}
.profile-icon:hover{border-color:var(--accent);background:var(--accent-bg);text-decoration:none}
.profile-icon svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.profile-icon-linkedin svg{fill:currentColor;stroke:none}
.profile-lock-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);
  border-radius:6px;background:var(--surface);color:var(--accent-dark);padding:0;cursor:pointer;vertical-align:middle}
.profile-lock-link:hover{border-color:var(--accent);background:var(--accent-bg)}
.profile-lock-link:disabled{cursor:default;opacity:.72}
.profile-lock-link:disabled:hover{border-color:var(--border);background:var(--surface)}
.profile-lock-link svg{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.category-result{display:flex;align-items:center;gap:8px;max-width:100%;line-height:1.45;color:var(--text)}
.category-sep{color:var(--text3);font-size:.86rem}
.staff-dl-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface);
  color:var(--accent-dark);padding:5px 10px;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;
  text-transform:none;letter-spacing:normal}
.staff-dl-btn:hover{border-color:var(--accent);background:var(--accent-bg)}
.staff-dl-btn:disabled{cursor:default;opacity:.7}
.staff-dl-status{color:var(--text2);font-size:.8rem;font-weight:400;text-transform:none;letter-spacing:normal}
.staff-dl-status:empty{display:none}
.staff-dl-note{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;
  border:1px solid currentColor;color:inherit;font-size:.62rem;font-weight:700;line-height:1;cursor:help;flex:0 0 14px;text-transform:none;letter-spacing:normal}
.staff-dl-note::before,.staff-dl-note::after{position:absolute;left:auto;right:0;bottom:calc(100% + 9px);opacity:0;pointer-events:none;
  transition:opacity .12s,transform .12s;transform:translate(0,3px);z-index:250}
.staff-dl-note::before{content:"";right:1px;bottom:calc(100% + 4px);border:6px solid transparent;border-top-color:var(--card);filter:drop-shadow(0 1px 0 var(--border))}
.staff-dl-note::after{content:attr(data-tooltip);width:280px;max-width:calc(100vw - 40px);background:var(--card);border:1px solid var(--border);color:var(--text);
  border-radius:8px;box-shadow:var(--shadow-lg);padding:9px 11px;font-size:.75rem;line-height:1.45;font-weight:400;text-align:left;white-space:normal}
.staff-dl-note:hover::before,.staff-dl-note:hover::after,.staff-dl-btn:focus-visible .staff-dl-note::before,.staff-dl-btn:focus-visible .staff-dl-note::after{opacity:1;transform:translate(0,0)}
table{border-collapse:collapse;width:100%;font-size:0.9rem;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}
tr:last-child td{border-bottom:none}
th{background:var(--surface2);font-weight:600;color:var(--text);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.5px}
tbody tr:hover{background:var(--surface2)}
.staff-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.staff-head h2{margin:0}
.staff-controls{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;font-weight:400;text-transform:none;letter-spacing:normal;font-size:0.8rem;color:var(--text2)}
.staff-table th:nth-child(3),.staff-table td:nth-child(3){white-space:nowrap;color:var(--text2);font-variant-numeric:tabular-nums}
.staff-table .badge{margin-right:4px}
.staff-cname{color:var(--text2);font-size:0.85em;margin-left:4px}
.badge-rep{background:var(--surface2);color:var(--text2)}
.staff-dropdown{position:relative;display:inline-block}
.staff-dropdown-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:5px 12px;border-radius:6px;cursor:pointer;font:inherit;font-size:0.8rem;font-weight:500}
.staff-dropdown-btn:hover{border-color:var(--border2)}
.staff-dropdown-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 0;min-width:300px;max-height:360px;overflow-y:auto;z-index:50;box-shadow:var(--shadow-lg)}
.staff-dropdown-menu.open{display:block}
.staff-dropdown-menu label{display:flex;align-items:center;gap:10px;padding:7px 14px;cursor:pointer;font-size:0.85rem;color:var(--text);transition:background 0.1s;font-weight:400}
.staff-dropdown-menu label:hover{background:var(--surface2)}
.staff-dropdown-menu .act-num{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-bg);color:var(--accent-dark);border-radius:5px;min-width:22px;height:20px;font-size:0.7rem;font-weight:600}
.staff-ro-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--text);font-weight:500}
.staff-ro-toggle input{accent-color:var(--accent-dark);cursor:pointer}
.staff-as-of{display:inline-flex;align-items:center;gap:8px}
.staff-as-of input[type="date"]{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 8px;cursor:pointer}
.staff-as-of input[type="date"]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}
.firm-trend-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.firm-trend-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.firm-trend-kpi{min-width:180px}
.firm-trend-kpi strong{display:block;font-size:1.45rem;line-height:1.1;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.firm-trend-kpi span{display:block;margin-top:4px;font-size:0.82rem;color:var(--text2)}
.firm-trend-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.firm-trend-role{display:inline-flex;align-items:center;gap:2px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:3px}
.firm-trend-role button{border:0;background:transparent;color:var(--text2);border-radius:6px;padding:5px 12px;font:inherit;font-size:0.8rem;font-weight:600;cursor:pointer;line-height:1.35}
.firm-trend-role button.active{background:var(--surface);color:var(--accent-dark);box-shadow:var(--shadow-sm)}
.firm-trend-role button:hover{color:var(--text)}
.firm-trend-chart{position:relative;height:280px;min-height:220px}
.firm-trend-chart canvas{width:100%!important;height:100%!important;display:block}
.chart-shot-btn{position:absolute;top:6px;right:6px;z-index:5;display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;
  color:var(--text2);cursor:pointer;opacity:0;transition:opacity .15s,color .15s,border-color .15s}
.firm-trend-chart:hover .chart-shot-btn,.chart-shot-btn:focus-visible{opacity:1}
.chart-shot-btn:hover{color:var(--accent-dark);border-color:var(--accent)}
.chart-shot-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (hover:none){.chart-shot-btn{opacity:.7}}
.firm-trend-status{min-height:20px;margin-top:8px;font-size:0.82rem;color:var(--text2)}
.staff-table th.sortable{cursor:pointer;user-select:none;transition:background 0.15s}
.staff-table th.sortable:hover{background:var(--border)}
.sort-ind{display:inline-block;margin-left:4px;color:var(--accent-dark);font-size:0.7em;width:8px}
.staff-pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 0 0;font-size:0.85rem;color:var(--text2);gap:14px;flex-wrap:wrap}
.staff-pagination .pag-btns{display:flex;gap:8px}
.staff-pagination button{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:5px 14px;border-radius:6px;cursor:pointer;font:inherit;font-weight:500;font-size:0.85rem}
.staff-pagination button:disabled{opacity:0.4;cursor:default}
.staff-pagination button:not(:disabled):hover{border-color:var(--border2);background:var(--surface2)}
.related-links{list-style:none;padding:0;margin:0}
.related-links li{padding:8px 0}
.related-links a{font-weight:500}
.row-net-btn{display:inline-flex;align-items:center;vertical-align:middle;margin-left:7px;padding:2px 3px;border:none;background:none;cursor:pointer;color:var(--text3);border-radius:4px;text-decoration:none}
.row-net-btn:hover{color:var(--accent-dark);background:var(--surface2)}
.row-net-btn svg{width:14px;height:14px;display:block}
.net-cta{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--accent-dark);font-weight:600;font-size:0.85rem;text-decoration:none}
.net-cta:hover{border-color:var(--accent-dark);background:var(--surface2)}
.net-cta svg{width:15px;height:15px}
.breadcrumbs{font-size:0.78rem;color:var(--text2);margin:0 0 14px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.breadcrumbs li{display:inline-flex;align-items:center;gap:6px}
.breadcrumbs li+li::before{content:"-";color:var(--text3);margin-right:2px}
.breadcrumbs a{color:var(--accent-dark)}
.breadcrumbs [aria-current="page"]{color:var(--text2)}
.crosslinks{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.crosslinks a{display:inline-block;padding:5px 12px;background:var(--accent-bg);color:var(--accent-dark);border-radius:14px;font-size:0.8rem;font-weight:500}
.crosslinks a:hover{background:var(--border);text-decoration:none}
.act-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:8px}
.act-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;transition:box-shadow .2s,border-color .2s}
.act-card:hover{box-shadow:var(--shadow);border-color:var(--accent)}
.act-card h3{font-size:0.95rem;font-weight:600;margin:0 0 4px;line-height:1.35}
.act-card h3 a{color:var(--text)}
.act-card .sub{font-size:0.78rem;color:var(--text2);line-height:1.5}
footer.site-foot{margin-top:48px;padding:24px 0;border-top:1px solid var(--border);color:var(--text3);font-size:0.85rem}
footer.site-foot a{color:var(--text2)}
footer.site-foot .foot-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:8px}
@media (max-width:768px){
  .container{padding:0 16px}
  header .container{flex-direction:column;align-items:flex-start;gap:12px}
  header{position:static}
  header nav{width:100%;display:grid;grid-template-columns:repeat(3,1fr);overflow-x:visible}
  header nav a{text-align:center;padding:8px 10px;min-height:44px;display:flex;align-items:center;justify-content:center}
  .auth-nav{width:100%;margin-left:0}
  .auth-nav a,.auth-nav button{flex:1 1 auto;min-height:44px}
  .auth-dialog{top:16px;max-height:calc(100vh - 32px);overflow:auto;-webkit-overflow-scrolling:touch}
  main{padding-top:22px}
  main.container{padding-top:12px}
  .entity-head h1{font-size:1.45rem;line-height:1.25}
  .entity-head .meta{gap:8px}
  .lede{font-size:0.92rem;line-height:1.6}
  .staff-grid{column-count:1}
  .staff-controls{width:100%;align-items:stretch;gap:10px}
  .staff-as-of,.staff-dropdown,.staff-dropdown-btn,.staff-ro-toggle{width:100%}
  .staff-as-of{justify-content:space-between;flex-wrap:wrap}
  .staff-as-of input[type="date"]{flex:1 1 150px;min-width:0}
  .staff-dropdown-menu{min-width:0;width:min(100%, calc(100vw - 32px));max-width:calc(100vw - 32px)}
  .firm-trend-panel{padding:14px}
  .firm-trend-kpi,.firm-trend-controls,.firm-trend-role{width:100%}
  .firm-trend-role{display:grid;grid-template-columns:repeat(3,1fr)}
  .firm-trend-role button{padding:7px 8px}
  .firm-trend-chart{height:240px}
  .info-row{grid-template-columns:1fr;gap:3px}
  table{font-size:0.85rem}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  th,td{padding:8px 10px}
  th,td{white-space:nowrap}
  th:first-child,td:first-child{white-space:normal;min-width:180px}
  .lh-table,.lh-table tbody,.lh-table tr,.lh-table td{display:block}
  .lh-table{overflow:visible}
  .lh-table thead{display:none}
  .lh-table tr{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:10px 12px;margin-bottom:10px}
  .lh-table td{border:0;padding:2px 0;white-space:normal;min-width:0}
  .lh-table td:first-child{font-weight:600;margin-bottom:4px;min-width:0}
  .lh-table td[data-label]::before{content:attr(data-label) ": ";color:var(--text2);font-weight:600;text-transform:uppercase;font-size:0.72rem;letter-spacing:0.4px}
  .staff-pagination{align-items:flex-start;flex-direction:column}
  .staff-pagination .pag-btns{width:100%}
  .staff-pagination button{flex:1}
}
@media (hover: none) and (pointer: coarse) {
  a,button,tr,.filter-pills button,.net-result-item{-webkit-tap-highlight-color:transparent}
  tr:active,.filter-pills button:active,.net-result-item:active{background:var(--surface2)}
}
:root{
  color-scheme:light dark;
  --green:#5A9E6F;--green-bg:#EDF5EF;--red:#C75B4A;--red-bg:#FAEDEB;
  --blue:#5B8EC7;--blue-bg:#EBF0FA;--purple:#8B6FB0;--purple-bg:#F0ECF5;
  --card:#FFFFFF;--on-accent:#fff;
  --focus-ring:rgba(196,149,106,0.15);--err-ring:rgba(139,58,74,0.12);
  --ok-bg:#E8F3E8;--ok-border:#BFD8BF;--ok-text:#2D6A2D;
  --err-bg:#F5E5E8;--err-border:#E2C2C9;--err-text:#8B3A4A;
  --warn-bg:#FFF4D8;--warn-border:#E7D39A;--warn-text:#7A5A16;
  --sell-bg:#E8EEF8;--sell-text:#24568C;
  --buy-bar:#338055;--sell-bar:#4173B8;
  --accent-dark-hover:#8d673f;
}
:root[data-theme="dark"]{--bg:#161310;--surface:#1F1B17;--surface2:#2A251F;--border:#37312A;--border2:#4A423A;--text:#ECE7E0;--text2:#A49B90;--text3:#756D63;--accent:#C4956A;--accent-bg:#382C1F;--accent-dark:#D3A879;--green:#6FBF87;--green-bg:#22352A;--red:#DE8A77;--red-bg:#3E2620;--blue:#82ABDC;--blue-bg:#242F3F;--purple:#A78FC9;--purple-bg:#322A40;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow:0 2px 8px rgba(0,0,0,0.35);--shadow-lg:0 4px 16px rgba(0,0,0,0.5);--card:#2B2620;--on-accent:#1C1613;--focus-ring:rgba(196,149,106,0.3);--err-ring:rgba(224,158,172,0.18);--ok-bg:#24382B;--ok-border:#3A5A42;--ok-text:#8CC996;--err-bg:#3F262C;--err-border:#5E3742;--err-text:#E09EAC;--warn-bg:#3C321A;--warn-border:#5C4E28;--warn-text:#E3C36A;--sell-bg:#263140;--sell-text:#8FB7E8;--buy-bar:#43A06C;--sell-bar:#6191D1;--accent-dark-hover:#DFBA90}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--bg:#161310;--surface:#1F1B17;--surface2:#2A251F;--border:#37312A;--border2:#4A423A;--text:#ECE7E0;--text2:#A49B90;--text3:#756D63;--accent:#C4956A;--accent-bg:#382C1F;--accent-dark:#D3A879;--green:#6FBF87;--green-bg:#22352A;--red:#DE8A77;--red-bg:#3E2620;--blue:#82ABDC;--blue-bg:#242F3F;--purple:#A78FC9;--purple-bg:#322A40;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow:0 2px 8px rgba(0,0,0,0.35);--shadow-lg:0 4px 16px rgba(0,0,0,0.5);--card:#2B2620;--on-accent:#1C1613;--focus-ring:rgba(196,149,106,0.3);--err-ring:rgba(224,158,172,0.18);--ok-bg:#24382B;--ok-border:#3A5A42;--ok-text:#8CC996;--err-bg:#3F262C;--err-border:#5E3742;--err-text:#E09EAC;--warn-bg:#3C321A;--warn-border:#5C4E28;--warn-text:#E3C36A;--sell-bg:#263140;--sell-text:#8FB7E8;--buy-bar:#43A06C;--sell-bar:#6191D1;--accent-dark-hover:#DFBA90}
}
/* Scoped under .auth-nav so these outrank the shared `.auth-nav a,.auth-nav
   button` rules (0,1,1) — unscoped, the nav padding and the mobile
   flex:1 1 auto stretch would override the square icon-button sizing. */
.auth-nav .sfc-theme-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:34px;height:34px;padding:0;background:var(--surface);border:1px solid var(--border);
  border-radius:8px;color:var(--text2);cursor:pointer}
.auth-nav .sfc-theme-btn:hover{border-color:var(--border2);color:var(--text)}
.sfc-theme-btn svg{width:20px;height:20px;display:block}
.sfc-theme-btn .tt-sun{display:none}
:root[data-theme="dark"] .sfc-theme-btn .tt-sun{display:block}
:root[data-theme="dark"] .sfc-theme-btn .tt-moon{display:none}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .sfc-theme-btn .tt-sun{display:block}
  :root:not([data-theme="light"]) .sfc-theme-btn .tt-moon{display:none}
}
@media (max-width:768px){.auth-nav .sfc-theme-btn{flex:0 0 auto;width:44px;height:44px}}
/* Native UA rendering (autofill tint, date-picker/select popups, spin
   buttons, checkbox glyphs, scrollbars) follows the element's color-scheme,
   which with the wide root value tracks the OS preference, not data-theme —
   so an explicit light theme under an OS-dark browser got dark controls and
   scrollbars. Pin form controls to the effective site theme. Element-level
   narrowing is safe under force-dark: the page-wide opt-out is decided on the
   ROOT's wide value (A/B-verified with the headless force-dark harness). */
input,select,textarea{color-scheme:light}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{color-scheme:dark}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) input,:root:not([data-theme="light"]) select,:root:not([data-theme="light"]) textarea{color-scheme:dark}
}
/* Chrome autofill paints a scheme-tinted background that background-color
   cannot override; an opaque inset shadow can. The :focus variant stacks the
   focus ring over the fill — it ties with each sheet's `.x input:focus`
   rules at (0,2,1) and wins because this block is appended last. */
input:-webkit-autofill,input:-webkit-autofill:hover{
  -webkit-box-shadow:0 0 0 1000px var(--surface) inset;
  -webkit-text-fill-color:var(--text);caret-color:var(--text)}
input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 3px var(--focus-ring),0 0 0 1000px var(--surface) inset;
  -webkit-text-fill-color:var(--text);caret-color:var(--text)}
/* Scrollbars: recolor from the tokens ONLY when the site theme disagrees
   with the OS scheme — matched combinations keep the native scrollbars the
   frozen light palette always had. scrollbar-color inherits from :root into
   every inner scroller (tables, dropdown menus, <pre>, the header nav). */
@media (prefers-color-scheme: dark){
  :root[data-theme="light"]{scrollbar-color:var(--border2) var(--surface2)}
}
@media (prefers-color-scheme: light){
  :root[data-theme="dark"]{scrollbar-color:var(--border2) var(--surface2)}
}
/* The header nav's overflow scrollbar rendered as a 15px OS-schemed slab
   under the menu pills; keep the affordance but thin + token-tinted. */
header nav{scrollbar-width:thin;scrollbar-color:var(--border2) transparent}
