/* ZapClean · base compartilhada (página inicial e login) */
:root{
  --bg:#EEF4F6; --surface:#FFFFFF; --surface-2:#E3EDF1; --ink:#11283A; --muted:#566D7F; --line:#D2DFE5;
  --accent:#0A8597; --accent-hover:#08707F; --accent-ink:#FFFFFF; --accent-soft:#D3EEF2;
  --foam:#FFF3D1; --sun:#B87A00; --ok:#1A8A57; --ok-soft:#DBF2E6; --bad:#B9382F; --bad-soft:#FADFDC;
  --ia:#5B4BC4; --ia-soft:#E8E5FA; --bubble-in:#FFFFFF; --bubble-out:#D3F0EC; --chat-bg:#E6EEF0;
  --shadow:0 1px 2px rgba(17,40,58,.06),0 6px 20px rgba(17,40,58,.07);
  --f-display:"Fredoka","Nunito","Trebuchet MS",system-ui,sans-serif;
  --f-body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:14px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0D1A23; --surface:#142530; --surface-2:#1B303D; --ink:#E6F0F4; --muted:#9AB0BE; --line:#26404F;
  --accent:#2FB6C9; --accent-hover:#4BC6D7; --accent-ink:#06222A; --accent-soft:#163E48;
  --foam:#3A3016; --sun:#F2C15A; --ok:#4CC98D; --ok-soft:#173828; --bad:#F07C72; --bad-soft:#41201E;
  --ia:#A99CF5; --ia-soft:#2A2550; --bubble-in:#1B303D; --bubble-out:#14444A; --chat-bg:#0F2029;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25); color-scheme:dark;}}
:root[data-theme="dark"]{
  --bg:#0D1A23; --surface:#142530; --surface-2:#1B303D; --ink:#E6F0F4; --muted:#9AB0BE; --line:#26404F;
  --accent:#2FB6C9; --accent-hover:#4BC6D7; --accent-ink:#06222A; --accent-soft:#163E48;
  --foam:#3A3016; --sun:#F2C15A; --ok:#4CC98D; --ok-soft:#173828; --bad:#F07C72; --bad-soft:#41201E;
  --ia:#A99CF5; --ia-soft:#2A2550; --bubble-in:#1B303D; --bubble-out:#14444A; --chat-bg:#0F2029;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25); color-scheme:dark;}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55}
h1,h2,h3{font-family:var(--f-display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
a{color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.muted{color:var(--muted)} .small{font-size:.875rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);font-weight:700;text-decoration:none;color:var(--ink);transition:background .15s,border-color .15s}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{background:var(--accent-hover)}
.btn.ghost{background:transparent;border-color:transparent}
.btn.block{width:100%}
.btn:disabled{opacity:.6;cursor:wait}
.btn svg{width:20px;height:20px;flex:none}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:700;font-size:.95rem}
.input{min-height:52px;padding:10px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);width:100%}
.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:600;font-size:1.4rem;color:var(--ink);text-decoration:none}
.brand-mark{width:40px;height:40px;border-radius:12px;background:var(--accent);display:grid;place-items:center;color:var(--accent-ink);flex:none}
.brand-mark svg{width:24px;height:24px}
.alert{border-radius:12px;padding:12px 14px;font-size:.95rem}
.alert.err{background:var(--bad-soft);color:var(--bad)}
.alert.ok{background:var(--ok-soft);color:var(--ok)}
.alert.warn{background:var(--foam);color:var(--sun)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
