/* Câmara Exemplo · the stand-alone document page (/assets/documento.css).
   A document is a sheet of paper on a desk: A4 proportions on screen, every length scaled from the sheet's width
   (210 mm ↔ 100cqw), the diagonal watermark "DEMONSTRAÇÃO — SEM QUALQUER EFEITO JURÍDICO" as the sheet's own
   background, the stamp line at the top and the verification line at the bottom. Printing prints only the sheet,
   on A4, with the stamp repeated in the page margins. The paper is light in both themes; the desk follows the theme.
   Same tokens as site.css and the application's app.css; no inline styles anywhere (the CSP forbids them). */

@font-face{font-family:"Geist";src:url("fonts/Geist-Variable.woff2") format("woff2"),local("Geist"),local("Geist Regular");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("fonts/GeistMono-Variable.woff2") format("woff2"),local("Geist Mono"),local("GeistMono-Regular");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --bg:#ffffff; --ink:#0a0a0a; --ink-2:#555555; --ink-3:#707070; --line:#ededed; --line-2:#e2e2e2;
  --hover:#f4f4f4; --code:#fafafa; --navy:#0b2350; --ok:#1f7a4d; --bad:#b4232e; --gold:#b08a2e;
  --sans:"Geist","Helvetica Neue",Arial,sans-serif; --mono:"Geist Mono",ui-monospace,Menlo,Consolas,"Roboto Mono","DejaVu Sans Mono",monospace;
  --ease:cubic-bezier(.22,.61,.36,1); --field:#ffffff; --ring:rgba(10,10,10,.06); --border-hover:#cfcfcf;
  --accent:var(--navy); --accent-ink:#ffffff; --accent-hover:#16397a; --focus:var(--navy);
  --desk:#f3f3f1; --paper:#ffffff; --paper-ink:#141414; --paper-ink-2:#4b4b4b; --paper-ink-3:#6b6b6b; --paper-line:#d6d6d2; --paper-stamp:#b4232e;
  --r-1:6px; --r-2:8px; --r-3:12px; --gutter:24px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0a0a0a; --ink:#ededed; --ink-2:#a3a3a3; --ink-3:#8f8f8f; --line:#1d1d1d; --line-2:#2a2a2a;
    --hover:#161616; --code:#101010; --navy:#a9bff0; --ok:#45b07f; --bad:#ec5f69; --gold:#d3ad58;
    --field:#0f0f0f; --ring:rgba(237,237,237,.08); --border-hover:#3a3a3a;
    --accent-ink:#0a0a0a; --accent-hover:#c6d5f6;
    --desk:#121212; --paper:#f2f0ea; --paper-line:#cfccc4;
    color-scheme:dark;
  }
}

*{box-sizing:border-box}
html{background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}
body.docpage{margin:0;color:var(--ink);background:var(--bg);font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:-.006em;min-height:100vh;display:flex;flex-direction:column}
.docpage a{color:inherit}
.docpage :focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
.docpage [hidden]{display:none!important}
.skip{position:absolute;left:-9999px;z-index:40}.skip:focus{left:12px;top:10px;background:var(--ink);color:var(--bg);padding:8px 12px;border-radius:var(--r-1)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:.94em}
.small{font-size:14px;color:var(--ink-3)}

/* the independence band */
.notice{border-bottom:1px solid var(--line)}
.notice-in{max-width:1040px;margin:0 auto;padding:7px var(--gutter);display:flex;gap:14px;align-items:baseline;font-size:13px;color:var(--ink-2);min-width:0}
.notice-in b{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.notice-in b::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bad)}
.notice-in span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* the bar above the sheet */
.docbar{border-bottom:1px solid var(--line)}
.docbar-in{max-width:1040px;margin:0 auto;padding:12px var(--gutter);display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.word{display:flex;align-items:baseline;gap:8px;text-decoration:none;margin-right:auto}
.word b{font-weight:650;font-size:17px;letter-spacing:-.02em}
.word span{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
.docmeta{margin:0;font-size:15px;min-width:0}
.docmeta b{font-weight:600}
.acts{margin:0;display:flex;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:var(--r-1);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font:inherit;font-size:15px;font-weight:550;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn.is-secondary{background:transparent;color:var(--ink);border-color:var(--field-border,#8a8a8a)}
.btn.is-secondary:hover{background:var(--hover)}

/* the desk and the sheet */
.desk{flex:1;background:var(--desk);padding:32px var(--gutter) 64px}
.sheet{container-type:inline-size;max-width:794px;margin:0 auto}
.paper{--u:calc(100cqw / 210);position:relative;display:flex;flex-direction:column;width:100%;aspect-ratio:210/297;margin:0 auto;background-color:var(--paper);color:var(--paper-ink);border:1px solid var(--paper-line);padding:calc(var(--u)*18) calc(var(--u)*20) calc(var(--u)*9);font-family:var(--sans);font-size:calc(var(--u)*3.45);line-height:1.5;letter-spacing:-.002em;overflow:visible;color-scheme:light;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.06)}
.paper[data-marca]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='300' viewBox='0 0 520 300'%3E%3Ctext x='260' y='160' text-anchor='middle' transform='rotate(-30 260 150)' font-family='Helvetica,Arial,sans-serif' font-size='17' font-weight='700' letter-spacing='1.5' fill='%23000' fill-opacity='.07'%3EDEMONSTRA%C3%87%C3%83O %E2%80%94 SEM QUALQUER EFEITO JUR%C3%8DDICO%3C/text%3E%3C/svg%3E");background-size:calc(var(--u)*92) auto;background-repeat:repeat;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.paper a{color:inherit;text-decoration-color:var(--paper-line);text-underline-offset:2px}
.paper .p-stamp{position:absolute;left:calc(var(--u)*20);right:calc(var(--u)*20);top:calc(var(--u)*7);display:flex;align-items:center;gap:calc(var(--u)*2);margin:0;font-family:var(--mono);font-size:calc(var(--u)*2.35);letter-spacing:.02em;color:var(--paper-ink-2);border-bottom:1px solid var(--paper-line);padding-bottom:calc(var(--u)*1.6)}
.paper .p-stamp::before{content:"";flex:none;width:calc(var(--u)*1.6);height:calc(var(--u)*1.6);border-radius:50%;background:var(--paper-stamp)}
.paper .p-stamp b{color:var(--paper-ink);font-weight:600}
.paper .p-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:calc(var(--u)*6);align-items:start;margin:0 0 calc(var(--u)*9)}
.paper .p-org b{display:block;font-size:calc(var(--u)*5);font-weight:650;letter-spacing:-.02em;line-height:1.15}
.paper .p-org span{display:block;font-size:calc(var(--u)*2.6);color:var(--paper-ink-3);margin-top:calc(var(--u)*.8)}
.paper .p-ref{text-align:right;font-size:calc(var(--u)*2.7);color:var(--paper-ink-2);line-height:1.55}
.paper .p-ref .p-type{display:block;font-size:calc(var(--u)*2.5);color:var(--paper-ink-3)}
.paper .p-ref .mono{color:var(--paper-ink);font-size:calc(var(--u)*2.85)}
.paper .p-to{margin:0 0 calc(var(--u)*7);font-size:calc(var(--u)*3.3);line-height:1.45}
.paper .p-to small{display:block;color:var(--paper-ink-3);font-size:calc(var(--u)*2.5);margin-bottom:calc(var(--u)*1)}
.paper .p-title{font-size:calc(var(--u)*6.4);line-height:1.12;letter-spacing:-.025em;font-weight:650;margin:0 0 calc(var(--u)*1.5);color:var(--paper-ink)}
.paper .p-sub{font-size:calc(var(--u)*3.4);color:var(--paper-ink-2);margin:0 0 calc(var(--u)*5)}
.paper .p-refs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line);margin:0 0 calc(var(--u)*6)}
.paper .p-refs div{padding:calc(var(--u)*2) calc(var(--u)*2) calc(var(--u)*2) 0;min-width:0}
.paper .p-refs dt{font-size:calc(var(--u)*2.3);color:var(--paper-ink-3)}
.paper .p-refs dd{margin:0;font-family:var(--mono);font-size:calc(var(--u)*2.6);color:var(--paper-ink);letter-spacing:0;overflow-wrap:anywhere}
.paper .p-h{font-size:calc(var(--u)*3.6);font-weight:620;letter-spacing:-.01em;margin:calc(var(--u)*4) 0 calc(var(--u)*2)}
.paper .p-par{margin:0 0 calc(var(--u)*3)}
.paper ol.p-clauses{margin:0;padding:0;list-style:none;counter-reset:cl}
.paper ol.p-clauses>li{counter-increment:cl;display:grid;grid-template-columns:calc(var(--u)*7) minmax(0,1fr);margin:0 0 calc(var(--u)*3.2)}
.paper ol.p-clauses>li::before{content:counter(cl) ".";font-weight:600;color:var(--paper-ink)}
.paper ol.p-clauses b{font-weight:620}
.paper .p-subs{margin:calc(var(--u)*1) 0 0;padding:0 0 0 calc(var(--u)*4);color:var(--paper-ink-2)}
.paper .p-subs li{margin:0 0 calc(var(--u)*.6)}
.paper .p-list{margin:0 0 calc(var(--u)*4);padding:0 0 0 calc(var(--u)*4)}
.paper .p-list>li{margin:0 0 calc(var(--u)*1.4)}
.paper .p-list b.mono{font-weight:500;color:var(--paper-ink-2)}
.paper sup.fn{white-space:nowrap;font-size:.68em;line-height:0;vertical-align:super;color:var(--paper-ink-2);font-family:var(--mono);margin-left:1px}
.paper .p-box{border:1px solid var(--paper-line);padding:calc(var(--u)*3) calc(var(--u)*3.5);margin:calc(var(--u)*1) 0 calc(var(--u)*4)}
.paper .p-box-t{margin:0 0 calc(var(--u)*2);font-weight:600}
.paper .p-box dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u)*2) calc(var(--u)*4);margin:0}
.paper .p-box dt{font-size:calc(var(--u)*2.3);color:var(--paper-ink-3)}
.paper .p-box dd{margin:0;font-weight:600;font-size:calc(var(--u)*3.2)}
.paper .p-data{margin:0 0 calc(var(--u)*4);border-top:1px solid var(--paper-line)}
.paper .p-data div{display:grid;grid-template-columns:calc(var(--u)*42) minmax(0,1fr);gap:calc(var(--u)*3);padding:calc(var(--u)*1.4) 0;border-bottom:1px solid var(--paper-line)}
.paper .p-data dt{color:var(--paper-ink-3);font-size:calc(var(--u)*2.8)}
.paper .p-data dd{margin:0;overflow-wrap:anywhere}
.paper .p-notice{border:1px solid var(--paper-ink);padding:calc(var(--u)*2.4) calc(var(--u)*3);margin:calc(var(--u)*2) 0 calc(var(--u)*4);font-weight:600}
.paper .p-time{list-style:none;margin:0 0 calc(var(--u)*4);padding:0;border-left:1px solid var(--paper-line)}
.paper .p-time li{display:grid;grid-template-columns:calc(var(--u)*30) minmax(0,1fr);gap:calc(var(--u)*3);padding:0 0 calc(var(--u)*1.6) calc(var(--u)*3);position:relative}
.paper .p-time li::before{content:"";position:absolute;left:calc(var(--u)*-.9);top:calc(var(--u)*1.6);width:calc(var(--u)*1.8);height:calc(var(--u)*1.8);border-radius:50%;background:var(--paper-ink)}
.paper .p-time .mono{color:var(--paper-ink-2)}
.paper .p-sec{margin:0 0 calc(var(--u)*2)}
.paper .p-valid{margin:calc(var(--u)*3) 0 0;font-size:calc(var(--u)*3)}
.paper .p-auth{margin:calc(var(--u)*5) 0 0;font-size:calc(var(--u)*2.8);color:var(--paper-ink-2);border-left:2px solid var(--paper-ink);padding-left:calc(var(--u)*3)}
.paper .p-notes{margin:calc(var(--u)*5) 0 0;padding:calc(var(--u)*2.4) 0 0;border-top:1px solid var(--paper-line);list-style:none;font-size:calc(var(--u)*2.35);color:var(--paper-ink-2);line-height:1.45;columns:2;column-gap:calc(var(--u)*6)}
.paper .p-notes li{break-inside:avoid;margin:0 0 calc(var(--u)*.8)}
.paper .p-notes li b{font-family:var(--mono);font-weight:500;margin-right:calc(var(--u)*1)}
.paper .p-foot{margin-top:auto;padding-top:calc(var(--u)*2);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:calc(var(--u)*4);align-items:end;border-top:1px solid var(--paper-line);font-size:calc(var(--u)*2.2);color:var(--paper-ink-3);line-height:1.45}
.paper>:nth-last-child(2){margin-bottom:calc(var(--u)*6)}
.paper .p-foot .mono{color:var(--paper-ink);font-size:calc(var(--u)*2.35)}
.paper .p-foot .pg{font-family:var(--mono)}
.paper .p-table{width:100%;border-collapse:collapse;font-size:calc(var(--u)*2.9);margin:calc(var(--u)*1) 0 calc(var(--u)*4)}
.paper .p-table th{text-align:left;font-weight:500;color:var(--paper-ink-3);font-size:calc(var(--u)*2.35);border-bottom:1px solid var(--paper-ink);padding:0 calc(var(--u)*2) calc(var(--u)*1.2) 0}
.paper .p-table td{padding:calc(var(--u)*1.6) calc(var(--u)*2) calc(var(--u)*1.6) 0;border-bottom:1px solid var(--paper-line);vertical-align:top}
.paper .p-table td:last-child,.paper .p-table th:last-child{text-align:right;white-space:nowrap;padding-left:calc(var(--u)*4);padding-right:0;font-variant-numeric:tabular-nums}
.paper .p-table .calc{display:block;font-family:var(--mono);font-size:calc(var(--u)*2.2);color:var(--paper-ink-3)}
.paper .p-table tfoot td{border-top:1.5px solid var(--paper-ink);border-bottom:0;font-weight:650}
.foot{border-top:1px solid var(--line)}
.foot-in{max-width:1040px;margin:0 auto;padding:20px var(--gutter) 28px;font-size:13.5px;color:var(--ink-3)}
.foot-in p{margin:0 0 6px}

/* on screen the sheet's text never drops below a readable size, at any zoom (WCAG 1.4.4); print keeps the mm sizes */
@media screen{
  .paper{font-size:max(calc(var(--u)*3.45),.875rem)}
  .paper .p-stamp{font-size:max(calc(var(--u)*2.35),.6875rem)}
  .paper .p-org span,.paper .p-ref .p-type,.paper .p-to small,.paper .p-refs dt,.paper .p-box dt,.paper .p-table th{font-size:max(calc(var(--u)*2.5),.75rem)}
  .paper .p-ref,.paper .p-refs dd,.paper .p-ref .mono{font-size:max(calc(var(--u)*2.7),.75rem)}
  .paper .p-notes{font-size:max(calc(var(--u)*2.35),.75rem)}
  .paper .p-foot,.paper .p-foot .mono{font-size:max(calc(var(--u)*2.2),.6875rem)}
  .paper .p-valid{font-size:max(calc(var(--u)*3),.8125rem)}
  .paper .p-table{font-size:max(calc(var(--u)*2.9),.8125rem)}
  .paper .p-table .calc{font-size:max(calc(var(--u)*2.2),.6875rem)}
  .paper .p-data dt{font-size:max(calc(var(--u)*2.8),.75rem)}
  .paper .p-auth{font-size:max(calc(var(--u)*2.8),.8125rem)}
}
/* phones: below 680 px the sheet reflows — the same blocks in the same order, readable sizes, no fixed height */
@container (max-width:680px){
  .paper .p-valid{font-size:13px}
  .paper{aspect-ratio:auto;padding:16px 16px 18px;font-size:14px;line-height:1.5;background-size:300px auto}
  .paper .p-stamp{position:static;display:block;font-size:10.5px;line-height:1.45;padding-bottom:8px;margin:0 0 16px}
  .paper .p-stamp::before{display:inline-block;width:6px;height:6px;margin-right:6px;vertical-align:1px}
  .paper .p-head{grid-template-columns:minmax(0,1fr);gap:8px;margin:0 0 20px}
  .paper .p-org b{font-size:17px}
  .paper .p-org span{font-size:12px;margin-top:2px}
  .paper .p-ref{text-align:left;font-size:12.5px}
  .paper .p-ref .p-type{font-size:12px}
  .paper .p-ref .mono{font-size:12.5px}
  .paper .p-to{font-size:14px;margin:0 0 16px}
  .paper .p-to small{font-size:12px;margin-bottom:2px}
  .paper .p-title{font-size:22px;margin:0 0 4px}
  .paper .p-sub{font-size:14px;margin:0 0 14px}
  .paper .p-refs{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 16px}
  .paper .p-refs div{padding:8px 8px 8px 0}
  .paper .p-refs dt{font-size:11.5px}
  .paper .p-refs dd{font-size:12px}
  .paper .p-h{font-size:15px;margin:14px 0 6px}
  .paper ol.p-clauses>li{grid-template-columns:22px minmax(0,1fr);margin:0 0 10px}
  .paper .p-box{padding:10px 12px;margin:4px 0 14px}
  .paper .p-box dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
  .paper .p-box dt{font-size:11.5px}
  .paper .p-box dd{font-size:14px}
  .paper .p-data div{grid-template-columns:minmax(0,1fr);gap:2px;padding:6px 0}
  .paper .p-data dt{font-size:12px}
  .paper .p-time li{grid-template-columns:minmax(0,1fr);gap:2px;padding:0 0 8px 12px}
  .paper .p-auth{font-size:13px;margin:16px 0 0;padding-left:10px}
  .paper .p-notes{columns:1;font-size:12px;margin:16px 0 0;padding:10px 0 0}
  .paper .p-notes li{margin:0 0 3px}
  .paper .p-notes li b{margin-right:6px}
  .paper .p-foot{grid-template-columns:minmax(0,1fr);gap:4px;margin:18px 0 0;padding-top:8px;font-size:11px}
  .paper .p-foot .mono{font-size:11px}
  .paper .p-table{font-size:13px}
  .paper .p-table th{font-size:11.5px}
  .paper .p-table .calc{font-size:11px}
}
@media (max-width:600px){
  :root{--gutter:16px}
  .desk{padding:12px 10px 40px}
  .notice-in span{display:none}
  .docmeta{flex-basis:100%;order:3}
}

/* the running stamp: printed down the left edge of every page, in every browser (a fixed element repeats on each
   printed page; the @page margin boxes, which only Chromium prints, carry the same lines at the top and bottom) */
.paper .p-run{display:none}

/* print: only the sheet, A4, the stamp repeated in the margins of every page */
@media print{
  @page{size:A4;margin:16mm 20mm 18mm;
    @top-left{content:"DEMONSTRAÇÃO — SEM QUALQUER EFEITO JURÍDICO";font:600 7pt "Geist Mono",monospace;color:#b4232e}
    @top-right{content:"Câmara Exemplo — demonstração";font:7pt "Geist",sans-serif;color:#4b4b4b}
    @bottom-left{content:"Sem qualquer efeito jurídico";font:6.5pt "Geist",sans-serif;color:#6b6b6b}
    @bottom-right{content:"Página " counter(page) " de " counter(pages);font:6.5pt "Geist Mono",monospace;color:#6b6b6b}}
  html,body.docpage{background:#fff;display:block;min-height:0}
  .notice,.docbar,.foot,.skip{display:none!important}
  .desk{background:none;padding:0}
  .sheet{max-width:none;container-type:normal}
  .paper{--u:1mm;display:block;width:auto;aspect-ratio:auto;min-height:0;border:0;box-shadow:none;padding:0;margin:0;font-size:3.45mm;line-height:1.42;background-size:92mm auto}
  .paper{padding-left:6mm}
  .paper .p-run{display:block;position:fixed;left:0;top:0;bottom:0;width:4mm;margin:0;writing-mode:vertical-rl;transform:rotate(180deg);font:600 6.5pt "Geist Mono",monospace;letter-spacing:.02em;line-height:4mm;color:#b4232e;text-align:center;white-space:nowrap;overflow:hidden}
  .paper .p-stamp{position:static;margin:0 0 5mm}
  .paper .p-head{margin-bottom:6mm}
  .paper .p-to{margin-bottom:5mm}
  .paper .p-sub{margin-bottom:4mm}
  .paper .p-refs{margin-bottom:4.5mm}
  .paper ol.p-clauses>li{margin-bottom:2.2mm}
  .paper .p-auth,.paper .p-notes{margin-top:4mm}
  .paper .p-foot{margin:5mm 0 0}
  .paper a{text-decoration:none}
  .paper ol.p-clauses>li,.paper .p-box,.paper tr,.paper .p-auth,.paper .p-notice,.paper .p-data div{break-inside:avoid}
  /* a bill is one page: tighter rows, the totals kept together */
  .paper[data-tipo="fatura"]{font-size:3mm;line-height:1.3}
  .paper[data-tipo="fatura"] .p-head{margin-bottom:3mm}
  .paper[data-tipo="fatura"] .p-box{padding:2mm 3mm;margin:0 0 3mm}
  .paper[data-tipo="fatura"] .p-table{font-size:2.7mm;margin:0 0 2.5mm}
  .paper[data-tipo="fatura"] .p-table td{padding:.8mm 2mm .8mm 0}
  .paper[data-tipo="fatura"] .p-h{margin:2.5mm 0 1mm;font-size:3.2mm}
  .paper[data-tipo="fatura"] .p-data div{padding:.8mm 0}
  .paper[data-tipo="fatura"] .p-data,.paper[data-tipo="fatura"] .p-list{break-inside:avoid}
  .paper[data-tipo="fatura"] .p-par,.paper[data-tipo="fatura"] .p-list{font-size:2.6mm;margin-bottom:2mm}
  .paper[data-tipo="fatura"] .p-stamp{margin-bottom:3mm}
  .paper[data-tipo="fatura"] .p-to{margin-bottom:2.5mm;font-size:3mm}
  .paper[data-tipo="fatura"] .p-title{font-size:5.4mm}
  .paper[data-tipo="fatura"] .p-sub{margin-bottom:2.5mm}
  .paper[data-tipo="fatura"] .p-refs{margin-bottom:3mm}
  .paper[data-tipo="fatura"] .p-refs div{padding:1.2mm 2mm 1.2mm 0}
  .paper[data-tipo="fatura"] .p-foot{margin-top:3mm}
}
