/* ============================================================
   QuoteForce Docs — shared stylesheet
   Light mode, cream paper, Operator Green accents
   Sidebar nav + main content + right TOC
============================================================ */

/* TOKENS — mirror the master mockup */
:root{
  --paper:#FAF7F2;
  --paper-2:#F3EFE6;
  --paper-3:#EBE5D9;
  --ink:#0F1310;
  --ink-2:#1B1F1A;
  --ink-3:#2E3530;
  --muted:#6E7568;
  --rule:#C8C1B0;
  --rule-soft:#E4DECF;
  --primary:#1F4F39;
  --primary-soft:#2D6A4F;
  --primary-dk:#163A29;
  --sage:#74C69D;
  --sage-soft:#C9E5D5;
  --sage-wash:#E9F2EC;
  --warning:#A33B2A;

  --geist:"Geist", system-ui, -apple-system, sans-serif;
  --mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --fraunces:"Fraunces", Georgia, serif;
  --archivo:"Archivo", system-ui, sans-serif;

  --radius:6px;
  --radius-cta:7px;

  --shadow-cta:
    inset 0 1px 0 0 rgb(255 255 255 / 0.16),
    0 1px 1px 0 rgb(15 19 16 / 0.12),
    0 2px 4px -1px rgb(15 19 16 / 0.14),
    0 6px 12px -2px rgb(31 79 57 / 0.26),
    0 14px 28px -6px rgb(31 79 57 / 0.22);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-optical-sizing:auto;scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink-2);
  font-family:var(--geist);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;
  letter-spacing:-0.005em;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}

.wrap{max-width:1320px;margin:0 auto;padding:0 32px}

/* ============================================================
   NAV (copied from master mockup)
============================================================ */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(250,247,242,0.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.nav.scrolled{
  border-bottom-color:var(--rule);
  box-shadow:0 1px 24px rgba(15,19,16,0.04);
}
.nav-inner{display:flex;align-items:center;gap:32px;padding:18px 0}
.logo{display:inline-flex;align-items:center;text-decoration:none}
.logo img{display:block;height:28px;width:auto}
.site-foot .logo img{height:24px}
.nav-links{
  display:flex;gap:28px;
  font-family:var(--geist);
  font-size:14px;font-weight:500;
  color:var(--ink-3);
}
.nav-links a:hover{color:var(--primary)}
.nav-cta{margin-left:auto;display:flex;gap:14px;align-items:center}
.nav-cta .sign-in{
  font-family:var(--geist);
  font-size:14px;font-weight:500;
  color:var(--ink-3);
}
.nav-cta .start{
  font-family:var(--geist);
  font-weight:600;font-size:14px;
  padding:10px 18px;
  background:var(--primary);color:#fff;
  border-radius:var(--radius-cta);
  box-shadow:var(--shadow-cta);
  letter-spacing:-0.005em;
}

/* ============================================================
   DOCS LAYOUT — 3 column grid
============================================================ */
.docs-shell{
  display:grid;
  grid-template-columns:280px minmax(0,1fr) 240px;
  gap:48px;
  max-width:1320px;
  margin:0 auto;
  padding:32px 32px 72px;
  align-items:start;
}

/* ============================================================
   LEFT SIDEBAR
============================================================ */
.docs-side{
  position:sticky;
  top:80px;
  max-height:calc(100vh - 96px);
  overflow-y:auto;
  padding-right:8px;
  font-family:var(--geist);
  font-size:14px;
  scrollbar-width:thin;
  scrollbar-color:var(--rule-soft) transparent;
}
.docs-side::-webkit-scrollbar{width:6px}
.docs-side::-webkit-scrollbar-thumb{background:var(--rule-soft);border-radius:3px}
.docs-side .side-group{margin-bottom:28px}
.docs-side .side-group h6{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:600;
  margin-bottom:10px;
  padding:0 12px;
}
.docs-side ul{list-style:none;display:flex;flex-direction:column;gap:1px}
.docs-side li a{
  display:block;
  padding:7px 12px;
  border-radius:6px;
  color:var(--ink-3);
  font-size:14px;
  line-height:1.4;
  letter-spacing:-0.005em;
  transition:background .12s ease, color .12s ease;
  border-left:2px solid transparent;
}
.docs-side li a:hover{
  background:var(--paper-2);
  color:var(--ink);
}
.docs-side li a.active{
  background:var(--sage-wash);
  color:var(--primary-dk);
  font-weight:600;
  border-left-color:var(--primary);
}
.docs-side li a.stub{
  color:var(--muted);
}
.docs-side li a.stub::after{
  content:"·";
  margin-left:6px;
  color:var(--rule);
}

/* ============================================================
   MAIN CONTENT
============================================================ */
.docs-main{
  max-width:720px;
  min-width:0;
}

.crumbs{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:24px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--primary)}
.crumbs .sep{color:var(--rule)}
.crumbs .current{color:var(--ink-3)}

.docs-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin-bottom:20px;
}
.copy-page{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted);
  padding:8px 12px;
  border:1px solid var(--rule);
  border-radius:6px;
  background:transparent;
  white-space:nowrap;
  transition:background .12s ease, color .12s ease;
}
.copy-page:hover{background:var(--paper-2);color:var(--ink)}

.docs-main h1{
  font-family:var(--archivo);
  font-weight:800;
  font-size:clamp(36px,4vw,48px);
  line-height:1.04;
  letter-spacing:-0.028em;
  color:var(--ink);
  margin-bottom:18px;
}
.docs-main .lead{
  font-family:var(--fraunces);
  font-weight:400;
  font-size:19px;
  line-height:1.5;
  letter-spacing:-0.008em;
  color:var(--ink-3);
  margin-bottom:18px;
}
.docs-main .lead strong{color:var(--ink);font-weight:600}
.docs-main .meta-stamp{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:28px;
}

.docs-main h2{
  font-family:var(--archivo);
  font-weight:700;
  font-size:28px;
  line-height:1.18;
  letter-spacing:-0.022em;
  color:var(--ink);
  margin:48px 0 16px;
  scroll-margin-top:96px;
}
.docs-main h2:first-of-type{margin-top:36px}

.docs-main h3{
  font-family:var(--geist);
  font-weight:600;
  font-size:18px;
  letter-spacing:-0.012em;
  color:var(--ink);
  margin:28px 0 10px;
}

.docs-main p{
  font-size:16px;
  line-height:1.7;
  color:var(--ink-3);
  margin-bottom:18px;
}
.docs-main p strong{color:var(--ink);font-weight:600}
.docs-main p em{
  font-family:var(--fraunces);
  font-style:italic;
  color:var(--primary);
  font-weight:500;
}

.docs-main a.inline{
  color:var(--primary);
  text-decoration:underline;
  text-decoration-color:var(--sage-soft);
  text-underline-offset:3px;
  text-decoration-thickness:1.5px;
}
.docs-main a.inline:hover{
  text-decoration-color:var(--primary);
}

.docs-main ul.body, .docs-main ol.body{
  margin:0 0 20px 22px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.docs-main ul.body li, .docs-main ol.body li{
  font-size:16px;
  line-height:1.6;
  color:var(--ink-3);
}
.docs-main ul.body li strong, .docs-main ol.body li strong{color:var(--ink);font-weight:600}

/* ============================================================
   ANSWER CALLOUT
============================================================ */
.callout{
  background:var(--sage-wash);
  border-left:3px solid var(--primary);
  border-radius:8px;
  padding:24px 28px;
  margin:28px 0 36px;
}
.callout .label{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--primary-dk);
  font-weight:600;
  margin-bottom:12px;
}
.callout p{
  font-family:var(--geist);
  font-size:15.5px;
  line-height:1.62;
  color:var(--ink-2);
  margin-bottom:12px;
}
.callout p:last-child{margin-bottom:0}
.callout p strong{color:var(--ink);font-weight:600}
.callout ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:4px;
}
.callout ul li{
  font-size:15px;
  color:var(--ink-2);
  padding-left:18px;
  position:relative;
}
.callout ul li::before{
  content:"";
  position:absolute;
  left:2px;top:9px;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--primary);
}

/* ============================================================
   COMPARISON TABLE
============================================================ */
.cmp-table{
  width:100%;
  border-collapse:collapse;
  margin:18px 0 28px;
  font-size:14px;
  font-family:var(--geist);
  border:1px solid var(--rule-soft);
  border-radius:8px;
  overflow:hidden;
}
.cmp-table thead th{
  background:var(--paper-2);
  font-family:var(--geist);
  font-weight:600;
  text-align:left;
  padding:12px 16px;
  font-size:13px;
  color:var(--ink);
  letter-spacing:-0.005em;
  border-bottom:1px solid var(--rule-soft);
}
.cmp-table tbody td{
  padding:12px 16px;
  border-bottom:1px solid var(--rule-soft);
  color:var(--ink-3);
  vertical-align:middle;
  line-height:1.5;
}
.cmp-table tbody tr:nth-child(even) td{background:var(--paper-2)}
.cmp-table tbody tr:last-child td{border-bottom:0}
.cmp-table tbody td:first-child{
  font-weight:600;
  color:var(--ink);
}

/* ============================================================
   CODE BLOCK
============================================================ */
pre.code{
  background:var(--paper-2);
  border:1px solid var(--rule-soft);
  border-radius:6px;
  padding:16px 18px;
  margin:18px 0 24px;
  font-family:var(--mono);
  font-size:13.5px;
  line-height:1.55;
  color:var(--ink-2);
  overflow-x:auto;
  letter-spacing:0;
}
code.inline{
  font-family:var(--mono);
  font-size:13.5px;
  background:var(--paper-2);
  border:1px solid var(--rule-soft);
  padding:1px 6px;
  border-radius:4px;
  color:var(--ink);
}

/* ============================================================
   FAQ block
============================================================ */
.faq-item{
  border-top:1px solid var(--rule-soft);
  padding:18px 0;
}
.faq-item:last-child{border-bottom:1px solid var(--rule-soft)}
.faq-item h3{
  margin:0 0 8px;
  font-family:var(--geist);
  font-weight:600;
  font-size:17px;
  color:var(--ink);
  letter-spacing:-0.012em;
}
.faq-item p{
  margin-bottom:0;
  font-size:15.5px;
  color:var(--ink-3);
}

/* ============================================================
   CARD GRID (landing page)
============================================================ */
.card-grid{
  display:grid;
  gap:14px;
  margin:18px 0 28px;
}
.card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card-grid.cols-1{grid-template-columns:1fr}

.doc-card{
  display:block;
  background:#fff;
  border:1px solid var(--rule-soft);
  border-radius:10px;
  padding:18px 18px 16px;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.doc-card:hover{
  transform:translateY(-2px);
  border-color:var(--sage);
  box-shadow:
    0 1px 2px rgba(15,19,16,0.04),
    0 8px 24px -8px rgba(31,79,57,0.12);
}
.doc-card.stub{opacity:0.62}
.doc-card.stub:hover{transform:none;border-color:var(--rule-soft);box-shadow:none;cursor:default}
.doc-card .ic{
  width:32px;height:32px;
  border-radius:7px;
  background:var(--sage-wash);
  color:var(--primary);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:12px;
}
.doc-card .ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.75}
.doc-card .ttl{
  font-family:var(--geist);
  font-weight:600;
  font-size:15.5px;
  letter-spacing:-0.01em;
  color:var(--ink);
  margin-bottom:4px;
}
.doc-card .desc{
  font-size:13.5px;
  line-height:1.5;
  color:var(--ink-3);
}

/* ============================================================
   PREV / NEXT NAV
============================================================ */
.pager{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:64px;
  padding-top:28px;
  border-top:1px solid var(--rule-soft);
}
.pager a{
  display:block;
  padding:18px 20px;
  border:1px solid var(--rule-soft);
  border-radius:8px;
  transition:border-color .15s ease, background .15s ease;
  background:#fff;
}
.pager a:hover{border-color:var(--primary);background:var(--sage-wash)}
.pager .label{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:6px;
  display:block;
}
.pager .ttl{
  font-family:var(--geist);
  font-weight:600;
  font-size:15.5px;
  color:var(--ink);
  letter-spacing:-0.01em;
}
.pager .prev{text-align:left}
.pager .next{text-align:right}
.pager .next:only-child{grid-column:2}
.pager .empty{visibility:hidden}

/* ============================================================
   RIGHT TOC
============================================================ */
.docs-toc{
  position:sticky;
  top:80px;
  max-height:calc(100vh - 96px);
  overflow-y:auto;
  padding-left:8px;
  border-left:1px solid var(--rule-soft);
  padding-left:20px;
}
.docs-toc h6{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:600;
  margin-bottom:12px;
}
.docs-toc ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.docs-toc li a{
  display:block;
  padding:5px 0;
  font-family:var(--geist);
  font-size:13px;
  line-height:1.4;
  color:var(--muted);
  letter-spacing:-0.005em;
  border-left:2px solid transparent;
  padding-left:10px;
  margin-left:-10px;
  transition:color .12s ease, border-color .12s ease;
}
.docs-toc li a:hover{color:var(--ink-2)}
.docs-toc li a.active{
  color:var(--primary);
  border-left-color:var(--primary);
  font-weight:500;
}

/* Inline TOC for mobile (hidden on desktop) */
.toc-mobile{
  display:none;
  margin:0 0 24px;
  padding:14px 16px;
  background:var(--paper-2);
  border:1px solid var(--rule-soft);
  border-radius:8px;
}
.toc-mobile summary{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:600;
  cursor:pointer;
  list-style:none;
}
.toc-mobile summary::-webkit-details-marker{display:none}
.toc-mobile summary::after{content:" ↓"}
.toc-mobile[open] summary::after{content:" ↑"}
.toc-mobile ul{
  list-style:none;
  margin-top:12px;
  display:flex;flex-direction:column;gap:6px;
}
.toc-mobile li a{
  font-family:var(--geist);
  font-size:13.5px;
  color:var(--ink-3);
}
.toc-mobile li a:hover{color:var(--primary)}

/* ============================================================
   FOOTER (copied from master mockup)
============================================================ */
.site-foot{
  padding:64px 0 36px;background:var(--paper);
  border-top:1px solid var(--rule);
  margin-top:48px;
}
.foot-grid{
  display:grid;grid-template-columns:1.6fr repeat(4,1fr);
  gap:36px;margin-bottom:48px;
}
.foot-brand p{
  font-family:var(--fraunces);font-style:italic;font-size:15px;
  color:var(--ink-3);line-height:1.45;margin:14px 0 18px;max-width:300px;
}
.foot-col h5{
  font-family:var(--mono);font-size:10.5px;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px;font-weight:600;
}
.foot-col ul{list-style:none;display:grid;gap:8px}
.foot-col li{
  font-family:var(--geist);font-size:13.5px;
  color:var(--ink-3);letter-spacing:-0.01em;
}
.foot-col li a:hover{color:var(--primary)}
.foot-bottom{
  padding-top:28px;border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:14px;
  font-family:var(--mono);font-size:11px;
  letter-spacing:0.06em;color:var(--muted);
}
.foot-bottom .links{display:flex;gap:24px}
.foot-bottom .links a:hover{color:var(--primary)}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:1180px){
  .docs-shell{grid-template-columns:240px minmax(0,1fr) 200px;gap:36px}
  .docs-main{max-width:none}
}
@media (max-width:1024px){
  .docs-shell{grid-template-columns:240px minmax(0,1fr);gap:36px}
  .docs-toc{display:none}
  .toc-mobile{display:block}
}
@media (max-width:820px){
  .docs-shell{grid-template-columns:1fr;padding:24px 24px 56px;gap:0}
  .docs-side{
    position:static;
    max-height:none;
    overflow:visible;
    margin-bottom:32px;
    padding:18px 14px;
    background:var(--paper-2);
    border:1px solid var(--rule-soft);
    border-radius:10px;
  }
  .docs-side .side-group{margin-bottom:18px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
}
@media (max-width:560px){
  .wrap{padding:0 20px}
  .nav-inner{gap:0}
  .nav-links, .nav-cta .sign-in{display:none}
  .nav-cta{margin-left:auto}
  .nav .logo img{height:22px}
  .nav-cta .start{font-size:13px;padding:9px 14px;white-space:nowrap}
  .docs-main h1{font-size:34px;letter-spacing:-0.025em}
  .docs-main h2{font-size:24px}
  .card-grid.cols-2, .card-grid.cols-3{grid-template-columns:1fr}
  .pager{grid-template-columns:1fr}
  .pager .next{text-align:left}
  .cmp-table{font-size:13px}
  .cmp-table thead th, .cmp-table tbody td{padding:10px 12px}
  .docs-head{flex-direction:column;align-items:flex-start;gap:12px}
}
</content>
</invoke>