/* Telas de acesso e administracao — mesma identidade do CRM Summit. */
:root{
  --ink:#12161C; --ink2:#414B5A; --ink3:#78839A; --ink4:#A6AFC0;
  --paper:#E8EBF0; --panel:#FFF; --panel2:#F4F6F9; --line:#D2D8E2; --line2:#E5E9EF;
  --d:#B8372B; --i:#B8820E; --s:#1B7355; --c:#2A56A0; --u:#6B3FA0;
  --dTint:#FBEDEB; --sTint:#E8F4EF; --cTint:#EAF0FA;
  --r:4px;
  --shadow:0 1px 2px rgba(18,22,28,.07), 0 4px 14px rgba(18,22,28,.05);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--paper); color:var(--ink);
  font-family:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,sans-serif;
  font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased;
}
h1,h2{font-family:"Archivo","IBM Plex Sans",system-ui,sans-serif;margin:0;font-weight:700;letter-spacing:-.015em}
a{color:var(--c)}
:focus-visible{outline:2px solid var(--c);outline-offset:2px;border-radius:2px}
.eyebrow{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);font-weight:600;font-family:"IBM Plex Mono"}
.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-family:"Archivo";font-size:19px;font-weight:800;letter-spacing:-.02em}
.brand span{font-size:12.5px;color:var(--ink2)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:24px}
.card h1{font-size:17px;margin-bottom:4px}
.card .sub{color:var(--ink2);font-size:13px;margin:0 0 18px}

label{display:block;font-size:12.5px;font-weight:600;margin-bottom:5px}
.campo{margin-bottom:14px}
input[type=text],input[type=email],input[type=password],select{
  width:100%;padding:8px 10px;font:inherit;font-size:13px;background:var(--panel);
  border:1px solid var(--line);border-radius:3px;color:var(--ink);
}
input:focus,select:focus{outline:2px solid var(--c);outline-offset:-1px;border-color:var(--c)}
.btn{
  background:var(--panel);border:1px solid var(--line);border-radius:3px;
  padding:8px 14px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;
  color:inherit;text-decoration:none;display:inline-block;
}
.btn:hover{border-color:var(--ink3)}
.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:3px;padding:10px 12px;font-size:13px;margin-bottom:16px;border:1px solid}
.aviso.erro{background:var(--dTint);border-color:#e8c4bf;color:#8c2a19}
.aviso.ok{background:var(--sTint);border-color:#bfdccf;color:#175c42}
.dica{font-size:12px;color:var(--ink3);margin-top:6px}
.rodape{text-align:center;margin-top:16px;font-size:12px;color:var(--ink3)}

/* --- 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(--ink2);font-size:13.5px;max-width:62ch}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line2)}
th{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);font-weight:600;font-family:"IBM Plex Mono"}
tr:last-child td{border-bottom:0}
td.acoes{text-align:right;white-space:nowrap}
.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink2)}
.tag.admin{background:var(--cTint);border-color:#c3cee6;color:#1d3d73}
.tag.off{background:var(--panel2);color:var(--ink3)}
.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(--panel2);border:1px dashed var(--line);border-radius:3px;
  padding:10px 12px;margin-top:8px;user-select:all;
}
.carga{font-size:12px;color:var(--ink3);margin-top:2px}
