*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;padding:32px 20px;background-color:#f7fbff;background-image:linear-gradient(135deg,#eef6ffb8,#ffffffdc 54%,#ecfeffb8),linear-gradient(#7fa8d799 1px,transparent 1px),linear-gradient(90deg,#7fa8d799 1px,transparent 1px),radial-gradient(circle,#089bc0cc 0 1.8px,transparent 2.6px);background-size:auto,52px 52px,52px 52px,156px 156px;background-position:0,0 0,0 0,23px 30px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#08162e}
html.taxmee-dark body{background-color:#07162e!important;background-image:linear-gradient(135deg,#07162ee8,#0a1f3ce0 54%,#052b3ce6),linear-gradient(#315b8f80 1px,transparent 1px),linear-gradient(90deg,#315b8f80 1px,transparent 1px),radial-gradient(circle,#089bc0b8 0 1.8px,transparent 2.6px)!important;background-size:auto,52px 52px,52px 52px,156px 156px!important;background-position:0,0 0,0 0,23px 30px!important}
.back{position:fixed;top:24px;left:30px;display:inline-flex;align-items:center;padding:10px 13px;border:1px solid #c9d9f2;border-radius:11px;background:#fffffff2;box-shadow:0 8px 20px #102a6b12;color:#102a6b;text-decoration:none;font-size:.82rem;font-weight:800}
.card{width:min(460px,100%);min-height:0;padding:38px;border:1px solid #d5e1f0;border-radius:26px;background:#fffffff4;box-shadow:0 28px 80px #102a6b1c;backdrop-filter:blur(14px)}
.brand{display:block;margin-bottom:35px;color:#1d4ed8;text-decoration:none;font-size:1.3rem;font-weight:900;letter-spacing:-.05em}
.brand img{display:block;width:166px;max-width:100%;height:auto;object-fit:contain;object-position:left center}
.card h1{margin:0 0 9px;font-size:1.75rem;letter-spacing:-.06em}
.card>p{margin:0 0 26px;color:#58708f;font-size:.91rem;line-height:1.55}
.google{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;border:1px solid #c9d9f2;border-radius:12px;background:#fff;color:#08162e;text-decoration:none;font-size:.91rem;font-weight:800;transition:.2s}
.google:hover{border-color:#1d4ed8;box-shadow:0 8px 18px #1d4ed814}
.google-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:conic-gradient(#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);color:#fff;font-size:.72rem;font-weight:900}
.divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#94a3b8;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.divider:before,.divider:after{content:"";height:1px;flex:1;background:#dbe3ed}
.field{display:grid;gap:7px;margin-bottom:15px}
label{font-size:.78rem;font-weight:800;color:#334155}
input{width:100%;padding:12px;border:1px solid #c9d9f2;border-radius:11px;outline:none;font:inherit}
input:focus{border-color:#1d4ed8;box-shadow:0 0 0 4px #dbeafe}
.forgot{display:block;margin:-5px 0 19px  auto;border:0;background:transparent;color:#1d4ed8;text-align:right;text-decoration:none;font-size:.78rem;font-weight:700;cursor:pointer}
.button{width:100%;border:0;border-radius:12px;padding:14px;background:linear-gradient(135deg,#1d4ed8,#089bc0);box-shadow:0 12px 22px #1d4ed83d;color:#fff;font-size:.92rem;font-weight:800;cursor:pointer}
.button:disabled{opacity:.65;cursor:wait}
.message{display:none;margin-top:16px;padding:12px;border-radius:11px;font-size:.84rem;line-height:1.45}
.message.error{display:block;background:#fef2f2;color:#b91c1c}
.message.success{display:block;background:#ecfdf3;color:#047857}
.signup{display:block;margin-top:23px;text-align:center;color:#58708f;font-size:.82rem}
.signup a{color:#1d4ed8;font-weight:800;text-decoration:none}
.reset-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#08162e80;backdrop-filter:blur(8px)}
.reset-modal[hidden]{display:none}
.reset-card{position:relative;width:min(430px,100%);padding:28px;border:1px solid #d5e1f0;border-radius:22px;background:#fffffff8;box-shadow:0 28px 80px #08162e33}
.reset-card h2{margin:0 0 8px;font-size:1.45rem;letter-spacing:-.04em}
.reset-card p{margin:0 0 18px;color:#58708f;font-size:.88rem;line-height:1.5}
.reset-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:1px solid #c9d9f2;border-radius:10px;background:#fff;color:#102a6b;font-size:1.35rem;line-height:1;cursor:pointer}
.reset-step[hidden]{display:none}
@media(max-width:600px){body{padding:20px}.back{top:14px;left:14px}.card{padding:32px 24px;margin-top:34px}}
