/* Smart Scholars — commerce, author dashboard, ScholaRef and the members operator console.
   Sits on top of style.css / platform.css (Fraunces display, Inter body, navy + teal tokens). */
:root{--paper:#fbfaf6;--paper-line:#e6e1d6;--amber:#98640f;--amber-bg:#fff7e6;--slate:#0b1220;--slate-2:#141d33;--mint:#e6f7f3;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.mono-inline{font-family:var(--mono);font-size:.92rem;background:#f1f4f9;padding:2px 7px;border-radius:6px}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- checkout ---------- */
.pay-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;align-items:start}
.ledger-card{background:var(--paper);border:1px solid var(--paper-line);border-top:6px solid var(--navy);border-radius:12px;padding:22px 24px;font-variant-numeric:tabular-nums}
.ledger-head,.ledger-row,.ledger-total{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px 130px;gap:10px;align-items:baseline}
.ledger-head{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);border-bottom:1px solid var(--paper-line);padding-bottom:8px}
.ledger-head span:not(:first-child),.ledger-row span:not(:first-child),.ledger-total span:last-child{text-align:right}
.ledger-row{padding:12px 0;border-bottom:1px dashed var(--paper-line)}
.ledger-row.sub{padding:7px 0;font-size:.9rem;color:var(--ink-2)}
.ledger-total{grid-template-columns:1fr auto;margin-top:12px;padding-top:12px;border-top:2px solid var(--navy);font-family:var(--display);font-size:1.35rem;color:var(--navy)}
.pay-tile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:14px}
.pay-tile-primary{border-top:5px solid var(--saffron);box-shadow:var(--shadow)}
.pay-tile h3{margin-bottom:4px}
.pay-account{display:grid;gap:12px;margin:12px 0 4px;font-size:.92rem}
.pay-account .mono{margin:4px 0 0;font-size:.85rem}
.order-status{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px;counter-reset:step}
.timeline span{position:relative;text-align:center;font-size:.78rem;color:var(--muted);padding-top:22px}
.timeline span::before{content:"";position:absolute;left:50%;top:4px;width:12px;height:12px;border-radius:50%;background:#d5dbe6;transform:translateX(-50%);z-index:1}
.timeline span::after{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:#e4e8f0}
.timeline span:first-child::after{left:50%}.timeline span:last-child::after{right:50%}
.timeline span.on{color:var(--navy);font-weight:600}.timeline span.on::before{background:var(--saffron)}.timeline span.on::after{background:var(--saffron)}
.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;margin:14px 0 0;font-size:.92rem}.kv dt{color:var(--ink-2)}.kv dd{margin:0;overflow-wrap:anywhere}
.deliverable{margin-top:16px;padding:14px 16px;background:var(--mint);border-radius:10px}.deliverable h4{margin:0 0 6px;font-family:var(--display);font-weight:800;color:#0f766e}
@media(max-width:900px){.pay-grid{grid-template-columns:1fr}.ledger-head,.ledger-row{grid-template-columns:minmax(0,1fr) 70px 90px 100px;font-size:.88rem}.kv{grid-template-columns:1fr}}

/* ---------- author dashboard ---------- */
.au-hero{background:linear-gradient(135deg,var(--navy) 0,#16305c 60%,#0f766e 140%);color:#fff;padding:34px 0}
.au-hero h1{color:#fff;margin-bottom:4px}.au-hero p{color:#cfe3ff;margin:0}
.au-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:22px;align-items:start;margin-top:-26px}
.au-grid>div{min-width:0}
.ring-card{display:flex;gap:18px;align-items:center}.ring-card>*{min-width:0}@media(max-width:420px){.ring-card{flex-wrap:wrap}}
.ring{width:96px;height:96px;flex:none}.ring text{font:700 1.35rem Syne,system-ui,sans-serif;fill:var(--navy)}
.ring .track{stroke:#e9edf3}.ring .val{stroke:var(--saffron);stroke-linecap:round;transition:stroke-dasharray .6s}
.strength li{display:grid;grid-template-columns:22px 1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.92rem;align-items:start}
.strength li:last-child{border-bottom:0}.strength .pts{font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:nowrap}
.strength .ok{color:var(--ok)}.strength .no{color:var(--bad)}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.stat b{display:block;font:700 1.4rem Syne,system-ui,sans-serif;color:var(--navy);line-height:1.2}.stat span{font-size:.78rem;color:var(--muted)}
.src{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}
@media(max-width:900px){.au-grid{grid-template-columns:1fr;margin-top:0}.stat-row{grid-template-columns:1fr 1fr}}

/* ---------- ScholaRef ---------- */
.ref-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0}
.ref-summary .stat b{font-size:1.5rem}
.ref-row{display:grid;grid-template-columns:34px minmax(0,1fr) 150px;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}.ref-row>*{min-width:0}.ref-row .found,.ref-row .why{overflow-wrap:anywhere}
.ref-row .n{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.85rem;padding-top:3px}
.ref-row .given{font-size:.92rem;overflow-wrap:anywhere}
.ref-row .found{font-size:.85rem;color:var(--ink-2);margin-top:4px;overflow-wrap:anywhere}
.ref-row .found a{font-family:var(--mono);font-size:.8rem}
.ref-row .why{font-size:.82rem;margin-top:4px}
.verdict{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.v-verified{background:#e7f7ee;color:#14653a}.v-fix{background:var(--amber-bg);color:#7a4b00}.v-notfound{background:#fdecec;color:#8f1f1f}.v-retracted{background:#3b0d0d;color:#fff}.v-dead{background:#fdecec;color:#8f1f1f}.v-nodoi{background:#eef0f4;color:#4a5568}
.diff{background:#fff7e6;border-left:3px solid var(--amber);padding:6px 10px;border-radius:0 6px 6px 0;font-size:.85rem;margin-top:6px}
@media(max-width:900px){.ref-summary{grid-template-columns:repeat(2,1fr)}.ref-row{grid-template-columns:28px minmax(0,1fr)}.ref-row .vcell{grid-column:2}}

/* ---------- members operator console ---------- */
.op-band{background:linear-gradient(180deg,var(--slate) 0,var(--slate-2) 100%);color:#e6edf7;padding:26px 0 30px}
.op-band h1{color:#fff;margin:0 0 4px;font-size:clamp(1.6rem,3vw,2.3rem)}.op-band p{color:#9fb3cc;margin:0}
.op-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px}
.op-kpi{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px}
.op-kpi b{display:block;font:700 1.6rem Syne,system-ui,sans-serif;color:#fff;font-variant-numeric:tabular-nums;line-height:1.15}.op-kpi span{font-size:.74rem;color:#9fb3cc;text-transform:uppercase;letter-spacing:.06em}
.op-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.op-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);text-align:left;padding:8px 8px;border-bottom:2px solid var(--line);white-space:nowrap}
.op-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.9rem}
.op-table td.t{max-width:320px}.op-table td.t small{display:block;color:var(--muted);font-family:var(--mono);font-size:.74rem}
.cov{display:grid;grid-template-columns:1fr 44px;gap:8px;align-items:center;min-width:120px}
@media(max-width:1100px){.cov{min-width:84px;grid-template-columns:1fr 38px;gap:5px}}   /* 25 Sep 2026: four coverage bars fit a 1024 window */
.cov i{display:block;height:8px;border-radius:4px;background:#e9edf3;overflow:hidden;position:relative}
.cov i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w,0%);background:var(--c,var(--saffron));border-radius:4px}
.cov span{font-size:.8rem;text-align:right;color:var(--ink-2)}
.health{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:4px 8px;border-radius:8px;font-weight:700;font-variant-numeric:tabular-nums;color:#fff}
.h-good{background:#1a7f37}.h-mid{background:#98640f}.h-low{background:#b3261e}.h-none{background:#6b7280}
.op-note{background:var(--mint);border-radius:10px;padding:12px 14px;font-size:.9rem}
.audit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0}
.audit-tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.audit-tile h4{margin:0 0 6px;font:700 .78rem 'Martian Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
.audit-tile b{font:700 1.7rem Syne,system-ui,sans-serif;color:var(--navy);font-variant-numeric:tabular-nums}
.audit-tile .bar{margin-top:8px}
.years{display:flex;gap:4px;align-items:flex-end;height:70px;margin-top:8px}
.years div{flex:1;background:var(--saffron);border-radius:3px 3px 0 0;min-height:2px;position:relative}
.years div span{position:absolute;bottom:-18px;left:0;right:0;text-align:center;font-size:.62rem;color:var(--muted)}
/* Plan cards (25 Sep 2026). They were <div class="price">, and "price" is also the house name for a big price
   figure (Syne 800, tight letter-spacing), so every line inside a plan card inherited the display face and
   could not be read. Now each plan is a house card: glossy, embossed, the saffron stripe, lifting and warming
   when the reader arrives. Syne is kept for the title and the amount; everything else is Martian Mono. */
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.plan{display:flex;flex-direction:column;gap:6px;padding:22px 24px}
.plan h3{margin:0}
.plan .amt{font:800 1.9rem/1.15 Syne,system-ui,sans-serif;color:var(--navy);letter-spacing:-.01em;margin:4px 0 2px}
.plan .amt small{font:600 .82rem/1.5 'Martian Mono',ui-monospace,monospace;color:var(--muted);letter-spacing:0}
.plan p,.plan ul,.plan li{font-family:'Martian Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:400;letter-spacing:0}
.plan p{font-size:.86rem;line-height:1.65;margin:4px 0}
.plan ul{padding-left:18px;font-size:.88rem;line-height:1.7;margin:6px 0 14px}
.plan li b,.plan li strong{font-weight:700}
.plan > .btn,.plan > details{margin-top:auto;align-self:flex-start}
.plan.hot{border-top:4px solid var(--saffron)}
.plan-grid > *{min-width:0}.plan .amt{overflow-wrap:anywhere}
@media(max-width:480px){.plan .amt{font-size:1.55rem}}
@media(max-width:900px){.op-kpis{grid-template-columns:repeat(2,1fr)}.audit-grid,.plan-grid{grid-template-columns:1fr}}

/* ---------- admin console ---------- */
.adm-nav{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px}
.adm-nav a{padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.88rem;color:var(--navy)}
.adm-nav a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.rev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
@media(max-width:900px){.rev-grid{grid-template-columns:1fr 1fr}}
form.inline{display:inline}
.tools li{padding:10px 0;border-bottom:1px solid var(--line)}.tools li:last-child{border-bottom:0}.tools .chk{font-size:.74rem;color:var(--muted)}

/* ================================================================================================
   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}
