:root{
  --fundo:#0b0d10;--lateral:#111418;--cartao:#15181d;--campo:#0f1215;
  --borda:#2b313a;--linha:#232830;--texto:#e8eaed;--texto2:#c9cfd6;--suave:#9aa3ad;
  --acento:#0ea5e9;--acento-txt:#04131c;--link:#7dd3fc;--ativo:#0f2a38;
  --verde-bg:#0f2a1f;--verde:#86efac;--amarelo-bg:#33270c;--amarelo:#fcd34d;
  --vermelho-bg:#3a1414;--vermelho:#fca5a5;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fundo);color:var(--texto);font:400 15px/1.5 Inter,system-ui,sans-serif}
a{color:var(--link)}a:hover{color:#bae6fd}
h1,h2,h3{font-family:Rajdhani,Inter,sans-serif;font-weight:700;line-height:1.15;margin:0}
h1{font-size:36px}h2{font-size:22px}h3{font-size:18px}
p{margin:0}
.ic{width:18px;height:18px;flex:none}

/* estrutura */
.shell{min-height:100vh;display:flex;flex-wrap:wrap}
.lateral{flex:1 1 248px;max-width:100%;background:var(--lateral);border-right:1px solid var(--linha);padding:24px 16px;display:flex;flex-direction:column;gap:24px}
.conteudo{flex:999 1 560px;min-width:0;padding:32px clamp(16px,4vw,56px) 56px}
.pagina{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:28px}

.menu{display:flex;flex-direction:column;flex:1}
.menu>summary{display:none}
.menu-corpo{display:flex;flex-direction:column;gap:24px;flex:1}
@media (max-width:760px){
  .lateral{position:relative;flex-basis:100%;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px;border-right:0;border-bottom:1px solid var(--linha)}
  .menu{flex:0 0 auto}
  .menu[open]{flex:1 0 100%;order:3}
  .menu>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid var(--borda);border-radius:10px;cursor:pointer;list-style:none;color:var(--texto2);font-weight:500}
  .menu>summary::-webkit-details-marker{display:none}
  .menu[open]>summary{position:absolute;top:12px;right:16px}
  .conteudo{padding-top:20px}
  h1{font-size:30px}
}
.marca{display:flex;align-items:center;gap:10px;padding:0 8px;text-decoration:none;color:var(--texto)}
.marca-centro{justify-content:center}
.marca-t{width:38px;height:38px;border-radius:10px;background:var(--acento);color:var(--acento-txt);display:flex;align-items:center;justify-content:center;font:700 22px Rajdhani,sans-serif}
.marca-txt{display:flex;flex-direction:column;line-height:1.1}
.marca-txt strong{font:700 20px Rajdhani,sans-serif;letter-spacing:.5px}
.marca-txt small{font-size:12px;color:var(--suave)}

.nav{display:flex;flex-direction:column;gap:2px}
.nav-titulo{font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--suave);padding:0 14px 6px}
.nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border-radius:10px;color:var(--texto2);text-decoration:none;font-weight:500}
.nav a:hover{background:#181c22;color:var(--texto)}
.nav a.ativo{background:var(--ativo);color:var(--link)}

.eu{margin-top:auto;padding:16px 8px 0;border-top:1px solid var(--linha);display:flex;flex-direction:column;gap:8px}
.eu-linha{display:flex;align-items:center;gap:10px}
.avatar{width:36px;height:36px;border-radius:50%;background:#1e2a33;color:var(--link);display:flex;align-items:center;justify-content:center;font-weight:600;flex:none}
.eu-txt{display:flex;flex-direction:column;min-width:0}
.eu-txt strong{font-size:14px}
.eu-txt small{font-size:12px;color:var(--suave)}

/* componentes */
.cabecalho{display:flex;flex-direction:column;gap:6px}
.cabecalho p{color:var(--suave)}
.linha-titulo{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.cartao{background:var(--cartao);border:1px solid var(--borda);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:14px}
.grade{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grade-4{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.atalho{display:flex;flex-direction:column;gap:8px;padding:20px;min-height:128px;border-radius:14px;background:var(--cartao);border:1px solid var(--borda);color:var(--texto);text-decoration:none}
.atalho:hover{border-color:#2b6e8f;color:var(--texto)}
.atalho .ic{width:26px;height:26px;color:#38bdf8}
.atalho strong{font-size:16px}
.atalho span{font-size:13px;color:var(--suave)}

.lista{display:flex;flex-direction:column}
.item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--linha);flex-wrap:wrap}
.item:first-child{border-top:0}
.item-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.item-txt small{font-size:12px;color:var(--suave)}
.vazio{color:var(--suave);font-size:14px}
.pequeno{font-size:12px;color:var(--suave)}

.selo{flex:none;font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px}
.selo-verde{background:var(--verde-bg);color:var(--verde)}
.selo-amarelo{background:var(--amarelo-bg);color:var(--amarelo)}
.selo-azul{background:var(--ativo);color:var(--link)}
.selo-vermelho{background:var(--vermelho-bg);color:var(--vermelho)}
.selo-cinza{background:#1e2329;color:var(--texto2)}

.aviso{padding:12px 16px;border-radius:10px;font-size:14px}
.aviso-ok{background:var(--verde-bg);color:var(--verde)}
.aviso-erro{background:var(--vermelho-bg);color:var(--vermelho)}
.aviso-info{background:var(--ativo);color:var(--link)}

/* formulários */
form.form{display:flex;flex-direction:column;gap:14px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--texto2)}
label.check{flex-direction:row;align-items:center;gap:10px;min-height:44px;font-size:14px}
label.check input{width:18px;height:18px}
input[type=text],input[type=email],input[type=password],input[type=search],input[type=date],input[type=month],input[type=number],input[type=file],select,textarea{
  min-height:44px;border-radius:10px;border:1px solid var(--borda);background:var(--campo);color:var(--texto);padding:0 12px;font:400 15px Inter,system-ui,sans-serif;width:100%}
input[type=file]{padding:10px 12px}
input[type=date],input[type=month]{color-scheme:dark}
textarea{padding:10px 12px;resize:vertical;min-height:110px}
textarea.md{min-height:360px;font-family:ui-monospace,Consolas,monospace;font-size:14px}
input:focus,select:focus,textarea:focus{outline:2px solid #2b6e8f;outline-offset:1px}
.duas{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.acoes{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.botao{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:0;border-radius:10px;background:var(--acento);color:var(--acento-txt);font:600 15px Inter,sans-serif;cursor:pointer;text-decoration:none}
.botao:hover{background:#38bdf8;color:var(--acento-txt)}
.botao-sec{background:transparent;border:1px solid #2b6e8f;color:var(--link)}
.botao-sec:hover{background:var(--ativo);color:var(--link)}
.botao-perigo{background:transparent;border:1px solid #7f2a2a;color:var(--vermelho)}
.botao-pq{min-height:36px;padding:0 12px;font-size:13px}
button.link{background:none;border:0;color:var(--link);cursor:pointer;font:inherit;font-size:14px;padding:0;min-height:44px;text-align:left}

.busca{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 18px;border-radius:14px;background:var(--cartao);border:1px solid var(--borda)}
.busca .ic{color:var(--suave);width:22px;height:22px}
.busca input{border:0;background:transparent;font-size:17px;padding:0;min-height:56px}
.busca input:focus{outline:none}
.busca:focus-within{border-color:#2b6e8f}

.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--borda);background:var(--cartao);color:var(--texto2);text-decoration:none;font-size:14px}
.chip.ativo{background:var(--acento);border-color:var(--acento);color:var(--acento-txt)}

.tabela-caixa{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 8px;border-top:1px solid var(--linha);vertical-align:top}
th{color:var(--suave);font-weight:600;font-size:12px;border-top:0}

/* manual */
.manual{font-size:16px;line-height:1.7}
.manual h2{font-size:26px;margin:20px 0 6px}.manual h3{font-size:21px;margin:18px 0 4px}.manual h4{font-size:18px;margin:14px 0 4px}
.manual p{margin:0 0 12px}
.manual ul,.manual ol{margin:0 0 12px;padding-left:22px}
.manual code{background:#1e2329;padding:2px 6px;border-radius:6px;font-size:14px}

/* login */
.tela-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 16px}
.caixa-login{width:100%;max-width:420px;display:flex;flex-direction:column;gap:20px}
.caixa-login .cartao{padding:28px;gap:18px}
.rodape-login{text-align:center;font-size:13px;color:var(--suave)}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
