/* login.css — tela de entrada do painel-local. Autocontido de propósito:
   não depende de tokens.css nem de fonte externa, então a tela de login
   sobe mesmo se o resto do painel quebrar. */
:root {
  --tinta:   #0A0A0A;
  --papel:   #FFFFFF;
  --fundo:   #F4F2ED;
  --ouro:    #F5B12E;
  --borda:   #E2DFD8;
  --suave:   #6B6760;
  --erro:    #B3261E;
  --sans:    -apple-system, BlinkMacSystemFont, 'Segoe UI', Inter, system-ui, sans-serif;
}
* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh;
  display: grid; place-items: center;
  padding: 24px;
  font-family: var(--sans);
  color: var(--tinta);
  background: var(--fundo);
}
.cartao {
  width: 100%; max-width: 380px;
  background: var(--papel);
  border: 1px solid var(--borda);
  border-radius: 14px;
  padding: 32px 28px;
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
}
.marca { display: flex; align-items: center; gap: 9px; margin-bottom: 26px; }
.simbolo {
  width: 30px; height: 30px; border-radius: 8px;
  background: var(--ouro); color: var(--tinta);
  display: grid; place-items: center;
  font-weight: 700; font-size: 17px;
}
.marca strong { font-size: 15px; letter-spacing: -.01em; }
h1 { margin: 0 0 4px; font-size: 25px; letter-spacing: -.02em; }
.sub { margin: 0 0 24px; color: var(--suave); font-size: 14px; }
.campo { display: block; margin-bottom: 15px; }
.campo span { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 500; color: var(--suave); }
.campo input {
  width: 100%; padding: 11px 13px;
  font-family: inherit; font-size: 15px; color: var(--tinta);
  background: var(--papel);
  border: 1px solid var(--borda); border-radius: 9px;
  transition: border-color .12s, box-shadow .12s;
}
.campo input:focus {
  outline: none;
  border-color: var(--ouro);
  box-shadow: 0 0 0 3px rgba(245,177,46,.2);
}
.btn {
  width: 100%; margin-top: 8px; padding: 12px;
  font-family: inherit; font-size: 15px; font-weight: 600;
  color: var(--tinta); background: var(--ouro);
  border: none; border-radius: 9px; cursor: pointer;
  transition: filter .12s;
}
.btn:hover:not(:disabled) { filter: brightness(.95); }
.btn:disabled { opacity: .6; cursor: default; }
.erro {
  margin: 0 0 12px; padding: 9px 12px;
  font-size: 13px; color: var(--erro);
  background: #FDECEA; border-radius: 8px;
}
