:root{--navy:#0D2144;--gold:#C9A96E;--crimson:#C01C24;--ink:#0D2144;--line:#DCE2EC;--bg:#EDF0F6}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--navy);color:var(--ink);font:15px/1.5 "DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.auth-card{background:#fff;border-radius:6px;width:100%;max-width:420px;padding:32px 28px 28px;box-shadow:0 18px 48px rgba(0,0,0,.35)}
.auth-brand{font-family:"Cormorant Garamond",Georgia,serif;font-size:32px;font-weight:600;line-height:1.05;color:var(--navy)}
.auth-sub{margin:6px 0 22px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#8a6a2b}
.auth-err{background:#FBE8E9;color:var(--crimson);border:1px solid #f0c2c5;border-radius:4px;padding:10px 12px;margin-bottom:16px;font-weight:500}
.auth-note{color:#44526D;margin:0 0 14px}
.auth form{display:flex;flex-direction:column;gap:14px}
.auth label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:#44526D}
.auth label.check{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.auth .opt{font-weight:400;color:#66738B}
.auth input[type=text],.auth input[type=password]{font:inherit;color:var(--ink);background:#fff;border:1px solid #B6C1D3;border-radius:4px;padding:10px 11px;width:100%}
.auth input:focus-visible,.auth button:focus-visible{outline:2px solid #2B5FD9;outline-offset:2px}
.auth button{font:inherit;font-weight:600;background:var(--navy);color:#fff;border:0;border-radius:4px;padding:11px 14px;cursor:pointer}
.auth button:hover{filter:brightness(1.15)}
.auth-kv{display:grid;grid-template-columns:80px 1fr;gap:6px 12px;margin:0 0 16px;padding:12px 14px;background:#F5F7FB;border:1px solid var(--line);border-radius:4px}
.auth-kv dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#66738B;font-weight:600}
.auth-kv dd{margin:0;overflow-wrap:anywhere}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em}
