/* Capitel · estilos das páginas públicas (entrada, cadastro, senha, início, termos) */
:root{
  --bg:#EEF2F6; --surface:#FFFFFF; --surface-2:#F5F8FB; --ink:#0B1B2B; --muted:#56667A; --line:#D8E0E8;
  --accent:#2D5BFF; --accent-ink:#FFFFFF; --accent-soft:#E3EAFF;
  --good:#0E8A5F; --good-soft:#DDF2E9; --warn:#8F5A00; --warn-soft:#FBEBCB; --bad:#C8393A; --bad-soft:#F9DEDD;
  --font-display:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#08131E; --surface:#0F2132; --surface-2:#14283B; --ink:#E8EEF4; --muted:#93A4B5; --line:#22374B;
    --accent:#7C9BFF; --accent-ink:#08131E; --accent-soft:#1A2C5C;
    --good:#3FC48F; --good-soft:#0F3528; --warn:#E8B04A; --warn-soft:#3A2B0D; --bad:#F07A72; --bad-soft:#44201E;
  }
}
:root[data-theme="dark"]{
  --bg:#08131E; --surface:#0F2132; --surface-2:#14283B; --ink:#E8EEF4; --muted:#93A4B5; --line:#22374B;
  --accent:#7C9BFF; --accent-ink:#08131E; --accent-soft:#1A2C5C;
  --good:#3FC48F; --good-soft:#0F3528; --warn:#E8B04A; --warn-soft:#3A2B0D; --bad:#F07A72; --bad-soft:#44201E;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;min-height:100vh}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:-0.03em;line-height:1.1}
button,input{font:inherit;color:inherit}
.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.brand svg{display:block;flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px 16px;font-weight:500;cursor:pointer;text-decoration:none;color:var(--ink)}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn[disabled]{opacity:.6;cursor:wait}
.btn:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:13px;color:var(--muted)}
input[type=text],input[type=email],input[type=password]{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:11px 12px;width:100%}
input:focus{border-color:var(--accent);outline:none}
.pw{position:relative}
.pw input{padding-right:64px}
.pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--accent);font-size:13px;padding:6px;cursor:pointer}
.sub{font-size:13px;color:var(--muted)}
.err{color:var(--bad);font-size:14px;min-height:0}
.err:empty{display:none}
.ok{background:var(--good-soft);color:var(--ink);border-radius:10px;padding:12px 14px;font-size:14px}
.ok:empty{display:none}
.notice{border:1px dashed var(--line);border-radius:10px;padding:10px 14px;font-size:13px;color:var(--muted);background:var(--surface-2)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.check input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent)}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}

/* entrada e cadastro */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.auth-side{background:var(--ink);color:var(--bg);padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.auth-side{--accent:#7C9BFF}
.auth-side h1{font-size:40px;max-width:16ch;margin-top:48px}
.auth-side ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px;margin-top:28px;max-width:42ch}
.auth-side li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;opacity:.88}
.auth-side li::before{content:"";width:7px;height:7px;border-radius:50%;background:#7C9BFF;margin-top:8px}
.auth-side .fine{font-size:12px;opacity:.6}
.auth-main{display:flex;align-items:center;justify-content:center;padding:32px 16px}
.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}
.auth-card h2{font-size:28px}
.tabs{display:flex;border:1px solid var(--line);border-radius:10px;padding:3px;background:var(--surface)}
.tabs a{flex:1;text-align:center;padding:8px;border-radius:8px;text-decoration:none;color:var(--muted);font-weight:500}
.tabs a[aria-current="page"]{background:var(--ink);color:var(--bg)}
form{display:flex;flex-direction:column;gap:14px}
.mobile-brand{display:none}
@media (max-width:860px){
  .auth{grid-template-columns:minmax(0,1fr)}
  .auth-side{display:none}
  .mobile-brand{display:flex;justify-content:center;margin-bottom:8px}
  .auth-main{align-items:flex-start;padding-top:40px}
}

/* páginas de texto */
.page{max-width:760px;margin:0 auto;padding:32px 16px 64px}
.page header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.doc h1{font-size:34px;margin-bottom:6px}
.doc h2{font-size:20px;margin:28px 0 8px}
.doc p,.doc li{color:var(--ink);margin-bottom:8px;max-width:70ch}
.doc ul{padding-left:20px}
.doc .todo{background:var(--warn-soft);padding:2px 6px;border-radius:4px}
