:root{--bg:#F5EFE2;--card:#EDE8DC;--text:#2A3547;--border:#D8D2C4;--accent:#6B8866;--navy:#2A3547;--err:#ef4444;--ok:#22c55e}
@media(prefers-color-scheme:dark){:root{--bg:#12181f;--card:#1c2530;--text:#e8e4da;--border:#2a3545}}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;align-items:center;justify-content:center}
.box{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:40px 36px;width:100%;max-width:400px;box-shadow:0 8px 32px rgba(0,0,0,.1)}
.logo{display:flex;align-items:center;gap:10px;margin-bottom:32px}
.logo-icon{width:36px;height:36px;background:var(--navy);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#F5EFE2;font-size:18px}
.logo-text{font-size:.78rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text)}
h2{font-size:1.15rem;font-weight:700;margin-bottom:6px}
.sub{font-size:.78rem;color:#7a8a8e;margin-bottom:28px}
.field{margin-bottom:16px}
label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#7a8a8e;margin-bottom:6px}
input[type=email],input[type=password],input[type=text]{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.92rem;outline:none;transition:.15s}
input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
.btn{width:100%;margin-top:8px;padding:12px;background:var(--navy);color:#F5EFE2;border:none;border-radius:8px;font-size:.88rem;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:.15s}
.btn:hover{background:color-mix(in srgb,var(--navy) 85%,#000)}
.msg{margin-top:14px;font-size:.8rem;text-align:center}
.err{color:var(--err)}.ok{color:var(--ok)}
