@import url("tokens.css");
@import url("brand.css");
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink-900);
  font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
.app-booting .app{visibility:hidden}
body.demo-login-only .app{display:block}
body.demo-login-only .side,
body.demo-login-only .topbar,
body.demo-login-only .demo-global-banner{display:none!important}
body.demo-login-only .main{min-height:100vh;justify-content:center}
body.demo-login-only .content{max-width:480px;margin:auto;padding:var(--s5);}
.login-only{width:100%}
.login-brand{display:grid;justify-items:center;gap:var(--s3);padding:var(--s2) 0 var(--s5);
  margin-bottom:var(--s5);border-bottom:1px solid var(--line);text-align:center}
.login-brand .ccc-logo{width:320px}
.login-brand>span:last-child{font-family:var(--font-copy);font-size:12px;color:var(--ink-500)}
@media(max-width:900px){.login-brand .ccc-logo{width:90px}}
.tnum{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
code,.wri-hash code{font-family:var(--font-mono)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:3px solid var(--brand-deep);outline-offset:2px;border-radius:var(--r-sm)}

/* layout */
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{background:var(--inverse-bg);color:var(--inverse-fg);border-right:1px solid var(--inverse-line);padding:var(--s4);
  display:flex;flex-direction:column;gap:var(--s2);position:sticky;top:0;height:100vh;min-width:0}
.brand{display:grid;gap:10px;padding:var(--s2) var(--s2) var(--s5);position:relative}
.brand-mark{width:156px}
.brand-tagline{display:block;margin-top:2px;font-family:var(--font-copy);font-size:10.5px;color:var(--inverse-fg-muted);font-weight:400}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a,.nav button{display:flex;align-items:center;gap:var(--s3);width:100%;padding:9px var(--s3);border-radius:var(--r-sm);
  color:var(--inverse-fg-muted);font-weight:500;font-size:13.5px;position:relative}
.nav a:hover,.nav button:hover{background:var(--inverse-hover);color:var(--inverse-fg)}
.nav a.on{background:var(--inverse-active);color:var(--inverse-fg);font-weight:600}
.nav a.on::before{content:"";position:absolute;left:-4px;top:8px;bottom:8px;width:3px;border-radius:0;background:var(--brand)}
.nav .group{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--inverse-fg-subtle);
  padding:var(--s4) var(--s2) 4px;font-weight:600}
#map{height:420px;border-radius:var(--r-lg);z-index:1}
.map-card{position:relative}
.map-max-btn{position:absolute;top:calc(var(--s5) + 8px);right:calc(var(--s5) + 8px);z-index:500}
.map-card.map-full{position:fixed;inset:0;z-index:1000;border-radius:0;display:flex;flex-direction:column}
.map-card.map-full #map{flex:1;height:auto}
.map-card.map-full #geoCallout{flex-shrink:0}
/* Vértices do Leaflet.draw seguem a geometria reta da identidade. */
.leaflet-editing-icon{width:8px!important;height:8px!important;margin-left:-4px!important;
  margin-top:-4px!important;border-radius:0;background:var(--warning);
  border:2px solid var(--inverse-fg);box-shadow:none}
.side .foot{margin-top:auto;font-family:var(--font-mono);font-size:10px;color:var(--inverse-fg-subtle);padding:var(--s3) var(--s2)}
.main{display:flex;flex-direction:column;min-width:0}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--s4);
  padding:var(--s4) var(--s6);background:var(--surface);border-bottom:1px solid var(--line)}
.topbar h1{font-family:var(--font);font-size:22px;font-weight:600;letter-spacing:-.025em}
.topbar .sub{color:var(--ink-400);font-size:12.5px;margin-top:1px}
.topbar .sp{flex:1}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;
  padding:5px 11px;border-radius:0;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-500)}
.pill .dot{width:7px;height:7px;border-radius:0;background:var(--brand)}
.iconbtn{width:44px;height:44px;border-radius:0;display:grid;place-items:center;
  border:1px solid var(--line);background:var(--surface);color:var(--ink-500);font-size:16px}
.content{padding:var(--s6);max-width:1240px;width:100%;margin:0 auto}

/* componentes */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:none;padding:var(--s5)}
[data-theme="dark"] .card{border:1px solid var(--line)}
.card.pad0{padding:0;overflow:hidden}
.table-scroll{overflow-x:auto}
.grid{display:grid;gap:var(--s4)}
.kpis{grid-template-columns:repeat(4,1fr)}
.kpi .lbl{font-size:12px;color:var(--ink-400);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.kpi .val{font-family:var(--font-mono);font-size:26px;font-weight:500;letter-spacing:-.025em;margin-top:6px;line-height:1}
.kpi .val small{font-size:14px;color:var(--ink-400);font-weight:500}
.kpi .delta{font-size:12px;font-weight:600;margin-top:8px}
.up{color:var(--success-text)} .down{color:var(--danger-text)} .neu{color:var(--ink-400)}
.sect-t{font-size:12.5px;font-weight:600;color:var(--ink-500);text-transform:uppercase;letter-spacing:.05em;
  margin:var(--s6) 0 var(--s3)}
.sect-t:first-child{margin-top:0}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-400);
  font-weight:600;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line)}
td{padding:13px var(--s4);border-bottom:1px solid var(--line);color:var(--ink-700)}
tr:last-child td{border-bottom:none}
tbody tr:hover{background:var(--surface-2)}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;
  padding:3px 9px;border-radius:0}
.b-green{background:var(--brand-soft);color:var(--brand-deep)}
.b-blue{background:var(--info-soft);color:var(--info)}
.b-gray{background:var(--surface-2);color:var(--ink-500);border:1px solid var(--line)}
.b-amber{background:var(--warning-soft);color:var(--warning-text)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-weight:600;font-size:13px;
  padding:9px 16px;border-radius:0;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-700)}
.btn:hover{border-color:var(--line-strong)}
.btn.pri{background:var(--brand-deep);color:var(--on-brand);border-color:transparent;box-shadow:none}
.btn.pri:hover{background:var(--brand-hover)}
.btn.mini{padding:5px 10px;font-size:12px}
.btn:disabled{opacity:.5;cursor:not-allowed}
/* A regra .btn não pode tornar visível o backfill ainda sem autorização. */
#dmrvView #ndviBackfill[hidden]{display:none}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s4)}
.field label{font-size:12px;font-weight:600;color:var(--ink-500)}
.field input,.field select{font-family:inherit;font-size:13px;
  min-height:44px;padding:9px 11px;border-radius:0;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-900)}
.field input:focus,.field select:focus{border-color:var(--brand-deep);outline:3px solid var(--brand-deep);outline-offset:1px;box-shadow:none}
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
/* O histórico pode rolar dentro da coluna, sem alargar o formulário no celular. */
.balanco-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
.balanco-layout>.card{min-width:0;overflow-wrap:anywhere}
.balanco-layout .field select{min-width:0;max-width:100%;width:100%}
/* T07: tabelas rolam em sua região; formulários não ampliam a página. */
.custos-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.equipe-layout,.ofertas-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
.custos-layout>*,.equipe-layout>*,.ofertas-layout>*{min-width:0;overflow-wrap:anywhere}
.custos-tabela{min-width:520px;overflow-wrap:normal}
.custos-tabela .tnum{white-space:nowrap}
.equipe-layout .field select,.ofertas-layout .field select{min-width:0;max-width:100%;width:100%}
.table-scroll .selFuncao{min-height:44px}
.comprador-busca{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.comprador-busca input{flex:1 1 120px;min-width:0;font-size:12px;padding:4px}
.dmrv-layout{grid-template-columns:3fr 2fr}
#tIdadeCampo[hidden]{display:none}
.two-rail{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.rail{border-radius:var(--r-lg);padding:var(--s5);border:1px solid var(--line)}
.rail.insetting{background:var(--info-soft)}
.rail.credito{background:var(--success-soft)}
.rail h3{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}
.rail .tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:0}
.bar{height:9px;border-radius:0;background:var(--line);overflow:hidden;display:flex}
.bar i{display:block;height:100%}
.legend{display:flex;gap:var(--s4);flex-wrap:wrap;font-size:12px;color:var(--ink-500);margin-top:var(--s3)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.sw{width:11px;height:11px;border-radius:0}
.muted{color:var(--ink-400)}
.mini{font-size:11.5px}
.callout{display:flex;gap:var(--s3);padding:var(--s4);border-radius:var(--r);background:var(--brand-soft);
  border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);font-size:13px;color:var(--brand-deep)}
.callout.warn{background:var(--warning-soft);border-color:var(--warning-line);color:var(--warning-text)}
.callout.erro{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-text)}
@media(max-width:920px){
  .app{grid-template-columns:1fr}
  .side{position:static;height:auto;padding:var(--s2) var(--s3);gap:4px}
  .brand{padding:4px var(--s2) var(--s2)}
  .brand{display:flex;align-items:center;padding:6px var(--s2)}
  .brand-mark{width:124px}.brand-tagline{display:none}
  .nav{flex-direction:row;overflow-x:auto;overscroll-behavior-inline:contain;
    scrollbar-width:thin;padding-bottom:4px;width:100%;max-width:100%;min-width:0}
  .nav a,.nav button{flex:0 0 auto;width:auto;white-space:nowrap;padding:8px 10px}
  .nav .group,.side .foot{display:none}
  .kpis{grid-template-columns:1fr 1fr}.split,.two-rail{grid-template-columns:1fr}
  .balanco-layout{grid-template-columns:minmax(0,1fr)}
  .dmrv-layout{grid-template-columns:minmax(0,1fr)}
  .custos-layout,.equipe-layout,.ofertas-layout{grid-template-columns:minmax(0,1fr)}
  .content{padding:var(--s4)}.topbar{padding:var(--s4)}
  .topbar>div:first-child{min-width:0}
  .topbar .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--brand);
  color:var(--on-accent);padding:10px 16px;border-radius:0;font-weight:600}
.skip-link:focus{left:0}

/* Inventário WRI Café: coleta paralela, versionada e sem efeito no motor legado. */
.field textarea{font-family:inherit;font-size:13px;line-height:1.5;resize:vertical;min-height:96px;
  padding:9px 11px;border-radius:0;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-900)}
.field textarea:focus{border-color:var(--brand-deep);outline:3px solid var(--brand-deep);outline-offset:1px;box-shadow:none}
.field input[readonly]{background:var(--surface-2);color:var(--ink-500)}
.field-help{font-size:11.5px;line-height:1.45;color:var(--ink-400)}
.wri-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}
.wri-page-head h2{font-size:21px;line-height:1.2;letter-spacing:-.02em}
.wri-page-head p{color:var(--ink-500);margin-top:4px}
.wri-credit-warning{margin-bottom:var(--s5)}
.wri-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.72fr);gap:var(--s5);align-items:start}
.wri-side-results{display:grid;gap:var(--s4);position:sticky;top:96px}
.wri-card-title{font-size:15px;font-weight:650;letter-spacing:-.01em}
.wri-card-copy{color:var(--ink-500);margin:5px 0 var(--s4)}
.wri-context-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:0 var(--s4)}
.wri-context-grid:not(.leitura) .field:nth-child(3){grid-column:1/-1}
.wri-context-grid.leitura{grid-template-columns:1.3fr .7fr}
.wri-form-card{padding:var(--s4)}
.wri-form-card .field{min-width:0}
.wri-form-card .field input,.wri-form-card .field select,.wri-form-card .field textarea{width:100%;min-width:0}
.wri-section{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:clip}
.wri-section+.wri-section{margin-top:var(--s3)}
.wri-section summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:15px var(--s4);
  cursor:pointer;list-style:none;color:var(--ink-900);font-weight:650}
.wri-section summary::-webkit-details-marker{display:none}
.wri-section summary::after{content:"+";display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;
  border:1px solid var(--line-strong);border-radius:0;color:var(--ink-500);font-size:17px;font-weight:400}
.wri-section[open] summary::after{content:"−"}
.wri-section summary:hover{background:var(--surface-2)}
.wri-section summary span{min-width:max-content}
.wri-section summary small{font-size:11.5px;color:var(--ink-400);font-weight:500;text-align:right;margin-left:auto}
.wri-section-body{border-top:1px solid var(--line);padding:var(--s4)}
.wri-row-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s4)}
.wri-row-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wri-subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);margin:var(--s5) 0 var(--s3)}
.wri-subhead:first-child{margin-top:0}
.wri-subhead h3{font-size:13.5px;font-weight:650}
.wri-subhead p{font-size:11.5px;color:var(--ink-400);margin-top:2px}
.wri-array{display:grid;gap:var(--s3)}
.wri-array-row{padding:var(--s4);border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}
.wri-row-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}
.wri-row-head strong{font-size:12.5px}
.wri-array-empty{padding:14px var(--s4);border:1px dashed var(--line-strong);border-radius:var(--r-sm);
  color:var(--ink-400);font-size:12px;text-align:center;background:var(--surface-2)}
.wri-toggle{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s4);margin-top:var(--s4);
  border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:var(--surface-2)}
.wri-toggle:hover{border-color:var(--line-strong)}
.wri-toggle span{display:grid;gap:2px}
.wri-toggle b{font-size:13px}
.wri-toggle small{font-size:11.5px;color:var(--ink-400)}
.wri-toggle input,.wri-check input{width:17px;height:17px;flex:0 0 17px;margin-top:2px;accent-color:var(--brand-deep)}
.wri-optional{border:0;padding:var(--s4) var(--s4) 0;margin:0;background:transparent}
.wri-optional:disabled{opacity:.52}
.wri-check{display:flex;align-items:flex-start;gap:9px;padding:11px 0;cursor:pointer;color:var(--ink-700);font-size:12.5px}
.wri-check.confirmacao{padding:var(--s4);margin-top:var(--s3);border-radius:var(--r);border:1px solid var(--line);
  background:var(--surface-2);font-weight:600}
.wri-submitbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s4);
  margin-top:var(--s4);border-radius:var(--r);border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));
  background:color-mix(in srgb,var(--brand-soft) 72%,var(--surface))}
.wri-submitbar>div{display:grid;gap:2px}
.wri-submitbar b{font-size:13px;color:var(--brand-deep)}
.wri-submitbar small{font-size:11.5px;color:var(--ink-500)}
.wri-save-message{margin-top:var(--s3)}
.wri-literal{margin-top:var(--s5)}
.wri-literal .wri-section summary span{min-width:0;overflow-wrap:anywhere}
.wri-literal>.wri-card-copy{margin-bottom:var(--s4)}
.wri-literal>#wriLiteralEstado{display:block;margin:var(--s3) 0}
.wri-literal-field+.wri-literal-field{border-top:1px solid var(--line);padding-top:var(--s3)}
.wri-literal-reuse{padding:var(--s4) 0;border-top:1px solid var(--line)}
.wri-literal-reuse>.field-help{display:block;margin-top:var(--s2)}
.wri-literal-source{margin-top:var(--s4)}
.wri-literal #wriLiteralBaixar{margin-top:var(--s4)}
.wri-literal-profile{border-top:1px solid var(--line);margin-top:var(--s5);padding-top:var(--s4)}
.wri-literal-profile>.field-help,.wri-literal-profile>#wriLiteralCalcular{margin-top:var(--s3)}
.wri-literal-table{max-width:100%;overflow-x:auto}
.wri-literal-table table{width:100%;border-collapse:collapse;font-size:12px}
.wri-literal-table th,.wri-literal-table td{padding:var(--s2);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.wri-literal-frozen{margin-top:var(--s4)}
.wri-literal-frozen dd{margin:0;overflow-wrap:anywhere}
.wri-literal-frozen dt{font-size:11px;color:var(--ink-500)}
.wri-result-empty,.wri-history-empty{padding:var(--s5) 0;color:var(--ink-500);text-align:center}
.wri-result-empty b,.wri-history-empty b{color:var(--ink-700)}
.wri-result-empty p,.wri-history-empty p{font-size:12px;margin-top:4px}
.wri-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);margin-top:var(--s4)}
.wri-result-head h3{font-size:18px;margin-top:7px}
.wri-result-head>.mini{text-align:right}
.wri-metrics{display:grid;grid-template-columns:1.25fr 1fr;gap:1px;margin:var(--s4) 0;
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--line)}
.wri-metric{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 8px;padding:var(--s3);background:var(--surface-2)}
.wri-metric span{grid-column:1/-1;font-size:10.5px;text-transform:uppercase;letter-spacing:.045em;color:var(--ink-400);font-weight:650}
.wri-metric strong{font-size:18px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.wri-metric small{font-size:10.5px;color:var(--ink-400)}
.wri-metric.destaque{background:var(--brand-soft)}
.wri-metric.destaque strong{color:var(--brand-deep);font-size:23px}
.wri-metric.positivo strong{color:var(--success-text)}
.wri-result-facts{display:grid;grid-template-columns:1fr 1fr;margin-bottom:var(--s4);border-top:1px solid var(--line)}
.wri-result-facts>div{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--line)}
.wri-result-facts>div:nth-child(odd){padding-right:var(--s3)}
.wri-result-facts>div:nth-child(even){padding-left:var(--s3);border-left:1px solid var(--line)}
.wri-result-facts span{font-size:10.5px;color:var(--ink-400);text-transform:uppercase;letter-spacing:.04em}
.wri-result-facts b{font-size:12px;color:var(--ink-700);font-weight:600;text-transform:capitalize}
.wri-warning-list{margin:7px 0 0 18px}
.wri-warning-list li+li{margin-top:4px}
.wri-hash{display:grid;gap:5px;margin:var(--s4) 0}
.wri-hash span{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-400);font-weight:650}
.wri-hash code{display:block;padding:9px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);
  color:var(--ink-500);font-size:10.5px;line-height:1.45;overflow-wrap:anywhere}
.wri-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}
.wri-history-head p{font-size:11.5px;color:var(--ink-400);margin-top:2px}
.wri-revision{display:grid;width:100%;grid-template-columns:1fr auto;align-items:center;gap:var(--s3);text-align:left;
  padding:11px 10px;border:1px solid transparent;border-top-color:var(--line);color:var(--ink-700)}
.wri-revision:first-child{border-top-color:transparent}
.wri-revision:hover{background:var(--surface-2)}
.wri-revision.on{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));border-radius:var(--r-sm);background:var(--brand-soft)}
.wri-revision span{display:grid;gap:2px}
.wri-revision span:last-child{text-align:right}
.wri-revision b{font-size:12px;font-weight:650}
.wri-revision small{font-size:10.5px;color:var(--ink-400)}
.wri-skeleton{display:grid;gap:9px;padding-top:var(--s2)}
.wri-skeleton i{height:51px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}
@media(max-width:1080px){
  .wri-layout{grid-template-columns:1fr}.wri-side-results{position:static;grid-template-columns:1fr 1fr}
}

/* Demonstração para investidores — somente quando a dupla trava do ambiente
   demo está ativa. A faixa permanente impede que uma tela sintética seja
   confundida com operação, certificação ou transação real. */
.demo-global-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 18px;
  background:var(--warning);color:var(--on-warning);border-bottom:1px solid var(--inverse-line);font-size:11.5px;letter-spacing:.01em}
.demo-global-banner[hidden]{display:none}.demo-global-banner b{font-size:10.5px;letter-spacing:.09em}
.demo-watermark{display:inline-flex;margin:0 0 14px;padding:5px 9px;border:1px solid var(--warning);
  color:var(--warning-text);font:700 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.demo-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);
  align-items:center;min-height:430px;padding:clamp(28px,5vw,64px);border-radius:0;color:var(--inverse-fg);
  background:var(--brand-stage);box-shadow:none;border:1px solid var(--inverse-line)}
.demo-hero::after{display:none}
.demo-hero>div:first-child{position:relative;z-index:2;max-width:690px}
.demo-eyebrow{color:var(--brand)!important;font-size:10.5px!important;text-transform:uppercase;letter-spacing:.16em;font-weight:600}
.demo-hero h2{font-family:var(--font);font-size:clamp(37px,4.8vw,67px);line-height:.98;
  letter-spacing:-.045em;font-weight:500;margin:17px 0 22px}.demo-hero h2 em{color:var(--accent-on-dark);font-family:var(--font-copy);font-weight:400}
.demo-hero p:not(.demo-eyebrow){max-width:620px;color:var(--inverse-fg-muted);font-family:var(--font-copy);font-size:14px;line-height:1.7}
.demo-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.btn.demo-primary{background:var(--brand);color:var(--on-accent);border:0}
.btn.demo-primary:hover{background:var(--brand-hover)}.btn.demo-ghost{color:var(--inverse-fg);background:var(--inverse-hover);border-color:var(--inverse-line)}
.demo-orbit{position:relative;z-index:2;display:grid;place-items:center;width:260px;height:260px;margin:auto;border:1px solid var(--inverse-line);border-radius:0}
.demo-orbit::before,.demo-orbit::after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--inverse-fg) 9%,transparent);border-radius:0}
.demo-orbit::before{inset:28px}.demo-orbit::after{inset:58px}.orbit-center{display:grid;text-align:center;font-family:var(--font-mono);font-size:52px;line-height:.8;color:var(--accent-on-dark)}
.orbit-center small{font-family:var(--font);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--inverse-fg-subtle);margin-top:14px}
.orbit{position:absolute;padding:5px 9px;border-radius:0;background:var(--logo-plaque);color:var(--inverse-bg);font-style:normal;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.orbit.o1{top:18px;left:36px}.orbit.o2{right:2px;top:108px}.orbit.o3{left:22px;bottom:24px}
.demo-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:18px;border:1px solid var(--line);border-radius:0;overflow:hidden;background:var(--surface)}
.demo-kpi-grid>div{padding:22px;border-right:1px solid var(--line)}.demo-kpi-grid>div:last-child{border:0}
.demo-kpi-grid span{display:block;color:var(--ink-400);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:650}
.demo-kpi-grid strong{display:block;font-family:var(--font-mono);font-size:25px;font-weight:500;letter-spacing:-.025em;margin-top:7px}
.demo-kpi-grid small{font-family:var(--font);font-size:11px;color:var(--ink-400);font-weight:500}
.demo-section-head{display:grid;grid-template-columns:1fr minmax(280px,.72fr);align-items:end;gap:30px;margin:58px 0 18px}
.demo-section-head span{font-size:10.5px;text-transform:uppercase;letter-spacing:.11em;color:var(--brand-deep);font-weight:700}
.demo-section-head h2{font-family:var(--font);font-size:34px;font-weight:500;letter-spacing:-.03em;line-height:1.05;margin-top:7px}
.demo-section-head>p{color:var(--ink-500);font-family:var(--font-copy);font-size:12.5px;line-height:1.65}
.demo-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px}.demo-path{min-height:215px;padding:26px;border-radius:0;border:1px solid var(--line);position:relative;overflow:hidden}
.demo-path::after{display:none}
.demo-path.credit{color:var(--path-credit-text);background:var(--path-credit-bg)}.demo-path.inset{color:var(--path-inset-text);background:var(--path-inset-bg)}
[data-theme="dark"] .demo-path.credit,[data-theme="dark"] .demo-path.inset{background:var(--surface)}
.demo-path>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.demo-path h3{font-family:var(--font);font-size:25px;font-weight:500;margin:24px 0 9px}
.demo-path p{color:var(--ink-500);font-family:var(--font-copy);font-size:12.5px;max-width:390px}.demo-path a{display:inline-block;margin-top:24px;font-size:12px;font-weight:700}
.demo-module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.demo-module{min-height:190px;padding:20px;border:1px solid var(--line);border-radius:0;background:var(--surface)}
.demo-module.ready{border-top:3px solid var(--brand)}.demo-module.waiting{border-top:3px solid var(--warning)}
.demo-module-top{display:flex;justify-content:space-between;align-items:center}.demo-module-top span{font-family:var(--font-mono);font-size:20px;color:var(--ink-400)}
.demo-module-top i{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;font-style:normal;color:var(--ink-400)}
.demo-module h3{font-size:14px;margin:24px 0 7px}.demo-module p{color:var(--ink-500);font-family:var(--font-copy);font-size:11.5px;line-height:1.55}
.demo-proof{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:58px;padding:36px;border-radius:0;background:var(--inverse-bg);color:var(--inverse-fg);border:1px solid var(--inverse-line)}
.demo-proof h2{font-family:var(--font);font-size:29px;font-weight:500;line-height:1.15;margin-top:9px}.demo-proof ul{list-style:none;display:grid;gap:9px}
.demo-proof li{position:relative;padding:8px 0 8px 24px;border-bottom:1px solid var(--inverse-line);color:var(--inverse-fg-muted);font-size:12px}
.demo-proof li::before{content:"—";position:absolute;left:0;color:var(--brand)}.demo-empty{max-width:720px;margin:7vh auto;text-align:center;padding:48px;border:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none}
.demo-empty-mark{display:grid;place-items:center;width:190px;height:78px;margin:0 auto 24px;padding:8px 12px;border:1px solid var(--line);border-radius:0;background:var(--logo-plaque)}
.demo-empty-mark .ccc-logo{width:156px}.demo-empty h2{font-family:var(--font);font-size:39px;font-weight:500;letter-spacing:-.03em;margin:12px 0}.demo-empty>p:not(.demo-eyebrow){max-width:540px;margin:auto;color:var(--ink-500);font-family:var(--font-copy);line-height:1.7}
.demo-safety-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:24px 0}.demo-safety-row span{padding:5px 10px;border-radius:0;background:var(--brand-soft);color:var(--brand-deep);font-size:10.5px;font-weight:650}
@media(max-width:1050px){.demo-module-grid{grid-template-columns:repeat(2,1fr)}.demo-hero{grid-template-columns:1fr}.demo-orbit{display:none}}
@media(max-width:720px){.demo-global-banner{align-items:flex-start;flex-direction:column;gap:2px}.demo-hero{min-height:auto;padding:32px 24px;border-radius:0}.demo-hero h2{font-size:41px}
  .demo-kpi-grid{grid-template-columns:1fr 1fr}.demo-kpi-grid>div:nth-child(2){border-right:0}.demo-kpi-grid>div{border-bottom:1px solid var(--line)}
  .demo-section-head,.demo-proof{grid-template-columns:1fr}.demo-paths{grid-template-columns:1fr}.demo-module-grid{grid-template-columns:1fr}.demo-empty{padding:30px 20px}.demo-empty h2{font-size:32px}}
@media(max-width:720px){
  .wri-page-head,.wri-submitbar{align-items:stretch;flex-direction:column}.wri-page-head .badge{align-self:flex-start}
  .wri-context-grid,.wri-context-grid.leitura,.wri-row-grid,.wri-row-grid.cols-3,.wri-side-results{grid-template-columns:1fr}
  .wri-section summary{align-items:flex-start}.wri-section summary small{display:none}
  .wri-subhead{align-items:stretch;flex-direction:column}.wri-subhead .btn{align-self:flex-start}
  .wri-result-facts{grid-template-columns:1fr}.wri-result-facts>div:nth-child(odd),.wri-result-facts>div:nth-child(even){padding:10px 0;border-left:0}
  .wri-submitbar .btn{justify-content:center;width:100%}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Aceite individual da Demo. A guarda real está no Worker; estes blocos apenas
   tornam a decisão legível e acessível para quem recebeu o convite. */
.documento-gate{min-height:100vh;background:var(--bg);color:var(--ink-900);padding:32px}
.documento-gate__main{max-width:720px;margin:5vh auto;padding:clamp(24px,5vw,54px);background:var(--surface);border:1px solid var(--line)}
.documento-gate__marca{width:220px;padding:12px 16px;margin-bottom:36px;background:var(--logo-plaque);border:1px solid var(--line)}
.documento-gate__marca .ccc-logo{width:186px}.documento-gate h1{font:500 clamp(32px,5vw,52px)/1.05 var(--font);letter-spacing:-.035em;margin:12px 0 18px}
.documento-gate__main>p:not(.eyebrow){font:16px/1.7 var(--font-copy);color:var(--ink-700)}
.documento-gate__check{display:flex;gap:12px;align-items:flex-start;margin:24px 0;padding:18px;border:1px solid var(--line);background:var(--surface-2);font:14px/1.55 var(--font-copy)}
.documento-gate__check input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:var(--brand-deep)}
.demo-aceite-pendente #nav a:not([data-s="login"]),.demo-aceite-pendente #nav .group{display:none!important}
.aceite-demo__head{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:end;margin:18px 0 30px}
.aceite-demo__head .eyebrow{grid-column:1/-1}.aceite-demo__head h2{font:500 clamp(34px,4vw,56px)/1 var(--font);letter-spacing:-.04em}
.aceite-demo__head>p:last-child{font:14px/1.7 var(--font-copy);color:var(--ink-500)}
.aceite-demo__lista{border:1px solid var(--line)}.aceite-demo__doc{display:grid;grid-template-columns:70px 1fr minmax(240px,.58fr);gap:24px;padding:26px;background:var(--surface);border-bottom:1px solid var(--line)}
.aceite-demo__doc:last-child{border-bottom:0}.aceite-demo__doc.concluido{background:var(--brand-soft)}
.aceite-demo__numero{font:500 28px var(--font-mono);color:var(--ink-400)}.aceite-demo__doc h2{font:600 20px var(--font);margin:5px 0 8px}.aceite-demo__doc p:not(.eyebrow){font:13px/1.55 var(--font-copy);color:var(--ink-500)}
.aceite-demo__acoes{display:grid;gap:12px;align-content:center}.aceite-demo__acoes label{display:flex;gap:9px;align-items:flex-start}.aceite-demo__acoes input{width:17px;height:17px;flex:0 0 17px;accent-color:var(--brand-deep)}
.aceite-demo__rodape{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:22px;background:var(--inverse-bg);color:var(--inverse-fg)}
.aceite-demo__leitor{width:min(920px,calc(100vw - 32px));height:min(88vh,920px);padding:0;border:1px solid var(--line);background:var(--surface);color:var(--ink-900);box-shadow:none}
.aceite-demo__leitor::backdrop{background:color-mix(in srgb,var(--ink-900) 72%,transparent)}
.aceite-demo__leitor-topo,.aceite-demo__leitor-rodape{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;background:var(--surface);border-bottom:1px solid var(--line)}
.aceite-demo__leitor-topo .ccc-logo{width:190px}.aceite-demo__leitor-corpo{height:calc(100% - 154px);overflow:auto;padding:clamp(24px,5vw,58px)}
.aceite-demo__leitor-corpo>h2{font:500 clamp(30px,4vw,48px)/1.05 var(--font);letter-spacing:-.035em;margin:10px 0 30px}
.aceite-demo__leitor-corpo h2:not(:first-of-type){font:600 21px/1.25 var(--font);letter-spacing:-.015em;margin:36px 0 12px}
.aceite-demo__leitor-corpo p,.aceite-demo__leitor-corpo li{font:15px/1.72 var(--font-copy);color:var(--ink-700)}.aceite-demo__leitor-corpo li{margin-bottom:8px}
.aceite-demo__leitor-corpo .lg-note{margin:22px 0;padding:18px;border:1px solid var(--line);background:var(--brand-soft)}
.aceite-demo__leitor-rodape{border-top:1px solid var(--line);border-bottom:0}.aceite-demo__leitor-rodape p{max-width:540px;font:12px/1.5 var(--font-copy);color:var(--ink-500)}
.aceite-demo__escopos{margin:18px 0;padding:16px;border:1px solid var(--line)}.aceite-demo__escopos legend{padding:0 7px;font-weight:650}.aceite-demo__escopos>div{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:14px 0}.aceite-demo__escopos label{display:flex;gap:8px;align-items:flex-start;font-size:12px}.aceite-demo__escopos input{width:16px;height:16px;flex:0 0 16px;accent-color:var(--brand-deep)}
@media(max-width:820px){.aceite-demo__head{grid-template-columns:1fr}.aceite-demo__head .eyebrow{grid-column:auto}.aceite-demo__doc{grid-template-columns:48px 1fr}.aceite-demo__acoes{grid-column:2}.aceite-demo__rodape{align-items:stretch;flex-direction:column}.aceite-demo__leitor-rodape{align-items:stretch;flex-direction:column}.aceite-demo__leitor{height:calc(100vh - 20px)}.aceite-demo__leitor-corpo{height:calc(100% - 205px)}}
@media(max-width:720px){.documento-gate{padding:14px}}
