/* Docs, data handling and legal pages. Self-hosted fonts (no third-party requests), strict-CSP friendly.
   Fonts are shared with the customer app: /app/fonts/. Accent #C2410C, text accent #9A3412. */

main,.docs-side,.draft-banner{
  --paper:#FAF9F7; --white:#FFFFFF; --ink:#1C1917; --stone:#44403C; --stone-2:#57534E;
  --line:#E7E5E4; --line-2:#D6D3D1; --panel:#F5F5F4;
  --accent:#C2410C; --accent-text:#9A3412; --accent-soft:#FFF7ED; --accent-ink:#7C2D12;
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --body:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
}
html{scroll-padding-top:96px}
main h1,main h2,main h3{margin:0;color:var(--ink)}
main a{color:var(--accent-text)}
main code,main pre{font-family:var(--mono)}

/* Layout */
.docs-layout{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px}
.docs-side{position:sticky;top:73px;align-self:start;max-height:calc(100vh - 73px);overflow:auto;padding:32px 0;font-size:15px}
.docs-side h2{font-family:var(--body);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone-2);font-weight:600;margin:0 0 8px}
.docs-side ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:2px}
.docs-side a{display:block;color:var(--ink);text-decoration:none;padding:5px 10px;margin:0 -10px;border-radius:6px}
.docs-side a:hover{background:var(--panel)}
.docs-main{min-width:0;padding:40px 0 72px;max-width:820px}
.page-wide{max-width:1000px;margin:0 auto;padding:40px 24px 72px}
.page-narrow{max-width:820px;margin:0 auto;padding:40px 24px 72px}

/* Typography */
main .eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);font-weight:600;margin:0 0 10px}
main h1{font-family:var(--display);font-weight:600;font-size:clamp(30px,5vw,44px);line-height:1.1;margin-bottom:14px}
main h2{font-size:24px;font-weight:600;margin:44px 0 12px;font-family:var(--display)}
main h3{font-size:18px;font-weight:600;margin:28px 0 8px}
main p,main li{color:var(--stone)}
main p{margin:0 0 14px}
main .lede{font-size:18px;line-height:1.55;color:var(--stone)}
main ul,main ol{margin:0 0 16px;padding-left:22px}
main li{margin:4px 0}
main :not(pre)>code{background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.88em;color:var(--ink)}
.meta{font-size:14px;color:var(--stone-2)}

/* Code blocks */
main pre{margin:0 0 18px;background:var(--ink);color:#E7E5E4;border-radius:10px;padding:16px 20px;overflow-x:auto;font-size:13.5px;line-height:1.6;tab-size:2}
main pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}
main pre.light{background:var(--panel);color:var(--ink);border:1px solid var(--line)}

/* Tables */
main .table-wrap{overflow-x:auto;margin:0 0 20px;border:1px solid var(--line);border-radius:10px;background:var(--white)}
main table{border-collapse:collapse;width:100%;font-size:14.5px}
main caption{text-align:left;padding:12px 14px 0;font-weight:600;color:var(--ink)}
main th,main td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--line)}
main th{font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--stone-2);background:var(--panel)}
main tr:last-child td{border-bottom:0}
main td code{white-space:nowrap}

/* Callouts and cards */
.notice{background:var(--accent-soft);border:1px solid #FED7AA;border-radius:10px;padding:14px 18px;margin:0 0 20px;color:var(--accent-ink)}
.notice p,.notice li{color:var(--accent-ink)}
.notice p:last-child{margin-bottom:0}
.notice a{color:var(--accent-ink)}
.draft-banner{background:var(--accent-soft);border-bottom:2px solid var(--accent);color:var(--accent-ink);text-align:center;padding:12px 24px;font-weight:600;font-size:15px}
.draft-banner span{font-weight:400;margin-left:8px}
main .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:24px 0}
main .card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px}
main main .card h2,main .card h3{font-family:var(--body);font-size:18px;margin:0 0 8px}
main main .card p{margin:0;font-size:15.5px}
.method{display:inline-block;font-family:var(--mono);font-size:12.5px;font-weight:600;background:var(--ink);color:#fff;border-radius:5px;padding:2px 8px;margin-right:6px;vertical-align:middle}
.endpoint{font-family:var(--mono);font-size:16px;font-weight:500}
.toc{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:14px 20px;margin:0 0 24px;font-size:15px}
.toc ol{margin:6px 0 0;columns:2;column-gap:32px}
.placeholder{background:#FEF3C7;border-radius:4px;padding:0 4px;color:#78350F;font-family:var(--mono);font-size:.9em}

@media (max-width:900px){
  .docs-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .docs-side{position:static;max-height:none;padding:20px 0 0;border-bottom:1px solid var(--line)}
  .docs-side ul{flex-direction:row;flex-wrap:wrap;gap:4px 14px}
  .docs-side a{padding:4px 0;margin:0;text-decoration:underline}
  .toc ol{columns:1}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.docs-side,.site-footer,.skip-link{display:none}.docs-layout{display:block}main pre{white-space:pre-wrap}}
main th{font-family:var(--body)}
