:root{color-scheme:light;--ink:#142735;--muted:#687b87;--navy:#0b1e2d;--panel:#fff;--line:#dbe5ea;--teal:#009b9b;--teal-soft:#e0f6f4;--good:#27734e;--good-soft:#e3f5eb;--warn:#9a5a00;--warn-soft:#fff3dc;--bad:#a53636;--bad-soft:#fdeaea}
*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}
.page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 70% 15%,#184557 0,transparent 34%),var(--navy)}
.card{width:min(450px,100%);background:var(--panel);border-radius:18px;padding:34px;box-shadow:0 24px 70px #0005}.logo{width:190px;max-height:58px;object-fit:contain;object-position:left;margin-bottom:24px}.eyebrow{margin:0 0 7px;color:var(--teal);font-size:11px;font-weight:750;letter-spacing:.11em}.card h1{margin:0;font-size:30px}.muted{margin:9px 0 0;color:var(--muted);line-height:1.5}
.button{width:100%;border:0;border-radius:10px;padding:12px 15px;cursor:pointer;font-weight:680}.button:disabled{cursor:not-allowed;opacity:.55}.button.primary{background:var(--navy);color:#fff}.button.google{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:25px;background:#fff;color:#25313a;border:1px solid #cfd9df;box-shadow:0 1px 2px #0000000d}.button.google:hover{background:#f8fafb}
.divider{display:flex;align-items:center;gap:12px;margin:19px 0;color:var(--muted);font-size:11px}.divider:before,.divider:after{content:'';height:1px;flex:1;background:var(--line)}.divider span{white-space:nowrap}form{display:grid;gap:10px}label{font-size:13px;font-weight:650}input{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:12px 13px;outline:none}input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
.text-button{justify-self:start;border:0;background:transparent;color:var(--teal);padding:5px 0 0;cursor:pointer;font-size:13px;text-decoration:underline}.password-intro{margin:24px 0 4px;color:var(--muted);font-size:13px;line-height:1.45}.feedback{display:none;margin:15px 0 0;border-radius:9px;padding:10px 12px;font-size:13px}.feedback.show{display:block}.feedback.info{background:#e8f1f6}.feedback.success{background:var(--good-soft);color:var(--good)}.feedback.warning{background:var(--warn-soft);color:var(--warn)}.feedback.error{background:var(--bad-soft);color:var(--bad)}.back-link{display:inline-block;margin-top:20px;color:var(--teal);font-size:13px}
@media(max-width:520px){.page{padding:14px}.card{padding:26px 22px}.card h1{font-size:27px}}
