.doorbar{background:linear-gradient(180deg,#ff9e7a 0%,#f7855f 100%);color:#5e3018;font-size:.78rem}.doorbar .container{display:flex;gap:18px;align-items:center;min-height:32px;overflow-x:auto;white-space:nowrap}.doorbar a{color:#5e3018;text-decoration:none}.doorbar a.on{color:#3a1d0d;font-weight:600}.doorbar a:last-child{margin-left:auto}
.ss-fab{position:fixed;right:18px;bottom:18px;z-index:900}.ss-fab a{display:flex;align-items:center;gap:8px;border-radius:999px;padding:11px 16px;font:600 .9rem 'Martian Mono',ui-monospace,monospace;color:#fff;background:#25d366;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.grade{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;color:#fff;font:700 2rem Syne,system-ui,sans-serif}.grade.sm{width:34px;height:34px;border-radius:9px;font-size:1.1rem}
.pillar{display:grid;grid-template-columns:180px 1fr 60px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.pillar .bar{height:10px;background:#e9edf3;border-radius:6px;overflow:hidden}.pillar .bar i{display:block;height:100%;background:var(--navy2,#0b3c5d)}
.chk{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}.chk:last-child{border-bottom:0}.chk .dot{width:12px;height:12px;border-radius:50%;margin-top:6px;flex:none}.dot-ok{background:var(--ok)}.dot-warn{background:#e0a800}.dot-bad{background:var(--bad)}.dot-na{background:#bbb}
.two{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:22px;align-items:start}.two>div{min-width:0}.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.kpi .card strong{font-size:1.6rem;display:block}
.tbl-wrap{overflow-x:auto}.dd-tbl{width:100%;min-width:0;border-collapse:collapse}
/* 25 Sep 2026: min-width:640px made every table scroll 21px inside a 621px column on a laptop; a table now takes its
   column and wraps, and only a phone (where five columns cannot wrap any further) lets it scroll in its box. */
.dd-tbl td{overflow-wrap:anywhere}.dd-tbl td .btn{white-space:nowrap}.dd-tbl th,.dd-tbl td{padding:9px 8px;vertical-align:top;font-size:.9rem;border-bottom:1px solid var(--line);text-align:left}.dd-tbl th{background:#f1f4f9;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);white-space:nowrap}.dd-tbl td.num{text-align:center;white-space:nowrap}.dd-tbl td.art{min-width:120px;max-width:420px;overflow-wrap:anywhere}
.big-search{display:flex;gap:8px;max-width:720px}.big-search input{flex:1;padding:14px 16px;font-size:1.05rem;border:1px solid #c9d3e0;border-radius:12px}.big-search button{padding:14px 22px}
.hero-dark{background:linear-gradient(180deg,var(--navy) 0,#0f2b4f 100%);color:#fff;padding:60px 0}.hero-dark p{color:#cfe3ff}.hero-dark h1{color:#fff}
textarea.mono{font-family:ui-monospace,monospace;font-size:.85rem;width:100%;min-height:160px}
@media(max-width:900px){.two,.kpi{grid-template-columns:1fr}.pillar{grid-template-columns:120px minmax(0,1fr) 50px}}
pre.mono{font-family:ui-monospace,monospace;font-size:.82rem;background:#f6f7fb;border:1px solid var(--line);border-radius:8px;padding:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word}
input.mono{font-family:ui-monospace,monospace;font-size:.8rem;width:100%}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid-2>div{min-width:0}
.bar{height:10px;background:#e9edf3;border-radius:6px;overflow:hidden}.bar i{display:block;height:100%}
@media(max-width:900px){.grid-2{grid-template-columns:1fr!important}}
/* a table that is not inside a .tbl-wrap must never push the page sideways */
.card > table.dd-tbl{min-width:0}
@media(max-width:640px){
  .dd-tbl th,.dd-tbl td{padding:7px 6px;font-size:.84rem}
  .grade{width:52px;height:52px;font-size:1.6rem}
  .pillar{grid-template-columns:96px minmax(0,1fr) 44px;gap:8px}.pillar>*{min-width:0;overflow-wrap:anywhere}
  .doorbar .container{gap:10px;font-size:.72rem}
  .big-search{flex-direction:column}.big-search button{width:100%}
}
/* route-to-A strip and the remedy list (Journals door) */
.route{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}
.route strong{display:block;font-size:1.15rem}
.route-bar{position:relative;height:12px;background:#e9edf3;border-radius:7px}
.route-bar i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#e0a800,#2bb39a)}
.route-bar b{position:absolute;top:-20px;transform:translateX(-50%);font-size:.7rem;color:var(--ink-2)}
.route-bar b::after{content:"";position:absolute;left:50%;top:18px;width:2px;height:12px;background:#c3ccd8}
details.fix{border:1px solid var(--line);border-radius:10px;margin-top:10px;background:#fff}
details.fix[open]{border-color:#c9d3e0;box-shadow:0 1px 3px rgba(10,30,60,.06)}
details.fix summary{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:start;padding:11px 14px;cursor:pointer;list-style:none}
details.fix summary::-webkit-details-marker{display:none}
.fix-pts{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:3px 6px;border-radius:8px;background:#eef7f4;color:#12705f;font-weight:700;font-size:.9rem}
.fix-ttl{font-weight:600;line-height:1.35}
.fix-cap{background:#fdece9;color:#b3261e;border-radius:5px;padding:1px 6px;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}
.fix-who{text-align:right}
@media(min-width:641px){.fix-who{white-space:nowrap}}
.fix-body{padding:0 14px 14px 78px;border-top:1px solid var(--line);margin-top:2px;padding-top:10px}
.fix-steps{margin:8px 0 0;padding-left:20px;line-height:1.7}
.fix-steps li{margin-bottom:4px}
@media(max-width:640px){
  .route{grid-template-columns:1fr;gap:8px}.route-bar{order:3}
  details.fix summary{grid-template-columns:44px 1fr;gap:8px}
  .fix-who{grid-column:1/-1;text-align:left;white-space:normal}
  .fix-body{padding-left:14px}
}
.ss-fab{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:900}
.ss-fab a{display:flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:11px 16px;font:600 .9rem 'Martian Mono',ui-monospace,monospace;color:#fff;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.ss-fab .wa{background:#25d366}
.ss-fab .wa i{font-size:1.35rem;line-height:1}
.ss-fab svg{width:18px;height:18px;flex:none}
.ss-fab a:hover{filter:brightness(1.06)}

/* ================================================================================================
   SMART SCHOLARS — late overlay.
   platform.css and commerce.css are linked AFTER style.css, so anything they set wins on order
   even at equal specificity. That is why the top strip stayed salmon and the console head stayed
   navy after the teal sweep: style.css said teal, platform.css said salmon a moment later.
   These few rules are repeated here so the last word is the right one. Do not edit by hand —
   it is written by sweep.py from overlay.css.
   ================================================================================================ */
.doorbar,.ss-doorbar{background:linear-gradient(180deg,#18C6B2,#14B8A6);color:#052B26;
  border-bottom:1px solid #0C8D7E;box-shadow:inset 0 -1px 0 rgba(255,255,255,.18);font-size:.78rem}
.doorbar .container,.ss-doorbar-in{display:flex;gap:6px 14px;align-items:center;min-height:32px;
  flex-wrap:wrap;overflow:visible;white-space:normal;scrollbar-width:none}
.doorbar .container::-webkit-scrollbar,.ss-doorbar-in::-webkit-scrollbar{display:none;width:0;height:0}
.doorbar span:first-child,.ss-doorbar span:first-child{color:#04211D;font-weight:700}
.doorbar a,.ss-doorbar a{color:#052B26;text-decoration:none;padding:2px 7px;border-radius:5px}
.doorbar a:hover,.ss-doorbar a:hover{color:#02120F;background:rgba(255,255,255,.45)}
.doorbar a.on,.ss-doorbar .on{background:#FFFFFF;color:#064740;font-weight:700;border-radius:5px;padding:2px 8px}
.doorbar a:last-child,.ss-doorbar-site{margin-left:auto}

/* The console head — the last navy block on members / journals / institutions / partners. */
.hero-dark{background:linear-gradient(165deg,#0A3A34 0%,#0C453D 55%,#0E524A 100%);color:#fff}
.hero-dark h1,.hero-dark h2{color:#fff}
.hero-dark p{color:#CFEDE7}
.hero-dark .eyebrow{color:#5EE0CE}
.hero-dark a:not(.btn){color:#8FEFE0}
.hero-dark .card{background:#FFFBF6;color:#0A0908;border-color:#E3BC9A}
.hero-dark .card strong,.hero-dark .card h3{color:#0A3A34}

/* The signed-in name in the masthead was white !important, left over from the navy header. */
.nav a.nav-cta-light,.site-header .nav-cta-light,.nav-cta-light{color:#0A0908!important;
  font-weight:700;text-decoration:underline;text-underline-offset:3px}
.site-header .nav a.on,.hdr .nav a.on{background:#0A0908;color:#F4A460;border-color:#0A0908}
/* 25 Sep 2026 (after the .dd-tbl rules above, so these win): a phone lets a five-column table scroll in its box; a
   tablet-width window packs the cells tighter and lets a heading or a button wrap. */
/* (a wide table on a phone is stacked into cards by polish.js — no minimum width needed) */
@media(max-width:1100px){.dd-tbl th,.dd-tbl td{padding:8px 6px}.dd-tbl th{white-space:normal}.dd-tbl td .btn{white-space:normal}}
/* 25 Sep 2026: a table with six or seven short columns (the faculty vault, the compliance desk) lets its headings wrap instead of forcing a sideways scroll in the 3fr column */
.dd-tbl.ss-tight th{white-space:normal;letter-spacing:.03em;line-height:1.2}.dd-tbl.ss-tight td.num{white-space:normal}
.dd-tbl td .badge{white-space:nowrap}
