:root{--ink:#10233f;--muted:#60718d;--line:#dce4f1;--blue:#2864e8}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f4f7fc,#edf3ff);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.portal-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-card{width:min(560px,100%);padding:42px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 70px #10233f1a}.eyebrow{margin:0;color:var(--blue);font-size:.78rem;font-weight:850;letter-spacing:.14em}.portal-card h1{font-size:clamp(2rem,6vw,3.25rem);letter-spacing:-.045em;line-height:1.02;margin:.65rem 0 1rem}.portal-card p{color:var(--muted);line-height:1.6}.portal-card button{width:100%;margin-top:14px;border-radius:12px;padding:14px;font:inherit;font-weight:800;cursor:pointer}.primary{border:0;background:var(--blue);color:#fff}.secondary{border:1px solid var(--line);background:#fff;color:var(--blue)}.portal-card small{display:block;margin-top:20px;color:var(--muted);line-height:1.45}.portal-loading{margin-top:16px;padding:12px;border-radius:10px;background:#eef4ff;color:var(--blue);font-weight:750}.portal-login-form{display:grid;gap:14px;margin-top:24px}.portal-login-form label{display:grid;gap:7px;color:var(--ink);font-size:.9rem;font-weight:800}.portal-login-form input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;color:var(--ink);font:inherit}.portal-login-form input:focus{outline:3px solid #2864e833;border-color:var(--blue)}.portal-login-form button{margin-top:2px}
.portal-card button:disabled{opacity:.6;cursor:wait}.portal-google-sign-in{margin-top:20px!important}.portal-sign-in-divider{margin:20px 0 0!important;text-align:center;font-size:.8rem;font-weight:750}.portal-login-form{margin-top:18px}
