/* Tela de login: mesmas cores do painel (styles.css), sem fonte externa para não chamar nada de fora antes de entrar */
:root {
  --brand: oklch(0.44 0.171 258); --brand-d: oklch(0.34 0.15 258);
  --ink: oklch(0.24 0.02 258); --muted: oklch(0.5 0.02 258); --line: oklch(0.91 0.008 258);
  --ground: oklch(0.975 0.004 258); --surface: #fff; --cost: #B03E16; --cost-s: #FCEAE2;
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin: 0; display: grid; place-items: center; padding: 16px; background: var(--ground); color: var(--ink);
  font: 14px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.caixa { width: 100%; max-width: 360px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px;
  padding: 28px 26px; box-shadow: 0 1px 2px oklch(0.3 0.03 258 / .06), 0 8px 24px oklch(0.3 0.03 258 / .06); }
.marca { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--brand-d); margin-bottom: 18px; }
.logo { width: 28px; height: 28px; border-radius: 8px; background: var(--brand); color: #fff; display: grid; place-items: center; font-weight: 700; }
h1 { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -.2px; }
.sub { margin: 4px 0 18px; color: var(--muted); font-size: 13px; }
form { display: flex; flex-direction: column; }
label { font-size: 12.5px; font-weight: 500; margin: 0 0 5px; }
input { height: 38px; border: 1px solid oklch(0.86 0.01 258); border-radius: 7px; padding: 0 11px; font: inherit; margin-bottom: 14px; background: #fff; color: var(--ink); }
input:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px oklch(0.47 0.16 258 / .16); }
.erro { margin: -4px 0 12px; min-height: 18px; color: var(--cost); font-size: 12.5px; }
.erro:empty { min-height: 0; margin: 0; }
button { height: 40px; border: 0; border-radius: 7px; background: var(--brand); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
button:hover { background: var(--brand-d); }
button:focus-visible { outline: none; box-shadow: 0 0 0 3px oklch(0.47 0.16 258 / .35); }
button:disabled { opacity: .7; cursor: default; }
