/* Sistema Zup — mesma linguagem visual do fila.zuper.cloud: Inter, roxo Zup,
   verde-limão de destaque, cantos generosos e sombras suaves. Celular primeiro. */
:root{
  --ink:#1a1024; --ink-soft:#4a4257; --ink-faint:#6b6478;
  --paper:#f5f2f8; --surface:#ffffff; --sunk:#f4f0f8; --tint:#efe7f6;
  --line:#e4deee; --line-soft:#eee9f4;
  /* --mark e texto/ícone roxo (clareia no escuro); --roxo e fundo roxo cheio, igual nos dois
     temas, sempre com texto branco; --mark-ink e o texto sobre fundo --mark. */
  --mark:#650199; --mark-dark:#4a0170; --mark-ink:#ffffff; --roxo:#650199; --steel:#650199; --risk:#c2410c; --ok:#16a34a;
  /* limão: sempre com texto roxo-escuro por cima, nunca branco */
  --accent:#cbda59; --accent-soft:#eef3c9; --accent-ink:#4a0170; --accent-soft-ink:#4a0170;
  --risk-bg:#fdeee6; --ok-bg:#e8f6ec; --info-bg:#f2e9f8;
  --hero-a:#650199; --hero-b:#4a0170;
  /* sombra quase invisível: o cartão se separa do fundo pela cor. Não usar "none":
     há regras que compõem "inset ..., var(--sombra)" e ficariam inválidas. */
  --sombra:0 1px 2px rgba(26,16,36,.05);
  --sombra-alta:0 12px 32px -12px rgba(26,16,36,.25);
  --r:16px; --r-md:14px; --r-sm:12px;
  --fonte:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --barra:60px; --topo-h:56px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#f3eef8; --ink-soft:#cabfd8; --ink-faint:#9b8eab;
    --paper:#000000; --surface:#121212; --sunk:#1d1a21; --tint:#2c1f39;
    --line:#2e2836; --line-soft:#1f1b24;
    --mark:#c084fc; --mark-dark:#a855f7; --mark-ink:#1b0a26; --roxo:#650199; --steel:#c084fc; --risk:#fb923c; --ok:#4ade80;
    --accent:#cbda59; --accent-soft:#2b3010; --accent-ink:#2a0140; --accent-soft-ink:#e3eba4;
    --risk-bg:#3a1d12; --ok-bg:#12301d; --info-bg:#2c1f39;
    --hero-a:#4a0170; --hero-b:#24003a;
    --sombra:0 0 0 0 transparent;
    --sombra-alta:0 24px 48px -20px rgba(0,0,0,.7);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
    --ink:#f3eef8; --ink-soft:#cabfd8; --ink-faint:#9b8eab;
    --paper:#000000; --surface:#121212; --sunk:#1d1a21; --tint:#2c1f39;
    --line:#2e2836; --line-soft:#1f1b24;
    --mark:#c084fc; --mark-dark:#a855f7; --mark-ink:#1b0a26; --roxo:#650199; --steel:#c084fc; --risk:#fb923c; --ok:#4ade80;
    --accent:#cbda59; --accent-soft:#2b3010; --accent-ink:#2a0140; --accent-soft-ink:#e3eba4;
    --risk-bg:#3a1d12; --ok-bg:#12301d; --info-bg:#2c1f39;
    --hero-a:#4a0170; --hero-b:#24003a;
    --sombra:0 0 0 0 transparent;
    --sombra-alta:0 24px 48px -20px rgba(0,0,0,.7);
    color-scheme:dark;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--fonte);font-size:15.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,button,input,select,textarea,label,.lbl,.chip,th{font-family:var(--fonte)}
.mono,.code,.n,.grande{font-variant-numeric:tabular-nums}
.lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mark)}
p{margin:0}

/* marca do login */
.logo{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--mark),var(--mark-dark));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;box-shadow:0 4px 12px -4px rgba(101,1,153,.6)}

/* estrutura */
.tela{padding:16px;display:flex;flex-direction:column;gap:16px;max-width:1100px;margin:0 auto}
.bloco{background:var(--surface);padding:20px;display:flex;flex-direction:column;gap:12px;border-radius:var(--r);border:0;box-shadow:var(--sombra)}
.bloco h2{font-size:20px;margin:0;font-weight:800;letter-spacing:-.025em;line-height:1.2;text-wrap:balance}
.bloco h3{font-weight:700;letter-spacing:-.01em}
.lead{color:var(--ink-soft);font-size:15px}

/* formulários */
label.f{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-soft);font-weight:600}
input,select,textarea{width:100%;background:var(--surface);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--mark);box-shadow:0 0 0 4px rgba(101,1,153,.12)}
textarea{min-height:90px;font-size:15px;resize:vertical}
button:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(101,1,153,.22)}
input[type=checkbox]{width:18px;height:18px;accent-color:var(--mark)}

/* botões */
button{font-size:14px;font-weight:600;padding:12px 16px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:var(--r-sm);transition:transform .08s,background .15s,box-shadow .15s}
button:active{transform:scale(.98)}
button.primaria{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);width:100%;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:14px 18px;box-shadow:0 8px 20px -10px rgba(140,160,20,.7)}
button.primaria:hover{background:#c2d24a}
button.fantasma{background:transparent;border-color:var(--mark);color:var(--mark)}
button.perigo{color:var(--risk);border-color:var(--risk);background:transparent}
button.mini{padding:8px 13px;font-size:12.5px;width:auto;border-radius:10px}
button:disabled{opacity:.5;cursor:default}
.acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.grade{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:620px){.grade{grid-template-columns:1fr 1fr}.grade.tres{grid-template-columns:1fr 1fr 1fr}}

/* avisos e cartões */
.aviso{font-size:13px;color:var(--ink-faint)}
.nota{background:var(--sunk);padding:13px 15px;font-size:14.5px;color:var(--ink-soft);border-radius:var(--r-md);border:1px solid var(--line-soft)}
.nota.risco{background:var(--risk-bg);border-color:transparent}
.nota.ok{background:var(--ok-bg);border-color:transparent}
.nota.info{background:var(--info-bg);border-color:transparent}
.nota b{color:var(--ink)}
.cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.cartoes>div{background:var(--sunk);padding:15px;display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--ink-soft);border-radius:var(--r-md)}
.cartoes b{color:var(--ink);font-size:14px;font-weight:700}
.grande{font-size:30px;font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1.05}

/* tabelas */
.tabela{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--line-soft)}
table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}
th{text-align:left;font-size:11.5px;font-weight:700;color:var(--ink-faint);padding:10px 12px;background:var(--sunk);border-bottom:1px solid var(--line-soft)}
td{padding:11px 12px;border-bottom:1px solid var(--line-soft);color:var(--ink-soft);vertical-align:top}
tr:last-child td{border-bottom:none}
td:first-child{color:var(--ink);font-weight:600;font-size:13.5px}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;color:var(--mark);font-weight:700;white-space:nowrap}

/* chips */
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:11.5px;font-weight:600;padding:4px 10px;color:var(--mark-dark);background:var(--tint);border-radius:999px}
/* :where não soma especificidade: .chip.acc, .chip.risco e .chip.ok continuam vencendo no escuro */
@media (prefers-color-scheme:dark){:where(:root:not([data-theme="light"])) .chip{color:var(--ink-soft)}}
:where(:root[data-theme="dark"]) .chip{color:var(--ink-soft)}
.chip.acc{background:var(--accent);color:var(--accent-ink)}
.chip.risco{background:var(--risk-bg);color:var(--risk)}
.chip.ok{background:var(--ok-bg);color:var(--ok)}
.pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--sunk)}
.pill.alta{background:var(--risk-bg);color:var(--risk)}
.pill.media{background:var(--accent-soft);color:var(--accent-soft-ink)}
.pill.baixa{background:var(--ok-bg);color:var(--ok)}

/* listas de procedimentos */
.lista{display:flex;flex-direction:column;gap:6px}
.linha{background:var(--surface);border:1px solid var(--line-soft);text-align:left;width:100%;padding:13px 15px;display:flex;flex-direction:column;gap:2px;cursor:pointer;border-radius:var(--r-md)}
.linha .code{font-size:11.5px;font-weight:700;color:var(--mark)}
.linha .nm{font-weight:700;font-size:14.5px;color:var(--ink)}
.linha .ar{font-size:12px;color:var(--ink-faint)}
.linha[aria-current="true"]{border-color:var(--mark);background:var(--tint)}
.sec{margin-bottom:18px}
.sec h3{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mark);margin:0 0 8px}
.sec ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.sec li{font-size:15px;color:var(--ink-soft)}
.sec li::marker{color:var(--mark)}
.comp{padding:12px 0;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:8px}
.comp .nm{font-size:14.5px;color:var(--ink-soft)}
.comp .nm b{display:block;font-size:11.5px;color:var(--mark)}

/* escala: controle segmentado */
.escala{display:flex;gap:3px;background:var(--sunk);padding:4px;border-radius:14px}
.escala button{flex:1;padding:9px 3px;font-size:11.5px;color:var(--ink-soft);border:none;background:transparent;border-radius:10px;font-weight:600;line-height:1.2}
.escala button[aria-pressed="true"]{background:var(--mark);color:var(--mark-ink)}
.marca{background:var(--accent);color:var(--accent-ink);padding:0 3px;border-radius:4px}

/* login */
.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:22px}
.login .caixa{background:var(--surface);padding:30px;width:100%;max-width:410px;display:flex;flex-direction:column;gap:15px;border-radius:28px;box-shadow:var(--sombra-alta);border:1px solid var(--line-soft)}
.login h1{font-size:28px;margin:0;letter-spacing:-.03em;font-weight:800}
.erro{color:var(--risk);font-size:14px;font-weight:600}
.ok{color:var(--ok);font-size:14px;font-weight:600}

/* ---------- chat ---------- */
.tela-chat{padding:0;gap:0;max-width:none}
.ch{display:flex;flex-direction:column;background:var(--surface)}
.ch-topo{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line-soft)}
.ch-topo input{flex:1;min-width:0}
.ch-conversas,.ch-contatos{overflow-y:auto;flex:1}
.ch-item{display:flex;align-items:center;gap:11px;width:100%;border:none;border-bottom:1px solid var(--line-soft);background:var(--surface);padding:11px 12px;text-align:left;font-weight:400}
.ch-item.atual{background:var(--sunk);box-shadow:inset 3px 0 var(--mark)}
.ch-av{flex:0 0 40px;height:40px;border-radius:50%;background:var(--sunk);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;font:600 13px var(--fonte);position:relative}
.ch-av.on::after{content:"";position:absolute;right:1px;bottom:1px;width:10px;height:10px;border-radius:50%;background:var(--ok);border:2px solid var(--surface)}
.ch-meio{flex:1;min-width:0;display:flex;flex-direction:column}
.ch-nome{font:600 14.5px var(--fonte);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-nome i{font-style:normal;font-weight:400;font-size:11px;color:var(--ink-faint)}
.ch-prev{font-size:13px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--fonte)}
.ch-lado{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.ch-hora{font:11px var(--fonte);color:var(--ink-faint);white-space:nowrap}
.ch-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--ok);color:#fff;font:600 11px/20px var(--fonte);text-align:center}
.ch-badge.mencao{background:var(--accent);color:var(--accent-ink)}
.ch-contato{display:flex;align-items:center;border-bottom:1px solid var(--line-soft)}
.ch-contato .ch-item{border-bottom:none}
.ch-marca{font:12px var(--fonte);color:var(--ink-soft);padding:0 12px;display:flex;gap:5px;align-items:center;white-space:nowrap}
.ch-cab{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--surface)}
.ch-lista{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:4px;background:var(--paper)}
.ch-dia{align-self:center;margin:10px 0 4px;font:11px var(--fonte);color:var(--ink-faint);background:var(--surface);padding:3px 10px;border-radius:10px;text-transform:capitalize}
.ch-msg{max-width:82%;align-self:flex-start;background:var(--surface);padding:7px 10px 5px;border-radius:4px 12px 12px 12px;display:flex;flex-direction:column;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.ch-msg.meu{align-self:flex-end;background:var(--tint);border-radius:12px 4px 12px 12px}

.ch-msg.apagada{opacity:.6}
.ch-msg img{max-width:100%;max-height:320px;border-radius:8px;display:block;margin:2px 0 4px}
.ch-autor{font:600 12px var(--fonte);color:var(--steel);margin-bottom:1px}
.ch-meta{align-self:flex-end;font:10.5px var(--fonte);color:var(--ink-faint);display:flex;gap:6px;align-items:center}
.ch-apagar{border:none;background:none;padding:0;font:10.5px var(--fonte);color:var(--ink-faint);text-decoration:underline}
.ch-mencao{color:var(--steel)}
.ch-mencao.eu{background:var(--accent);color:var(--accent-ink);padding:0 2px}
.ch-os{font-family:var(--fonte);font-size:13px;border:1px solid var(--mark);padding:0 4px;white-space:nowrap}
.ch-envio{display:flex;align-items:flex-end;gap:8px;padding:8px 10px;border-top:1px solid var(--line);background:var(--surface)}
.ch-envio textarea{flex:1;resize:none;min-height:42px;max-height:140px;font-size:16px}
.ch-foto{font-size:22px;padding:6px;cursor:pointer;line-height:1}
.ch-enviar{border-radius:50%;width:44px;height:44px;padding:0;background:var(--ink);color:var(--paper);border:none;font-size:17px}
.ch-vazio{text-align:center;margin:auto;padding:30px}
.ch .bloco{margin:12px}
@media(min-width:900px){
  .ch-larga{flex-direction:row;max-width:1300px;margin:0 auto;width:100%;border-left:1px solid var(--line);border-right:1px solid var(--line)}
  .ch-col{display:flex;flex-direction:column;width:340px;border-right:1px solid var(--line);min-height:0}
  .ch-principal{flex:1;width:auto;border-right:none}
  .ch-principal #chVoltar{display:none}
}
.ch-aviso{margin:0;padding:8px 12px;font:12px var(--fonte);color:var(--ink-faint);background:var(--sunk);border-bottom:1px solid var(--line-soft)}
.ch-rodape{border-top:1px solid var(--line);border-bottom:none;text-align:center;padding:12px}
.ch-secao{padding:14px 12px 6px;font:600 10px var(--fonte);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-soft)}

/* ---------- gente ---------- */
.gt-ola h2{font-size:24px}
.gt-convite{border-left:3px solid var(--mark)}
.gt-pessoa{display:flex;align-items:center;gap:11px;width:100%;border:none;border-bottom:1px solid var(--line-soft);background:var(--surface);padding:12px 4px;text-align:left;font-weight:400}
.gt-pessoa .chips{margin-top:5px}
.gt-rec{border-bottom:1px solid var(--line-soft);padding:12px 0;display:flex;flex-direction:column;gap:4px}
.gt-rec p{margin:0}
.gt-fala{font-style:italic;color:var(--ink-soft);margin:4px 0}
.gt-abas{display:flex;gap:2px;overflow-x:auto;margin-top:12px;border-bottom:1px solid var(--line)}
.gt-abas button{border:none;background:none;padding:10px 12px;font-size:13px;color:var(--ink-faint);white-space:nowrap;border-bottom:2px solid transparent}
.gt-abas button[aria-current="true"]{color:var(--ink);border-bottom-color:var(--mark)}
.gt-bloco{background:var(--sunk);padding:12px;margin:8px 0;display:flex;flex-direction:column;gap:6px}
.gt-pauta{display:flex;justify-content:space-between;gap:8px;background:var(--surface);padding:8px 10px;font-size:14.5px}
.gt-pauta i,.gt-comb i{color:var(--ink-faint);font-size:12px}
.gt-add{display:flex;gap:6px}
.gt-add input{flex:1;min-width:0;padding:9px}
.gt-comb{display:flex;gap:8px;align-items:flex-start;font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink)}
.gt-comb input{width:auto;margin-top:4px}
.gt-obj{border:1px solid var(--line);padding:14px;margin:10px 0;display:flex;flex-direction:column;gap:6px;background:var(--surface)}
.gt-obj.fechado{opacity:.7}
.gt-obj.novo{border-color:var(--mark);box-shadow:inset 3px 0 var(--mark)}
.gt-obj h3{margin:4px 0 0;font-size:17px}
.gt-obj p{margin:0}
.gt-702010{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;background:var(--line-soft)}
.gt-702010>div{background:var(--surface);padding:10px;font-size:14px;display:flex;flex-direction:column;gap:2px}
.gt-702010 b{font-family:var(--fonte);color:var(--mark);font-size:18px}
.gt-702010 span{font:600 12px var(--fonte);color:var(--ink-soft)}
.gt-check{border-left:2px solid var(--line);padding-left:10px;font-size:14px}
.gt-check p{margin:3px 0}
.gt-fatos{margin-top:10px}
.gt-fatos .cartoes>div{flex-direction:column}
.gt-fatos .grande{font-size:24px}
.gt-item{padding:10px 0;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:6px}
.gt-item .escala button{font-size:12px;padding:8px 6px}
tr.gt-gap td{background:rgba(203,218,89,.28)}
.gt-det{margin:8px 0;border:1px solid var(--line-soft);padding:10px;background:var(--surface)}
.gt-det summary{cursor:pointer;font:600 14px var(--fonte)}
#rcValor{flex-wrap:wrap}#rcValor button{flex:1 1 30%;font-size:12px}
.gt-pessoa .ch-prev{white-space:normal}
.gt-abas{overflow:visible}.gt-abas button{flex:1;padding:10px 2px;font-size:12.5px}
.gt-702010{grid-template-columns:repeat(3,minmax(0,1fr))}.gt-702010>div{font-size:13px;padding:8px}

/* ---------- escola ---------- */
.gt-atalho{display:flex;flex-direction:column;gap:3px;text-align:left;border:none;background:var(--surface);padding:14px;font:400 14.5px var(--fonte);color:var(--ink-soft)}
.gt-atalho b{font:600 15px var(--fonte);color:var(--ink)}
.es-degrau{border-left:3px solid var(--mark);padding:6px 12px;display:flex;flex-direction:column;gap:6px}
.es-degrau p{margin:0}
.es-muda{background:var(--sunk);padding:8px 10px;margin:0}
.es-req,.es-linha{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--line-soft)}
.es-linha>span:first-child{flex:1 1 180px}
.es-linha i{color:var(--ink-faint);font-size:12px}
.es-cert{max-width:220px;max-height:220px;border:1px solid var(--line);display:block;margin:4px 0}
.es-selos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.es-selo{border:1px solid var(--mark);padding:10px;display:flex;flex-direction:column;gap:3px;background:var(--surface)}
.es-selo b{font:600 13.5px var(--fonte)}
.es-selo span{font-size:12px;color:var(--ink-faint)}
.es-selo.vida,.es-vida{border-color:var(--ok)}
.es-time{padding:10px 0;border-bottom:1px solid var(--line-soft)}
.es-alerta{color:var(--risk);font-size:14px}
.gt-item>b{font-weight:600;font-size:15.5px}
.cl-barra{height:8px;background:var(--sunk);margin-top:6px}
.cl-barra span,.cl-mini span{display:block;height:100%;background:var(--ok)}
.cl-mini{height:4px;background:var(--sunk);margin-top:4px;max-width:220px}

/* ---------- linguagem fila.zuper.cloud aplicada aos módulos ---------- */
.gt-ola{background:linear-gradient(140deg,var(--hero-a) 0%,var(--hero-b) 100%);color:#fff;border:none;box-shadow:none;position:relative;overflow:hidden}
.gt-ola::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(203,218,89,.35),transparent 70%);pointer-events:none}
.gt-ola>*{position:relative;z-index:1}
.gt-ola .lbl{color:var(--accent)}
.gt-ola h2{color:#fff;font-size:26px}
.gt-ola .lead{color:rgba(255,255,255,.84)}
.gt-ola .cartoes>div{background:rgba(255,255,255,.1);color:rgba(255,255,255,.86);backdrop-filter:blur(4px)}
.gt-ola .cartoes b,.gt-ola .grande{color:#fff}
.gt-ola .nota{background:rgba(255,255,255,.14);color:#fff;border-color:transparent}
.gt-ola .nota b{color:#fff}
.gt-ola .aviso,.gt-ola .erro{color:rgba(255,255,255,.8)}
.gt-ola button.mini{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.28)}
.gt-ola button.mini.fantasma{background:transparent}
.gt-convite{border:1.5px solid var(--accent);background:linear-gradient(160deg,var(--surface) 40%,var(--accent-soft) 160%)}
.gt-atalho{border-radius:var(--r-md);background:var(--sunk)!important;font-family:var(--fonte)!important;font-size:14px!important}
.gt-atalho:hover{background:var(--tint)!important}
.gt-pessoa{border-radius:var(--r-md);padding:12px 10px}
.gt-pessoa:hover{background:var(--sunk)}
.gt-rec{background:var(--sunk);border-radius:var(--r-md);padding:14px;border:none;margin-bottom:8px}
.gt-fala{font-style:normal;color:var(--ink)}
.gt-abas{background:var(--sunk);border:none;border-radius:14px;padding:4px;gap:3px}
.gt-abas button{border:none!important;border-radius:10px;color:var(--ink-soft);font-weight:600}
.gt-abas button[aria-current="true"]{background:var(--surface);color:var(--mark);box-shadow:var(--sombra)}
.gt-bloco{border-radius:var(--r-md)}
.gt-pauta{border-radius:10px}
.gt-obj{border-radius:var(--r-md);border-color:var(--line-soft);box-shadow:var(--sombra)}
.gt-obj.novo{box-shadow:inset 0 0 0 2px var(--accent),var(--sombra)}
.gt-702010{background:none;gap:8px}
.gt-702010>div{border-radius:12px;background:var(--sunk)}
.gt-702010 b{color:var(--mark);font-weight:800}
.gt-check{border-left-color:var(--accent)}
.gt-det{border-radius:var(--r-md)}
.gt-det summary{font-weight:700}
tr.gt-gap td{background:rgba(203,218,89,.28)}
.es-degrau{border-left:none;background:var(--sunk);border-radius:var(--r-md);padding:14px}
.es-muda{background:var(--accent-soft);color:var(--accent-soft-ink);border-radius:10px}
.es-selo{border:none;background:linear-gradient(150deg,var(--tint),var(--sunk));border-radius:var(--r-md);box-shadow:inset 0 0 0 1.5px rgba(101,1,153,.2)}
.es-selo.vida,.es-vida{box-shadow:inset 0 0 0 1.5px rgba(22,163,74,.35)}
.es-cert{border-radius:12px}
.cl-barra,.cl-mini{border-radius:999px;overflow:hidden}
.cl-barra span,.cl-mini span{background:linear-gradient(90deg,var(--mark),#9d3fd6)}
/* chat */
.ch{border-radius:0}
.ch-av{background:var(--tint);color:var(--mark)}
.ch-item{border-radius:0}
.ch-item.atual{background:var(--tint);box-shadow:inset 3px 0 var(--mark)}
.ch-badge{background:var(--roxo)}
.ch-lista{background:var(--paper)}
.ch-msg{border-radius:6px 16px 16px 16px;box-shadow:0 1px 2px rgba(26,16,36,.06)}
.ch-msg.meu{border-radius:16px 6px 16px 16px}
.ch-autor{color:var(--mark)}
.ch-os{border:none;background:var(--accent-soft);color:var(--accent-soft-ink);border-radius:6px;padding:1px 6px}
.ch-enviar{background:var(--mark)!important;color:var(--mark-ink)!important}
.ch-dia{border-radius:999px}
.ch-aviso{background:var(--tint)}
.login h1{display:flex;align-items:center;gap:10px}
.nota.ok{color:var(--ink-soft)}.gt-ola .cartoes{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ---------- ajuda ---------- */
.aj-lista{display:flex;flex-direction:column;gap:8px}
.aj-tema{display:flex;flex-direction:column;gap:2px;text-align:left;border:1px solid var(--line-soft);background:var(--sunk);border-radius:var(--r-md);padding:13px 15px;font-weight:400}
.aj-tema b{font-size:15px;font-weight:700;color:var(--ink)}
.aj-tema span{font-size:13.5px;color:var(--ink-faint)}
.aj-tema:hover{border-color:var(--mark);background:var(--tint)}
.aj-passos{margin:4px 0;padding:0;list-style:none;counter-reset:passo;display:flex;flex-direction:column;gap:10px}
.aj-passos li{counter-increment:passo;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;font-size:15.5px;line-height:1.5}
.aj-passos li::before{content:counter(passo);width:32px;height:32px;border-radius:50%;background:var(--mark);color:var(--mark-ink);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.aj-guia{display:flex;flex-direction:column;gap:6px}
.aj-check{display:flex;align-items:center;gap:11px;text-align:left;border:none;background:var(--sunk);border-radius:12px;padding:10px 12px;font-weight:600}
.aj-check i{margin-left:auto;font-style:normal;font-size:12px;color:var(--mark);font-weight:700;white-space:nowrap}
.aj-check.ok{background:var(--ok-bg);color:var(--ink-soft)}
.aj-check.ok span:nth-child(2){text-decoration:line-through;text-decoration-color:var(--ok)}
.aj-bola{flex:0 0 24px;height:24px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;font-weight:800}
.aj-check.ok .aj-bola{background:var(--ok);border-color:var(--ok)}
.gt-ola #ajBusca{border-color:transparent;margin-top:4px}
.es-link{display:inline-flex;align-items:center;padding:8px 13px;border-radius:10px;background:var(--tint);color:var(--mark);font-weight:700;font-size:12.5px;text-decoration:none}
.gt-pessoas{display:flex;flex-wrap:wrap;gap:6px}
.gt-pessoas button{border-radius:999px;padding:8px 13px;font-size:13px;display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}
.gt-pessoas button i{font-style:normal;font-size:10.5px;color:var(--ink-faint);font-weight:500}
.gt-pessoas button[aria-pressed="true"]{background:var(--mark);border-color:var(--mark);color:var(--mark-ink)}
.gt-pessoas button[aria-pressed="true"] i{color:inherit;opacity:.8}
.gt-sug{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gt-sug button{font-size:12px;font-weight:500;padding:6px 10px;border-radius:999px;background:var(--surface);border:1px dashed var(--line);text-align:left}

/* ---------- Minha Zup ---------- */
.mz-hero .lead b{color:var(--accent)}
.mz-hero-desafio{align-self:flex-start;display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:8px 14px;font-size:13.5px}
.mz-hero-desafio b{color:var(--accent);font-size:15px}
.mz-grupo{font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px}
.mz-lista{display:flex;flex-direction:column;gap:8px}
.mz-item{display:flex;align-items:center;gap:12px;text-align:left;width:100%;background:var(--sunk);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:13px 15px;font-weight:400;flex-wrap:wrap}
.mz-item>div:first-child{flex:1 1 200px;display:flex;flex-direction:column;gap:2px;min-width:0}
.mz-item b{font-size:14.5px;font-weight:700;color:var(--ink)}
.mz-item span{font-size:13px;color:var(--ink-faint)}
.mz-item i{font-style:normal;font-size:22px;color:var(--mark);font-weight:700}
.mz-item.urgente{border-color:var(--risk);background:var(--risk-bg)}
button.mz-item:hover{border-color:var(--mark);background:var(--tint)}
.mz-item input{flex:1 1 100%}
.mz-estrelas{display:flex;gap:2px}
.mz-estrelas button{border:none;background:none;font-size:26px;padding:0 3px;color:var(--line);line-height:1}
.mz-estrelas button[aria-pressed="true"]{color:#e0a100}
.mz-desafio{background:linear-gradient(160deg,var(--surface) 30%,var(--accent-soft) 170%);border:1.5px solid var(--accent)}
.mz-desafio.batido{background:linear-gradient(160deg,var(--accent-soft),var(--surface))}
.mz-num{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.mz-num b{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1}
.mz-num span{color:var(--ink-soft);font-size:14px}
.mz-barra{height:10px}
.mz-premio{background:var(--accent);color:var(--accent-ink);border-radius:12px;padding:10px 13px;font-size:14.5px}
.mz-obj{display:flex;flex-direction:column;gap:6px;padding:6px 0}
.mz-obj>div:first-child{display:flex;justify-content:space-between;gap:10px}
.mz-obj b{font-weight:700;font-size:14.5px}
.mz-obj span{font-weight:800;color:var(--mark)}
.mz-post{border:1px solid var(--line-soft);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:9px;background:var(--surface)}
.mz-post.fixado{border-color:var(--mark);box-shadow:inset 3px 0 var(--mark)}
.mz-post.tipo-comunicado{background:linear-gradient(160deg,var(--surface) 55%,var(--tint))}
.mz-post-cab{display:flex;gap:11px;align-items:flex-start}
.mz-post-cab p{font-size:14.5px;line-height:1.4}
.mz-ico{flex:0 0 38px;height:38px;border-radius:12px;background:var(--sunk);display:flex;align-items:center;justify-content:center;font-size:18px}
.mz-post .chip{align-self:flex-start}
.mz-texto{font-size:15px;color:var(--ink)}
.mz-lido{color:var(--ok);font-weight:700;font-size:13.5px}
.mz-reacoes{display:flex;gap:6px;flex-wrap:wrap}
.mz-reacao{padding:6px 11px;border-radius:999px;font-size:13.5px;background:var(--sunk);border:1px solid transparent;font-weight:600}
.mz-reacao.meu{background:var(--tint);border-color:var(--mark);color:var(--mark)}
.mz-reacoes:has(+.mz-quem){padding-bottom:2px}
.mz-quem{margin:0;padding:0 16px 12px;font-size:12.5px;color:var(--ink-faint);line-height:1.7}

/* ---------- retirar material (almoxarifado sem almoxarife) ----------
   Tela usada de luva, com a caixa na mão e pouca luz: alvo grande, número
   grande, e uma coisa por vez. */
.rt-grande{width:100%;padding:18px;font-size:17px;margin-top:8px}
.rt-video{width:100%;max-height:260px;background:#000;border-radius:12px;object-fit:cover;display:block}
.rt-dentro{border-left:4px solid var(--ok)}
.rt-foco h2{font-size:24px;margin:6px 0}
.rt-qtd{font-size:30px;text-align:center;padding:14px;font-variant-numeric:tabular-nums}
.rt-os{max-height:46vh;overflow:auto}
.rt-levados{display:flex;flex-direction:column;gap:2px}
.rt-levado{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:14px}
.rt-levado b{font-variant-numeric:tabular-nums;min-width:44px}
.rt-levado span{flex:1;min-width:0}
.rt-levado i{color:var(--ink-faint);font-size:12px;font-style:normal}
.rt-desfeito span,.rt-desfeito b{color:var(--ink-faint);text-decoration:line-through}
.mz-comentarios{background:var(--sunk);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:7px;font-size:14px}
.mz-benef{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.mz-benef>div{background:var(--sunk);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:2px}
.mz-benef b{font-size:14px}
.mz-benef span{font-size:12px;color:var(--ink-faint);text-transform:capitalize}
.mz-sobre{margin-top:4px}
.mz-sobre>.bloco,.mz-sobre .bloco{box-shadow:none;margin-top:12px}
/* Rumo e benefícios */
.rm-kr{border-top:1px solid var(--line-soft);padding-top:12px;display:flex;flex-direction:column;gap:7px}
.rm-kr-top{display:flex;justify-content:space-between;gap:10px}
.rm-kr-top b{font-size:14.5px}
.rm-kr-top span{font-weight:800;color:var(--mark)}
.rm-kr-rodape{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rm-benef{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.rm-bn{background:var(--sunk);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:6px}
.rm-bn b{font-size:15.5px}
.rm-bn p{font-size:14px;color:var(--ink-soft)}
.rm-como{background:var(--surface);border-radius:10px;padding:8px 10px}
.rm-bn .chip{align-self:flex-start}
/* inteligência */
.rd-evid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.rd-evid>div{background:var(--sunk);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.rd-evid b{font-size:12.5px;color:var(--mark)}
.rd-evid span{font-size:13.5px;color:var(--ink-soft)}
.rd-prop p{font-size:14.5px}
.rd-ideia .mz-texto{font-size:15.5px}
/* Zup em Ordem */
.od-regra{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.od-regra>div{background:var(--sunk);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--ink-soft)}
.od-regra b{font-size:22px;font-weight:800;color:var(--mark)}
.od-regra .dobro{background:var(--accent);color:var(--accent-ink)}
.od-regra .dobro b{color:var(--accent-ink)}
.od-fotos{display:flex;gap:8px;flex-wrap:wrap}
.od-mini{position:relative;width:84px;height:84px}
.od-mini img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.od-mini button{position:absolute;top:-6px;right:-6px;width:24px;height:24px;padding:0;border-radius:50%;background:var(--risk);color:#fff;border:none;font-size:14px;line-height:1}
/* Atalho do Inicio para a tela de gestao. */
.mz-atalho{display:flex;width:100%;align-items:center;gap:10px;justify-content:space-between;margin-top:12px;padding:12px 14px;border:1px solid var(--mark);border-radius:var(--r-md);background:var(--tint);color:var(--ink);text-align:left;cursor:pointer}
.mz-atalho div{display:flex;flex-direction:column;gap:2px;min-width:0}
.mz-atalho b{font-size:14.5px;font-weight:600}
.mz-atalho span{font-size:12.5px;color:var(--ink-soft)}
.mz-atalho i{font-style:normal;font-size:19px;color:var(--mark)}

/* Folha de ponto propria. */
.fo-form{display:flex;flex-direction:column;gap:9px}
.fo-pend{display:flex;flex-wrap:wrap;gap:6px}
.fo-lista{display:flex;flex-direction:column;gap:8px}
.fo-linha{display:flex;flex-wrap:wrap;gap:9px;justify-content:space-between;align-items:flex-start;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.fo-linha.pede{border-color:var(--risk);background:var(--sunk)}
.fo-linha>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:170px;flex:1 1 220px}
.fo-linha b{font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums}
.fo-linha span{font-size:12.5px;color:var(--ink-faint)}
.fo-linha i{font-style:normal;font-size:12.5px;color:var(--ink-soft)}
.fo-linha i.fo-at{color:var(--risk);font-weight:500}
.fo-bts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
/* Departamento do Apponte: as telas do DP agrupam como o Apponte agrupa, para
   o DP nao conferir duas listas da mesma gente em ordens diferentes. */
.po-dep{margin-top:16px}
.po-dep>h3{margin:0 0 7px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}
.po-mat{display:inline-block;min-width:44px;font-family:ui-monospace,monospace;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--ink-soft)}
.po-mat.vazia{color:var(--ink-faint)}
.po-alerta{color:var(--risk);font-weight:700}
/* Dia sem batida e dia abonado: cada um numa pastilha propria, para a lista
   de datas nao virar um paredao de texto onde nao se acha o dia certo. */
.fo-semdia,.fo-abono{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12.5px}
.fo-semdia b,.fo-abono{font-variant-numeric:tabular-nums}
.fo-abono{margin:3px 4px 0 0}
.fo-form{border:1px solid var(--mark,var(--line));background:var(--sunk)}
.fo-form .cartoes{margin:10px 0}

/* Relogio de ponto: trilha do dia e botao de bater com camera. */
.pt-trilha{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.pt-passo{flex:1 1 90px;min-width:82px;padding:10px 8px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-align:center}
.pt-passo b{display:block;font-family:ui-monospace,monospace;font-size:19px;font-weight:700;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.pt-passo span{display:block;font-size:11.5px;color:var(--ink-faint);margin-top:2px}
.pt-passo.feito{border-color:var(--ok,#15803d);background:var(--sunk)}
.pt-passo.feito b{color:var(--ok,#15803d)}
.pt-passo.agora{border:2px solid var(--mark);background:var(--tint)}
.pt-passo.agora b{color:var(--mark)}
.pt-bater{display:flex;width:100%;align-items:center;gap:14px;margin-top:6px;padding:18px 20px;border:none;border-radius:var(--r-md);background:var(--roxo);color:#fff;text-align:left;cursor:pointer;font:inherit}
.pt-bater:disabled{opacity:.65;cursor:progress}
.pt-bater .pt-cam{font-size:30px;line-height:1}
.pt-bater b{display:block;font-size:18px;font-weight:700}
.pt-bater i{display:block;font-style:normal;font-size:13px;opacity:.85;margin-top:1px}
.pt-fotos{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.pt-mini{display:block;width:62px;text-decoration:none;color:var(--ink-faint);font-size:10.5px;text-align:center}
.pt-mini img{width:62px;height:62px;object-fit:cover;border-radius:9px;border:1px solid var(--line);display:block}
.pt-mini span{display:block;margin-top:2px}
.pt-mini.sem{border:1px dashed var(--line);border-radius:9px;padding:6px 3px;background:var(--sunk)}
.pt-mini.sem b{display:block;font-family:ui-monospace,monospace;font-size:13px;color:var(--ink-soft)}

/* Jornada de cada pessoa. */
.jo-lista{display:flex;flex-direction:column;gap:7px;margin:12px 0}
.jo-linha{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 13px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.jo-linha.ok{border-color:var(--ok,#15803d);background:var(--sunk)}
.jo-quem{display:flex;flex-direction:column;gap:1px;min-width:150px;flex:1 1 190px}
.jo-quem b{font-size:14.5px;font-weight:600}
.jo-quem span{font-size:12px;color:var(--ink-faint)}
.jo-horas{display:flex;gap:6px;flex-wrap:wrap}
.jo-horas label{display:flex;flex-direction:column;gap:1px;font-size:10.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em}
.jo-horas input{font-family:ui-monospace,monospace;font-size:13.5px;padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);width:96px}
.jo-dias{display:flex;gap:7px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}
.jo-dias label{display:flex;align-items:center;gap:3px}
.jo-ok{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--mark)}
.jo-total{font-family:ui-monospace,monospace;font-size:12.5px;color:var(--ink-faint);margin-left:auto}
/* escala: horario diferente em dias soltos. Ocupa a linha inteira (flex-basis
   100%) para cair embaixo do resto, em vez de disputar espaco com os campos. */
.jo-escala{flex:1 1 100%;border-top:1px dashed var(--line);margin-top:2px;padding-top:7px}
.jo-escala summary{font-size:12px;color:var(--mark);cursor:pointer;padding:2px 0}
.jo-escala[open] summary{font-weight:600;margin-bottom:5px}
.jo-dica{font-size:11.5px;color:var(--ink-faint);margin:0 0 8px;max-width:62ch}
.jo-escala-dias{display:flex;flex-direction:column;gap:6px}
.jo-escala-dia{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 9px;border-radius:8px;background:var(--sunk)}
.jo-escala-dia>b{font-size:12px;text-transform:uppercase;letter-spacing:.05em;width:34px;color:var(--ink-soft)}
.jo-escala-dia label{display:flex;flex-direction:column;gap:1px;font-size:10.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em}
.jo-escala-dia input{font-family:ui-monospace,monospace;font-size:13px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);width:92px}
.jo-escala-total{font-family:ui-monospace,monospace;font-size:12px;color:var(--ink-faint);margin-left:auto}
/* dia que nao e da pessoa: aparece, para ela saber que existe, mas travado. */
.jo-escala-dia.off{opacity:.5}
.jo-escala-dia.off input{background:var(--sunk);cursor:not-allowed}

/* Moderacao de conteudo. */
.md-lista{display:flex;flex-direction:column;gap:7px;margin:12px 0}
.md-linha{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:space-between;padding:10px 13px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.md-linha.off{background:var(--sunk);border-style:dashed;opacity:.75}
.md-linha>div:first-child{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 240px}
.md-linha b{font-size:14.5px;font-weight:600;overflow-wrap:anywhere}
.md-linha.off b{text-decoration:line-through;color:var(--ink-faint)}
.md-linha span{font-size:12.5px;color:var(--ink-faint)}
.md-linha i{font-style:normal;color:var(--risk)}
.md-bts{display:flex;gap:6px;flex-wrap:wrap}
button.mini.perigo{background:var(--risk);color:#fff;border-color:var(--risk)}

/* Lista de acessos do painel. */
.ac-lista{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.ac-linha{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.ac-linha.off{background:var(--sunk);opacity:.72}
.ac-quem{display:flex;flex-direction:column;gap:1px;min-width:180px;flex:1 1 220px}
.ac-quem b{font-size:14.5px;font-weight:600}
.ac-quem span{font-size:12.5px;color:var(--ink-faint)}
.ac-quem i{font-style:normal;font-family:ui-monospace,monospace;font-size:12px;color:var(--mark)}
.ac-quem i.ac-sem{font-family:inherit;color:var(--risk)}
.ac-bts{display:flex;flex-wrap:wrap;gap:6px}
.ac-senha{flex:1 1 100%;border-top:1px dashed var(--line);margin-top:4px;padding-top:9px;display:flex;flex-direction:column;gap:3px}
.ac-senha b{font-family:ui-monospace,monospace;font-size:21px;letter-spacing:.04em;color:var(--mark);user-select:all}

/* Seletor de gestor na lista de acessos. */
.ac-gestor{display:flex;align-items:center;gap:5px;margin-top:4px;font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.ac-gestor select{font-size:12.5px;padding:3px 6px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);max-width:210px;text-transform:none;letter-spacing:0;font-weight:400}

/* Cadastro completo: cada bloco diz para que serve. */
.cd-porque{border-left:3px solid var(--mark);padding-left:10px;margin:2px 0 10px;color:var(--ink-soft)}

/* Selos de categoria na lista de acessos. */
.ac-cats{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}
button.ac-cat{font:700 10px/1.6 Inter,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--ink-faint);border:1px solid var(--line);cursor:pointer;position:relative}
.ac-cat{font:700 10px/1.6 Inter,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;padding:1px 7px;border-radius:999px;background:var(--sunk);color:var(--ink-faint);border:1px solid var(--line)}
.ac-cat.off{opacity:.42;background:transparent;text-decoration:line-through}
.ac-cat.mao::after{content:"";position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background:var(--risk)}
.ac-auto{font:600 10.5px/1.6 Inter,system-ui,sans-serif;padding:2px 8px;border-radius:999px;background:transparent;color:var(--mark);border:1px dashed var(--mark);cursor:pointer}
.ac-filtros{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin:8px 0 2px}
.ac-filtros>span{font:600 11px/1.4 Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-right:2px}
.ac-cat.diretoria{background:var(--tint);color:var(--mark);border-color:var(--mark)}
.ac-cat.lideranca{background:var(--tint);color:var(--mark)}
.ac-cat.estagiario{background:#fbf1dc;color:#a16207;border-color:#e6c98a}
.ac-cat.adm{background:#e6f5ec;color:#15803d;border-color:#a9d9bd}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ac-cat.estagiario{background:#3a2c0c;color:#fbbf24;border-color:#6b5310}
  :root:not([data-theme="light"]) .ac-cat.adm{background:#12301d;color:#4ade80;border-color:#1d5c34}}
:root[data-theme="dark"] .ac-cat.estagiario{background:#3a2c0c;color:#fbbf24;border-color:#6b5310}
:root[data-theme="dark"] .ac-cat.adm{background:#12301d;color:#4ade80;border-color:#1d5c34}

/* Quem ve cada tela: uma linha por tela, uma coluna por categoria. */
.rolar-x{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0}
table.pm{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}
table.pm th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:7px 8px;border-bottom:1.5px solid var(--line);vertical-align:bottom}
table.pm th.pm-c{text-align:center}
table.pm th span{display:block;font-size:10.5px;font-weight:600;color:var(--mark);letter-spacing:0;text-transform:none}
table.pm td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
table.pm td.pm-c{text-align:center;width:1%;white-space:nowrap}
table.pm td b{display:block;font-size:14.5px;font-weight:600}
table.pm td span{display:block;font-size:11.5px;color:var(--ink-faint)}
table.pm tr.pm-off td b{color:var(--ink-faint);text-decoration:line-through}
table.pm tr.pm-off{background:var(--sunk)}
table.pm input[type=checkbox]{width:17px;height:17px}
table.pm tr:last-child td{border-bottom:none}

/* PDF nao tem miniatura: o quadrado mostra que esta anexado. */
.od-mini.od-pdf{display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed var(--line);border-radius:12px;background:var(--sunk);padding:6px}
.od-mini.od-pdf span{font-size:11px;font-weight:600;color:var(--ink-soft);line-height:1.25}
.od-add{width:84px;height:84px;border:2px dashed var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer;background:var(--sunk)}
.od-fotoslado{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}
.od-fotoslado>div{position:relative}
.od-fotoslado span{position:absolute;left:8px;bottom:8px;background:rgba(26,16,36,.7);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.od-foto{width:100%;height:170px;object-fit:cover;border-radius:12px;display:block}
.od-pts{font-weight:800;color:var(--ok)}
.od-recomp{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.od-recomp>div{background:var(--sunk);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:5px}
.od-recomp p{font-size:13px;color:var(--ink-soft)}
.od-custo{font-weight:800;color:var(--mark)}
.od-ext{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:5px 0;border-bottom:1px solid var(--line-soft)}
.od-ext b{color:var(--ok)}
.od-ext b.neg{color:var(--risk)}
.mz-os{display:flex;flex-direction:column;gap:1px;padding:9px 12px;background:var(--sunk);border-radius:12px;margin-bottom:6px}
.mz-os b{font-size:13.5px;color:var(--mark)}
.mz-os span{font-size:14px;color:var(--ink)}
.mz-os i{font-style:normal;font-size:12px;color:var(--ink-faint)}
.mz-os i.atraso{color:var(--risk);font-weight:700}
.eq-linha{border-top:1px solid var(--line-soft);padding:12px 0;display:flex;flex-direction:column;gap:8px}
.eq-linha.fora{opacity:.55}
.eq-linha i{font-style:normal;font-size:12px;color:var(--ink-faint)}
/* Loja Zup */
.lj-filtros{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.lj-filtros select{flex:1 1 150px}
.lj-chips{margin-top:10px}
.lj-chips button.chip{border:1px solid var(--line);cursor:pointer;width:auto}
.lj-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:14px}
.lj-item{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:7px;box-shadow:var(--sombra)}
.lj-item.pode{border-color:var(--mark)}
.lj-item>b{font-size:15px;font-weight:700;line-height:1.3}
.lj-item p{font-size:13.5px;color:var(--ink-soft);margin:0}
.lj-item i{font-style:normal;font-size:12px;color:var(--ink-faint)}
.lj-item button{margin-top:auto}
.lj-topo{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lj-desejo{margin-left:auto;background:none;border:none;font-size:20px;line-height:1;padding:0 2px;color:var(--line);width:auto}
.lj-desejo[aria-pressed="true"]{color:#e0a100}
.lj-preco{display:flex;align-items:baseline;gap:6px}
.lj-preco b{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--mark)}
.lj-preco s{font-size:13px;color:var(--ink-faint)}
.lj-preco span{font-size:12.5px;color:var(--ink-faint)}
.lj-falta{color:var(--ink-faint)}
.lj-mudou{color:var(--risk)!important;font-weight:600}
.lj-mudou-n{color:var(--ink-soft)!important;font-weight:600}
.lj-linha.revisar{border-left:3px solid var(--accent);padding-left:9px}
.lj-linha .gt-det{margin-top:4px}
.f2{display:flex;align-items:center;gap:7px;font-size:14px}
.f2 input{width:auto}
.rm-bn.rm-cct{border-left:3px solid var(--accent)}
.rm-bn .chip.acc{align-self:flex-start;margin-bottom:2px}
/* chamada de evento */
.ch-linha{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line-soft)}
.ch-linha.feito{opacity:.72}
.ch-linha>div:first-child{display:flex;flex-direction:column;min-width:130px;flex:1 1 130px}
.ch-linha b{font-size:15px;font-weight:700}
.ch-linha span{font-size:12.5px;color:var(--ink-faint)}
.ch-bts{display:flex;gap:5px;flex-wrap:wrap}
button.ch-bt{width:auto;padding:8px 11px;font-size:12.5px;font-weight:600;border-radius:11px;background:var(--sunk);border:1px solid var(--line);color:var(--ink-soft)}
button.ch-bt.on{color:#fff;border-color:transparent}
button.ch-bt.on.antes{background:var(--ok)}
button.ch-bt.on.hora{background:var(--roxo)}
button.ch-bt.on.atrasado{background:#b45309}
button.ch-bt.on.faltou{background:var(--ink-faint)}

/* as 10 leis: quadradinhos numerados, no Inicio */
.mz-leis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.mz-lei{position:relative;background:var(--sunk);border:1px solid var(--line-soft);border-radius:var(--r-md);
  padding:14px 14px 15px;display:flex;flex-direction:column;gap:5px}
.mz-lei i{font-style:normal;font-size:11px;font-weight:800;line-height:1;color:var(--mark-ink);background:var(--mark);
  width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.mz-lei b{font-size:13.5px;font-weight:800;letter-spacing:-.01em;line-height:1.25;color:var(--ink)}
.mz-lei span{font-size:12.5px;line-height:1.4;color:var(--ink-soft)}

/* editar grupo do chat: nome, quem participa, arquivar */
.ch-cfg{margin-left:auto;font-size:17px;line-height:1;padding:6px 10px}
.ch-editar{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px}
/* Sem o flex:0 0 auto a lista encolhe ate virar uma linha: dentro de uma coluna
   flex, filho com overflow proprio cede todo o espaco para os irmaos. O
   min-height garante umas oito pessoas visiveis mesmo no celular. */
.ch-editar>*{flex:0 0 auto}
.ch-pessoas{display:flex;flex-direction:column;gap:2px;flex:0 0 auto;
  min-height:340px;max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--line-soft);border-radius:var(--r-md);padding:8px;background:var(--surface)}
.ch-pessoas .ch-marca{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:var(--r-sm);font-size:14.5px}
.ch-pessoas .ch-marca:hover{background:var(--sunk)}
.ch-pessoas .ch-marca i{font-style:normal;color:var(--ink-faint);font-size:12.5px}

/* organograma da pessoa: a cadeia acima e quem responde a ela */
.og-acima{display:flex;flex-direction:column;gap:0}
.og-passo{background:var(--sunk);border:1px solid var(--line-soft);border-radius:var(--r-md);
  padding:11px 14px;display:flex;flex-direction:column;gap:1px}
.og-passo b{font-size:14.5px;font-weight:700;color:var(--ink)}
.og-passo span{font-size:12.5px;color:var(--ink-faint)}
.og-passo[data-seta]{margin-top:22px;position:relative}
.og-passo[data-seta]::before{content:"";position:absolute;left:22px;top:-19px;width:2px;height:16px;background:var(--line)}
.og-passo[data-seta]::after{content:"";position:absolute;left:18px;top:-7px;width:8px;height:8px;
  border-right:2px solid var(--line);border-bottom:2px solid var(--line);transform:rotate(45deg)}
.og-eu{background:var(--tint);border-color:var(--mark)}
.og-eu b{color:var(--mark-dark)}
@media (prefers-color-scheme:dark){:where(:root:not([data-theme="light"])) .og-eu b{color:var(--ink)}}
:where(:root[data-theme="dark"]) .og-eu b{color:var(--ink)}
.og-liderados{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}
.og-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;
  background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:13px}
.og-card .ch-av{margin-bottom:4px}
.og-card b{font-size:14px;font-weight:700;line-height:1.25}
.og-card span{font-size:12.5px;color:var(--ink-faint)}
.og-card i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--mark);letter-spacing:.02em}
.og-card:hover{border-color:var(--mark);background:var(--tint)}

/* arvore do organograma: recuo com fio de ligacao, rola de lado no celular */
.ar-raiz{overflow-x:auto;padding:4px 2px 2px}
.ar-raiz ul{list-style:none;margin:0;padding:0}
.ar-raiz ul ul{margin-left:14px;padding-left:16px;border-left:2px solid var(--line-soft)}
.ar-raiz li{position:relative;margin:5px 0}
.ar-raiz ul ul>li::before{content:"";position:absolute;left:-16px;top:18px;width:12px;height:2px;background:var(--line-soft)}
.ar-no{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;width:100%;
  background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:8px 12px}
.ar-no b{font-size:13.5px;font-weight:700;line-height:1.3;color:var(--ink)}
.ar-no span{font-size:12px;color:var(--ink-faint)}
.ar-no:hover{border-color:var(--mark);background:var(--tint)}

/* pergunta do dia: o convite a mandar ideia, no Inicio */
.mz-ideia{background:linear-gradient(160deg,var(--surface) 40%,var(--accent-soft) 200%);border:1.5px solid var(--accent)}
.mz-ideia.feito{background:var(--surface);border-color:var(--line-soft)}
.mz-ideia textarea{min-height:64px}
.mz-anon{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-soft);font-weight:600}
.mz-anon input{width:17px;height:17px}

/* quem esta online agora */
.mz-bolas{display:flex;flex-wrap:wrap;gap:12px 14px}
.mz-bola{display:flex;flex-direction:column;align-items:center;gap:4px;width:56px}
.mz-bola .ch-av{position:relative}
.mz-bola b{font-size:11.5px;font-weight:600;color:var(--ink-soft);max-width:56px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.mz-bola:not(.mz-mais) .ch-av::after{content:"";position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;
  border-radius:50%;background:var(--ok);border:2px solid var(--surface)}
.mz-mais .ch-av{background:var(--sunk);color:var(--ink-faint)}

/* bloqueio de pontos */
.mz-ideia.bloqueado{background:var(--risk-bg);border-color:var(--risk)}
.ac-bloq{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--risk);
  background:var(--risk-bg);border-radius:999px;padding:3px 10px;margin-left:8px}
.ac-bloq button{border:none;background:none;font-size:12px;font-weight:700;color:var(--mark);
  text-decoration:underline;padding:0;cursor:pointer}

/* fila de conferencia das respostas marcadas pela IA */
.rd-conferir{border:1.5px solid var(--risk)}
.rd-conferir .gt-obj p:first-child{font-size:15px;font-style:italic}

/* encargos: quem pode fazer o quê */
.en-bloco h3{font-size:15px;font-weight:700}
.en-gente{min-height:200px;max-height:40vh;margin-top:4px}

/* CPF só leitura na tela de casar com o Apponte */
.po-cpf{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums;
  background:var(--sunk);border-radius:var(--r-sm);padding:9px 12px;white-space:nowrap}
.po-cpf i{font-style:normal;color:var(--risk)}

/* contato vindo do cadastro, na lista de Equipe */
.ac-contato{font-size:12px;color:var(--ink-soft);display:block;margin-top:1px}

/* acompanhamento de impressão: a área calculada na hora */
.im-area{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--ink-faint);
  background:var(--sunk);border:1px dashed var(--line);border-radius:var(--r-md);padding:12px 15px;text-align:center}
.im-area.ok{color:var(--mark-dark);background:var(--tint);border-style:solid;border-color:var(--mark)}
@media (prefers-color-scheme:dark){:where(:root:not([data-theme="light"])) .im-area.ok{color:var(--ink)}}
:where(:root[data-theme="dark"]) .im-area.ok{color:var(--ink)}
.im-medida{align-items:end}
.im-area.alerta{color:var(--risk);background:var(--risk-bg);border-color:var(--risk)}
.im-area.risco{color:var(--risk);background:var(--risk-bg);border-color:var(--risk);border-style:solid}
.im-sobra{display:block;font-size:13.5px;font-weight:600;letter-spacing:0;margin-top:5px;opacity:.9}
.im-sobra.risco{color:var(--risk)}

/* cadastros um a um: formulário em cima, lista embaixo */
.cd-lista{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.cd-item{display:flex;align-items:center;gap:12px;background:var(--sunk);border:1px solid var(--line-soft);
  border-radius:var(--r-md);padding:11px 14px}
.cd-item>div{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.cd-item b{font-size:14.5px;font-weight:700}
.cd-item span{font-size:12.5px;color:var(--ink-faint)}

/* listas do Studio: fichas com x, e um campo para acrescentar */
.cd-grupo{margin-top:14px}
.cd-fichas{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.cd-ficha{display:inline-flex;align-items:center;gap:6px;background:var(--sunk);border:1px solid var(--line-soft);
  border-radius:999px;padding:5px 6px 5px 12px;font-size:13px;font-weight:600}
.cd-ficha button{border:none;background:var(--line);color:var(--ink-soft);width:19px;height:19px;border-radius:50%;
  font-size:13px;line-height:1;padding:0;cursor:pointer}
.cd-ficha button:hover{background:var(--risk);color:#fff}
.cd-add{display:flex;gap:6px;align-items:center}
.cd-add input{flex:1}
.cd-add button{flex:0 0 auto;min-width:42px}

.cd-ficha button.lapis{background:transparent;color:var(--ink-faint);font-size:12px}
.cd-ficha button.lapis:hover{background:var(--mark);color:#fff}
.cd-ficha button.ok{background:var(--ok);color:#fff}
.cd-ficha.editando{background:var(--tint);border-color:var(--mark);padding-left:6px}
.cd-ficha.editando input{width:150px;font-size:13px;padding:4px 8px;border-radius:var(--r-sm)}
.cd-item.editando{border-color:var(--mark);background:var(--tint)}
/* Zup em Ordem: placar de quem aponta x quem resolve, e ponto que espera. */
.od-placar{font-size:12.5px;color:var(--ink-soft);margin:10px 0 0}
.od-preso{color:var(--risk);font-weight:600}
.od-dica{font-size:11.5px;color:var(--ink-faint);margin:6px 0 10px;max-width:60ch}
/* Caixa de ideias: a pergunta acima da resposta, para a resposta fazer sentido. */
.rd-pergunta{font-size:12.5px;color:var(--ink-faint);font-style:italic;margin:6px 0 2px;
  padding-left:9px;border-left:2px solid var(--line)}
.mz-pergunta{display:block;font-size:11.5px;color:var(--ink-faint);font-style:italic;margin-bottom:2px}
/* Equipe: desligados numa lista propria, recolhida no fim. */
.ac-novo{margin:10px 0 4px;border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;background:var(--sunk)}
.ac-novo summary{cursor:pointer;font-size:14px;font-weight:700;padding:2px 0}
.ac-novo[open] summary{margin-bottom:8px}
.ac-novo .f{margin-top:8px}
.ac-novo button.primaria{margin-top:12px}
.ac-fora{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}
.ac-fora summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-faint);padding:4px 0}
.ac-fora[open] summary{margin-bottom:6px}
.ac-fora .ac-linha{opacity:.72}
/* Campanha de recuperacao: o que falta de voce, com prazo. */
.mz-camp{border:2px solid var(--mark)}
.mz-camp.feito{border-color:var(--ok,#15803d)}
.mz-camp-itens{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:12px 0}
.mz-camp-item{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;
  padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);
  color:inherit;cursor:pointer;position:relative}
.mz-camp-item:hover{border-color:var(--mark)}
.mz-camp-item.ok{opacity:.55;cursor:default;background:var(--sunk)}
.mz-camp-item b{font-size:13.5px;font-weight:600}
.mz-camp-item span{font-size:11.5px;color:var(--ink-faint);line-height:1.35}
.mz-camp-item i{position:absolute;top:9px;right:11px;font-style:normal;font-size:11.5px;
  font-weight:700;color:var(--mark)}
/* Link dentro de texto: é botão de verdade (teclado, leitor de tela), com cara de link. */
button.como-link{display:inline;width:auto;padding:0;border:0;background:none;font:inherit;
  color:var(--mark);text-decoration:underline;cursor:pointer}
button.como-link:hover{opacity:.8}
.fo-feitos{margin-top:10px;border-top:1px solid var(--line-soft);padding-top:8px}
.fo-feitos summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-faint);padding:4px 0}
.fo-linha.feito{opacity:.78}
