/* ConferePsi · estilos do site, a partir do ConferePsi Design System
   (tokens de cor, tipo, espaço e efeitos; componentes recriados em CSS puro).
   Fontes e ícones são servidos pelo próprio site: nada vem de outro domínio. */
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/roboto-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/roboto-latin-500-normal.woff2) format("woff2")}

:root{
  /* cores */
  --navy-900:#1F2742;--navy-800:#2B3554;--navy-700:#3E4868;
  --slate-600:#6B7290;--slate-500:#8A90A6;--slate-400:#B4B8C7;--slate-300:#D5D8E1;--slate-200:#E6E8EE;
  --grey-100:#F1F2F5;--grey-50:#F7F8FA;--white:#FFFFFF;
  --violet-700:#5B3FC9;--violet-600:#7152E0;--violet-500:#8B6CF0;--violet-400:#A78DF5;--violet-200:#D9CFFB;--violet-100:#EEEBFB;--violet-50:#F6F4FE;
  --sky-600:#0F84D6;--sky-500:#1E9BF0;--sky-200:#B4DCF7;--sky-100:#D3EAF9;--sky-50:#EAF5FD;
  --green-600:#16855E;--green-500:#22A675;--green-100:#DDF3EA;
  --amber-600:#B36B00;--amber-500:#E59A1A;--amber-100:#FCEFD7;
  --coral-600:#CC3D4E;--coral-500:#EB5A6B;--coral-100:#FCE3E6;
  --surface-page:var(--grey-100);--surface-app:var(--grey-50);--surface-card:var(--white);
  --text-strong:var(--navy-800);--text-body:var(--navy-700);--text-muted:#5D6482; /* slate-600 escurecido: 4,5:1 sobre grey-50 (WCAG AA) */--text-link:var(--violet-700);
  --border-subtle:var(--slate-200);--border-default:var(--slate-300);--border-focus:var(--violet-500);
  --accent:var(--violet-500);--accent-hover:var(--violet-600);--accent-press:var(--violet-700);
  /* botão primário em violet-600: texto branco sobre violet-500 fica em 3,8:1 */
  --accent-btn:var(--violet-600);--accent-btn-hover:var(--violet-700);
  /* tinta escura dos estados: texto pequeno com contraste AA sobre fundo claro */
  --ok-ink:#11704F;--warn-ink:#8A5300;--error-ink:#B3293B;--info-ink:#0B6AAD;
  /* tipo */
  --font-sans:"Roboto",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  /* forma */
  --radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-frame:32px;--radius-pill:999px;
  --shadow-card:0 1px 2px rgba(43,53,84,.03),0 6px 20px rgba(43,53,84,.035);
  --shadow-raised:0 2px 6px rgba(43,53,84,.05),0 14px 36px rgba(43,53,84,.07);
  --ring-focus:0 0 0 3px var(--violet-200);
  --ease-out:cubic-bezier(.22,.61,.36,1);--dur-fast:120ms;--dur-base:180ms;--dur-slow:280ms;
  --card-pad:24px;--gap:24px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}
body{font:400 14px/1.55 var(--font-sans);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
/* só os pesos 400 e 500 existem (ambos pré-carregados): negrito usa 500, sem baixar outra fonte depois */
b,strong,th{font-weight:500}
a{color:var(--text-link);text-decoration:underline;text-decoration-color:var(--violet-200);text-underline-offset:2px}
a:hover{color:var(--accent-press);text-decoration-color:currentColor}
::selection{background:var(--violet-200)}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:-9999px;top:8px;z-index:20;background:var(--navy-800);color:#fff;padding:10px 16px;border-radius:var(--radius-lg)}
.pular:focus{left:8px;color:#fff}

/* ícones (sprite Lucide embutido na página, traço 1.5) */
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.ic.s12{width:12px;height:12px}.ic.s16{width:16px;height:16px}.ic.s18{width:18px;height:18px}.ic.s24{width:24px;height:24px}.ic.s26{width:26px;height:26px}

/* ---------- moldura do app ---------- */
.app{display:flex;gap:var(--gap);max-width:1320px;margin:24px auto;padding:28px;background:var(--surface-app);border-radius:var(--radius-frame);min-height:calc(100vh - 48px)}
.trilho{width:88px;flex:none;align-self:flex-start;position:sticky;top:24px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 0;background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}
.trilho a{display:flex;flex-direction:column;align-items:center;gap:4px;width:76px;padding:6px 0;border-radius:var(--radius-lg);color:var(--text-muted);text-decoration:none;font-size:11px;line-height:1.2;text-align:center}
.trilho a .tile{width:44px;height:44px;border-radius:var(--radius-lg);display:inline-flex;align-items:center;justify-content:center;color:var(--navy-800);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.trilho a:hover{color:var(--text-strong)}
.trilho a:hover .tile{background:var(--violet-50);color:var(--accent-press)}
.trilho a[aria-current] {color:var(--violet-700);font-weight:500}
.trilho a[aria-current] .tile{background:var(--violet-100);color:var(--violet-700)}
.trilho .marca{width:44px;height:44px;margin-bottom:10px;padding:0;border-radius:var(--radius-lg);display:block}
.trilho .marca img{display:block;border-radius:var(--radius-lg)}
.corpo{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--gap)}
.barra-topo{display:flex;align-items:center;gap:16px;min-height:48px;flex-wrap:wrap}
.wordmark{font:500 22px/1 var(--font-sans);letter-spacing:-.01em;color:var(--text-strong);text-decoration:none}
.wordmark span{color:var(--violet-600)}
.wordmark:hover{color:var(--text-strong)}
.barra-topo .lado{margin-left:auto;display:flex;gap:12px;align-items:center}
.selo-topo{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:var(--radius-pill);background:var(--white);box-shadow:var(--shadow-card);color:var(--ok-ink);font-size:12px;font-weight:500;text-decoration:none}
.selo-topo:hover{color:var(--ok-ink);box-shadow:var(--shadow-raised)}
.tile-btn{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-card);display:inline-flex;align-items:center;justify-content:center;color:var(--navy-800);transition:box-shadow var(--dur-fast),color var(--dur-fast)}
.tile-btn:hover{color:var(--accent);box-shadow:var(--shadow-raised)}
main{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rodape{margin-top:auto;padding:8px 4px 0;font-size:12px;line-height:1.6;color:var(--text-muted)}
.rodape-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:8px}
.rodape-links a{color:var(--text-body);text-decoration:none;padding:4px 0}
.rodape-links a:hover{color:var(--accent-press);text-decoration:underline}
.rodape p{max-width:96ch;margin-top:6px}
.rodape .direitos{font-size:.8rem;opacity:.8}
.rodape strong{font-weight:500;color:var(--text-body)}

/* ---------- tipografia ---------- */
h1{font:400 32px/1.15 var(--font-sans);letter-spacing:-.01em;color:var(--text-strong);text-wrap:balance}
h1 em{font-style:normal;color:var(--violet-600)}
h2{font:500 20px/1.3 var(--font-sans);color:var(--text-strong)}
h3{font:500 16px/1.3 var(--font-sans);color:var(--text-strong)}
.eyebrow{font-size:11px;line-height:1.3;color:var(--text-muted);margin-bottom:6px;letter-spacing:.02em}
.lede{font-size:15px;color:var(--text-muted);max-width:72ch;margin-top:10px;text-wrap:pretty}
.sub{color:var(--text-muted);margin-top:6px;text-wrap:pretty}
.mono{font-family:var(--font-mono)}

/* ---------- cartões e grades ---------- */
.card{background:var(--surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--card-pad);min-width:0}
.card-cab{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.card-cab > div{flex:1;min-width:0}
.card-tit{font:500 15px/1.3 var(--font-sans);color:var(--text-strong)}
.cab-pagina{padding:8px 4px 0}
.grade-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.grade-2-1{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--gap);align-items:start}
.grade-1-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--gap);align-items:start}
.pilha{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.pilha-12{display:flex;flex-direction:column;gap:12px}
.tile-ic{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--violet-50);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;flex:none}
.entrada{display:flex;flex-direction:column;gap:16px}
.entrada h2{margin-top:2px}
.entrada p{color:var(--text-muted);max-width:44ch;text-wrap:pretty}
.entrada .acoes{margin-top:auto}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:var(--radius-lg);border:1px solid transparent;
  background:var(--accent-btn);color:#fff;font:500 14px/1 var(--font-sans);white-space:nowrap;cursor:pointer;text-decoration:none;
  transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast)}
.btn:hover{background:var(--accent-btn-hover);color:#fff;text-decoration:none}
.btn:active{transform:scale(.98)}
.btn:focus-visible{outline:0;box-shadow:var(--ring-focus)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn[disabled]:hover{background:var(--accent-btn)}
.btn.sec{background:var(--violet-100);color:var(--violet-700)}
.btn.sec:hover{background:var(--violet-200);color:var(--violet-700)}
.btn.ghost{background:var(--white);color:var(--text-strong);border-color:var(--border-default)}
.btn.ghost:hover{background:var(--grey-50);color:var(--text-strong)}
.btn.texto{background:transparent;color:var(--text-link);padding:0 10px}
.btn.texto:hover{background:var(--violet-50);color:var(--text-link)}
.btn.small{height:32px;padding:0 12px;font-size:12px}
.btn .ic{width:18px;height:18px}
.btn.small .ic{width:16px;height:16px}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px}

/* ---------- selos, chips e alertas ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--radius-sm);background:var(--grey-100);color:var(--slate-600);font:500 11px/1 var(--font-sans);letter-spacing:.02em;white-space:nowrap}
.badge.violet{background:var(--violet-100);color:var(--violet-700)}
.badge.sky{background:var(--sky-50);color:var(--info-ink)}
.badge.ok{background:var(--green-100);color:var(--ok-ink)}
.badge.warn{background:var(--amber-100);color:var(--warn-ink)}
.badge.error{background:var(--coral-100);color:var(--error-ink)}
/* referência ao artigo: o chip que acompanha cada campo e cada item */
.art{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:3px 8px;border-radius:var(--radius-pill);background:var(--violet-50);color:var(--violet-700);font:500 11px/1.2 var(--font-sans);white-space:normal;text-align:left}
.art .ic{width:12px;height:12px}
.alerta{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-lg);background:var(--sky-50)}
.alerta > .ic{width:18px;height:18px;margin-top:1px;color:var(--info-ink)}
.alerta > div{flex:1;min-width:0}
.alerta strong,.alerta .alerta-tit{display:block;font-weight:500;font-size:14px;line-height:1.4;color:var(--info-ink)}
.alerta p,.alerta li{font-size:12.5px;line-height:1.5;color:var(--text-body);text-wrap:pretty}
.alerta p+p{margin-top:6px}
.alerta ul{padding-left:18px;margin-top:4px}
.alerta li+li{margin-top:4px}
.alerta.neutro{background:var(--grey-50)}
.alerta.neutro > .ic,.alerta.neutro strong,.alerta.neutro .alerta-tit{color:var(--ok-ink)}
.alerta.warn{background:var(--amber-100)}
main > .grade-2 > .alerta.neutro{background:var(--white);box-shadow:var(--shadow-card)}
.alerta.warn > .ic,.alerta.warn strong,.alerta.warn .alerta-tit{color:var(--warn-ink)}
.alerta.error{background:var(--coral-100)}
.alerta.error > .ic,.alerta.error strong,.alerta.error .alerta-tit{color:var(--error-ink)}
.alerta.violeta{background:var(--violet-50)}
.alerta.violeta > .ic,.alerta.violeta strong,.alerta.violeta .alerta-tit{color:var(--violet-700)}

/* ---------- escolha de modalidade (DocTypeCard) ---------- */
.grupo-tit{font-size:11px;color:var(--text-muted);margin:20px 0 10px;letter-spacing:.02em}
.grupo-tit:first-of-type{margin-top:4px}
.tipos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.tipo{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;padding:18px;min-width:0;cursor:pointer;
  border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--white);font:inherit;color:inherit;
  transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}
.tipo:hover{border-color:var(--violet-200);box-shadow:var(--shadow-raised)}
.tipo:focus-visible{outline:0;border-color:var(--border-focus);box-shadow:var(--ring-focus)}
.tipo[aria-pressed="true"]{border-color:var(--accent);background:var(--violet-50);box-shadow:none}
.tipo .tile-ic{width:40px;height:40px}
.tipo[aria-pressed="true"] .tile-ic{background:var(--white)}
.tipo b{font:500 15px/1.3 var(--font-sans);color:var(--text-strong)}
.tipo em{font-style:normal;font-size:12px;line-height:1.45;color:var(--text-muted);text-wrap:pretty}
.tipo .art{margin-top:auto}

/* ---------- campos ---------- */
textarea,input[type=text],input[type=date],select{width:100%;min-height:40px;padding:9px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--white);
  font:400 14px/1.5 var(--font-sans);color:var(--text-strong);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
textarea{min-height:120px;resize:vertical}
select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A78DF5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
textarea:hover,input[type=text]:hover,input[type=date]:hover,select:hover{border-color:var(--border-default)}
textarea:focus,input[type=text]:focus,input[type=date]:focus,select:focus{outline:0;border-color:var(--border-focus);box-shadow:var(--ring-focus)}
::placeholder{color:var(--slate-500)}
#txt{font:400 13px/1.55 var(--font-mono);min-height:140px}
.form-doc fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}
.form-doc fieldset+fieldset{margin-top:28px;padding-top:24px;border-top:1px solid var(--border-subtle)}
.form-doc legend{float:left;width:100%;padding:0;margin-bottom:2px;font-size:11px;color:var(--text-muted);letter-spacing:.02em}
.form-doc legend+*{clear:both}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo > label:not(.check){display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12.5px;font-weight:500;line-height:1.35;color:var(--text-strong)}
.campo > label:not(.check) > span:first-child [aria-hidden]{color:var(--accent);margin-left:2px}
.campo .ajuda{font-size:12px;color:var(--text-muted);text-wrap:pretty}
.campo .avisos:empty{display:none}
.campo .avisos{display:flex;flex-direction:column;gap:6px}
.campo .avisos p{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--text-body);background:var(--amber-100);border-radius:var(--radius-lg);padding:10px 12px}
.campo .avisos p::before{content:"";flex:none;width:16px;height:16px;margin-top:1px;background:var(--warn-ink);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") center/contain no-repeat}
.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px;line-height:1.45;color:var(--text-strong)}
.check input{appearance:none;width:18px;height:18px;margin:1px 0 0;flex:none;border:1.5px solid var(--border-default);border-radius:var(--radius-xs);background:var(--white);cursor:pointer;
  display:inline-grid;place-content:center;transition:background var(--dur-fast),border-color var(--dur-fast)}
.check input::after{content:"";width:10px;height:10px;transform:scale(0);transition:transform var(--dur-fast) var(--ease-out);background:#fff;
  clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%)}
.check input:checked{background:var(--accent);border-color:var(--accent)}
.check input:checked::after{transform:scale(1)}
.check input:focus-visible{outline:0;box-shadow:var(--ring-focus)}
.check .art{margin-left:6px;vertical-align:1px}
.linha2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nota{font-size:12.5px;color:var(--text-muted);text-wrap:pretty}
.form-doc .nota{background:var(--grey-50);border-radius:var(--radius-lg);padding:10px 12px}

/* ---------- Criar: editor ---------- */
.editor-grade{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--gap);align-items:start}
.editor-lado{position:sticky;top:24px;display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.editor-cab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.editor-cab h2{flex:1;min-width:0;font:500 24px/1.3 var(--font-sans)}
.rascunho{background:var(--grey-50);border-radius:var(--radius-lg);padding:14px;margin-bottom:24px}
.rascunho .check span{font-size:12.5px;color:var(--text-body)}
.rascunho .check strong{font-weight:500;color:var(--text-strong)}
.rascunho .btn{margin-top:10px}
.situacao{display:flex;gap:18px;align-items:center}
.situacao > div:not(.anel){flex:1;min-width:0}
.situacao .card-tit{font-size:16px}
.botoes-doc{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.botoes-doc .btn{width:100%}
.previa-papel{background:var(--white);border:1px solid var(--border-subtle);border-radius:8px;padding:36px 40px;font:400 12.5px/1.7 Georgia,"Times New Roman",serif;color:var(--navy-900);min-height:360px;max-height:70vh;overflow:auto}
.previa-papel h2{text-align:center;font:700 14px/1.4 Georgia,"Times New Roman",serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px;color:var(--navy-900)}
.previa-papel h3{font:700 13px/1.4 Georgia,"Times New Roman",serif;margin:16px 0 4px;color:var(--navy-900)}
.previa-papel p{margin-top:8px;text-align:justify}
.previa-papel ul{margin-top:6px}
.previa-papel .fecho{margin-top:24px}
.previa-papel .fecho p:first-child{text-align:right}
.previa-papel .ref-item{font-size:11.5px}

/* anel de progresso (ProgressRing) */
.anel{position:relative;width:96px;height:96px;flex:none}
.anel svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.anel .fundo{fill:var(--violet-50)}
.anel .trilha{fill:none;stroke:var(--violet-100);stroke-width:1.5}
.anel .valor{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}
.anel .pino{fill:var(--white);stroke:var(--accent);stroke-width:1.5;transition:cx var(--dur-slow) var(--ease-out),cy var(--dur-slow) var(--ease-out)}
.anel .rotulo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:500 18px/1 var(--font-sans);color:var(--text-strong)}
.anel.p .rotulo{font-size:15px}
.anel.p{width:80px;height:80px}

/* ---------- Conferir ---------- */
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;padding:40px 24px;text-align:center;cursor:pointer;
  border-radius:var(--radius-xl);border:1.5px dashed var(--border-default);background:var(--grey-50);font:inherit;color:inherit;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}
.drop:hover,.drop.over{border-color:var(--accent);background:var(--violet-50)}
.drop:focus-visible{outline:0;border-color:var(--border-focus);box-shadow:var(--ring-focus)}
.drop .circ{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--violet-100);color:var(--accent)}
.drop .big{font-weight:500;font-size:14px;color:var(--text-strong)}
.drop .sm{font-size:12px;color:var(--text-muted)}
.or{display:flex;align-items:center;gap:12px;margin:18px 0 10px;font-size:12px;color:var(--text-muted)}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--border-subtle)}
.filename{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted)}
.filename[data-estado="ok"]{color:var(--ok-ink);font-weight:500}
.err{color:var(--error-ink);font-size:13px;margin-top:10px}
.err:empty{display:none}
.placar{display:flex;align-items:center;gap:20px}
.placar > div:not(.anel){flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.score-num{font:500 22px/1 var(--font-sans);color:var(--text-strong)}
.score-num small{font-size:12px;font-weight:400;color:var(--text-muted)}
.score-label{font-size:12.5px;color:var(--text-muted);text-wrap:pretty}
.card-cab > .filtros{flex:none}
.filtros{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-lg);background:var(--grey-100)}
.filtros button{height:30px;padding:0 12px;border:0;border-radius:9px;background:transparent;font:500 12px/1 var(--font-sans);color:var(--text-muted);cursor:pointer}
.filtros button:hover{color:var(--text-strong)}
.filtros button[aria-pressed="true"]{background:var(--white);color:var(--violet-700);box-shadow:var(--shadow-card)}
ul.itens{list-style:none;padding:0;margin:0}
ul.itens li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-sm);animation:surge var(--dur-slow) var(--ease-out) both}
ul.itens li:nth-child(odd of :not([hidden])){background:var(--grey-50)}
@keyframes surge{from{opacity:0}}
ul.itens li > .ic{width:18px;height:18px;margin-top:1px}
li.ok > .ic{color:var(--green-500)}
li.falha > .ic{color:var(--coral-500)}
li.aviso > .ic{color:var(--amber-500)}
ul.itens .item-txt{flex:1;min-width:0}
.item-tit{font-size:14px;line-height:1.4;color:var(--text-strong)}
li.falha .item-tit,li.aviso .item-tit{font-weight:500}
.item-fix{font-size:12.5px;line-height:1.5;color:var(--text-muted);margin-top:3px;text-wrap:pretty}
ul.itens .art{flex:none;max-width:42%}
.lista-humano{padding-left:18px;margin-top:4px}
.lista-humano li{font-size:12.5px;line-height:1.5;margin-top:6px}

/* ---------- tabelas ---------- */
.tabela{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}
th{font-size:11px;font-weight:400;color:var(--text-muted);text-align:left;padding:0 14px 8px;letter-spacing:.02em;vertical-align:bottom}
td{padding:11px 14px;text-align:left;vertical-align:top;color:var(--text-strong)}
tbody tr:nth-child(odd) td{background:var(--grey-50)}
tbody tr:nth-child(odd) td:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
tbody tr:nth-child(odd) td:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}

/* ---------- textos longos ---------- */
.prosa{font-size:16px;line-height:1.7;color:var(--text-body);max-width:72ch}
.prosa > * + *{margin-top:16px}
.prosa h2{font-size:22px;line-height:1.3;margin-top:40px}
.prosa h3{font-size:17px;margin-top:28px}
.prosa h2 + *,.prosa h3 + *{margin-top:10px}
.prosa > :first-child{margin-top:0}
.prosa ul,.prosa ol{padding-left:24px}
.prosa li + li{margin-top:6px}
.prosa strong{font-weight:500;color:var(--text-strong)}
.prosa blockquote{background:var(--grey-50);border-radius:var(--radius-lg);padding:16px 20px;color:var(--text-body)}
.prosa blockquote > * + *{margin-top:8px}
.prosa code{font-family:var(--font-mono);font-size:.86em;background:var(--grey-100);padding:1px 5px;border-radius:4px}
.prosa pre{background:var(--grey-50);border-radius:var(--radius-lg);padding:16px;overflow:auto;font-size:13px;white-space:pre-wrap}
.prosa pre code{background:none;padding:0}
.prosa table{font-size:14px}
.prosa.larga{max-width:none}

/* fontes da metodologia */
.fontes ol{list-style:none;padding:0;counter-reset:f}
.fontes li{counter-increment:f;position:relative;padding:14px 14px 14px 52px;border-radius:var(--radius-sm);font-size:13.5px;line-height:1.6;color:var(--text-body)}
.fontes li:nth-child(odd){background:var(--grey-50)}
.fontes li::before{content:counter(f,decimal-leading-zero);position:absolute;left:14px;top:15px;font:500 12px/1.6 var(--font-mono);color:var(--violet-600)}
.fontes b{font-weight:500;color:var(--text-strong)}

/* ---------- blog ---------- */
.migalhas{font-size:12px;color:var(--text-muted);padding:0 4px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.migalhas a{color:var(--text-muted)}
.artigo-meta{font-size:12.5px;color:var(--text-muted);margin-top:12px}
.artigo-cab h1{max-width:28ch}
.resumo{margin-top:20px}
.artigo-grade{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--gap);align-items:start}
.artigo-lado{position:sticky;top:24px;display:flex;flex-direction:column;gap:var(--gap)}
.sumario ol{padding-left:20px;font-size:13px;line-height:1.45}
.sumario li + li{margin-top:8px}
.sumario a{color:var(--text-body);text-decoration:none}
.sumario a:hover{color:var(--accent-press);text-decoration:underline}
.artigo-corpo{padding:32px 40px}
.convite{display:flex;gap:18px;align-items:flex-start}
.convite p{color:var(--text-muted);margin-top:6px;max-width:64ch}
.relacionados ul{list-style:none;padding:0}
.relacionados li a{display:block;padding:12px 14px;border-radius:var(--radius-sm);text-decoration:none;color:var(--text-strong);font-weight:500}
.relacionados li:nth-child(odd) a{background:var(--grey-50)}
.relacionados li a:hover{background:var(--violet-50);color:var(--violet-700)}
.relacionados li span{display:block;font-weight:400;font-size:12.5px;color:var(--text-muted);margin-top:2px}
.lista-posts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--gap)}
.lista-posts a{display:flex;flex-direction:column;gap:10px;height:100%;padding:var(--card-pad);background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);
  text-decoration:none;color:inherit;transition:box-shadow var(--dur-base) var(--ease-out)}
.lista-posts a:hover{box-shadow:var(--shadow-raised)}
.lista-posts a:hover h2{color:var(--violet-700)}
.lista-posts h2{font-size:16px;line-height:1.35}
.lista-posts p{font-size:13px;color:var(--text-muted);text-wrap:pretty}
.lista-posts .data{margin-top:auto;font-size:11px;color:var(--text-muted)}
.recentes{list-style:none;padding:0}
.recentes a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);text-decoration:none;color:var(--text-strong)}
.recentes li:nth-child(odd) a{background:var(--grey-50)}
.recentes a:hover{background:var(--violet-50);color:var(--violet-700)}
.recentes .ic{color:var(--accent)}

/* ---------- telas menores ---------- */
@media (max-width:1100px){
  .editor-grade,.grade-1-2,.grade-2-1{grid-template-columns:minmax(0,1fr)}
  .editor-lado{position:static}
  .artigo-grade{grid-template-columns:minmax(0,1fr)}
  .artigo-lado{position:static;order:-1}
}
@media (max-width:820px){
  :root{--gap:16px;--card-pad:20px}
  body{padding-bottom:76px}
  .app{margin:0;padding:16px;border-radius:0;min-height:100vh;display:block}
  .corpo{gap:var(--gap)}
  .trilho{position:fixed;z-index:10;left:0;right:0;bottom:0;top:auto;width:auto;flex-direction:row;justify-content:space-around;gap:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-radius:0;box-shadow:0 -1px 0 var(--border-subtle),0 -6px 20px rgba(43,53,84,.05)}
  .trilho .marca{display:none}
  .trilho a{width:auto;flex:1;font-size:10.5px;padding:2px 0}
  .trilho a .tile{width:40px;height:32px}
  .grade-2{grid-template-columns:minmax(0,1fr)}
  h1{font-size:26px}
  .artigo-corpo{padding:24px 20px}
  .selo-topo .txt{display:none}
  .selo-topo{width:44px;padding:0;justify-content:center}
}
@media (max-width:480px){
  .linha2,.botoes-doc{grid-template-columns:1fr}
  .previa-papel{padding:22px 18px}
  .tipos{grid-template-columns:1fr}
  .tipo{flex-direction:row;flex-wrap:wrap;align-items:center;padding:14px}
  .tipo b{flex:1;min-width:0}
  .tipo em,.tipo .art{flex-basis:100%}
  .tipo .art{flex-basis:auto}
  .placar,.situacao{flex-wrap:wrap}
  ul.itens li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px 12px;padding:12px 10px}
  ul.itens .art{grid-column:2;justify-self:start;max-width:100%}
  .card-cab > .filtros{display:flex;flex:1 1 100%}
  .filtros button{flex:1;padding:0 6px}
  .prosa{font-size:15.5px}
  .lista-posts{grid-template-columns:minmax(0,1fr)}
  .convite{flex-direction:column}
}
@media print{
  .trilho,.barra-topo,.rodape,.drop,.btn,.tipos,#entrada,.pular,.filtros{display:none!important}
  body,.app{background:#fff;margin:0;padding:0}
  .card{box-shadow:none;padding:0}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.btn.texto{white-space:normal;height:auto;min-height:32px;padding:6px 10px;text-align:left;line-height:1.35}
.prosa h2[id^="regras"],.prosa h3[id^="regras"]{scroll-margin-top:16px}
.previa-papel b,.previa-papel strong{font-weight:700}
