:root{--ink:#111f34;--muted:#526072;--line:#d5dde5;--paper:#f7f8f6;--blue:#225ee8;--night:#101c30}
*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Inter,Arial,sans-serif}button,input{font:inherit}a{color:inherit}:focus-visible{outline:3px solid #e0a538;outline-offset:3px}::selection{background:var(--blue);color:#fff}
.skip-link{position:absolute;left:12px;top:-60px;background:#fff;color:#111;padding:10px 16px;z-index:10}.skip-link:focus{top:12px}.login-header{height:76px;padding:0 max(32px,calc((100vw - 1216px)/2));background:var(--night);border-bottom:1px solid #35435b;display:flex;align-items:center;justify-content:space-between;gap:24px}.login-brand{display:inline-flex;align-items:center}.login-brand img{display:block;width:166px;height:50px}.back-link{color:#d1d9e8;font-size:13px;font-weight:600;text-decoration:none}.back-link:hover{color:#fff}
.login-layout{width:min(480px,calc(100% - 64px));min-height:calc(100vh - 76px);margin:auto;display:grid;place-items:center;padding:56px 0 72px}
.auth-panel{width:100%;background:#fff;border:1px solid var(--line);padding:42px 40px;box-shadow:18px 18px 0 #dfe6ed}.auth-panel h2{margin:0 0 8px;font:600 31px/1.2 Outfit,Inter,sans-serif;letter-spacing:-.035em}.auth-intro{margin:0 0 27px;color:var(--muted);font-size:14px;line-height:1.65}.google-slot{width:100%;min-height:44px;display:flex;justify-content:center;overflow:hidden}.method-note{margin:0;padding:12px;background:#f1f4f8;color:#48586b;font-size:12px}.auth-divider{display:flex;align-items:center;gap:13px;margin:24px 0;color:#687789;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-divider span{white-space:nowrap}
.code-form{display:grid;gap:16px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:700}.field input{width:100%;min-height:48px;padding:11px 13px;border:1px solid #aebcca;border-radius:2px;background:#fff;color:var(--ink);font-size:15px}.field input:hover{border-color:#71849b}.field input:focus{border-color:var(--blue);outline:3px solid #225ee827;outline-offset:0}.field small{color:#687789;font-size:11px}.primary-action{min-height:50px;border:0;border-radius:3px;background:var(--blue);color:#fff;padding:12px 17px;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;cursor:pointer;transition:background .18s,transform .18s}.primary-action:hover:not(:disabled){background:#1546b7;transform:translateY(-1px)}.primary-action:disabled{cursor:wait;background:#7797d9}.auth-error{background:#fff0ef;border:1px solid #cf817b;color:#7a201b;padding:11px 13px;font-size:12px;line-height:1.5}.access-help{margin:25px 0 0;padding-top:21px;border-top:1px solid var(--line);font-size:13px;color:#536176}.access-help a,.legal-copy a{color:#174cae;text-underline-offset:3px;font-weight:700}.legal-copy{margin:13px 0 0;color:#748195;font-size:10px}
@media(max-width:540px){.login-header{height:68px;padding:0 18px}.login-brand img{width:131px;height:auto}.back-link{font-size:0}.back-link span{font-size:20px}.login-layout{width:calc(100% - 36px);min-height:calc(100vh - 68px);padding:36px 0 52px}.auth-panel{padding:29px 22px;box-shadow:9px 9px 0 #dfe6ed}.auth-panel h2{font-size:27px}}@media(prefers-reduced-motion:reduce){.primary-action{transition:none}}
