:root { color-scheme: light; font-family: Inter, system-ui, sans-serif; --navy:#12243a; --blue:#1b5c86; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; display:grid; place-items:center; background:linear-gradient(145deg,#102337,#1d5875); color:var(--navy); }
.card { width:min(92vw,460px); background:white; border-radius:18px; padding:2rem; box-shadow:0 22px 60px #06142166; }
.brand { color:var(--blue); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
h1 { margin:.45rem 0 .5rem; } p { line-height:1.5; color:#536171; }
label { display:block; margin:1rem 0 .35rem; font-weight:700; }
input { width:100%; padding:.8rem; border:1px solid #aebbc6; border-radius:8px; font:inherit; }
.check { display:flex; gap:.55rem; align-items:center; font-weight:500; } .check input { width:auto; }
button,.button { display:block; width:100%; margin-top:1.2rem; padding:.85rem; border:0; border-radius:8px; background:var(--blue); color:white; text-align:center; text-decoration:none; font:inherit; font-weight:800; cursor:pointer; }
.google { background:white; color:var(--navy); border:1px solid #91a1ad; display:flex; align-items:center; justify-content:center; gap:.65rem; }
.google-logo { width:18px; height:18px; flex:0 0 18px; }
.login-separator { display:flex; align-items:center; gap:.8rem; margin:1.35rem 0 .25rem; color:#6d7985; }
.login-separator::before,.login-separator::after { content:""; height:1px; flex:1; background:#cbd3da; }
.login-separator span { font-size:.85rem; text-transform:lowercase; }
/* Local authentication remains implemented but is intentionally unavailable in the UI for now. */
.login-separator,
form[data-login],
form[data-login] ~ .error,
.registration-prompt,
.registration-prompt + .links { display:none; }
.links { display:flex; justify-content:space-between; gap:1rem; margin-top:1.2rem; } a { color:var(--blue); }
.error { color:#a52828; min-height:1.4em; }
.registration-prompt { margin:1.2rem 0 0; text-align:center; }
.google-registration-note { margin:1rem 0 0; text-align:center; }
.auth-dialog { width:min(90vw,420px); padding:1.75rem; border:0; border-radius:14px; color:var(--navy); box-shadow:0 22px 60px #06142188; }
.auth-dialog::backdrop { background:#07152299; backdrop-filter:blur(2px); }
.auth-dialog h2 { margin:0 0 .5rem; }
.auth-dialog p { margin:.5rem 0 1rem; }
