/* Plataforma AXIS · refino visual (glow up de 19/10/2026).
   Camada carregada depois do app.css: redefine os tokens e o acabamento de cada componente sem mudar a estrutura.
   Direção: escritório de alto padrão. Navy AXIS no trilho, área de trabalho clara com neutros puxados para o roxo,
   cartões sem borda dura (sombra fina e anel de 1px), números em fonte tabular e rótulos em mono, como no painel da Atem. */

:root{
  --navy:#141534;--roxo:#8436FE;--roxo-2:#6E25E0;--roxo-s:#F1EAFF;--roxo-m:#D9C7FF;
  --bg:#F5F4FA;--bg-2:#EEECF6;--card:#FFFFFF;--fg:#16162E;--fg-2:#3A3954;--mudo:#75728F;--linha:rgba(22,22,46,.08);--linha-2:rgba(22,22,46,.14);--campo:#FFFFFF;
  --ok:#15805A;--ok-s:#E2F3EB;--at:#9A5B06;--at-s:#FCF0DB;--cr:#C0392B;--cr-s:#FBE7E4;--az:#2563EB;--az-s:#E4ECFD;
  --rail:#0F1030;--rail-2:#191A44;--rail-3:#23245A;--rail-fg:#C9C6E8;--rail-mudo:#7D7AAE;
  --sombra:0 1px 2px rgba(22,22,46,.04),0 2px 8px rgba(22,22,46,.05);--sombra-2:0 8px 28px rgba(22,22,46,.10),0 2px 6px rgba(22,22,46,.05);
  --anel:0 0 0 1px var(--linha);--r:14px;--r-s:10px;
  --f:'Switzer',system-ui,-apple-system,'Segoe UI',sans-serif;--m:'Geist Mono',ui-monospace,'SF Mono','Cascadia Mono',Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --roxo:#A777FF;--roxo-2:#9461F5;--roxo-s:rgba(167,119,255,.14);--roxo-m:rgba(167,119,255,.32);
  --bg:#0B0C20;--bg-2:#111230;--card:#14153A;--fg:#EEECFA;--fg-2:#C9C6E3;--mudo:#9894BC;--linha:rgba(255,255,255,.07);--linha-2:rgba(255,255,255,.13);--campo:#0F1030;
  --ok:#4FD1A0;--ok-s:rgba(79,209,160,.13);--at:#F0B65A;--at-s:rgba(240,182,90,.13);--cr:#F28B7D;--cr-s:rgba(242,139,125,.13);--az:#7EA8FF;--az-s:rgba(126,168,255,.13);
  --rail:#07081A;--rail-2:#11122E;--rail-3:#1C1D48;
  --sombra:0 1px 0 rgba(255,255,255,.03) inset,0 2px 10px rgba(0,0,0,.25);--sombra-2:0 18px 50px rgba(0,0,0,.45);color-scheme:dark}}
:root[data-theme="dark"]{
  --roxo:#A777FF;--roxo-2:#9461F5;--roxo-s:rgba(167,119,255,.14);--roxo-m:rgba(167,119,255,.32);
  --bg:#0B0C20;--bg-2:#111230;--card:#14153A;--fg:#EEECFA;--fg-2:#C9C6E3;--mudo:#9894BC;--linha:rgba(255,255,255,.07);--linha-2:rgba(255,255,255,.13);--campo:#0F1030;
  --ok:#4FD1A0;--ok-s:rgba(79,209,160,.13);--at:#F0B65A;--at-s:rgba(240,182,90,.13);--cr:#F28B7D;--cr-s:rgba(242,139,125,.13);--az:#7EA8FF;--az-s:rgba(126,168,255,.13);
  --rail:#07081A;--rail-2:#11122E;--rail-3:#1C1D48;
  --sombra:0 1px 0 rgba(255,255,255,.03) inset,0 2px 10px rgba(0,0,0,.25);--sombra-2:0 18px 50px rgba(0,0,0,.45);color-scheme:dark}

body{font-size:14px;letter-spacing:-.003em;background:var(--bg)}
::selection{background:var(--roxo-m)}
*{scrollbar-width:thin;scrollbar-color:var(--linha-2) transparent}

/* ---------- trilho lateral ---------- */
nav.rail{background:linear-gradient(180deg,var(--rail) 0%,#0C0D29 100%);padding:20px 14px 16px;gap:18px;border-right:1px solid rgba(255,255,255,.04)}
.marca{padding:4px 8px 10px}
.marca .sel{width:36px;height:36px;border-radius:11px;background:linear-gradient(140deg,#9A5BFF,#6E25E0);box-shadow:0 6px 18px rgba(132,54,254,.45),inset 0 1px 0 rgba(255,255,255,.25)}
.marca b{font-size:15px;letter-spacing:.16em}
.marca small{font-family:var(--m);font-size:9.5px;letter-spacing:.22em}
.areas{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);border-radius:12px;padding:4px}
.areas button{padding:8px 4px;border-radius:9px;font-size:12px;color:var(--rail-fg);transition:background .15s,color .15s}
.areas button[aria-pressed="true"]{background:linear-gradient(140deg,#8F48FF,#7330EA);color:#fff;box-shadow:0 4px 14px rgba(132,54,254,.4)}
.empsel select{background:rgba(255,255,255,.05);border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);border-radius:10px;padding:9px 10px}
.empsel label,.grupo h6{font-family:var(--m);font-size:9.5px;letter-spacing:.2em;color:var(--rail-mudo);font-weight:500}
.grupo{gap:2px}
.grupo h6{margin-bottom:6px}
.grupo a{position:relative;padding:8px 10px;border-radius:9px;font-size:13.5px;font-weight:450;color:var(--rail-fg);transition:background .15s,color .15s}
.grupo a svg{opacity:.75;width:17px;height:17px}
.grupo a:hover{background:rgba(255,255,255,.045);color:#fff}
.grupo a:hover svg,.grupo a[aria-current="page"] svg{opacity:1}
.grupo a[aria-current="page"]{background:linear-gradient(90deg,rgba(132,54,254,.26),rgba(132,54,254,.06));color:#fff;font-weight:550}
.grupo a[aria-current="page"]::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#A777FF;box-shadow:0 0 12px #A777FF}
.grupo a .tag{font-family:var(--m);font-size:10px;background:rgba(255,255,255,.08);color:var(--rail-fg)}
.grupo a .tag.alerta{background:#8436FE;color:#fff;box-shadow:0 0 0 3px rgba(132,54,254,.25)}
.rail .pe{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);border-radius:12px}
.av{background:linear-gradient(140deg,#9A5BFF,#6E25E0)}

/* ---------- topo e tela ---------- */
.topo{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--linha);padding:12px 32px;min-height:62px}
.topo .ctx{font-weight:650;font-size:14px}
.topo .ctx .logo{border-radius:9px;box-shadow:var(--sombra)}
.topo .ctx small{font-family:var(--m);font-size:10.5px;letter-spacing:.06em}
.tela{padding:28px 32px 40px;gap:22px;max-width:1600px}
h1{font-size:27px;font-weight:650;letter-spacing:-.025em;line-height:1.15}
h2{font-size:15.5px;font-weight:650;letter-spacing:-.01em}
.sub{color:var(--mudo);margin-top:6px;font-size:13.5px;max-width:80ch;line-height:1.5}
.cab{gap:14px;align-items:flex-end}
.nota{color:var(--mudo)}

/* ---------- botões e campos ---------- */
.btn{border-radius:10px;padding:9px 15px;font-weight:600;font-size:13px;letter-spacing:-.005em;background:linear-gradient(180deg,#8F47FF,#7A2FF2);box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 4px 12px rgba(132,54,254,.28);transition:transform .12s,box-shadow .15s,background .15s}
.btn:hover{background:linear-gradient(180deg,#9A58FF,#7330EA);box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 6px 18px rgba(132,54,254,.36);transform:translateY(-1px)}
.btn:active{transform:none}
.btn.sec{background:var(--card);color:var(--fg);border:0;box-shadow:var(--anel),var(--sombra)}
.btn.sec:hover{box-shadow:0 0 0 1px var(--roxo-m),var(--sombra);color:var(--roxo)}
.btn.pq{padding:6px 11px;font-size:12px;border-radius:8px}
.btn.perigo,.btn.sec.perigo{background:var(--cr-s);color:var(--cr);box-shadow:none}
.btn[aria-pressed="true"]{background:var(--roxo-s);color:var(--roxo);box-shadow:0 0 0 1px var(--roxo-m)}
input,select,textarea{background:var(--campo);border:0;box-shadow:inset 0 0 0 1px var(--linha-2);border-radius:10px;padding:9px 11px;transition:box-shadow .15s}
input:hover,select:hover,textarea:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--roxo) 45%,var(--linha-2))}
input:focus,select:focus,textarea:focus{outline:0;box-shadow:inset 0 0 0 1px var(--roxo),0 0 0 4px var(--roxo-s)}
.btn:focus-visible,.grupo a:focus-visible{outline:2px solid var(--roxo);outline-offset:2px}
input[type=checkbox]{accent-color:var(--roxo);box-shadow:none}
.campo span{font-size:12px;font-weight:550;color:var(--fg-2)}

/* ---------- superfícies ---------- */
.box,.kpi,.wrap,.cli,.cat,.cal,.conc,.vazio,.kanban .col{border:0;box-shadow:var(--anel),var(--sombra);border-radius:var(--r)}
.box{padding:20px 22px}
.box h2{margin-bottom:14px}
.kpis{gap:16px}
.kpi{padding:18px 20px;position:relative;overflow:hidden}
.kpi small{font-family:var(--m);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mudo);font-weight:500}
.kpi b{font-size:27px;font-weight:620;letter-spacing:-.025em;margin-top:10px;font-variant-numeric:tabular-nums}
.kpi .var{font-size:12px;margin-top:6px}
.kpi::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(closest-side,var(--roxo-s),transparent);pointer-events:none}
.vazio{padding:40px 28px;background:var(--card)}
.vazio b{font-size:15px;margin-bottom:6px}
.perg{background:var(--at-s);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--at) 22%,transparent);border-radius:var(--r)}
.pill{font-size:10.5px;font-weight:600;padding:3px 9px;letter-spacing:.01em}
.pill.ne{background:var(--bg-2);border:0;color:var(--mudo)}

/* ---------- tabelas ---------- */
.wrap{background:var(--card)}
table{font-size:13px}
th{font-family:var(--m);font-size:10px;letter-spacing:.14em;font-weight:500;color:var(--mudo);background:var(--card);padding:11px 14px;border-bottom:1px solid var(--linha-2)}
td{padding:10px 14px;border-bottom:1px solid var(--linha)}
tbody tr{transition:background .12s}
tbody tr:hover td{background:color-mix(in srgb,var(--roxo-s) 55%,transparent)}
td.v,th.v,.num{font-variant-numeric:tabular-nums}
td.v{font-family:var(--m);font-size:12.5px}
tr.t-grupo td{background:var(--roxo-s);color:var(--fg)}
tr.t-resultado td,tr.t-equilibrio td{background:linear-gradient(90deg,#1B1C48,#141534);color:#fff}
tr.t-titulo td{font-family:var(--m);font-size:10px;letter-spacing:.18em;background:var(--bg)}

/* ---------- abas e filtros ---------- */
.abas{border-bottom:0;gap:4px;background:var(--bg-2);padding:4px;border-radius:12px;display:inline-flex;flex-wrap:wrap}
.abas button{border:0;margin:0;border-radius:9px;padding:7px 14px;font-size:13px;color:var(--mudo);transition:background .15s,color .15s}
.abas button:hover{color:var(--fg)}
.abas button[aria-selected="true"]{background:var(--card);color:var(--fg);box-shadow:var(--anel),var(--sombra)}
.filtros{gap:10px}

/* ---------- cartões de cliente, carteira, cofre ---------- */
.cli{padding:18px;transition:transform .15s,box-shadow .15s}
.cli:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--roxo-m),var(--sombra-2)}
.cli .lg{border-radius:12px;box-shadow:var(--sombra)}
.cf-item{background:var(--card);border:0;box-shadow:var(--anel);border-radius:12px;padding:14px}
.cf-e{border-radius:10px;padding:10px 12px}
.cf-e[aria-pressed="true"]{box-shadow:0 0 0 1px var(--roxo-m)}

/* ---------- kanban ---------- */
.kanban{gap:14px}
.kanban .col{background:var(--bg-2);box-shadow:none}
.kanban header{border-bottom:0;padding:14px 14px 6px;font-size:13px}
.kanban header b{font-weight:650}
.kanban .cards{padding:8px 10px 10px;gap:10px}
.kcard{background:var(--card);border:0;box-shadow:var(--anel),var(--sombra);border-radius:12px;padding:12px 13px;transition:transform .12s,box-shadow .15s}
.kcard:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--roxo-m),var(--sombra-2)}
.kanban .add{border:1px dashed var(--linha-2);border-radius:10px}
.dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 0%,transparent)}

/* ---------- janelas ---------- */
dialog{border:0;border-radius:18px;box-shadow:0 0 0 1px var(--linha),0 40px 100px rgba(10,10,40,.35)}
dialog::backdrop{background:rgba(10,11,32,.5);backdrop-filter:blur(4px)}
dialog form{padding:24px 26px;gap:14px}
dialog h2{font-size:19px;letter-spacing:-.015em}
.toast{border-radius:12px;padding:12px 16px;background:#16173A;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 16px 40px rgba(0,0,0,.3)}

/* ---------- login ---------- */
.login{background:radial-gradient(900px 500px at 15% -5%,rgba(132,54,254,.45),transparent 60%),radial-gradient(700px 500px at 100% 100%,rgba(132,54,254,.18),transparent 60%),#090A22}
.login form{border-radius:20px;padding:32px;gap:16px;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 40px 100px rgba(0,0,0,.5)}

/* ---------- funil (desenho do painel da Atem, nas cores da AXIS) ---------- */
.fu-topo{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.fu-tipos{display:inline-flex;gap:6px;padding:5px;background:var(--bg-2);border-radius:14px}
.fu-tipos button{border:0;background:none;padding:9px 16px;border-radius:10px;font:600 13px var(--f);color:var(--mudo);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.2}
.fu-tipos button small{font:500 10px var(--m);letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.fu-tipos button[aria-pressed="true"]{background:var(--card);color:var(--fg);box-shadow:var(--anel),var(--sombra)}
.fu-tipos button[aria-pressed="true"] small{color:var(--roxo)}
.fu-visoes{display:flex;flex-wrap:wrap;gap:8px}
.fu-visoes button{border:0;background:var(--card);box-shadow:var(--anel);padding:8px 15px;border-radius:999px;font:600 13px var(--f);color:var(--fg-2);cursor:pointer}
.fu-visoes button[aria-pressed="true"]{background:linear-gradient(180deg,#8F47FF,#7A2FF2);color:#fff;box-shadow:0 4px 12px rgba(132,54,254,.3)}
.fu-nota{font:500 11px var(--m);color:var(--mudo);letter-spacing:.02em}
.fu-grade{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px;align-items:start}
.fu-box{padding:24px 26px}
.fu-box h2{font-size:19px;font-weight:600;letter-spacing:-.02em;margin:0}
.fu-sub{font:500 11px/1.6 var(--m);color:var(--mudo);margin:6px 0 18px}
.fu-sub b{color:var(--roxo);font-weight:600}
.fu-etapas{display:flex;flex-direction:column;align-items:center;padding:6px 0 4px;position:relative}
.fu-barra{width:100%;display:flex;flex-direction:column;align-items:stretch;transition:width .4s cubic-bezier(.2,.7,.2,1)}
/* o tom vai do roxo fundo (topo) ao lilás (fundo do funil), como os degraus do painel da Atem */
.fu-barra .bar{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;height:48px;padding:0 16px 0 18px;border-radius:14px;color:#fff;cursor:pointer;border:0;text-align:left;position:relative;overflow:hidden;
  background:linear-gradient(90deg,color-mix(in srgb,#5B1FD1 calc((1 - var(--t,0)) * 100%),#9A5BFF),color-mix(in srgb,#8436FE calc((1 - var(--t,0)) * 100%),#C3A2FF));
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 -1px 0 rgba(0,0,0,.12) inset,0 12px 26px -12px rgba(132,54,254,.75);transition:transform .15s,filter .15s,box-shadow .15s}
.fu-barra .bar::after{content:"";position:absolute;inset:0 0 50% 0;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent);pointer-events:none}
.fu-barra .bar:hover{transform:translateY(-1px);filter:brightness(1.07);box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 16px 32px -12px rgba(132,54,254,.9)}
.fu-barra .bar .rot{font:600 11px var(--m);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:10px;min-width:0}
.fu-barra .bar .rot small{font:500 10px var(--m);letter-spacing:.06em;opacity:.6;padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.14)}
.fu-barra .bar .val{font:600 22px var(--m);letter-spacing:-.03em;display:flex;align-items:center;gap:10px;font-variant-numeric:tabular-nums}
.fu-barra .bar .val::after{content:"›";font-size:18px;opacity:.6;transition:transform .15s}
.fu-barra .bar:hover .val::after{transform:translateX(2px);opacity:1}
.fu-barra .bar.zero{background:repeating-linear-gradient(135deg,var(--bg-2) 0 8px,color-mix(in srgb,var(--bg-2) 70%,var(--card)) 8px 16px);color:var(--mudo);box-shadow:inset 0 0 0 1px var(--linha-2)}
.fu-barra .bar.zero::after{display:none}
.fu-barra .bar.zero .rot small{background:var(--linha)}
.fu-barra .custo{align-self:flex-end;font:500 10px var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--mudo);margin-top:3px;min-height:12px}
.fu-barra .custo b{color:var(--fg-2);font-weight:600}
.fu-passo{display:flex;gap:8px;align-items:center;margin:0 0 6px;font:500 10px var(--m);letter-spacing:.1em;text-transform:uppercase;color:var(--mudo)}
.fu-passo i{font-style:normal;color:var(--roxo);font-size:13px}
.fu-passo b{font:600 11.5px var(--m);letter-spacing:.02em;color:var(--roxo);background:var(--roxo-s);padding:3px 9px;border-radius:999px;text-transform:none}
.fu-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:22px}
.fu-tile{background:var(--bg);border-radius:12px;padding:12px 10px;text-align:center;box-shadow:var(--anel)}
.fu-tile b{display:block;font:600 16px var(--m);letter-spacing:-.02em}
.fu-tile span{display:block;font:500 9.5px var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--mudo);margin-top:5px}
.fu-lado h2{font-size:19px;font-weight:600;letter-spacing:-.02em}
.fu-cli{display:flex;flex-direction:column;gap:10px;max-height:760px;overflow:auto;padding:2px}
.fu-c{background:var(--card);border-radius:12px;box-shadow:var(--anel),var(--sombra);padding:13px 16px 13px 18px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;cursor:pointer}
.fu-c::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--roxo)}
.fu-c.indicacao::before{background:var(--ok)}
.fu-c .nm{font-weight:650;font-size:13.5px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.fu-c .vl{font:600 14px var(--m);color:var(--roxo);text-align:right}
.fu-c .mt{grid-column:1/-1;font:500 11px/1.6 var(--m);color:var(--mudo)}
.fu-tag{font:600 9.5px var(--m);letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:var(--roxo-s);color:var(--roxo)}
.fu-tag.ind{background:var(--ok-s);color:var(--ok)}
.fu-comp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.fu-comp>div{border-radius:12px;padding:14px;box-shadow:var(--anel);background:var(--bg)}
.fu-comp b{font:600 22px var(--m);letter-spacing:-.02em;display:block}
.fu-comp small{font:500 10px var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--mudo)}
.fu-membros{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto}
.fu-membros a{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:var(--bg);text-decoration:none;color:var(--fg)}
.fu-membros a:hover{background:var(--roxo-s)}
@media (max-width:1180px){.fu-grade{grid-template-columns:minmax(0,1fr)}.fu-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- DRE: grupo em tom leve, resultado em faixa sólida (o degradê por célula deixava cada coluna de um tom) ---------- */
:root{--grupo-bg:#F3EEFF;--res-bg:#1A1B45;--res-fg:#FFFFFF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--grupo-bg:#1B1A48;--res-bg:#2B2373;--res-fg:#FFFFFF}}
:root[data-theme="dark"]{--grupo-bg:#1B1A48;--res-bg:#2B2373;--res-fg:#FFFFFF}
tr.t-grupo td{background:var(--grupo-bg);font-weight:650;color:var(--fg)}
tr.t-resultado td,tr.t-equilibrio td{background:var(--res-bg);color:var(--res-fg);font-weight:650;border-bottom-color:transparent}
tr.t-resultado td.v,tr.t-equilibrio td.v{font-weight:600}
tr.t-categoria td{color:var(--fg-2)}
tr.t-categoria td.v{color:var(--fg)}
tbody tr.t-grupo:hover td{background:color-mix(in srgb,var(--grupo-bg) 80%,var(--roxo))}
tbody tr.t-resultado:hover td,tbody tr.t-equilibrio:hover td{background:color-mix(in srgb,var(--res-bg) 88%,#fff)}
td.v{color:inherit}
td.v.neg{color:var(--cr)}
tr.t-resultado td.v.neg,tr.t-equilibrio td.v.neg{color:#FFA89B}

/* ---------- agenda ---------- */
.cal{border:0}
.cal .sem span{font:500 10px var(--m);letter-spacing:.16em;text-transform:uppercase;padding:11px 8px;border-bottom-color:var(--linha-2)}
.cal .dia{transition:background .12s;cursor:pointer}
.cal .dia:hover{background:color-mix(in srgb,var(--roxo-s) 50%,transparent)}
.cal .dia b{font:600 11.5px var(--m);width:24px;height:24px;display:grid;place-items:center;border-radius:50%}
.cal .dia.hoje{background:color-mix(in srgb,var(--roxo-s) 70%,transparent)}
.cal .dia.hoje b{background:var(--roxo);color:#fff;box-shadow:0 4px 12px rgba(132,54,254,.4)}
.cal .ev{border-radius:6px;padding:4px 7px;font-weight:550}

/* ---------- login: ocupa a janela inteira (o min-height:100% dependia da altura do pai, que não existe) ---------- */
.login{min-height:100vh;min-height:100dvh}
.login form{gap:14px}
.login .marca{padding:0 0 6px}
.login h1,.login h2{font-size:22px;letter-spacing:-.02em}
.login .btn{padding:11px 15px;font-size:14px}

/* ---------- marca: logotipo oficial no lugar do quadradinho com texto ---------- */
.marca{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:6px 10px 12px}
.marca .logo-axis{width:112px;height:auto;display:block;fill:#fff;color:#fff;overflow:visible}
.marca .logo-axis .lg-s{fill:#A777FF;filter:drop-shadow(0 0 14px rgba(167,119,255,.45))}
.marca small{font:500 9.5px var(--m);letter-spacing:.24em;text-transform:uppercase;color:var(--rail-mudo);padding-left:2px}
.login .marca{padding:0 0 10px;gap:10px}
.login .marca .logo-axis{width:132px;fill:var(--fg);color:var(--fg)}
.login .marca .logo-axis .lg-s{fill:var(--roxo);filter:none}
.login .marca small{color:var(--mudo)}

/* ---------- seletores: a lista nativa abria branca com letra branca no trilho escuro ---------- */
.empsel select{color-scheme:dark;color:#fff}
.empsel select option,.empsel select optgroup{background:#14153A;color:#EEECFA}
select option{background:var(--card);color:var(--fg)}
