:root{--fundo:#f3f6f6;--cartao:#fff;--texto:#1b2a2e;--suave:#5a6b70;--linha:#dbe4e5;--azul:#00707a;--azul-esc:#004650;--topo:#004650;--ok:#1a8a4a;--alerta:#b86e00;--erro:#c94040}
@media (prefers-color-scheme:dark){:root{--fundo:#0c1416;--cartao:#142024;--texto:#e3eeee;--suave:#8fa3a6;--linha:#24363a;--azul:#3fc1b0;--azul-esc:#8fe0c8}}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,"Segoe UI",Roboto,sans-serif;background:var(--fundo);color:var(--texto);font-size:15px}
a{color:var(--azul)}
.topo{display:flex;align-items:center;gap:24px;background:var(--topo);color:#fff;padding:10px 20px;flex-wrap:wrap}
.topo a{color:#cfe3f7;text-decoration:none}.topo a:hover{color:#fff}
.marca{font-weight:700;font-size:18px;color:#fff!important}.marca span{font-weight:400;color:#7fb4ea;font-size:14px;margin-left:4px}
.topo nav{display:flex;gap:16px;flex:1}.quem{font-size:13px;color:#9fb3c8}
main{max-width:1200px;margin:0 auto;padding:16px}
h1{font-size:22px;margin:8px 0 16px}h2{font-size:17px;margin:24px 0 8px;color:var(--azul-esc)}
table{width:100%;border-collapse:collapse;background:var(--cartao);border:1px solid var(--linha);border-radius:6px;overflow:hidden}
th{background:color-mix(in srgb,var(--azul) 10%,var(--cartao));text-align:left;padding:8px;font-size:13px}
td{padding:7px 8px;border-top:1px solid var(--linha);vertical-align:top}
.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.compacta td{font-size:12.5px;padding:4px 6px}
.hash{font-family:ui-monospace,monospace;font-size:11px;color:var(--suave);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--cartao);border:1px solid var(--linha);border-top:3px solid var(--azul);border-radius:6px;padding:12px}
.kpi b{display:block;font-size:26px;color:var(--azul-esc);font-variant-numeric:tabular-nums}.kpi span{color:var(--suave);font-size:13px}
.kpi.alerta{border-top-color:var(--alerta)}.kpi.alerta b{color:var(--alerta)}
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
input,select,button{font:inherit;padding:7px 10px;border:1px solid var(--linha);border-radius:5px;background:var(--cartao);color:var(--texto)}
.largo{flex:1;min-width:260px}
button{background:var(--azul);color:#fff;border-color:var(--azul);cursor:pointer}
.paginacao{display:flex;gap:16px;justify-content:center;margin:12px 0}
.ficha{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;background:var(--cartao);border:1px solid var(--linha);border-radius:6px;padding:12px 16px;margin:0}
.ficha dt{color:var(--suave);font-size:13px}.ficha dd{margin:0}
.colunas{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.trilha{font-size:13px;color:var(--suave);margin:0}
.nota{font-size:13px;color:var(--suave)}
.aviso{padding:8px 12px;border-radius:5px;border-left:4px solid}
.aviso.ok{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--cartao))}
.aviso.erro{border-color:var(--erro);background:color-mix(in srgb,var(--erro) 10%,var(--cartao))}
.tela-login{display:grid;place-items:center;min-height:100vh;background:var(--topo)}
.cartao{background:var(--cartao);border-radius:8px;padding:24px}
.login{width:min(360px,92vw);display:grid;gap:12px}.login h1{margin:0}.sub{margin:-8px 0 4px;color:var(--suave)}
.login label{display:grid;gap:4px;font-size:13px;color:var(--suave)}
.caixa{max-width:480px;margin:10vh auto;text-align:center}
@media (max-width:700px){table{display:block;overflow-x:auto}}
.botao{display:inline-block;font-size:13px;font-weight:500;padding:5px 12px;border-radius:5px;background:var(--azul);color:#fff!important;text-decoration:none;vertical-align:middle;margin-left:8px}
.formulario{display:grid;gap:10px;background:var(--cartao);border:1px solid var(--linha);border-radius:6px;padding:14px;max-width:560px}
.formulario label{display:grid;gap:4px;font-size:13px;color:var(--suave)}
details.cartao{border:1px solid var(--linha);margin:12px 0;padding:10px 14px}
details.cartao summary{cursor:pointer;font-weight:600;color:var(--azul-esc)}
details .formulario{border:0;padding:10px 0 0}
.linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.conferencia{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px}
.visor iframe{width:100%;height:78vh;border:1px solid var(--linha);border-radius:6px;background:#fff}
.abas{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.abas button{padding:3px 9px;font-size:12px}
button.perigo{background:var(--erro);border-color:var(--erro)}
@media (max-width:900px){.conferencia{grid-template-columns:1fr}}
.qr svg { background: #fff; padding: 8px; border-radius: 8px; max-width: 260px; height: auto; }
.pilha { display: grid; gap: .6rem; max-width: 360px; }
button.secundario{background:var(--cartao);color:var(--azul);border-color:var(--azul)}
.filtros label{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--suave)}
.barra-td{width:40%}.barra{display:block;height:10px;border-radius:3px;background:var(--azul);min-width:2px}
.etiqueta{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:var(--linha)}
.etiqueta.aprovada{background:color-mix(in srgb,var(--azul) 25%,var(--cartao))}
.etiqueta.eliminada{background:color-mix(in srgb,var(--ok) 25%,var(--cartao))}
.etiqueta.cancelada{background:color-mix(in srgb,var(--erro) 20%,var(--cartao))}
.acoes-led{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.so-imprime{display:none}
.assinaturas{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px;text-align:center;font-size:13px}
.assinaturas div{border-top:1px solid #000;padding-top:4px}
@media print{.topo,.nao-imprime{display:none!important}.so-imprime{display:grid!important}body{background:#fff;color:#000}main{max-width:none;padding:0}a{color:#000;text-decoration:none}table,.ficha{border-color:#999}}
code.senha{font-size:18px;letter-spacing:1px;padding:2px 8px;background:var(--cartao);border:1px solid var(--linha);border-radius:4px}
/* ---------- Tela de entrada (login) ---------- */
:root{--marca:#004650;--marca-2:#007d82;--marca-3:#00a180;--marca-4:#a4e473}
.entrada{margin:0;min-height:100vh;background:var(--fundo)}
.entrada-grade{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;max-width:none;padding:0}
.entrada-marca{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 0% 0%,#0a5a64 0%,var(--marca) 55%,#00343c 100%);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:56px 64px;gap:40px}
.entrada-marca .folhas{position:absolute;right:-90px;bottom:-110px;width:min(560px,70%);opacity:.16;transform:rotate(-12deg)}
.entrada-logo{width:min(380px,80%);height:auto;position:relative}
.entrada-texto{position:relative;max-width:440px}
.entrada-texto h2{color:#fff;font-size:26px;margin:0 0 10px;font-weight:600}
.entrada-texto p{margin:0;color:#cfe7e6;font-size:16px;line-height:1.5}
.entrada-texto h2::before{content:"";display:block;width:48px;height:4px;border-radius:2px;background:var(--marca-4);margin-bottom:16px}
.entrada-form{display:grid;place-items:center;padding:32px 16px}
.entrada-cartao{width:min(380px,100%);display:grid;gap:14px}
.entrada-cartao h1{margin:0;font-size:26px;color:var(--texto)}
.entrada-sub{margin:-6px 0 6px;color:var(--suave);font-size:14px}
.entrada-cartao label{display:grid;gap:6px;font-size:13px;font-weight:500;color:var(--suave)}
.entrada-cartao input{padding:11px 12px;font-size:15px;border-radius:8px}
.entrada-cartao input:focus{outline:none;border-color:var(--marca-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--marca-3) 25%,transparent)}
.entrada-cartao input.codigo{font-size:22px;letter-spacing:6px;text-align:center;font-variant-numeric:tabular-nums}
.entrada-cartao button{padding:11px;font-size:15px;font-weight:600;border-radius:8px;background:var(--marca);border-color:var(--marca);margin-top:4px}
.entrada-cartao button:hover{background:var(--marca-2);border-color:var(--marca-2)}
.entrada-rodape{margin:6px 0 0;font-size:12px;color:var(--suave);text-align:center}
.entrada-logo-movel{display:none}
@media (max-width:820px){
  .entrada-grade{grid-template-columns:1fr}
  .entrada-marca{display:none}
  .entrada-logo-movel{display:block;width:220px;height:auto;margin:0 auto 8px;background:var(--marca);padding:14px 18px;border-radius:12px}
  .entrada-form{align-content:start;padding-top:48px}
}
/* Animação da entrada: folhas balançando ao fundo + entrada suave (desliga com "reduzir movimento") */
.entrada-marca .folha{transform-box:view-box;transform-origin:200px 380px}
@keyframes folha-a{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes folha-b{0%,100%{transform:rotate(4deg)}50%{transform:rotate(-2deg)}}
@keyframes folha-c{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(5deg)}}
@keyframes surgir{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .entrada-marca .f1{animation:folha-a 8s ease-in-out infinite}
  .entrada-marca .f2{animation:folha-b 9.5s ease-in-out infinite}
  .entrada-marca .f3{animation:folha-c 7s ease-in-out infinite}
  .entrada-logo{animation:surgir .6s ease-out both}
  .entrada-texto{animation:surgir .6s ease-out .15s both}
  .entrada-cartao{animation:surgir .5s ease-out .1s both}
}

/* ---------- Layout interno: menu lateral com a marca ---------- */
.app{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
.lateral{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;
  background:radial-gradient(140% 70% at 0% 0%,#0a5a64 0%,var(--marca) 50%,#00343c 100%);color:#d7ecea;z-index:5}
.lateral-topo{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 14px}
.lateral-marca img{width:170px;height:auto;display:block}
.lateral-abrir{display:none;background:none;border:0;padding:6px;color:#fff}
.lateral-abrir svg,.menu svg,.sair svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.menu{display:flex;flex-direction:column;gap:2px;padding:6px 12px;flex:1;overflow-y:auto;position:relative;z-index:1}
.menu .grupo{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7fb7b2;margin:14px 10px 4px}
.menu a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:8px;color:#e4f3f1;text-decoration:none;font-size:14.5px}
.menu a:hover{background:rgba(255,255,255,.08)}
.menu a.atual{background:rgba(164,228,115,.16);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--marca-4)}
.menu a.atual svg{color:var(--marca-4)}
.lateral-usuario{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.1);position:relative;z-index:1;background:rgba(0,40,46,.55)}
.lateral-usuario .quem{display:flex;align-items:center;gap:10px;flex:1;min-width:0;color:#fff;text-decoration:none;font-size:13.5px}
.lateral-usuario .quem span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lateral-usuario small{display:block;color:#8fc2bc;font-size:11.5px}
.avatar{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--marca-4);color:var(--marca);font-weight:700;text-transform:uppercase}
.sair{color:#cfe7e4;padding:6px;border-radius:6px}.sair:hover{background:rgba(255,255,255,.1);color:#fff}
/* folhas da marca ao fundo, bem apagadas e só na parte de baixo (não ficam atrás do texto dos itens) */
.lateral .folhas{position:absolute;left:-40px;bottom:30px;width:300px;opacity:.10;pointer-events:none;transform:rotate(-8deg)}
.lateral .folha{transform-box:view-box;transform-origin:200px 380px}
@media (prefers-reduced-motion:no-preference){
  .lateral .f1{animation:folha-a 10s ease-in-out infinite}
  .lateral .f2{animation:folha-b 12s ease-in-out infinite}
  .lateral .f3{animation:folha-c 9s ease-in-out infinite}
}
.conteudo{min-width:0}
.conteudo main{max-width:1240px;padding:24px 32px 40px}
h1{font-size:24px;color:var(--texto)}
h2{color:var(--azul-esc)}
table{border-radius:10px;box-shadow:0 1px 2px rgba(0,40,46,.05)}
th{background:color-mix(in srgb,var(--marca-2) 9%,var(--cartao));color:var(--azul-esc);font-weight:600}
tbody tr:hover td{background:color-mix(in srgb,var(--marca-3) 5%,transparent)}
.kpi{border-radius:10px;border-top-width:0;border-left:4px solid var(--marca-3);box-shadow:0 1px 2px rgba(0,40,46,.05);padding:14px 16px}
.kpi b{color:var(--azul-esc);font-size:28px}
.ficha{border-radius:10px}
.ficha dd:empty::after{content:"—";color:var(--suave)}
button,.botao{border-radius:7px}
button:hover,.botao:hover{filter:brightness(1.08)}
input:focus,select:focus{outline:none;border-color:var(--marca-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--marca-3) 22%,transparent)}
details.cartao{border-radius:10px}
.selo{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;
  background:color-mix(in srgb,var(--suave) 14%,var(--cartao));color:var(--texto)}
.selo.ok{background:color-mix(in srgb,var(--ok) 16%,var(--cartao));color:var(--ok)}
.selo.alerta{background:color-mix(in srgb,var(--alerta) 16%,var(--cartao));color:var(--alerta)}
.selo.erro{background:color-mix(in srgb,var(--erro) 15%,var(--cartao));color:var(--erro)}
.selo.info{background:color-mix(in srgb,var(--marca-2) 15%,var(--cartao));color:var(--azul)}
.andamento{display:flex;height:8px;border-radius:4px;overflow:hidden;background:color-mix(in srgb,var(--suave) 15%,var(--cartao));min-width:120px}
.andamento i{display:block;height:100%}
.andamento .a-sei{background:var(--marca-3)}.andamento .a-val{background:var(--marca-4)}
.legenda{display:flex;gap:16px;font-size:12.5px;color:var(--suave);margin:8px 0}
.legenda i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .lateral{position:sticky;height:auto;max-height:100vh}
  .lateral-topo{padding:10px 14px}
  .lateral-marca img{width:130px}
  .lateral-abrir{display:block}
  .lateral .menu,.lateral .lateral-usuario{display:none}
  .lateral.aberta .menu,.lateral.aberta .lateral-usuario{display:flex}
  .lateral .folhas{display:none}
  .conteudo main{padding:16px}
}
@media print{.lateral{display:none!important}.app{display:block}.conteudo main{padding:0}}
.cabecalho{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.cabecalho h1{margin:0 0 2px}.cabecalho .nota{margin:0 0 12px}
.kpi-rotulo{display:block;color:var(--suave);font-size:12.5px;margin-bottom:4px}
.kpi.alerta{border-left-color:var(--alerta)}
td strong{white-space:nowrap}
@media (max-width:600px){.kpis{grid-template-columns:1fr 1fr;gap:8px}.kpi b{font-size:20px}.kpi{padding:10px 12px}}
/* Linhas alternadas (2 tons) para facilitar a leitura; a linha sob o mouse acende mais forte */
tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--marca-3) 6%,var(--cartao))}
tbody tr:hover td{background:color-mix(in srgb,var(--marca-3) 16%,var(--cartao))}
.lateral-usuario{flex-wrap:wrap}
.sair{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(255,255,255,.22);border-radius:7px;text-decoration:none;font-size:13px;font-weight:600;color:#fff}
.sair:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
.sair svg{width:17px;height:17px}
.bipe{display:flex;gap:8px;margin:14px 0 18px}
.bipe input{font-size:18px;padding:12px 14px;border-radius:10px;letter-spacing:.5px}
.bipe button{padding:0 22px;font-size:16px;border-radius:10px}
.cartao-borda{background:var(--cartao);border:1px solid var(--linha);border-radius:12px;padding:6px 16px 16px;margin-bottom:18px}
.cartao-borda h2{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kpi small{display:block;margin-top:2px;font-size:12px}
.erro-texto{font-family:ui-monospace,monospace;font-size:11.5px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* ---- Controle de qualidade ---- */
button.grande{font-size:16px;padding:10px 20px;border-radius:10px}
.perigo{background:var(--erro);border-color:var(--erro);color:#fff}
.link-perigo{background:none;border:0;color:var(--erro);padding:4px 0;font-size:13px;text-decoration:underline}
kbd{font:600 10.5px ui-monospace,monospace;background:color-mix(in srgb,currentColor 12%,transparent);border-radius:4px;padding:1px 5px;margin-left:4px}
.barra-cq{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end;background:var(--fundo);padding:10px 0 12px;border-bottom:1px solid var(--linha);margin-bottom:12px}
.grupo-cq{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.grupo-cq>span{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--suave);width:100%}
.grupo-cq button{font-size:13px;padding:6px 10px;background:var(--cartao);color:var(--texto);border-color:var(--linha)}
.grupo-cq button:hover{border-color:var(--marca-3)}
.grupo-cq button.perigo{color:var(--erro);border-color:color-mix(in srgb,var(--erro) 40%,var(--linha));background:var(--cartao)}
.grade-cq{--tam:170px;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tam),1fr));gap:10px;user-select:none}
.mini{margin:0;background:var(--cartao);border:2px solid var(--linha);border-radius:8px;padding:6px;cursor:pointer;position:relative}
.mini img{display:block;width:100%;aspect-ratio:210/297;object-fit:contain;background:#fff;border-radius:3px}
.mini img.sem-imagem{background:repeating-linear-gradient(45deg,#eef2f2 0 8px,#f8fafa 8px 16px)}
.mini figcaption{display:flex;justify-content:space-between;align-items:center;font:12px ui-monospace,monospace;color:var(--suave);margin-top:4px;min-height:18px}
.mini .marca{font:700 10.5px system-ui,sans-serif;letter-spacing:.4px;text-transform:uppercase;border-radius:4px;padding:1px 6px}
.mini.folha{border-color:#e08a00}.mini.folha .marca::before{content:"Separador";}.mini.folha .marca{background:#e08a00;color:#fff}
.mini.capa{border-color:var(--marca-3)}.mini.capa .marca::before{content:"Capa";}.mini.capa .marca{background:var(--marca-3);color:#fff}
.mini.redig::after{content:"REDIGITALIZAR";position:absolute;top:12px;left:12px;right:12px;text-align:center;font:700 11px system-ui;background:var(--erro);color:#fff;border-radius:4px;padding:3px}
.mini.excluida img{opacity:.25;filter:grayscale(1)}.mini.excluida::before{content:"EXCLUÍDA";position:absolute;top:45%;left:0;right:0;text-align:center;font:700 13px system-ui;color:var(--erro)}
.mini.sel{border-color:var(--marca);box-shadow:0 0 0 3px color-mix(in srgb,var(--marca-3) 45%,transparent)}
.mini.cursor{outline:2px dashed var(--marca-2);outline-offset:2px}
.visor{width:min(96vw,1100px);height:94vh;padding:0;border:0;border-radius:12px;background:#2a3436}
.visor::backdrop{background:#000a}
.visor-topo{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--cartao)}
.visor img{display:block;max-width:100%;height:calc(94vh - 52px);margin:0 auto;object-fit:contain;background:#fff}
.ajuda-cq{margin-top:18px;font-size:13px;color:var(--suave)}
/* ---- Indexação ---- */
.idx{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:16px;align-items:start}
.idx-esq{position:sticky;top:8px;max-height:calc(100vh - 16px);overflow:auto;padding-right:4px}
.campos{display:grid;gap:9px;background:var(--cartao);border:1px solid var(--linha);border-radius:12px;padding:14px}
.campos h2{margin:0 0 4px;font-size:16px}
.campos label{display:grid;gap:3px;font-size:12.5px;color:var(--suave)}
.campos input,.campos select{font-size:15px;color:var(--texto)}
.campos .dupla{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.campos .botoes{display:flex;gap:8px;margin-top:4px}.campos .botoes button:first-child{flex:1}
.desfazer{margin:4px 0 0}
.idx-docs{display:grid;gap:2px;max-height:42vh;overflow:auto;background:var(--cartao);border:1px solid var(--linha);border-radius:10px;padding:4px}
.idx-docs a{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;padding:6px 8px;border-radius:6px;color:var(--texto);text-decoration:none;font-size:13.5px}
.idx-docs a:nth-child(even){background:color-mix(in srgb,var(--marca-3) 6%,var(--cartao))}
.idx-docs a:hover{background:color-mix(in srgb,var(--marca-3) 16%,var(--cartao))}
.idx-docs a.atual{background:var(--marca);color:#fff}
.idx-docs small{display:block;font-size:11.5px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idx-docs .t{min-width:0}.idx-docs .ok-ico{color:var(--marca-3);font-weight:700}.idx-docs a.atual .ok-ico{color:var(--marca-4)}
.abas{display:flex;gap:6px;align-items:center;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.abas button{background:none;color:var(--suave);border:0;border-bottom:3px solid transparent;border-radius:0;padding:8px 12px}
.abas button.atual{color:var(--marca);border-bottom-color:var(--marca-3);font-weight:600}
.abas b{background:color-mix(in srgb,var(--marca-3) 18%,transparent);border-radius:10px;padding:0 7px;font-size:12px}
.nav-pag{margin-left:auto}.nav-pag button{padding:2px 10px;font-size:16px}
.acoes-idx{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.acoes-idx button{font-size:13px;padding:5px 10px}
.filme{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 8px}
.filme figure{margin:0;flex:0 0 74px;border:2px solid var(--linha);border-radius:6px;padding:3px;background:var(--cartao);cursor:pointer}
.filme img{display:block;width:100%;aspect-ratio:210/297;object-fit:contain;background:#fff}
.filme figcaption{text-align:center;font-size:11px;color:var(--suave)}
.filme figure.cursor{border-color:var(--marca-3)}.filme figure.sel{border-color:var(--marca);box-shadow:0 0 0 2px var(--marca-3)}
.visor-idx{background:#d9dfe0;border-radius:10px;padding:10px;min-height:60vh;text-align:center}
.visor-idx img{max-width:100%;max-height:calc(100vh - 230px);background:#fff;box-shadow:0 2px 10px #0003}
.secundario{background:var(--cartao);color:var(--marca);border-color:var(--linha)}
.botao.secundario{background:var(--cartao);color:var(--marca)!important;border:1px solid var(--linha)}
.cartao-borda .captura-caixa{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;margin:8px 0}
.cartao-borda .captura-caixa label{display:grid;gap:3px;font-size:12.5px;color:var(--suave)}
@media (max-width:900px){.idx{grid-template-columns:1fr}.idx-esq{position:static;max-height:none}}
.funcoes{border:1px solid var(--linha);border-radius:6px;padding:8px 12px;display:flex;gap:16px;flex-wrap:wrap}.funcoes legend{font-size:13px;color:var(--suave)}
.cartao-borda.destaque{border:2px solid var(--marca-3)}
.cartao-borda summary{cursor:pointer;padding:10px 0}
.importar{cursor:pointer;margin-left:0}
.idx-esq{overflow-x:hidden}
.campos input,.campos select{width:100%;box-sizing:border-box;min-width:0}
.campos .botoes button{white-space:nowrap}
.funcoes label{display:flex!important;gap:6px;align-items:center;color:var(--texto)!important;font-size:14px!important}
/* miniaturas ao vivo na digitalização */
.minis{margin-top:12px;border-top:1px solid var(--linha);padding-top:10px}
.minis-topo{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px;font-size:14px}
.grade-dig{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:430px;overflow:auto;padding:2px}
.grade-dig .mini{padding:4px;cursor:default}.grade-dig .mini figcaption{font-size:11px}
.grade-dig .mini .marca{font-size:9px;padding:0 4px}
.grade-dig .mini figcaption{white-space:nowrap;gap:4px}
.grade-dig .mini.redig::after{content:"REDIGIT.";font-size:9.5px;top:8px;left:8px;right:8px;padding:2px}
.grade-dig .mini.folha .marca::before{content:"Separ.";}
.grade-dig{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:560px}
.mini img{image-rendering:auto}
.visor-botoes{display:flex;gap:8px;align-items:center}.visor-botoes button{padding:8px 16px;font-size:15px}
/* ajustes automáticos */
.mini.branca{border-style:dashed;border-color:#9aa8ab}
.mini.branca .marca::before{content:"Em branco?";}.mini.branca .marca{background:#9aa8ab;color:#fff}
.mini.auto figcaption>span:first-child::after{content:" ↻ auto";color:var(--marca-2);font-weight:600}
.sugestao{font-size:12px;color:var(--marca-2);margin-top:-4px}
.campos input.sugerido{background:color-mix(in srgb,var(--marca-4) 22%,var(--cartao));border-color:var(--marca-3)}
.campos select.sugerido{background:color-mix(in srgb,var(--marca-4) 22%,var(--cartao));border-color:var(--marca-3)}
.sugestao-topo{margin:0;font-size:12.5px;padding:6px 10px;border-radius:6px;background:color-mix(in srgb,var(--marca-4) 18%,var(--cartao));color:var(--marca)}
/* avisos de sugestão: alto contraste nos dois temas */
.sugestao-topo{background:#eaf7dc!important;color:#173a12!important;border-left:4px solid #3a8f2a;font-size:13.5px!important;line-height:1.4}
.sugestao-topo strong{color:#0f2b0b}
.sugestao{color:var(--texto)!important;opacity:.8;font-size:12.5px!important}
@media (prefers-color-scheme:dark){
  .sugestao-topo{background:#1f3a1a!important;color:#e6f6dc!important;border-left-color:#8fd16f}
  .sugestao-topo strong{color:#fff}
  .campos input.sugerido,.campos select.sugerido{background:#1f3a1a;color:#f0fff0;border-color:#8fd16f}
}
/* imagem talvez ruim (escura/apagada/borrada): só aviso */
.mini.suspeita:not(.redig){border-color:#b36b00;border-style:dashed}
.mini.suspeita:not(.redig) .marca{background:#b36b00;color:#fff}
.mini.suspeita:not(.redig)[data-aviso="escura"] .marca::before{content:"Escura?"}
.mini.suspeita:not(.redig)[data-aviso="apagada"] .marca::before{content:"Apagada?"}
.mini.suspeita:not(.redig)[data-aviso="borrada"] .marca::before{content:"Borrada?"}
/* prontuário repetido (indexação): alto contraste nos dois temas */
.repetido{margin:2px 0 8px;padding:8px 10px;border-radius:6px;border:1px solid #b36b00;background:#fff4e0;color:#4a2c00;font-size:13px}
.repetido ul{margin:4px 0 4px 18px;padding:0}.repetido a{color:#7a3e00;font-weight:600}.repetido small{color:#5c3800}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .repetido{background:#3a2700;color:#ffe2b0;border-color:#e09a2a}
 :root:not([data-theme="light"]) .repetido a{color:#ffd27a}:root:not([data-theme="light"]) .repetido small{color:#ffdca0}}
:root[data-theme="dark"] .repetido{background:#3a2700;color:#ffe2b0;border-color:#e09a2a}
:root[data-theme="dark"] .repetido a{color:#ffd27a}:root[data-theme="dark"] .repetido small{color:#ffdca0}
/* lista de caixas: resumo por situação e linhas mais limpas */
.resumo-sit{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.resumo-sit a{display:inline-flex;gap:6px;align-items:baseline;padding:4px 10px;border:1px solid var(--linha);border-radius:999px;
  background:var(--cartao);color:var(--texto);text-decoration:none;font-size:13px}
.resumo-sit a b{font-variant-numeric:tabular-nums;color:var(--azul-esc)}
.resumo-sit a.prod{border-color:var(--marca-3)}
.resumo-sit a:hover{border-color:var(--marca)}
.resumo-sit a.ativo{background:var(--marca);border-color:var(--marca);color:#fff}.resumo-sit a.ativo b{color:#fff}
.lista-caixas .sub{display:block;color:var(--suave);font-size:12px}
.de-3a{font-size:10px;font-weight:700;color:var(--suave);border:1px solid var(--linha);border-radius:4px;padding:0 4px;vertical-align:1px}
.lista-caixas td{line-height:1.35;vertical-align:top}.lista-caixas .sub{margin-top:2px;line-height:1.3;white-space:normal}
.lista-caixas td a{display:inline-block}
/* Fila de tarefas */
.resumo-sit .separa{width:1px;background:var(--linha);margin:0 4px}
table.tarefas td{vertical-align:top;line-height:1.35}
table.tarefas .sub{margin:2px 0 0;font-size:12px;color:var(--suave)}
table.tarefas .alerta-txt{color:var(--alerta);font-weight:600}
table.tarefas tr.urgente td:first-child{box-shadow:inset 4px 0 0 var(--erro)}
table.tarefas .acoes{white-space:nowrap;text-align:right}
table.tarefas .acoes form{display:inline}
table.tarefas .acoes .botao{margin-left:4px}
.prazo{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.prazo.no-prazo{background:color-mix(in srgb,var(--ok) 16%,var(--cartao));color:var(--ok)}
.prazo.em-risco{background:color-mix(in srgb,var(--alerta) 18%,var(--cartao));color:var(--alerta)}
.prazo.atrasada{background:color-mix(in srgb,var(--erro) 16%,var(--cartao));color:var(--erro)}
details.mais{display:inline-block;position:relative;margin-left:4px}
details.mais summary{list-style:none;cursor:pointer;padding:3px 9px;border:1px solid var(--linha);border-radius:5px;font-weight:700}
details.mais summary::-webkit-details-marker{display:none}
details.mais>div{position:absolute;right:0;top:calc(100% + 4px);z-index:5;background:var(--cartao);border:1px solid var(--linha);
  border-radius:8px;padding:10px;display:grid;gap:8px;box-shadow:0 6px 18px rgba(0,0,0,.15);min-width:250px}
details.mais>div form{display:flex;gap:6px;align-items:center}
details.mais>div .botao{margin-left:0}
/* Qualidade: botões do fim */
.botoes-fim{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.botoes-fim form{margin:0}
button.secundario{background:var(--cartao);color:var(--marca);border:1px solid var(--linha)}
:root[data-theme="dark"] button.secundario{color:var(--azul)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) button.secundario{color:var(--azul)}}
/* Redigitalização na filial */
.redig-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px;margin-bottom:18px}
.redig-item{display:flex;gap:14px;background:var(--cartao);border:1px solid var(--linha);border-radius:10px;padding:12px}
.redig-item img{width:150px;height:auto;border:1px solid var(--linha);border-radius:4px;background:#fff}
.redig-item h3{margin:0 0 6px;font-size:15px}
.redig-item form{margin:8px 0 0}
.redig-item .troca label{display:grid;gap:4px;font-size:13px;color:var(--suave)}
.redig-item .troca .botao{margin:6px 0 0}
.redig-item .botao{margin-left:0}
.antes-depois figure{margin:0;text-align:center}.antes-depois figcaption{font-size:12px;color:var(--suave)}
@media (max-width:520px){.redig-lista{grid-template-columns:1fr}.redig-item{flex-direction:column}}
/* Remessas (GRD) */
.passos{display:flex;list-style:none;padding:0;margin:8px 0 16px;counter-reset:p;gap:0}
.passos li{flex:1;position:relative;padding:28px 6px 0;text-align:center;font-size:13px;color:var(--suave);counter-increment:p}
.passos li::before{content:counter(p);position:absolute;top:0;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;
  border:2px solid var(--linha);background:var(--cartao);line-height:18px;font-size:12px;font-weight:700;z-index:1}
.passos li::after{content:"";position:absolute;top:10px;left:-50%;width:100%;height:2px;background:var(--linha)}
.passos li:first-child::after{display:none}
.passos li.feito{color:var(--texto)}.passos li.feito::before{content:"✓";background:var(--ok);border-color:var(--ok);color:#fff}
.passos li.feito::after,.passos li.atual::after{background:var(--ok)}
.passos li.atual{color:var(--texto);font-weight:600}.passos li.atual::before{border-color:var(--azul);color:var(--azul)}
.passos small{display:block;font-weight:400;color:var(--suave)}
dl.dados{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}dl.dados dt{color:var(--suave)}dl.dados dd{margin:0}
.quebra{white-space:pre-line}
.conferencia{border-top:1px solid var(--linha);padding-top:10px;margin-top:12px}.conferencia h3{margin:0;font-size:15px}
.checks{display:flex;flex-wrap:wrap;gap:6px 14px;max-height:220px;overflow:auto}
.checks label{display:inline-flex;gap:5px;align-items:center;font-size:13px}
@media (max-width:600px){.passos li{font-size:11px}}
.aviso.alerta{border-color:var(--alerta);background:color-mix(in srgb,var(--alerta) 10%,var(--cartao))}
/* conferência por pallet */
.bipar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end;margin:6px 0}
.bipar label{display:flex;flex-direction:column;font-size:13px}.bipar input{min-width:260px}
.bipe-msg.ok{color:var(--ok)}.bipe-msg.erro{color:var(--erro);font-weight:600}
fieldset.pallet-conf{border:1px solid var(--linha);border-radius:8px;padding:6px 10px 10px;margin:8px 0}
fieldset.pallet-conf legend{font-weight:600;padding:0 4px}fieldset.pallet-conf legend label{display:inline-flex;gap:5px;align-items:center}
fieldset.pallet-conf .checks{max-height:none}
.checks label.lida{animation:lida 1.2s ease-out}
@keyframes lida{from{background:color-mix(in srgb,var(--ok) 35%,transparent)}to{background:transparent}}
tr.grupo th{background:color-mix(in srgb,var(--azul) 8%,var(--cartao));text-align:left;font-weight:600}
form.formulario.conferencia{grid-template-columns:1fr}
/* pastas de caixas (Em digitalização / Armazenamento / Todas) */
.pastas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 10px}
.pastas a{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:0 8px;padding:12px 14px;border:1px solid var(--linha);border-radius:10px;background:var(--cartao);color:inherit;text-decoration:none}
.pastas a span{font-weight:600}.pastas a b{font-size:20px;color:var(--azul)}.pastas a small{grid-column:1/-1;color:var(--suave,#667)}
.pastas a.ativo{border-color:var(--azul);box-shadow:inset 0 0 0 1px var(--azul);background:color-mix(in srgb,var(--azul) 6%,var(--cartao))}
@media (max-width:700px){.pastas{grid-template-columns:1fr}}
.formulario.grade-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.formulario.grade-2>div{grid-column:1/-1}
@media (max-width:700px){.formulario.grade-2{grid-template-columns:1fr}}
/* histórico da caixa */
ol.linha-tempo{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--linha)}
ol.linha-tempo li{position:relative;display:grid;grid-template-columns:150px 1fr auto;gap:4px 12px;padding:7px 0 7px 10px}
ol.linha-tempo li::before{content:"";position:absolute;left:-20px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--azul)}
ol.linha-tempo time{color:var(--suave,#667);font-variant-numeric:tabular-nums}ol.linha-tempo small{color:var(--suave,#667)}
@media (max-width:700px){ol.linha-tempo li{grid-template-columns:1fr}}
table.tarefas tr.atual td{background:color-mix(in srgb,var(--azul) 6%,transparent)}
form.desviar{flex-wrap:wrap}form.desviar input{flex:1 1 120px}
/* giro na hora (CQ e indexação) */
#grade figure img,#grande,dialog img,.filme img{transition:transform .15s ease-out}
.ferr-pag{display:inline-flex;gap:4px;margin-left:auto}
details.adicionar{margin:4px 0 6px}details.adicionar summary{cursor:pointer;color:var(--azul);font-size:13px}
.abrir-edicao p{margin:6px 0}
table.relatorio-etapas th.grupo-col{text-align:center;border-bottom:1px solid var(--linha)}
table.relatorio-etapas tfoot th,table.relatorio-etapas tfoot td{font-weight:700;border-top:2px solid var(--linha)}
/* registro de caixa e prontuários */
.registro .grade-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
fieldset.add-pront{display:grid;grid-template-columns:1fr 1.4fr auto;gap:10px;align-items:end;border:1px solid var(--linha);border-radius:8px;padding:8px 12px 12px}
.resumo-dest{margin:8px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:700px){.registro .grade-3,fieldset.add-pront{grid-template-columns:1fr}}
button.ok-btn{background:var(--ok);border-color:var(--ok)}
.formulario.registro{max-width:1000px}
.registro .grade-3 input,.registro .grade-3 select,fieldset.add-pront input{width:100%;box-sizing:border-box}
fieldset.add-pront button{white-space:nowrap}
.guarda .bipar input{min-width:320px}tr.nova td{animation:lida 1.5s ease-out}
/* Atendimento (chamados) */
.nivel{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:700;background:#e6f2f2;color:#00585c}
.nivel.n2{background:#fff3d6;color:#7a5200}.nivel.n3{background:#fde4e4;color:#8a1c1c}
.chamado-novo{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;max-width:860px}.chamado-novo .largo{grid-column:1/-1}
.chamado{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.conversa{display:flex;flex-direction:column;gap:12px}
.msg{background:#fff;border:1px solid #dfe8e8;border-radius:12px;padding:12px 16px;max-width:88%}
.msg.equipe{align-self:flex-end;background:#eef8f6;border-color:#cfe9e3}.msg.hospital{align-self:flex-start}
.msg.interna{align-self:flex-end;background:#fff8e6;border-color:#f0dca8;border-style:dashed}
.msg header{margin-bottom:6px}.msg .texto{white-space:pre-wrap;line-height:1.5}
.msg .anexos{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}
.evento-sis{align-self:center;font-size:.82rem;color:#5b6b6b;background:#eef2f2;border-radius:999px;padding:4px 12px;margin:0}
.responder .linha-opcoes{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end}
.check{display:flex;gap:6px;align-items:center;font-weight:400}
.acoes-chamado{display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}.acoes-chamado form{margin:0}
.acoes-chamado .cartao{display:flex;flex-direction:column;gap:10px}.acoes-chamado .botao{width:100%}
.chamado-estado{text-align:right}
@media (max-width:900px){.chamado{grid-template-columns:1fr}.acoes-chamado{position:static}.msg{max-width:100%}.chamado-novo{grid-template-columns:1fr}}
.chamado-estado{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.conversa form.responder{grid-template-columns:1fr;max-width:none;width:100%;box-sizing:border-box}
.responder label.check{flex-direction:row;display:flex}
.clipe{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;vertical-align:-2px;margin-right:4px}
.cabecalho:has(.chamado-estado){flex-wrap:nowrap;align-items:flex-start}.chamado-estado .sub{white-space:nowrap}
.numero-grande{text-align:right}.numero-grande b{display:block;font-size:1.9rem;color:#00585c;line-height:1}.numero-grande span{font-size:.82rem;color:#5b6b6b}
.colunas.assinatura{grid-template-columns:minmax(280px,380px) 1fr;align-items:start}
.barra{height:8px;border-radius:99px;background:#e3ecec;overflow:hidden;min-width:120px}.barra span{display:block;height:100%;background:#00a180;transition:width .4s}
.barra.grande{height:14px;margin:6px 0 12px}
tr.apagada td{opacity:.55}
@media (max-width:900px){.colunas.assinatura{grid-template-columns:1fr}}
[hidden]{display:none!important}
.colunas.assinatura form.formulario{grid-template-columns:1fr}
.formulario input,.formulario select,.formulario textarea{max-width:100%;box-sizing:border-box}
.cabecalho:has(.numero-grande){flex-wrap:nowrap;align-items:flex-start}
/* Menu Geral */
.menu a .contador{margin-left:auto;background:#a4e473;color:#003c3f;border-radius:999px;font-size:.72rem;font-weight:800;padding:1px 7px;line-height:1.5}
.lista-msg{list-style:none;margin:0;padding:0;background:var(--cartao);border:1px solid var(--linha);border-radius:10px;overflow:hidden}
.lista-msg li{border-bottom:1px solid var(--linha)}.lista-msg li:last-child{border-bottom:0}
.lista-msg a{display:grid;grid-template-columns:220px 1fr auto;gap:12px;padding:12px 16px;color:inherit;text-decoration:none;align-items:center}
.lista-msg a:hover{background:#f3f8f8}.lista-msg li.nao-lida a{font-weight:700}.lista-msg li.nao-lida .quem::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#00a180;margin-right:8px}
.lista-msg li.importante{border-left:4px solid #e0a000}.lista-msg .vazio{padding:16px}
.msg.atual{border-width:2px}
.grade-instaladores{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:16px}
.instalador h3{margin:0 0 6px}.instalador .hash{font-family:monospace;font-size:.72rem;color:#5b6b6b;word-break:break-all}
.instalador .acoes{display:flex;gap:8px;align-items:center}.instalador .acoes form{margin:0}
.grade-suporte{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:16px}
.opcao-suporte{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.opcao-suporte b{color:#00585c;font-size:1.1rem}.opcao-suporte:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,60,63,.12)}
.ajuda{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}
.ajuda .indice{position:sticky;top:16px;display:flex;flex-direction:column;gap:4px}.ajuda .indice a{color:#00585c;text-decoration:none;padding:3px 0}
.texto-ajuda{display:flex;flex-direction:column;gap:14px}.texto-ajuda section{scroll-margin-top:16px}.texto-ajuda h2{margin-top:0}
.texto-ajuda p{line-height:1.6;max-width:75ch}
.etapas-ajuda{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;counter-reset:e}
.etapas-ajuda li{counter-increment:e;background:#eef8f6;border-radius:999px;padding:4px 12px 4px 6px;font-size:.9rem}
.etapas-ajuda li::before{content:counter(e);display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#00a180;color:#fff;font-size:.75rem;margin-right:6px}
.colunas.assinatura>form{min-width:0}.colunas.assinatura .formulario input,.colunas.assinatura .formulario select{width:100%}
@media (max-width:900px){.ajuda{grid-template-columns:1fr}.ajuda .indice{position:static}.lista-msg a{grid-template-columns:1fr}}
.estado-sei{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.estado-sei .linha-check{flex-basis:100%;margin:4px 0 0}
.acoes-linha{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}.acoes-linha form{margin:0}
.ids-sei summary{cursor:pointer;color:#00585c;padding:4px 0}.ids-sei .formulario{min-width:260px;margin-top:6px}
.erro-sei{max-width:420px;font-size:.85rem;color:#8a1c1c}.texto-erro{color:#b42318}
.abas{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid var(--linha);margin:0 0 16px}
.abas a{padding:8px 14px;text-decoration:none;color:#3c5050;border-radius:8px 8px 0 0;margin-bottom:-2px;border-bottom:2px solid transparent}
.abas a.ativa{color:#00585c;font-weight:700;border-bottom-color:#00a180;background:#eef8f6}.abas a:hover{background:#f3f8f8}
.rotinas{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.rotina{display:flex;gap:14px;align-items:flex-start}.rotina h3{margin:0 0 2px}.rotina p{margin:4px 0}
.farol{flex:none;width:14px;height:14px;border-radius:50%;margin-top:5px;background:#00a180;box-shadow:0 0 0 4px #d8f2ea}
.rotina.alerta .farol{background:#e0a000;box-shadow:0 0 0 4px #fbefcf}.rotina.erro .farol{background:#d92d20;box-shadow:0 0 0 4px #fde2df}
.formulario.largo{max-width:760px}
.grade-campos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;align-items:start}
.grade-campos .formulario{gap:6px}.grade-campos h3{margin:0 0 6px}
.grade-hospitais{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 14px}.preparo{max-width:720px}
.lateral .menu{min-height:0}
.codigo-estacao{border:2px solid #00a180;margin-bottom:16px}.copiar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.copiar code{font-size:1.05rem;background:#eef8f6;padding:8px 12px;border-radius:6px;word-break:break-all}

/* ---------- Chat da equipe ---------- */
.chat{--chat-h:calc(100vh - 32px);display:grid;grid-template-columns:320px minmax(0,1fr);height:var(--chat-h);background:var(--cartao);border:1px solid var(--linha);border-radius:14px;overflow:hidden;box-shadow:0 8px 30px -18px rgba(0,70,80,.35)}
.conteudo main:has(> .chat){max-width:none;padding:16px}
.chat svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.chat-lado{display:flex;flex-direction:column;border-right:1px solid var(--linha);min-height:0;background:color-mix(in srgb,var(--fundo) 55%,var(--cartao))}
.chat-lado-topo{display:flex;align-items:center;gap:8px;padding:14px 14px 8px}
.chat-lado-topo h1{font-size:18px;margin:0;flex:1;color:var(--marca,#004650)}
.chat-acoes{display:flex;gap:4px}
.chat-icone{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;border:0;background:transparent;color:var(--marca-2,#007d82);cursor:pointer;padding:0;text-decoration:none}
.chat-icone:hover{background:color-mix(in srgb,var(--marca-2,#007d82) 12%,transparent)}
.chat-modo{display:flex;align-items:center;gap:8px;margin:0 14px 6px;padding:6px 10px;border-radius:8px;background:#fff4dc;color:#7a4d00;font-size:12.5px}
.chat-modo span{flex:1}.chat-modo button{background:transparent;border:0;color:inherit;text-decoration:underline;cursor:pointer;padding:0;font-size:12.5px}
.chat-busca{margin:0 14px 8px;width:calc(100% - 28px);border-radius:999px;padding:8px 14px;background:var(--cartao)}
.chat-lista{list-style:none;margin:0;padding:0 6px 10px;overflow-y:auto;flex:1;min-height:0}
.chat-lista-vazia{padding:24px 12px;text-align:center;color:var(--suave);font-size:13px}
.chat-item{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;padding:9px 8px;color:var(--texto);cursor:pointer}
.chat-item:hover{background:color-mix(in srgb,var(--marca-2,#007d82) 8%,transparent)}
.chat-item.atual{background:color-mix(in srgb,var(--marca-2,#007d82) 15%,transparent)}
.chat-item-texto{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}
.chat-item-linha{display:flex;align-items:center;gap:6px;min-width:0}
.chat-item-linha b{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-item-linha time{font-size:11.5px;color:var(--suave);white-space:nowrap}
.chat-item-linha small{flex:1;font-size:12.5px;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-item.nova b{color:var(--marca,#004650)}.chat-item.nova small{color:var(--texto);font-weight:600}.chat-item.nova time{color:var(--marca-3,#00a180);font-weight:700}
.chat-badge{font-style:normal;background:var(--marca-3,#00a180);color:#fff;border-radius:999px;font-size:11px;font-weight:800;padding:1px 7px;line-height:1.6}
.chat-avatar{position:relative;flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:16px;background:var(--marca-2,#007d82)}
.chat-avatar.todos{background:var(--marca,#004650)}.chat-avatar.grupo{background:var(--marca-3,#00a180)}
.chat-avatar svg{width:22px;height:22px;stroke:#fff}
.chat-online{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;background:#2ec26a;border:2px solid var(--cartao)}
.chat-conversa{display:flex;flex-direction:column;min-width:0;min-height:0}
.chat-conversa-topo{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--linha);min-height:62px}
.chat-topo-texto{flex:1;min-width:0;display:flex;flex-direction:column}
.chat-topo-texto b{font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-info{font-size:12.5px;color:var(--suave)}.chat-info.on{color:#1d9a54}
.chat-voltar{display:none}
.chat-msgs{flex:1;min-height:0;overflow-y:auto;padding:14px 18px 10px;display:flex;flex-direction:column;gap:2px;
  background:color-mix(in srgb,var(--fundo) 70%,var(--cartao)) radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--marca-2,#007d82) 9%,transparent) 1px,transparent 0) 0 0/22px 22px}
.chat-vazio{margin:auto;text-align:center;color:var(--suave)}
.chat-vazio svg{width:56px;height:56px;stroke:color-mix(in srgb,var(--marca-2,#007d82) 45%,transparent);stroke-width:1.4}
.chat-carregando,.chat-sem-msg,.chat-erro{margin:auto;color:var(--suave);font-size:13.5px}.chat-erro{color:var(--erro)}
.chat-dia{display:flex;justify-content:center;margin:10px 0 6px}
.chat-dia span{background:var(--cartao);border:1px solid var(--linha);border-radius:999px;padding:2px 12px;font-size:11.5px;color:var(--suave);font-weight:600}
.chat-sistema{align-self:center;font-size:12px;color:var(--suave);background:color-mix(in srgb,var(--cartao) 80%,transparent);border-radius:8px;padding:3px 10px;margin:6px 0}
.chat-msg{position:relative;max-width:min(560px,78%);align-self:flex-start;background:var(--cartao);border:1px solid var(--linha);border-radius:4px 14px 14px 14px;padding:6px 10px 18px;margin-top:8px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.chat-msg.seguida{margin-top:2px;border-top-left-radius:14px}
.chat-msg.minha{align-self:flex-end;background:#dff3ea;border-color:#c6e6d7;border-radius:14px 4px 14px 14px}
.chat-msg.minha.seguida{border-top-right-radius:14px}
.chat-msg p{margin:0;font-size:14.5px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.chat-msg time{position:absolute;right:9px;bottom:3px;font-size:10.5px;color:var(--suave)}
.chat-autor{display:block;font-size:12.5px;margin-bottom:2px}
.chat-msg a{color:var(--marca-2,#007d82)}
.chat-caixa{font-weight:700;background:color-mix(in srgb,var(--marca-4,#a4e473) 35%,transparent);border-radius:4px;padding:0 4px;text-decoration:none}
.chat-img{display:block;margin:2px 0 4px}.chat-img img{display:block;max-width:100%;max-height:260px;border-radius:8px}
.chat-arq{display:flex;align-items:center;gap:8px;padding:8px 10px;margin:2px 0 4px;border-radius:8px;background:color-mix(in srgb,var(--marca-2,#007d82) 8%,transparent);text-decoration:none;font-size:13.5px}
.chat-arq svg{width:22px;height:22px;flex:none}
.chat-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--linha);background:var(--cartao)}
.chat-form[hidden]{display:none}
.chat-anexar{cursor:pointer}
.chat-escrever{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.chat-texto{width:100%;resize:none;border-radius:20px;padding:9px 14px;max-height:140px;line-height:1.4;font:inherit;font-size:14.5px}
.chat-arq-nome{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--suave);padding:0 8px}
.chat-arq-nome[hidden]{display:none}
.chat-arq-nome span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-arq-nome button{background:transparent;border:0;color:var(--erro);font-size:18px;line-height:1;cursor:pointer;padding:0 4px}
.chat-enviar{flex:none;width:42px;height:42px;border-radius:50%;padding:0;display:grid;place-items:center;background:var(--marca-2,#007d82);border-color:var(--marca-2,#007d82)}
.chat-enviar svg{stroke:#fff}.chat-enviar:disabled{opacity:.5}
.chat-leitura{margin:0;padding:12px;text-align:center;font-size:13px;color:#7a4d00;background:#fff4dc;border-top:1px solid var(--linha)}
.chat-dialogo{border:0;border-radius:14px;padding:0;width:min(440px,92vw);box-shadow:0 30px 60px -20px rgba(0,0,0,.35);color:var(--texto);background:var(--cartao)}
.chat-dialogo::backdrop{background:rgba(0,40,45,.35)}
.chat-dialogo-caixa{display:flex;flex-direction:column;max-height:80vh}
.chat-dialogo-caixa header{display:flex;align-items:center;padding:12px 12px 8px 18px}
.chat-dialogo-caixa header b{flex:1;font-size:16px}
.chat-dialogo-corpo{overflow-y:auto;padding:0 12px 6px;min-height:0}
.chat-dialogo-corpo .chat-busca{margin:0 0 8px;width:100%}
.chat-dialogo-rodape{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--linha)}
.chat-dialogo-rodape:empty{display:none}
.chat-pessoas{list-style:none;margin:0;padding:0}
.chat-pessoa{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;padding:8px;color:var(--texto);cursor:pointer;font:inherit}
.chat-pessoa:hover{background:color-mix(in srgb,var(--marca-2,#007d82) 8%,transparent)}
.chat-pessoa input{width:18px;height:18px;flex:none;accent-color:var(--marca-2,#007d82)}
.chat-pessoa small{font-size:12px;color:var(--suave)}
.chat-rotulo{display:grid;gap:4px;font-size:13px;color:var(--suave);margin:4px 4px 10px}
.chat-botao{border-radius:8px}.chat-botao.claro{background:transparent;color:var(--erro);border-color:var(--linha)}
/* janelinha (iframe) e telas pequenas: uma coluna */
.chat-mini-corpo{margin:0;background:var(--cartao)}
.chat.mini{--chat-h:100vh;border:0;border-radius:0;box-shadow:none}
.chat.mini,.chat.mini.com-conversa{grid-template-columns:minmax(0,1fr)}
.chat-lado,.chat-conversa{min-width:0}
.chat.mini .chat-conversa,.chat.mini.com-conversa .chat-lado{display:none}
.chat.mini.com-conversa .chat-conversa{display:flex}
.chat.mini .chat-voltar{display:inline-grid}
.chat.mini .chat-lado-topo h1{font-size:16px}
@media (max-width:800px){
  .chat{grid-template-columns:minmax(0,1fr);--chat-h:calc(100vh - 90px)}
  .chat .chat-conversa,.chat.com-conversa .chat-lado{display:none}
  .chat.com-conversa .chat-conversa{display:flex}
  .chat .chat-voltar{display:inline-grid}
  .chat-msg{max-width:88%}
}
/* botão flutuante em todas as telas */
.chat-flutuante{position:fixed;right:22px;bottom:22px;z-index:900;height:52px;border-radius:999px;padding:0 22px 0 18px;display:flex;align-items:center;gap:9px;color:#fff;font-weight:700;font-size:16px;letter-spacing:.2px;
  background:linear-gradient(145deg,var(--marca-2,#007d82),var(--marca,#004650));border:0;box-shadow:0 10px 26px -8px rgba(0,70,80,.55);cursor:pointer}
.chat-flutuante:hover{transform:translateY(-1px)}
.chat-flutuante svg{width:24px;height:24px;flex:none;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.chat-flutuante .contador{position:absolute;top:-6px;right:-6px;margin:0;background:#a4e473;color:#003c3f;border-radius:999px;font-weight:800;border:2px solid #fff;font-size:12px;min-width:24px;height:24px;line-height:20px;padding:0 6px;text-align:center;box-sizing:border-box}
.chat-flutuante.aberto{background:var(--marca,#004650)}
.chat-painel{position:fixed;right:22px;bottom:92px;z-index:900;width:380px;height:min(620px,calc(100vh - 120px));border-radius:16px;overflow:hidden;
  background:var(--cartao);box-shadow:0 30px 70px -20px rgba(0,40,45,.45);border:1px solid var(--linha)}
.chat-painel iframe{width:100%;height:100%;border:0;display:block}
.chat-painel[hidden]{display:none}
@media (max-width:600px){.chat-painel{right:8px;left:8px;width:auto;bottom:84px}.chat-flutuante{right:14px;bottom:14px}}
@media print{.chat-flutuante,.chat-painel{display:none!important}}

/* ---------- robô verificador ---------- */
.selo.g3{background:color-mix(in srgb,var(--erro) 15%,var(--cartao));color:var(--erro)}
.selo.g2{background:color-mix(in srgb,var(--alerta) 16%,var(--cartao));color:var(--alerta)}
.selo.g1{background:color-mix(in srgb,var(--marca-2) 15%,var(--cartao));color:var(--azul)}
.verif-robos{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
.verif-tabela td.acoes{white-space:nowrap;text-align:right}
.verif-tabela td.acoes form{display:inline;margin-left:8px}
.verif{border:1px solid var(--alerta);border-radius:10px;padding:10px 12px;margin:0 0 12px;
  background:color-mix(in srgb,var(--alerta) 8%,var(--cartao))}
.verif-titulo{margin:0 0 6px;font-weight:600;font-size:14px}
.verif-item{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;padding:6px 0;border-top:1px solid color-mix(in srgb,var(--alerta) 25%,transparent);font-size:13.5px}
.verif-item:first-of-type{border-top:0}
.verif-item .selo{margin-right:6px}
.verif-item button{flex:none;white-space:nowrap}
.idx-docs .verif-n{color:var(--alerta);font-weight:700;margin-right:4px}
.idx-docs .verif-n.g3{color:var(--erro)}
button.link-ok{background:none;border:0;color:var(--azul);padding:4px 0;font-size:13px;text-decoration:underline;cursor:pointer;min-height:0}
a.botao.pequeno{padding:4px 12px;font-size:13px}
.verif-tabela .bloco{display:block}
.verif-tabela .sub{display:block;position:static;margin-top:2px;font-size:12px;line-height:1.35;color:var(--suave)}
.verif-tabela td{vertical-align:top}
.verif-tabela td.quando{font-size:12px;color:var(--suave);white-space:nowrap}
