/* Login Datatizze — identidade do CLAUDE.md na estrutura sóbria do dashboard */
:root {
  color-scheme: light;
  --roxo: #4301DF; --quase-preto: #070018; --lavanda: #ECE6FD; --roxo-medio: #A48BF2;
  --bg: #f6f8fa; --box: #ffffff; --borda: #d1d9e0; --texto: #1f2328; --texto-2: #59636e;
  --input: #ffffff; --botao: var(--roxo); --botao-hover: #3701b8; --botao-texto: #ffffff;
  --erro: #cf222e; --erro-bg: #ffebe9; --info-bg: var(--lavanda);
  --alerta: #9a6700; --alerta-bg: #fff8c5; --alerta-borda: #d4a72c;
}
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --bg: var(--quase-preto); --box: #120a2a; --borda: #2b2150; --texto: #f3f0fc; --texto-2: #b5aed0;
    --input: #0b0420; --botao: var(--roxo-medio); --botao-hover: #b9a5f5; --botao-texto: var(--quase-preto);
    --erro: #ff8182; --erro-bg: rgba(255, 129, 130, .1); --info-bg: rgba(164, 139, 242, .12);
    --alerta: #e3b341; --alerta-bg: rgba(227, 179, 65, .1); --alerta-borda: #9e6a03;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; background: var(--bg); color: var(--texto);
  font: 14px/1.5 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.login { width: 100%; max-width: 340px; margin: 0 auto; padding: 48px 16px; }
.logo { display: block; margin: 0 auto 16px; border-radius: 8px; background: #fff; object-fit: contain; }
h1 { font: 600 22px/1.3 "Space Grotesk", Inter, sans-serif; text-align: center; margin: 0 0 16px; letter-spacing: -.01em; }
.box { background: var(--box); border: 1px solid var(--borda); border-radius: 6px; padding: 16px; }
label { display: block; font-weight: 600; margin: 0 0 6px; }
input {
  display: block; width: 100%; height: 34px; padding: 5px 12px; margin: 0 0 16px;
  font: inherit; color: var(--texto); background: var(--input);
  border: 1px solid var(--borda); border-radius: 6px;
}
input:focus { outline: 2px solid var(--roxo-medio); outline-offset: -1px; border-color: var(--roxo); }
.btn-primario {
  display: block; width: 100%; height: 34px; font: 600 14px Inter, sans-serif; cursor: pointer;
  color: var(--botao-texto); background: var(--botao); border: 1px solid transparent; border-radius: 6px;
}
.btn-primario:hover { background: var(--botao-hover); }
.btn-primario:focus-visible { outline: 2px solid var(--roxo-medio); outline-offset: 2px; }
.flash { padding: 12px 16px; margin: 0 0 16px; border: 1px solid var(--roxo-medio); background: var(--info-bg); border-radius: 6px; }
.flash-erro { border-color: var(--erro); background: var(--erro-bg); color: var(--erro); }
.flash-alerta { border-color: var(--alerta-borda); background: var(--alerta-bg); }
.flash-alerta strong { color: var(--alerta); }
.flash-alerta ul { margin: 6px 0 0; padding-left: 20px; }
.alerta { color: var(--alerta); font-weight: 600; font-size: 12px; }
.rodape { color: var(--texto-2); font-size: 12px; text-align: center; margin: 16px 0 0; }

/* ===== Páginas internas (empresas, senha, administração) ===== */
.interna .box { padding: 0; margin: 0 0 24px; }
.conteudo { max-width: 1080px; margin: 0 auto; padding: 0 16px; }
.topo { background: var(--box); border-bottom: 1px solid var(--borda); margin-bottom: 24px; }
.topo-linha { display: flex; align-items: center; gap: 16px; min-height: 60px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
.topo-marca { display: flex; align-items: center; gap: 8px; color: var(--texto); text-decoration: none; }
.topo-marca img { border-radius: 6px; background: #fff; border: 1px solid var(--borda); object-fit: contain; }
.topo-marca strong { font: 600 16px "Space Grotesk", Inter, sans-serif; }
.topo-nav { margin-left: auto; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.topo-nav a { color: var(--texto); text-decoration: none; }
.topo-nav a:hover { color: var(--roxo); text-decoration: underline; }
.topo-nav form { margin: 0; }
.btn {
  display: inline-flex; align-items: center; height: 32px; padding: 0 12px; font: 500 14px Inter, sans-serif;
  color: var(--texto); background: var(--bg); border: 1px solid var(--borda); border-radius: 6px;
  text-decoration: none; cursor: pointer;
}
.btn:hover { border-color: var(--roxo-medio); }
.titulo { text-align: left; font-size: 22px; margin: 0 0 8px; }
.sub { color: var(--texto-2); margin: 0 0 16px; }
.mudo { color: var(--texto-2); font-weight: 400; font-size: 12px; }
a { color: var(--roxo); }
@media (prefers-color-scheme: dark) { a { color: var(--roxo-medio); } }
code { font: 12px ui-monospace, SFMono-Regular, Consolas, monospace; background: var(--bg); padding: .1em .35em; border-radius: 6px; }

.box-corpo, .interna .box-corpo { padding: 16px; }
.box-cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 16px; background: var(--bg); border-bottom: 1px solid var(--borda); border-radius: 6px 6px 0 0; }
.box-cabecalho h2 { font-size: 14px; margin: 0; }

.lista { list-style: none; padding: 0; }
.lista li + li { border-top: 1px solid var(--borda); }
.lista a { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; color: var(--texto); text-decoration: none; }
.lista a:hover { background: var(--bg); }

.tabela { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 8px 16px; text-align: left; border-bottom: 1px solid var(--borda); white-space: nowrap; }
th { font-size: 12px; font-weight: 600; color: var(--texto-2); }
tbody tr:last-child td { border-bottom: 0; }
td.n, th.n { text-align: right; }
tr.inativo td { color: var(--texto-2); }
.label { display: inline-block; padding: 0 7px; font-size: 12px; font-weight: 500; line-height: 18px; border: 1px solid var(--borda); border-radius: 2em; }

.formulario { max-width: 640px; }
.formulario.estreito { max-width: 400px; }
.formulario fieldset { border: 0; border-top: 1px solid var(--borda); padding: 12px 0 0; margin: 4px 0 16px; }
.formulario legend { font-weight: 600; padding: 0 8px 0 0; }
.formulario .opcao { font-weight: 400; display: flex; align-items: baseline; gap: 8px; margin: 0 0 8px; }
.formulario .btn-primario { width: auto; padding: 0 20px; margin-top: 8px; }
input[type="checkbox"], input[type="radio"] { display: inline-block; width: auto; height: auto; margin: 0; accent-color: var(--roxo); }
.com-sufixo { display: flex; align-items: center; gap: 6px; }
.com-sufixo input { margin: 0; }
.com-sufixo span { white-space: nowrap; color: var(--texto-2); }
.formulario .com-sufixo + .mudo { margin: 6px 0 16px; }
