/* Login e primeiro acesso do Hub Rumo: fundo escuro liso, tokens do Portway Dashboards. */
:root {
  color-scheme: dark;
  --background: #161616;
  --layer-01: #262626;
  --border-strong: #6f6f6f;
  --text-primary: #f4f4f4;
  --text-secondary: #c6c6c6;
  --text-error: #ff8389;
  --button-primary: #0f62fe;
  --focus: #ffffff;
  --sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--background); color: var(--text-primary); font-family: var(--sans); font-size: 14px; line-height: 20px; }
.entrada { max-width: 400px; margin: 0 auto; padding: 96px max(16px, env(safe-area-inset-left, 0px)) 48px; display: grid; gap: 32px; }
form { display: grid; gap: 16px; background: var(--layer-01); padding: 24px; }
h1 { margin: 0; font-size: 28px; line-height: 36px; font-weight: 400; }
label { display: grid; gap: 8px; color: var(--text-secondary); font-size: 12px; line-height: 16px; letter-spacing: .32px; }
input { height: 40px; padding: 0 12px; background: var(--background); color: var(--text-primary); border: 0; border-bottom: 1px solid var(--border-strong); font: inherit; font-size: 14px; }
input:focus-visible, button:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
button { height: 48px; border: 0; background: var(--button-primary); color: #fff; font: inherit; text-align: left; padding: 0 16px; cursor: pointer; }
.erro { margin: 0; color: var(--text-error); }
.ola, .regras { margin: 0; color: var(--text-secondary); }
