/* Verus · componentes comuns da intranet e do portal. Marca: café #3A2E26, linho #EDE6DA, texto secundário #66584D.
   Situação nunca depende só de cor: cada etiqueta tem forma (cheio, meio, vazado) e texto. */
:root{--cafe:#3A2E26;--cafe2:#2C231D;--linho:#EDE6DA;--linho2:#E6DED0;--areia:#D9CFC0;--sec:#66584D;--sec-esc:#BFB3A3;--claro:#7A6C60;--branco:#fff;--borda:#D9CFC0;--sombra:0 1px 2px rgba(58,46,38,.06),0 8px 24px rgba(58,46,38,.08);--r:2px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--linho);color:var(--cafe);font:400 16px/1.55 "Red Hat Text",Arial,sans-serif;overflow-x:hidden}
img,svg{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cafe);outline-offset:2px}
h1,h2,h3,h4{font-family:"Red Hat Display",Arial,sans-serif;font-weight:500;letter-spacing:-.01em;margin:0 0 .4em;line-height:1.2}
h1{font-size:clamp(1.6rem,4.5vw,2.3rem)}h2{font-size:1.3rem}h3{font-size:1.06rem}p{margin:0 0 .8em}
.sob{font:400 .72rem/1.4 "Red Hat Display",Arial;letter-spacing:.22em;text-transform:uppercase;color:var(--sec);margin:0 0 .6em}
.nota,.sec{color:var(--sec);font-size:.9rem}.peq{font-size:.85rem}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ic-g{width:30px;height:30px}.ic-p{width:18px;height:18px}
/* botões */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;background:var(--cafe);color:var(--linho);border:1px solid var(--cafe);font:500 .95rem "Red Hat Display",Arial;cursor:pointer;text-decoration:none;border-radius:var(--r);text-align:center}
.bt:hover{background:var(--cafe2)}.bt-fio{background:transparent;color:var(--cafe)}.bt-fio:hover{background:var(--cafe);color:var(--linho)}
.bt-claro{background:var(--linho);color:var(--cafe);border-color:var(--linho)}.bt-mini{min-height:36px;padding:6px 12px;font-size:.88rem}
.bt-texto{background:none;border:0;color:var(--cafe);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:6px 0;min-height:36px}
.bt[disabled],.bt:disabled{background:#cfc6b8;border-color:#cfc6b8;color:#4f4339;cursor:not-allowed}
.bt-grande{min-height:56px;font-size:1.05rem;width:100%}
.acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
/* cartões e grades */
.cartao{background:var(--branco);border:1px solid var(--borda);padding:18px;border-radius:var(--r)}
.cartao-linho{background:var(--linho2);border-color:transparent}.cartao-cafe{background:var(--cafe);color:var(--linho);border-color:var(--cafe)}.cartao-cafe .sob,.cartao-cafe .nota{color:var(--sec-esc)}
.grade{display:grid;gap:14px}.g2,.g3,.g4{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:720px){.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.g4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.secao{margin:0 0 28px}.cab-secao{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.lista{list-style:none;margin:0;padding:0}.lista>li{padding:12px 0;border-top:1px solid var(--borda)}.lista>li:first-child{border-top:0}
.kv{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:6px 14px;margin:0}.kv dt{color:var(--sec);font-size:.9rem}.kv dd{margin:0}
.num-g{font:500 1.9rem/1.1 "Red Hat Display",Arial}
/* etiquetas de situação (forma + texto; contraste AA) */
.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;font:500 .8rem "Red Hat Display",Arial;border:1px solid var(--cafe);border-radius:20px;white-space:nowrap;line-height:1.4}
.tag::before{content:"";width:9px;height:9px;border-radius:50%;flex:none;border:1.5px solid currentColor}
.tag-cheio{background:var(--cafe);color:var(--linho)}.tag-cheio::before{background:var(--linho);border-color:var(--linho)}
.tag-meio{background:var(--areia);color:var(--cafe);border-color:var(--areia)}.tag-meio::before{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.tag-vazio{background:var(--branco);color:var(--cafe)}
.tag-neutra{background:var(--linho);color:var(--sec);border-color:var(--borda)}.tag-neutra::before{border-style:dotted}
/* formulários */
.campo{display:grid;gap:6px;margin-bottom:12px}.campo label,.rot{font:500 .9rem "Red Hat Display",Arial}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=datetime-local],input[type=number],input[type=search],input:not([type]),select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #8C7E71;background:var(--branco);border-radius:0}
textarea{min-height:96px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--cafe);width:18px;height:18px}
.opc{display:flex;gap:8px;align-items:flex-start}.form-g{display:grid;gap:0 16px;grid-template-columns:minmax(0,1fr)}@media (min-width:720px){.form-g{grid-template-columns:repeat(2,minmax(0,1fr))}.form-g .l{grid-column:1/-1}}
.aviso{padding:12px 14px;border-left:3px solid var(--cafe);background:var(--linho2);margin:0 0 14px}.aviso-fixo{font:500 .92rem "Red Hat Display",Arial}
.erro{color:#7A2E22;font-weight:500}
/* tabelas (rolagem só dentro da caixa) */
.rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
table.t{border-collapse:collapse;width:100%;font-size:.92rem}table.t th,table.t td{text-align:left;padding:10px 10px 10px 0;border-bottom:1px solid var(--borda);vertical-align:top}table.t th{font:500 .78rem "Red Hat Display",Arial;letter-spacing:.06em;color:var(--sec);text-transform:uppercase}
table.t tr.clic{cursor:pointer}table.t tr.clic:hover td{background:var(--linho2)}.dir{text-align:right!important}
/* abas */
.abas{display:flex;gap:2px;background:var(--areia);padding:2px;margin:0 0 16px;overflow-x:auto;max-width:100%}.abas button{flex:1 0 auto;background:var(--linho);border:0;padding:9px 14px;cursor:pointer;font:500 .88rem "Red Hat Display",Arial;color:var(--sec);min-height:40px}.abas button[aria-selected=true]{background:var(--cafe);color:var(--linho)}
/* fotos */
.fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.fotos figure{margin:0}.fotos img,.foto-capa{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--areia);border:1px solid var(--borda)}
.fotos figcaption{font-size:.75rem;color:var(--sec);margin-top:3px;overflow-wrap:anywhere}
.foto-vazia{width:100%;aspect-ratio:4/3;background:var(--areia);display:flex;align-items:center;justify-content:center;color:var(--sec)}
/* janela modal e aviso rápido */
.modal-fundo{position:fixed;inset:0;background:rgba(44,35,29,.55);z-index:50;display:flex;align-items:flex-end;justify-content:center}
.modal{background:var(--linho);width:100%;max-width:560px;max-height:92vh;overflow:auto;padding:22px;box-shadow:var(--sombra)}
@media (min-width:720px){.modal-fundo{align-items:center}}
.modal h2{margin-bottom:12px}.modal .fechar{float:right;background:none;border:0;cursor:pointer;padding:4px;min-height:36px}
.toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:var(--cafe);color:var(--linho);padding:12px 18px;z-index:60;max-width:calc(100% - 32px);box-shadow:var(--sombra);font-size:.95rem}
@media (min-width:1024px){.toast{bottom:28px}}
.vazio{padding:28px;text-align:center;color:var(--sec);border:1px dashed var(--borda);background:rgba(255,255,255,.4)}
.selo-demo{background:var(--cafe);color:var(--linho);font:500 .72rem "Red Hat Display",Arial;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;text-align:center}
@media (prefers-reduced-motion:no-preference){.entra{animation:entra .35s ease-out}@keyframes entra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
@media print{.nao-imprime{display:none!important}}
/* semáforo (cores sóbrias, texto escuro sobre fundo claro: contraste AA; a forma da bolinha também muda) */
.tag-verde{background:#E1EBDA;color:#2E4A27;border-color:#7E9C70}.tag-verde::before{background:#4F7A43;border-color:#4F7A43}
.tag-amarelo{background:#F5E8C2;color:#5B4407;border-color:#C29A2E}.tag-amarelo::before{background:linear-gradient(90deg,#B08A1E 50%,transparent 50%);border-color:#B08A1E}
.tag-vermelho{background:#F4DAD3;color:#7A2416;border-color:#B4543F}.tag-vermelho::before{background:#A33A27;border-color:#A33A27;border-radius:2px}
.tag-laranja{background:#F8DFC8;color:#713808;border-color:#C2702A}.tag-laranja::before{background:#B85E14;border-color:#B85E14;transform:rotate(45deg);border-radius:1px}
