/* PlanSentry — Redline theme layer. Loaded after every page-specific stylesheet. */
:root{
  --ink:#0b0d10;--ink-2:#111418;--paper:#f1ead9;--paper-2:#e8dfc9;
  --line:#23262b;--line-soft:#1a1c20;--text:#e9e6dd;--muted:#8d9089;--muted-2:#5f6259;
  --amber:#d9903f;--amber-dim:#7a5a2e;--signal:#77ab8d;--signal-dim:#33453b;
  --alert:#c15a41;--alert-dim:#4a2b23;
  --font-serif:ui-serif,"Iowan Old Style","Palatino Linotype",Georgia,serif;
  --font-sans:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",monospace;
}

html{background:var(--ink)!important;color:var(--text)!important;font-family:var(--font-sans)!important;scroll-behavior:smooth}
body{background:radial-gradient(circle at 50% -15%,#161a20 0,transparent 34%),var(--ink)!important;color:var(--text)!important;min-height:100vh}
::selection{background:var(--amber);color:#211605}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--amber)!important;outline-offset:2px}

h1,h2,h3,.hero h1,.page-hero h1,.section h2,.card h2,.panel h3{font-family:var(--font-serif)!important;font-weight:500!important;letter-spacing:-.01em!important}
.hero em,.page-hero em,.eyebrow,.kicker{font-family:inherit}
.hero em,.page-hero em{font-style:italic!important;color:var(--muted)!important;font-family:var(--font-serif)!important}

/* numbers, prices, timestamps read as ledger data wherever they appear */
.stats b,.mono,td,.price,.amount,[class*="price"],[class*="amount"],[class*="delta"],time,.timestamp{font-family:var(--font-mono)}
.stats b{font-variant-numeric:tabular-nums}

/* borders + panels: swap the old near-black borders/cards for the ink system, smaller radius */
[class*="header"]:not(.header-actions),header{border-color:var(--line-soft)!important}
[class*="card"],[class*="panel"],.mock,[class*="detail-hero"],[class*="admin-hero"],[class*="auth-card"],[class*="status-card"],[class*="member-card"]{
  background:var(--ink-2)!important;border:1px solid var(--line)!important;border-radius:6px!important;
}
.gate-card{background:var(--ink-2)!important;border:1px solid var(--line)!important;border-radius:8px!important}

/* buttons: amber primary, hairline secondary, small radius everywhere */
button:not(.icon):not(.ghost):not(.quiet):not(.delete):not(.tiny):not(.secondary):not([class*="link"]),
.btn:not(.secondary),.account-entry,.nav .cta{
  background:var(--amber)!important;color:#211605!important;border-radius:4px!important;font-weight:600!important;border:0!important;
}
button[class*="link"]{background:transparent!important;color:var(--muted)!important;text-decoration:underline!important;border:0!important;padding:0!important}
.auth-tabs{background:var(--ink)!important;border:1px solid var(--line)!important;border-radius:6px!important}
#auth-card .auth-tabs button[role="tab"]{background:transparent!important;color:var(--muted)!important;border-radius:4px!important}
#auth-card .auth-tabs button[role="tab"].active{background:var(--ink-2)!important;color:var(--text)!important;box-shadow:none!important}
.btn.secondary,.ghost,.quiet,button.secondary{
  background:transparent!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:4px!important;
}
.delete,.danger{background:transparent!important;color:var(--alert)!important;border:1px solid var(--alert-dim)!important;border-radius:4px!important}
input,select,textarea{background:var(--ink)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:4px!important}

/* status / pill / badge semantics: signal=ok, alert=changed or error, amber-dim=paused/pending */
.status,.pill,.plan-pill,.plan-badge,.chip,[class*="status-indicator"],[class*="badge"]{
  border-radius:99px!important;background:var(--ink)!important;color:var(--muted)!important;border:1px solid var(--line)!important;
}
.status.ok,.status.active,.pill.ok,.chip.ok,[class*="status"].ok{background:var(--signal-dim)!important;color:var(--signal)!important;border-color:var(--signal-dim)!important}
.status.error,.pill.error,.chip.alert,.chip.error,[class*="status"].error{background:var(--alert-dim)!important;color:var(--alert)!important;border-color:var(--alert-dim)!important}
.status.paused,.pill.paused,[class*="status"].paused,[class*="status"].pending{background:var(--amber-dim)!important;color:var(--amber)!important;border-color:var(--amber-dim)!important}
.plus{color:var(--signal)!important}
.minus{color:var(--alert)!important}
.status-indicator{background:var(--muted-2)!important;box-shadow:none!important}
.status-card.operational{border-color:var(--signal-dim)!important;background:var(--ink-2)!important}
.status-card.operational .status-indicator{background:var(--signal)!important}
.status-card.degraded{border-color:var(--amber-dim)!important;background:var(--ink-2)!important}
.status-card.degraded .status-indicator{background:var(--amber)!important}
.status-card.outage,.status-card.unknown{border-color:var(--alert-dim)!important;background:var(--ink-2)!important}
.status-card.outage .status-indicator,.status-card.unknown .status-indicator{background:var(--alert)!important}
.pricing-two{margin:0 auto}
.billing-toggle{margin:20px auto 0!important}

/* document / receipt style callouts — anything meant to look like a captured pricing page */
.doc,[class*="capture"],[class*="snapshot-card"]{background:var(--paper)!important;color:#2a241a!important;border-radius:2px!important}

.muted,.lead,small,[class*="muted"]{color:var(--muted)!important}
.kicker,.eyebrow,[class*="eyebrow"]{color:var(--amber)!important;letter-spacing:.14em!important}

table,[class*="table-wrap"]{border-color:var(--line-soft)!important}
th{color:var(--muted-2)!important;font-family:var(--font-mono)!important;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px!important}
tr,[class*="row"]{border-color:var(--line-soft)!important}

footer,[class*="footer"]{border-color:var(--line-soft)!important;color:var(--muted-2)!important}

/* homepage hero: split into copy + redlined-document exhibit */
.hero-split{display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:56px!important;align-items:center!important;max-width:none!important}
.hero-copy{max-width:520px}
.doc{
  background:var(--paper)!important;color:#2a241a!important;border-radius:2px!important;
  padding:28px 28px 24px!important;position:relative;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.04);
  transform:rotate(.6deg);border:0!important;
}
.doc::before{
  content:"EXHIBIT — PRICING CAPTURE";position:absolute;top:-11px;left:24px;
  background:var(--amber);color:#211605;font-family:var(--font-mono);
  font-size:9.5px;letter-spacing:.14em;font-weight:700;padding:4px 9px;border-radius:2px;
}
.doc-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #d6cbae;padding-bottom:12px;margin-bottom:14px}
.doc-head b{font-size:14px;font-family:var(--font-sans)}
.doc-head span{font-size:10px;color:#7a6f52;letter-spacing:.05em;font-family:var(--font-mono)}
.doc-row{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid #e2d7ba;font-family:var(--font-sans)}
.doc-row:last-of-type{border-bottom:0}
.doc-plan{font-size:13.5px;color:#4a4230}
.doc-price-old{
  font-family:var(--font-mono);font-size:13px;color:#8a7f5e;text-decoration:line-through;
  text-decoration-color:var(--alert);text-decoration-thickness:1.5px;margin-right:9px;
}
.doc-price-new{font-family:var(--font-mono);font-weight:700;font-size:14px;background:linear-gradient(transparent 60%,rgba(217,144,63,.4) 60%)}
.doc-margin-note{
  font-size:11.5px;color:var(--alert);margin-top:16px;padding-top:14px;border-top:1px dashed #d6cbae;
  display:flex;gap:8px;align-items:baseline;font-family:var(--font-sans);padding-right:78px;
}
.doc-margin-note::before{content:"↳";font-size:13px;flex:0 0 auto}
.doc-stamp{
  position:absolute;bottom:20px;right:22px;border:2px solid var(--signal);color:var(--signal);
  font-size:10px;letter-spacing:.1em;font-weight:700;padding:5px 9px;border-radius:3px;
  transform:rotate(-6deg);opacity:.85;font-family:var(--font-mono);text-transform:uppercase;
  background:var(--paper);
}
@media(max-width:900px){.hero-split{grid-template-columns:1fr!important}.doc{transform:none;margin-top:20px}}
