/* ===== Central Financeira Tutores — visual alinhado ao Sistema RH ===== */
:root{
  --roxo:#6d28d9; --roxo2:#5b21b6; --roxo-claro:#ede9fe;
  --laranja:#f6821f; --laranja-claro:#fff1e0;
  --teal:#0d9488; --teal-claro:#d1faf5;
  --amarelo:#ca8a04; --verde:#16a34a; --verde-claro:#dcfce7;
  --zap:#25D366;
  --side:#1e1830; --side2:#2a2140; --side-tx:#c9c3d6; --side-tx2:#8b8399;
  --bg:#f6f7f9; --card:#fff; --texto:#1f2328; --suave:#6b7280; --borda:#e7e8ec;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;height:100%}
body{font-family:'Segoe UI',system-ui,Arial,sans-serif;background:var(--bg);color:var(--texto)}
a{color:var(--roxo);text-decoration:none}

/* ===== layout app: sidebar + conteúdo ===== */
.app{display:flex;min-height:100vh}
.sidebar{width:250px;flex:none;background:var(--side);color:var(--side-tx);display:flex;flex-direction:column;padding:18px 14px;gap:6px}
.sidebar .brand{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:6px 8px 16px}
.sidebar .brand img{width:150px;height:auto;display:block}
.sidebar .brand b{display:block;color:#fff;font-size:14px;line-height:1.1}
.sidebar .brand span{font-size:10px;letter-spacing:.16em;color:var(--side-tx2)}
.sidebar .sec{font-size:11px;letter-spacing:.12em;color:var(--side-tx2);margin:16px 10px 6px;font-weight:600}
.nav{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:var(--side-tx);font-size:14px;cursor:pointer;transition:.12s}
.nav .ic{font-size:16px;width:18px;text-align:center}
.nav:hover{background:var(--side2);color:#fff}
.nav.ativo{background:linear-gradient(90deg,var(--roxo),var(--roxo2));color:#fff;box-shadow:0 4px 14px #6d28d955}
.nav.soon{opacity:.45;cursor:default}
.nav.soon:hover{background:transparent;color:var(--side-tx)}
.sidebar .foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;border-top:1px solid #ffffff14;font-size:13px}
.sidebar .foot .av{width:30px;height:30px;border-radius:8px;background:var(--roxo);color:#fff;display:grid;place-items:center;font-weight:700}
.sidebar .foot small{display:block;color:var(--side-tx2);font-size:11px}

.content{flex:1;padding:30px 40px;overflow:auto}
.content h1{margin:0;font-size:26px;font-weight:800}
.content .sub{color:var(--suave);margin:4px 0 24px}

/* ===== cards de resumo / ferramentas ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--borda);border-left:5px solid var(--roxo);border-radius:14px;padding:20px;box-shadow:0 1px 3px #0000000a;display:block;color:inherit;transition:.15s}
a.card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #0000001a}
.card.laranja{border-left-color:var(--laranja)} .card.teal{border-left-color:var(--teal)} .card.amarelo{border-left-color:var(--amarelo)}
.card .ic{font-size:26px}
.card h3{margin:10px 0 6px;font-size:17px}
.card p{margin:0;color:var(--suave);font-size:14px;line-height:1.45}
.tag{display:inline-block;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;margin-top:14px}
.tag.ok{background:var(--roxo-claro);color:var(--roxo)}
.tag.pc{background:var(--laranja-claro);color:#b26a00}
.tag.wip{background:#eef0f2;color:#6b7280}

/* ===== stats (números) ===== */
.cards{display:flex;gap:16px;flex-wrap:wrap;margin:6px 0 20px}
.stat{background:var(--card);border:1px solid var(--borda);border-left:5px solid var(--roxo);border-radius:14px;padding:16px 20px;min-width:180px}
.stat:nth-child(2){border-left-color:var(--laranja)} .stat:nth-child(3){border-left-color:var(--teal)}
.stat b{display:block;font-size:26px;color:var(--roxo)} .stat span{color:var(--suave);font-size:13px}

/* ===== painel / upload ===== */
.painel{background:var(--card);border:1px solid var(--borda);border-radius:16px;padding:22px;margin-bottom:22px;box-shadow:0 1px 3px #0000000a}
.painel h2{margin:0 0 4px;font-size:16px}
.painel .hint{color:var(--suave);font-size:13px;margin:0 0 16px}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.campos{grid-template-columns:1fr}.sidebar{width:70px}.sidebar .brand b,.sidebar .brand span,.sidebar .sec,.nav span.tx,.sidebar .foot div{display:none}}
.drop{border:2px dashed var(--borda);border-radius:12px;padding:16px;text-align:center;background:#fafbfc;cursor:pointer;transition:.15s}
.drop:hover,.drop.over{border-color:var(--roxo);background:#f6f3fe}
.drop b{display:block;font-size:14px}.drop small{color:var(--suave)}
.drop .ok{color:var(--roxo);font-weight:600;font-size:13px;margin-top:6px;display:block}
.linha{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:16px}
label.r{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}
input[type=date]{padding:9px;border:1px solid var(--borda);border-radius:9px}
.btn{background:linear-gradient(90deg,var(--roxo),var(--roxo2));color:#fff;border:0;padding:12px 24px;border-radius:10px;font-weight:700;cursor:pointer;font-size:15px;box-shadow:0 4px 14px #6d28d940}
.btn:hover{filter:brightness(1.07)} .btn:disabled{opacity:.5}

/* ===== tabela ===== */
.toolbar{display:flex;gap:10px;align-items:center;margin:8px 0 14px;flex-wrap:wrap}
.toolbar input[type=search]{padding:10px 12px;border:1px solid var(--borda);border-radius:9px;min-width:240px}
.toolbar select{padding:10px 12px;border:1px solid var(--borda);border-radius:9px;background:#fff;font:inherit}
.toolbar .chk{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border:1px solid var(--borda);border-radius:9px;background:#fff;font-size:14px;cursor:pointer;user-select:none;white-space:nowrap}
.toolbar .chk input{cursor:pointer}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--borda);border-radius:14px;overflow:hidden}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--borda);font-size:14px}
th{background:#f3f4f7;color:var(--suave);text-transform:uppercase;font-size:11px;letter-spacing:.05em}
.v{font-weight:700}.a{color:#b00} small.muted{color:var(--suave)}
.zap{background:var(--zap);color:#fff;padding:8px 14px;border-radius:8px;font-weight:700;white-space:nowrap}
.zap:hover{filter:brightness(.95)}
tr.ok{opacity:.45;text-decoration:line-through}
.erro{background:#fdecec;color:#b00;border:1px solid #f5c2c2;padding:12px 14px;border-radius:10px;margin-top:14px}

/* ===== tela de login (estilo escuro RH) ===== */
body.login{display:grid;place-items:center;min-height:100vh;
  background:radial-gradient(1200px 600px at 50% -10%, #3a2a63 0%, #171226 55%, #120e1f 100%)}
.login-card{width:380px;max-width:92vw;background:#241d38;border:1px solid #ffffff14;border-radius:18px;
  padding:34px 30px;box-shadow:0 24px 60px #0007, 0 0 0 1px #6d28d922}
.login-card .logo{display:block;width:170px;margin:0 auto 14px}
.login-card h1{color:#fff;text-align:center;font-size:22px;margin:0}
.login-card .sub{color:#9c94b0;text-align:center;font-size:13px;margin:4px 0 18px}
.login-card hr{border:0;border-top:1px solid #ffffff14;margin:0 0 18px}
.login-card label{display:block;color:#cbc4dc;font-size:13px;margin:12px 0 6px}
.login-card input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid #ffffff1f;
  background:#1a1430;color:#fff;font-size:15px}
.login-card input:focus{outline:none;border-color:var(--roxo)}
.login-card .btn{width:100%;margin-top:22px;justify-content:center}
.login-card .campo-senha{position:relative}
.login-card .campo-senha input{padding-right:44px}
.login-card .olho{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer;font-size:17px;opacity:.7;user-select:none}
.login-card .olho:hover{opacity:1}
.login-card .foot{color:#7d7590;text-align:center;font-size:12px;margin-top:16px}
.login-card .msg{color:#ff8f8f;text-align:center;font-size:13px;margin-top:12px;min-height:18px}
.login-card .link-esqueci{display:block;width:100%;text-align:center;margin-top:14px;color:#b9a7ff;font-size:13px;background:none;border:0;cursor:pointer;padding:0}
.login-card .link-esqueci:hover{text-decoration:underline;color:#cbb8ff}

/* ===== polimento (inspirado no Figma) ===== */
.stat{position:relative;padding-right:56px}
.stat .sic{position:absolute;top:15px;right:16px;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:17px;background:#f0ebfb;color:var(--roxo)}
.stat:nth-child(2) .sic{background:#fef0e0;color:#b26a00}
.stat:nth-child(3) .sic{background:#d9f5f0;color:var(--teal)}
.stat .delta{font-size:12px;color:var(--suave);margin-top:2px;display:block}

.drop .dic{width:48px;height:48px;border-radius:13px;background:#f0ebfb;color:var(--roxo);display:grid;place-items:center;font-size:21px;margin:0 auto 10px}
.drop.d2 .dic{background:#fef0e0;color:#b26a00}.drop.d3 .dic{background:#d9f5f0;color:var(--teal)}.drop.d4 .dic{background:#eef0f2;color:#6b7280}
.drop{padding:22px 16px}

.zap.enviado{background:#e7f6ec;color:#16a34a;pointer-events:none;box-shadow:none}

/* ===== lista de arquivos (Juntar PDF) ===== */
.arqitem{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--borda);border-radius:10px;margin-top:8px;background:#fff}
.arqitem .num{width:22px;height:22px;border-radius:6px;background:var(--roxo-claro);color:var(--roxo);display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.arqitem .n{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arqitem .n small{color:var(--suave)}
.arqitem button{border:1px solid var(--borda);background:#fff;border-radius:7px;padding:4px 9px;cursor:pointer;font-size:13px}
.arqitem button:hover{background:#f3f4f7} .arqitem button:disabled{opacity:.35;cursor:default}
.arqitem .rm{color:#b00;border-color:#f0c8c8}

/* ===== toasts (avisos flutuantes) ===== */
#toasts{position:fixed;top:18px;right:18px;z-index:9999;display:flex;flex-direction:column;gap:10px}
.toast{display:flex;align-items:center;gap:10px;min-width:240px;max-width:360px;background:#fff;color:var(--texto);
  border:1px solid var(--borda);border-left:5px solid var(--roxo);border-radius:12px;padding:12px 16px;
  box-shadow:0 12px 30px #0002;font-size:14px;animation:toastIn .25s ease}
.toast.ok{border-left-color:var(--verde)} .toast.erro{border-left-color:#dc2626} .toast.info{border-left-color:var(--roxo)}
.toast .tic{font-size:18px;flex:none}
.toast.saindo{animation:toastOut .25s ease forwards}
@keyframes toastIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateX(20px)}}

/* ===== spinner no botão ===== */
.btn.carregando{position:relative;color:transparent!important;pointer-events:none}
.btn.carregando::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;
  border:2.5px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:girar .6s linear infinite}
@keyframes girar{to{transform:rotate(360deg)}}

/* ===== botão secundário ===== */
.btn-sec{background:#fff;color:var(--roxo);border:1px solid var(--roxo);padding:11px 18px;border-radius:10px;
  font-weight:700;cursor:pointer;font-size:14px;transition:.12s}
.btn-sec:hover{background:var(--roxo-claro)} .btn-sec:disabled{opacity:.5;cursor:default}

/* ===== estado vazio ===== */
.vazio{background:var(--card);border:1px dashed var(--borda);border-radius:14px;padding:34px 24px;text-align:center;color:var(--suave)}
.vazio .em{font-size:34px;display:block;margin-bottom:8px;opacity:.8}
.vazio b{color:var(--texto);display:block;font-size:15px;margin-bottom:4px}

/* ===== barra de fechamento (dashboard) ===== */
.barra{display:flex;height:14px;border-radius:8px;overflow:hidden;background:#eef0f2}
.barra span{display:block;height:100%}
.barra .b{background:#cbd5e1}.barra .a{background:#fde68a}.barra .v{background:#86efac}

/* ===== editor de cursos ===== */
.opcao-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.opcao-row select,.opcao-row input{padding:8px 10px;border:1px solid var(--borda);border-radius:8px;font:inherit}
.opcao-row input[type=number]{width:120px}

/* ===== status de matrícula (fechamento) ===== */
.pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 11px;border-radius:20px;border:1px solid var(--borda);white-space:nowrap}
.pill.b{background:#fff;color:#6b7280}
.pill.a{background:#fef9c3;color:#a16207;border-color:#fde68a}
.pill.v{background:#dcfce7;color:#15803d;border-color:#bbf7d0}
.mini{padding:5px 10px;font-size:12px;border-radius:8px;border:1px solid var(--roxo);background:#fff;color:var(--roxo);cursor:pointer;font-weight:600}
.mini:hover{background:var(--roxo-claro)} .mini.g{border-color:var(--verde);color:var(--verde)} .mini.g:hover{background:var(--verde-claro)}

/* ===== formulário de matrícula ===== */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid .full{grid-column:1/-1}
.form-sec{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--roxo);font-weight:700;margin:22px 0 10px;border-bottom:2px solid var(--roxo-claro);padding-bottom:5px}
.campo label{display:block;font-size:13px;color:var(--suave);margin-bottom:4px;font-weight:600}
.campo input,.campo select{width:100%;padding:10px 12px;border:1px solid var(--borda);border-radius:9px;font:inherit;font-size:14px;background:#fff}
.campo input:focus,.campo select:focus{outline:none;border-color:var(--roxo)}
.campo input[readonly]{background:#f3f4f7;color:var(--texto);font-weight:700}
.campo select:disabled{background:#f3f4f7;color:#9aa0a6}
@media(max-width:820px){.form-grid{grid-template-columns:1fr}}

/* ===== admin ===== */
body.is-admin .sidebar .foot small{color:var(--laranja);font-weight:600}
body.is-admin .sidebar .foot .av{background:linear-gradient(135deg,var(--laranja),#d9660a)}
.sec.adm{color:#e6b566}
.aviso{background:#fff8ec;border:1px solid #f3d9a6;color:#8a5a00;border-radius:12px;padding:12px 16px;font-size:14px;margin:0 0 18px}
.passos{counter-reset:p;list-style:none;padding:0;margin:0}
.passos li{counter-increment:p;position:relative;padding:10px 0 10px 40px;border-bottom:1px solid var(--borda);font-size:14px;line-height:1.5}
.passos li:last-child{border-bottom:0}
.passos li::before{content:counter(p);position:absolute;left:0;top:9px;width:26px;height:26px;border-radius:8px;background:var(--roxo-claro);color:var(--roxo);display:grid;place-items:center;font-weight:700;font-size:13px}
.campo-txt{width:100%;min-height:150px;padding:12px 14px;border:1px solid var(--borda);border-radius:10px;font:inherit;font-size:14px;line-height:1.5;resize:vertical}
.campo-txt:focus{outline:none;border-color:var(--roxo)}
.form-lbl{display:block;font-weight:700;margin:18px 0 6px;font-size:14px}
.form-hint{color:var(--suave);font-size:13px;margin:0 0 8px}
kbd{background:#f3f4f7;border:1px solid var(--borda);border-radius:6px;padding:1px 6px;font-size:12px;font-family:inherit}

/* ===== rodapé do usuário / botão sair ===== */
.sidebar .foot .av{text-transform:uppercase}
.sidebar .sair{margin-left:auto;background:transparent;border:0;color:var(--side-tx2);cursor:pointer;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;transition:.12s;flex:none}
.sidebar .sair:hover{background:#ffffff1a;color:#ff9a9a}
.sidebar .sair svg{width:18px;height:18px}

/* ===== ícones Lucide (substituem os emojis da interface) ===== */
.ico{display:inline-block;vertical-align:middle}
.nav .ic{display:inline-flex;align-items:center;justify-content:center}
.nav .ic svg{width:18px;height:18px}
.card .ic{display:inline-flex;color:var(--roxo)}
.card .ic svg{width:26px;height:26px}
.card.laranja .ic{color:var(--laranja)} .card.teal .ic{color:var(--teal)} .card.amarelo .ic{color:var(--amarelo)}
.stat .ic svg,.stat .sic svg{width:20px;height:20px}
h1 .ico,h2 .ico,.painel h2 .ico{width:20px;height:20px;vertical-align:-.16em}
.btn .ico,button .ico,.tag .ico,.pill .ico{vertical-align:-.16em}
.toast .tic svg{width:18px;height:18px}
.vazio .ico{width:34px;height:34px;color:var(--suave)}
/* bolinha de status (substitui ⬜ 🟨 🟩) — mantém o sinal de cor */
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin-right:3px;background:#c3c8d0}
.dot.a{background:var(--amarelo)} .dot.v{background:var(--verde)} .dot.b{background:#c3c8d0}

/* =====================================================================
   POLIMENTO v2 — micro-interações, animações e foco.
   100% aditivo e CSS-only: mesma estrutura, mesma identidade
   (roxo/laranja/teal, sidebar escura). Nada de redesign.
   ===================================================================== */

/* transições suaves e consistentes nos elementos interativos */
.card,.stat,.btn,.btn-sec,.mini,.zap,.nav,.arqitem,.drop,.tag,.pill,
input,select,textarea{transition:transform .18s cubic-bezier(.2,.7,.3,1),
  box-shadow .18s ease,background-color .15s ease,border-color .15s ease,color .12s ease,filter .12s ease}

/* --- entrada da página: fade-up suave e escalonado --- */
@keyframes subir{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.content>h1,.content>.sub,.content>.cards,.content>.grid,.painel,.toolbar,
#recentes,#fechamento,#stats,.content>table,.content>.vazio,.login-card{
  animation:subir .5s cubic-bezier(.2,.7,.3,1) both}
.content>.sub{animation-delay:.04s}
#stats,.content>.cards{animation-delay:.08s}
#fechamento{animation-delay:.12s}
.content>.grid{animation-delay:.16s}
#recentes,.content>table{animation-delay:.2s}

/* stagger dos stats e cards (inclui os criados via JS) */
.cards .stat{animation:subir .5s cubic-bezier(.2,.7,.3,1) both}
.cards .stat:nth-child(2){animation-delay:.07s}
.cards .stat:nth-child(3){animation-delay:.14s}
.cards .stat:nth-child(4){animation-delay:.21s}
.grid .card{animation:subir .5s cubic-bezier(.2,.7,.3,1) both}
.grid .card:nth-child(2){animation-delay:.06s}
.grid .card:nth-child(3){animation-delay:.12s}
.grid .card:nth-child(4){animation-delay:.18s}
.grid .card:nth-child(5){animation-delay:.24s}
.grid .card:nth-child(6){animation-delay:.3s}

/* --- cards e stats: hover mais rico --- */
.stat:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0000000f}
.stat .sic{transition:transform .2s cubic-bezier(.2,.7,.3,1)}
.stat:hover .sic{transform:scale(1.08) rotate(-3deg)}
a.card .ic{transition:transform .2s cubic-bezier(.2,.7,.3,1)}
a.card:hover .ic{transform:scale(1.1)}

/* --- menu: marcador laranja no item ativo + ícone reage --- */
.nav{position:relative}
.nav.ativo::before{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);
  width:3px;height:58%;border-radius:0 3px 3px 0;background:var(--laranja)}
.nav .ic{transition:transform .15s ease}
.nav:hover .ic{transform:translateX(1px)}

/* --- botões: pressão + hover + foco acessível --- */
.btn:active,.btn-sec:active,.mini:active,.zap:active{transform:translateY(1px)}
.btn:hover{box-shadow:0 6px 20px #6d28d955}
a:focus-visible,button:focus-visible,.nav:focus-visible,.card:focus-visible,
[tabindex]:focus-visible{outline:2px solid var(--roxo);outline-offset:2px;border-radius:8px}

/* --- inputs: anel de foco suave e consistente --- */
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--roxo);box-shadow:0 0 0 3px #6d28d91f}
.login-card input:focus{box-shadow:0 0 0 3px #6d28d940}

/* --- tabela: destaque de linha no hover --- */
table tr{transition:background-color .12s ease}
tbody tr:hover:not(.ok),table tr:hover:not(.ok):not(:first-child){background:#faf9fe}

/* --- upload: reação ao arrastar/hover --- */
.drop.over{box-shadow:0 0 0 4px #6d28d91a}
.drop .dic{transition:transform .2s ease}
.drop:hover .dic{transform:translateY(-2px)}

/* --- sidebar: leve profundidade (mesma paleta) --- */
.sidebar{background:linear-gradient(180deg,#221a38 0%,var(--side) 42%,#1a1428 100%);box-shadow:2px 0 14px #0000000d}

/* --- scrollbar on-brand, discreta --- */
.content::-webkit-scrollbar{width:10px}
.content::-webkit-scrollbar-thumb{background:#d9d5e6;border-radius:8px;border:2px solid var(--bg)}
.content::-webkit-scrollbar-thumb:hover{background:#c6bfda}

/* =====================================================================
   POLIMENTO v3 — dashboard acionável + hover premium
   ===================================================================== */
/* cor de accent (rgb) por tipo, pra brilho no hover */
.card{--acc:109,40,217} .card.laranja{--acc:246,130,31} .card.teal{--acc:13,148,136} .card.amarelo{--acc:202,138,4}
.stat{--acc:109,40,217} .stat:nth-child(2){--acc:246,130,31} .stat:nth-child(3){--acc:13,148,136}

/* tool cards clicáveis: elevação maior + brilho na cor do card + borda acende + título muda */
a.card{cursor:pointer}
a.card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(var(--acc),.20);border-left-color:rgb(var(--acc))}
a.card:active{transform:translateY(-1px)}
a.card:hover .ic{transform:scale(1.14) translateY(-1px)}
a.card:hover h3{color:rgb(var(--acc))}
a.card h3{transition:color .15s ease}

/* stat cards agora são LINKS clicáveis, com seta que aparece no hover */
a.stat{display:block;cursor:pointer;text-decoration:none;color:inherit}
a.stat:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(var(--acc),.18)}
a.stat:active{transform:translateY(-1px)}
a.stat:hover .sic{transform:scale(1.14) rotate(-5deg)}
a.stat .go{position:absolute;right:14px;bottom:11px;display:inline-flex;color:rgb(var(--acc));
  opacity:0;transform:translateX(-5px);transition:opacity .2s ease,transform .2s ease}
a.stat .go .ico{width:18px;height:18px}
a.stat:hover .go{opacity:1;transform:none}

/* fila de ações rápidas no topo do dashboard */
.quick{display:flex;gap:10px;flex-wrap:wrap;margin:2px 0 22px}
.quick .btn,.quick .btn-sec{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.quick .btn .ico,.quick .btn-sec .ico{width:17px;height:17px}
.quick .btn:hover,.quick .btn-sec:hover{transform:translateY(-2px)}

/* --- acessibilidade: respeita quem prefere menos movimento --- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* =====================================================================
   POLIMENTO v4 — KPIs do dashboard com CONTEXTO (accent por significado,
   não por posição) + linha de tendência. Aditivo; não mexe no resto.
   ===================================================================== */
.stat.k-roxo{--acc:109,40,217}.stat.k-laranja{--acc:246,130,31}.stat.k-teal{--acc:13,148,136}.stat.k-verde{--acc:22,163,74}
.stat.k-roxo{border-left-color:var(--roxo)}.stat.k-laranja{border-left-color:var(--laranja)}
.stat.k-teal{border-left-color:var(--teal)}.stat.k-verde{border-left-color:var(--verde)}
.stat.k-roxo .sic{background:#f0ebfb;color:var(--roxo)}
.stat.k-laranja .sic{background:#fef0e0;color:#b26a00}
.stat.k-teal .sic{background:#d9f5f0;color:var(--teal)}
.stat.k-verde .sic{background:#dcfce7;color:#15803d}
/* linha de contexto/tendência sob o número */
.stat .delta{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--suave);margin-top:4px;font-weight:600}
.stat .delta.up{color:var(--verde)}.stat .delta.down{color:#dc2626}.stat .delta.warn{color:#b26a00}
.stat .delta .ico{width:13px;height:13px}
/* funil de assinatura: cabeçalho com % de conclusão */
.fech-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-2px 0 14px}
.fech-head .lbl{font-size:16px;font-weight:700}
.fech-head .big{font-size:14px;font-weight:700;color:var(--verde)}
#fechamento .barra{height:16px}
