/* Tokens e estilos compartilhados entre a tela de login e o app.
   Tema: segue o sistema; data-theme="light" ou "dark" no <html> força um dos dois. */
:root{
  --bg:#FFFFFF;
  --surface:#FFFFFF;
  --soft:#F4F6FB;
  --ink:#1A1F33;
  --muted:#5C6280;
  --line:#E2E5EF;
  --heading:#1B2A5E;
  --navy:#1B2A5E;
  --on-navy:#FFFFFF;
  --magenta:#A83266;
  --magenta-soft:#FAEAF1;
  --gold:#C08A22;
  --gold-soft:#FBF3E2;
  --ok:#2E7D5B;
  --ok-soft:#E5F3EC;
  --on-ok:#FFFFFF;
  --check-border:#B8BED3;
  --shadow:rgba(27,42,94,.35);
  --font-display:"Newsreader", Georgia, "Times New Roman", serif;
  --font-body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --radius:12px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0D1120;
    --surface:#141A2D;
    --soft:#1A2138;
    --ink:#E4E7F2;
    --muted:#9BA2BE;
    --line:#2A3250;
    --heading:#D8E0FF;
    --navy:#3B50A0;
    --on-navy:#FFFFFF;
    --magenta:#E585AF;
    --magenta-soft:#3A1E2D;
    --gold:#E2B355;
    --gold-soft:#332917;
    --ok:#56C493;
    --ok-soft:#163428;
    --on-ok:#0D1120;
    --check-border:#4A5378;
    --shadow:rgba(0,0,0,.7);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0D1120;
  --surface:#141A2D;
  --soft:#1A2138;
  --ink:#E4E7F2;
  --muted:#9BA2BE;
  --line:#2A3250;
  --heading:#D8E0FF;
  --navy:#3B50A0;
  --on-navy:#FFFFFF;
  --magenta:#E585AF;
  --magenta-soft:#3A1E2D;
  --gold:#E2B355;
  --gold-soft:#332917;
  --ok:#56C493;
  --ok-soft:#163428;
  --on-ok:#0D1120;
  --check-border:#4A5378;
  --shadow:rgba(0,0,0,.7);
  color-scheme:dark;
}

*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);color:var(--heading);line-height:1.15;margin:0;text-wrap:balance;font-weight:600}
p{margin:0}
button,input{font:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.seal{width:42px;height:42px;border-radius:50%;background:var(--navy);box-shadow:inset 0 0 0 2px var(--navy),inset 0 0 0 4px var(--surface),inset 0 0 0 5px var(--gold);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--on-navy);flex:none}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand-text{line-height:1.2}
.brand-text strong{display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--heading)}
.brand-text span{font-size:.8rem;color:var(--muted)}
.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.76rem;font-weight:700;background:var(--navy);color:var(--on-navy);flex:none}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border:0;border-radius:10px;background:var(--navy);color:var(--on-navy);font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.12)}
.btn[disabled]{opacity:.6;cursor:progress}
.linkbtn{background:none;border:0;padding:4px 0;color:var(--magenta);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:.92rem}

.field{display:grid;gap:6px}
.field > span{font-size:.9rem;font-weight:600}
.field input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--check-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:1rem}
.field input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px color-mix(in srgb, var(--navy) 30%, transparent)}
.form-error{background:var(--magenta-soft);color:var(--magenta);border-radius:10px;padding:10px 14px;font-size:.92rem;font-weight:600}
