:root{
  --top:#0B1F3F; --top2:#13294F; --top-ink:#FFFFFF; --top-soft:#9FB1CC;
  --ink:#0A2540; --muted:#6B7C93; --line:#E4EAF2; --bg:#F5F8FC; --card:#FFFFFF;
  --brand:#1A56DB; --accent:#FFC83D; --bad:#B42318; --bad-bg:#FDECEA;
  --c-planos:#FFC83D; --c-parceiros:#5B8CFF; --c-chat:#22C3A6; --c-posvenda:#FF8A65; --c-financeiro:#B794F6;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --top:#081226; --top2:#0F1D36; --ink:#E8EEF7; --muted:#8A99AD; --line:#22314A; --bg:#0A1424; --card:#101D32; --brand:#5B8CFF; --bad:#FF8A80; --bad-bg:#3A1714; color-scheme:dark; }
}
:root[data-theme="dark"]{ --top:#081226; --top2:#0F1D36; --ink:#E8EEF7; --muted:#8A99AD; --line:#22314A; --bg:#0A1424; --card:#101D32; --brand:#5B8CFF; --bad:#FF8A80; --bad-bg:#3A1714; color-scheme:dark; }
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font:15px/1.5 "Instrument Sans",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2{font-family:Outfit,"Instrument Sans",sans-serif;letter-spacing:-.02em;line-height:1.15;margin:0}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* abertura */
.splash{height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;background:var(--top);color:#fff;font-family:Outfit,sans-serif;font-size:20px}
.splash .q{animation:pis 1.2s ease-in-out infinite}
.splash .q2{animation-delay:.15s}.splash .q3{animation-delay:.3s}.splash .q4{animation-delay:.45s}
@keyframes pis{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion: reduce){ .splash .q{animation:none} }

/* entrar */
.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 500px at 0% 0%,#1A3F8F 0,transparent 60%),var(--top)}
.box{width:100%;max-width:400px}
.marca{display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font:700 22px Outfit,sans-serif;margin-bottom:18px}
.marca span{color:var(--accent)}
.card{background:var(--card);border-radius:18px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.card h1{font-size:22px}
.card p.sub{color:var(--muted);margin:4px 0 18px;font-size:14px}
.alas-mini{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}
.alas-mini i{font-style:normal;font-size:12px;font-weight:600;padding:3px 9px;border-radius:99px;background:var(--bg);border:1px solid var(--line)}
.alas-mini i::before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:6px;background:var(--c)}
label.f{display:grid;gap:5px;margin-bottom:12px;font-size:13px;font-weight:600}
.inp{width:100%;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--bg)}
.inp:focus{outline:2px solid var(--brand);outline-offset:0;border-color:transparent}
.btn{height:44px;border-radius:10px;border:0;padding:0 16px;font-weight:700}
.btn-pri{width:100%;background:var(--accent);color:#0A2540}
.btn-pri:disabled{opacity:.6}
.lnk{background:none;border:0;color:var(--brand);font-weight:600;font-size:14px;padding:6px 0;margin-top:8px}
.err{color:var(--bad);background:var(--bad-bg);border-radius:10px;padding:8px 12px;font-size:13px;margin-bottom:12px}
.pe{color:var(--top-soft);text-align:center;font-size:13px;margin-top:14px}
.pe a{color:#fff}

/* painel */
.cx{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh}
.topo{background:var(--top);color:var(--top-ink);display:flex;align-items:center;gap:14px;padding:0 12px 0 16px;height:56px;min-width:0}
.topo .marca{margin:0;font-size:17px;flex:none}
.topo .marca svg{width:28px;height:28px}
.abas{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;flex:1}
.abas::-webkit-scrollbar{display:none}
.aba{position:relative;flex:none;display:flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:10px;border:0;background:transparent;color:var(--top-soft);font-weight:600;white-space:nowrap}
.aba::before{content:"";width:8px;height:8px;border-radius:3px;background:var(--c);opacity:.85}
.aba:hover{background:var(--top2);color:#fff}
.aba[aria-selected="true"]{background:#fff;color:#0A2540}
.aba .n{min-width:18px;height:18px;line-height:18px;border-radius:9px;background:#E5484D;color:#fff;font-size:11px;font-weight:700;padding:0 5px;text-align:center}
.eu{position:relative;flex:none}
.eu>button{width:36px;height:36px;border-radius:50%;border:2px solid var(--top2);background:#2B4C86;color:#fff;font-weight:700;font-size:13px}
.menu{position:absolute;right:0;top:44px;z-index:20;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px rgba(10,37,64,.2);min-width:230px;padding:6px}
.menu .quem{padding:10px 12px;border-bottom:1px solid var(--line);margin-bottom:4px}
.menu .quem b{display:block;font-size:14px}
.menu .quem small{color:var(--muted)}
.menu button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:9px 12px;font-size:14px}
.menu button:hover{background:var(--bg)}
.palco{position:relative;min-height:0;background:var(--bg)}
.palco iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--bg)}
.carrega{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted);font-size:14px;pointer-events:none}
.carrega i{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#0A2540;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:50;max-width:calc(100% - 32px)}

@media (max-width: 720px){
  .topo{flex-wrap:wrap;height:auto;padding:8px 10px 0;gap:6px 10px}
  .topo .marca{order:1;flex:1;justify-content:flex-start}
  .eu{order:2}
  .abas{order:3;flex-basis:100%;padding-bottom:8px}
  .aba{height:34px;padding:0 12px;font-size:14px}
}
