/* Espaço Projetado · sistema de design "Prancha e carimbo" (ver DESIGN.md). Tokens, fontes e componentes base.
   Carregado pela página de venda, pelo painel (/app), pela página do cliente (/projeto) e pela privacidade.
   Fontes próprias em /fonts (OFL, subconjunto latino, display=swap): Instrument Serif (títulos), Jost (texto e marca), IBM Plex Mono (cotas, datas, números). */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif.woff2) format("woff2")}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic.woff2) format("woff2")}
@font-face{font-family:Jost;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/jost.woff2) format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400.woff2) format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500.woff2) format("woff2")}
:root{
  --bg:#f6f4ef;--sup:#fbfaf7;--sup2:#ece8e0;--sup3:#e3ded3;--ink:#262422;--mut:#625d55;--line:#ddd8ce;--line2:#c6bfb1;
  --brand:#4f6150;--brand-ink:#fff;--brand-soft:#e2e8de;--brand-deep:#33402f;--salvia:#8a9a82;
  --carimbo:#4f6150;
  --ok:#2f6a3e;--ok-bg:#e1efe2;--warn:#8a4b12;--warn-bg:#f8e7d3;--bad:#a3302a;--bad-bg:#f7dfdc;--info:#2f5277;--info-bg:#e1eaf3;
  --focus:#2f5aa8;
  --grade:rgba(38,36,34,.055);--grade2:rgba(38,36,34,.1);
  --sh1:0 1px 0 rgba(38,36,34,.05),0 1px 2px rgba(38,36,34,.05);
  --sh2:0 1px 0 rgba(38,36,34,.04),0 14px 28px -16px rgba(38,36,34,.25),0 40px 70px -40px rgba(38,36,34,.35);
  --dark-band:#22231f;--dark-band-ink:#eeebe4;
  --f-disp:'Instrument Serif','Cormorant Garamond',Georgia,'Times New Roman',serif;
  --f-txt:'Jost','Futura','Century Gothic',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --r1:8px;--r2:14px;--r3:22px;
  color-scheme:light;
  --n-cor:var(--brand);--n-cor-t:var(--brand-ink);--n-fundo:var(--bg);--n-tinta:var(--ink);--n-linha:var(--line);--n-sec:var(--mut);--n-fonte:var(--f-txt);--n-titulo:var(--f-disp);
}
@media(prefers-color-scheme:dark){:root:not([data-tema="claro"]){
  --bg:#141513;--sup:#1b1c19;--sup2:#23241f;--sup3:#2c2d27;--ink:#eeebe4;--mut:#aaa59a;--line:#2f302a;--line2:#44453c;
  --brand:#aec2a3;--brand-ink:#141513;--brand-soft:#26301f;--brand-deep:#cfdcc6;--salvia:#93a58a;--carimbo:#b9cbae;
  --ok:#86c99a;--ok-bg:#15291b;--warn:#f0b878;--warn-bg:#352514;--bad:#ff9d93;--bad-bg:#3c1a17;--info:#9fc0e8;--info-bg:#17253a;
  --focus:#8fb4ff;--grade:rgba(238,235,228,.045);--grade2:rgba(238,235,228,.085);
  --sh1:0 0 0 1px rgba(255,255,255,.02);--sh2:0 1px 0 rgba(255,255,255,.03) inset,0 26px 54px -26px rgba(0,0,0,.75);
  --dark-band:#0e0f0d;color-scheme:dark}}
:root[data-tema="escuro"]{
  --bg:#141513;--sup:#1b1c19;--sup2:#23241f;--sup3:#2c2d27;--ink:#eeebe4;--mut:#aaa59a;--line:#2f302a;--line2:#44453c;
  --brand:#aec2a3;--brand-ink:#141513;--brand-soft:#26301f;--brand-deep:#cfdcc6;--salvia:#93a58a;--carimbo:#b9cbae;
  --ok:#86c99a;--ok-bg:#15291b;--warn:#f0b878;--warn-bg:#352514;--bad:#ff9d93;--bad-bg:#3c1a17;--info:#9fc0e8;--info-bg:#17253a;
  --focus:#8fb4ff;--grade:rgba(238,235,228,.045);--grade2:rgba(238,235,228,.085);
  --sh1:0 0 0 1px rgba(255,255,255,.02);--sh2:0 1px 0 rgba(255,255,255,.03) inset,0 26px 54px -26px rgba(0,0,0,.75);
  --dark-band:#0e0f0d;color-scheme:dark}

/* ---------- marca: ícone de planta baixa + ESPAÇO PROJETADO ---------- */
.ep-marca{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:500 13px/1.25 var(--f-txt);letter-spacing:.22em;text-transform:uppercase}
.ep-marca svg{flex:none;width:30px;height:30px}
.ep-marca .ic-a{stroke:var(--salvia)}.ep-marca .ic-b{stroke:currentColor}
.ep-marca span{display:block}

/* ---------- tipografia utilitária ---------- */
.kick{font:500 12px/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.serif{font-family:var(--f-disp);font-weight:400}

/* ---------- botão ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid var(--brand);background:var(--brand);color:var(--brand-ink);font:600 15px/1 var(--f-txt);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}
.btn:hover{background:var(--brand-deep);border-color:var(--brand-deep)}
.btn:active{transform:translateY(1px)}
.btn.sec{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn.sec:hover{background:var(--sup2)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* ---------- cota (linha de dimensão usada como rótulo de seção) ---------- */
.cota{display:flex;align-items:center;gap:12px;font:500 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.cota::before,.cota::after{content:"";height:9px;flex:0 0 1px;background:currentColor;opacity:.7}
.cota i{flex:1 1 auto;height:1px;background:currentColor;opacity:.45;max-width:64px}
.cota b{font-weight:500;color:var(--ink)}

/* ---------- carimbo (selo de aprovação, como o carimbo da prancha) ---------- */
.carimbo{display:inline-grid;gap:2px;padding:10px 14px 9px;border:1.6px solid var(--carimbo);border-radius:6px;color:var(--carimbo);font:500 11px/1.35 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-3deg);background:color-mix(in srgb,var(--sup) 82%,transparent);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--sup) 60%,transparent),inset 0 0 0 4px color-mix(in srgb,var(--carimbo) 35%,transparent)}
.carimbo b{font:600 15px/1.1 var(--f-txt);letter-spacing:.2em}
.carimbo.ajuste{--carimbo:var(--warn)}

/* ---------- estados ---------- */
.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font:500 12px/1.6 var(--f-txt);background:var(--sup2);color:var(--mut);white-space:nowrap}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
.tag.ok{background:var(--ok-bg);color:var(--ok)}.tag.warn{background:var(--warn-bg);color:var(--warn)}.tag.bad{background:var(--bad-bg);color:var(--bad)}.tag.info{background:var(--info-bg);color:var(--info)}.tag.brand{background:var(--brand-soft);color:var(--brand-deep)}

/* ---------- medidor de revisões ---------- */
.revs{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--f-mono);letter-spacing:.04em;color:var(--mut)}
.revs .pts{display:inline-flex;gap:4px}
.revs .pts i{width:14px;height:14px;border-radius:3px;border:1.5px solid var(--line2);background:transparent}
.revs .pts i.u{background:var(--brand);border-color:var(--brand)}
.revs .pts i.x{background:var(--warn);border-color:var(--warn)}

/* ---------- textura de papel e grade de prancheta ---------- */
.grade{background-image:linear-gradient(var(--grade) 1px,transparent 1px),linear-gradient(90deg,var(--grade) 1px,transparent 1px),linear-gradient(var(--grade2) 1px,transparent 1px),linear-gradient(90deg,var(--grade2) 1px,transparent 1px);background-size:16px 16px,16px 16px,80px 80px,80px 80px}

[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
