:root{color-scheme:dark light;--bg:#0f1115;--panel:#1a1d24;--border:#2a2e37;--text:#e8eaf0;--text-dim:#9aa0ac;--accent:#1f8f74;--accent-hover:#26a586;--negativo:#e0554c;--radius:10px}
@media (prefers-color-scheme:light){:root{--bg:#f3f5f2;--panel:#ffffff;--border:#e2e7e2;--text:#17251f;--text-dim:#5c6b63;--accent:#0d5c4d;--accent-hover:#0a4a3e;--negativo:#b94139}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;padding:24px}
.auth-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:36px 40px;width:100%;max-width:380px;box-shadow:0 12px 32px rgba(0,0,0,.24)}
@media (prefers-color-scheme:light){.auth-panel{box-shadow:0 8px 28px rgba(15,17,21,.08)}}
.auth-panel h1{font-family:Sora,Inter,sans-serif;font-weight:700;font-size:22px;letter-spacing:-.01em;margin:0 0 4px}
.auth-panel p.sub{color:var(--text-dim);font-size:14px;margin:0 0 24px}
.auth-field{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}
.auth-field label{font-size:13px;color:var(--text-dim)}
.auth-field input{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:11px 12px;color:var(--text);font-size:15px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}
.auth-field input:hover{border-color:var(--text-dim)}
.auth-field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.auth-btn{width:100%;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:12px;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px;transition:background .15s ease,transform .05s ease,opacity .15s ease}
.auth-btn:hover:not(:disabled){background:var(--accent-hover)}
.auth-btn:active:not(:disabled){transform:translateY(1px)}
.auth-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.auth-btn:disabled{opacity:.6;cursor:default}
.auth-error{color:var(--negativo);font-size:13px;min-height:18px;margin:8px 0 0}
.auth-links{margin-top:18px;text-align:center;font-size:13px}
.auth-links a{color:var(--accent);text-decoration:none}
.auth-links a:hover{text-decoration:underline}
.auth-msg{color:var(--text-dim);font-size:14px;min-height:20px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
