/* Telas de acesso e administracao — mesma identidade do CRM. */
:root{
  --ink:#14161c; --paper:#f4f3ef; --surface:#fff; --line:#e2dfd8; --line-2:#cfcbc1;
  --muted:#6d6b64; --muted-2:#8d8a82;
  --corp:#2f4b8f; --corp-tint:#e8ecf6; --corp-deep:#1c2f5c;
  --hot:#b3341f; --ok:#2f7a52;
  --r:7px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--paper); color:var(--ink);
  font-family:Archivo,system-ui,-apple-system,sans-serif;
  font-size:14px; line-height:1.55; -webkit-font-smoothing:antialiased;
}
h1,h2{margin:0;font-weight:600;letter-spacing:-.015em}
a{color:var(--corp)}
.eyebrow{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-2);font-weight:500}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}

/* --- caixa central (login / troca de senha) --- */
.wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.box{width:100%;max-width:390px}
.brand{margin-bottom:22px}
.brand b{display:block;font-size:19px;letter-spacing:-.02em}
.brand span{font-size:12.5px;color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px}
.card h1{font-size:17px;margin-bottom:4px}
.card .sub{color:var(--muted);font-size:13px;margin:0 0 18px}

label{display:block;font-size:12.5px;font-weight:500;margin-bottom:5px}
.campo{margin-bottom:14px}
input[type=text],input[type=email],input[type=password],select{
  width:100%;padding:9px 11px;font:inherit;background:var(--surface);
  border:1px solid var(--line-2);border-radius:var(--r);color:var(--ink);
}
input:focus,select:focus{outline:2px solid var(--corp);outline-offset:-1px;border-color:var(--corp)}
.btn{
  background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);
  padding:9px 15px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;
}
.btn:hover{border-color:var(--ink)}
.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.dark:hover{background:#2c303a}
.btn.full{width:100%}
.btn.sm{padding:5px 10px;font-size:12px}

.aviso{
  border-radius:var(--r);padding:10px 12px;font-size:13px;margin-bottom:16px;
  border:1px solid;
}
.aviso.erro{background:#fbeceb;border-color:#e8c4bf;color:#8c2a19}
.aviso.ok{background:#eaf4ee;border-color:#c2ddcd;color:#215c3d}
.dica{font-size:12px;color:var(--muted-2);margin-top:6px}
.rodape{text-align:center;margin-top:16px;font-size:12px;color:var(--muted-2)}

/* --- pagina de administracao --- */
.pagina{max-width:940px;margin:0 auto;padding:28px 24px 60px}
.topo{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.topo h1{font-size:22px}
.topo p{margin:3px 0 0;color:var(--muted);font-size:13.5px}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}
th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);font-weight:500}
td.acoes{text-align:right;white-space:nowrap}
.tag{display:inline-block;font-size:11px;padding:2px 7px;border-radius:20px;border:1px solid var(--line-2);color:var(--muted)}
.tag.admin{background:var(--corp-tint);border-color:#c3cee6;color:var(--corp-deep)}
.tag.off{background:#f0eeea;color:var(--muted-2)}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.senha-nova{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:15px;
  background:var(--paper);border:1px dashed var(--line-2);border-radius:var(--r);
  padding:10px 12px;margin-top:8px;user-select:all;
}
