/* Identidade visual Amorim Contábil — compartilhada entre o Hub e as ferramentas. */
:root{
  --fundo:#f4f5f9;--cartao:#ffffff;--texto:#1b1d3a;--suave:#5f6678;--borda:#e1e3ec;
  --marca:#23235c;--marca-hover:#2f2f78;--destaque:#e8443a;--destaque-suave:#fdecea;
  --link:#23235c;--ok:#1e7f4f;--alerta:#a8620a;--erro:#c62d22;
  --sombra:0 1px 2px rgba(35,35,92,.06),0 4px 16px rgba(35,35,92,.06);
  --raio:12px;
}
@media (prefers-color-scheme:dark){:root{
  --fundo:#0e0f22;--cartao:#171932;--texto:#e9eaf4;--suave:#a4a8c0;--borda:#2a2d4e;
  --marca:#3b3e96;--marca-hover:#4a4eb0;--destaque:#ff6a5e;--destaque-suave:#3a1d22;
  --link:#a9adf5;--ok:#4cc38a;--alerta:#f0a83a;--erro:#ff8a80;
  --sombra:0 1px 2px rgba(0,0,0,.4),0 4px 16px rgba(0,0,0,.25);
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--fundo);color:var(--texto)}
a{color:var(--link)}
h1,h2,h3{color:var(--texto);line-height:1.25}
h2{font-size:1.45rem;margin:.2rem 0 1rem}
h3{font-size:1.1rem}

/* Cabeçalho */
header{background:var(--cartao);border-bottom:3px solid var(--destaque);box-shadow:var(--sombra);padding:.55rem 16px;display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap}
header .logo{display:flex;align-items:center;gap:.7rem;margin-right:auto;text-decoration:none}
header .logo img{height:30px;width:auto;display:block}
header .logo .produto{color:var(--suave);font-weight:600;font-size:.9rem;padding-left:.7rem;border-left:1px solid var(--borda)}
header nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
header nav a,header nav button.link-sair{color:var(--texto);text-decoration:none;font-weight:600;font-size:.92rem;background:none;border:0;padding:.3rem 0;cursor:pointer;font-family:inherit}
header nav a:hover,header nav button.link-sair:hover{color:var(--destaque)}
header nav .usuario{color:var(--suave);font-size:.88rem}

main{max-width:1100px;margin:1.6rem auto;padding:0 16px}

/* Blocos */
.cartao{background:var(--cartao);border:1px solid var(--borda);border-radius:var(--raio);padding:1.1rem 1.3rem;margin-bottom:1rem;box-shadow:var(--sombra)}
.cartao h3:first-child{margin-top:0}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}
.numero{font-size:1.9rem;font-weight:700;color:var(--marca)}
@media (prefers-color-scheme:dark){.numero{color:var(--texto)}}
.rotulo{color:var(--suave);font-size:.85rem}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--borda);vertical-align:top}
th{color:var(--suave);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
tr:last-child td{border-bottom:0}
.tabela{overflow-x:auto}
.ok{color:var(--ok)}.alerta{color:var(--alerta)}.erro{color:var(--erro)}

/* Formulários */
form p{margin:.75rem 0}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.25rem}
input:not([type=checkbox]):not([type=file]),select,textarea{width:100%;max-width:460px;padding:.55rem .7rem;border:1px solid var(--borda);border-radius:8px;background:var(--cartao);color:var(--texto);font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--destaque);outline-offset:1px;border-color:transparent}
input[type=checkbox]{margin-right:.4rem;accent-color:var(--destaque)}
.helptext{display:block;color:var(--suave);font-size:.82rem}
.botao,button{display:inline-block;background:var(--marca);color:#fff;border:0;border-radius:8px;padding:.6rem 1.1rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s}
.botao:hover,button:hover{background:var(--marca-hover)}
.botao.secundario{background:transparent;color:var(--link);border:1px solid var(--borda)}
.botao.secundario:hover{border-color:var(--destaque);color:var(--destaque)}
.botao.destaque{background:var(--destaque)}
button.perigo{background:var(--erro)}
.acoes{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}

/* Mensagens */
.mensagens{list-style:none;padding:0;margin:0 0 1rem}
.mensagens li{padding:.7rem 1rem;border-radius:8px;margin-bottom:.5rem;background:var(--cartao);border:1px solid var(--borda);border-left:4px solid var(--marca)}
.mensagens .error{border-left-color:var(--erro)}.mensagens .success{border-left-color:var(--ok)}
.errorlist{color:var(--erro);padding-left:1rem;margin:.25rem 0;font-size:.88rem}

/* Telas de entrada (login, senha) */
.estreito{max-width:420px;margin:3.5rem auto}
.entrada{text-align:center}
.entrada form{text-align:left}
.entrada .logo-grande{display:block;margin:0 auto 1.4rem}
.entrada .logo-grande img{width:260px;max-width:100%;height:auto}
.entrada button[type=submit]{width:100%}
.qr svg{width:220px;height:220px;background:#fff;padding:10px;border-radius:10px}

/* Cartões de ferramentas (hub) */
.cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
a.ferramenta{display:block;text-decoration:none;color:var(--texto);background:var(--cartao);border:1px solid var(--borda);border-top:4px solid var(--marca);border-radius:var(--raio);padding:1.3rem;box-shadow:var(--sombra);transition:transform .15s,border-color .15s}
a.ferramenta:hover{transform:translateY(-2px);border-top-color:var(--destaque)}
.ferramenta .icone{font-size:1.6rem;width:52px;height:52px;display:grid;place-items:center;border-radius:12px;background:var(--destaque-suave)}
.ferramenta h3{margin:.8rem 0 .25rem}
.ferramenta p{margin:0;color:var(--suave);font-size:.9rem}
.saudacao{margin-bottom:1.3rem}
.saudacao p{color:var(--suave);margin:.2rem 0 0}

footer{text-align:center;color:var(--suave);font-size:.8rem;padding:2rem 16px}
