:root{color-scheme:light;--bg:#f5f5f2;--surface:#fff;--text:#191919;--muted:#63635f;--border:#deded7;--action:#191919;--on-action:#fff;--error:#a82929}
:root[data-theme=dark]{color-scheme:dark;--bg:#080808;--surface:#111;--text:#f5f5f2;--muted:#aaa;--border:#383838;--action:#f5f5f2;--on-action:#161616;--error:#ff9393}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 Geist,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}:focus-visible{outline:3px solid #608dc9;outline-offset:4px}
.entry-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 32px;border-bottom:1px solid var(--border);background:var(--surface)}.entry-brand{display:flex;align-items:center;gap:18px}.entry-brand img{object-fit:contain}:root[data-theme=dark] .entry-brand img{filter:invert(1)}.entry-brand span{border-left:1px solid var(--border);padding-left:18px}.entry-header nav{display:flex;gap:20px;align-items:center}.entry-header button,.portal-button{border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:9px 14px;min-height:44px}
.login-shell{width:min(1040px,100%);margin:0 auto;padding:88px 32px;display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:center}.portal-kicker{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}h1{font:normal clamp(40px,5vw,60px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:22px 0}h2{font:normal 32px/1.2 Georgia,serif;margin:0 0 12px}.login-story p{max-width:370px;color:var(--muted)}.entry-steps{list-style:none;margin:36px 0 0;padding:0}.entry-steps li{padding:12px 0;border-top:1px solid var(--border)}.entry-steps span{font-size:12px;color:var(--muted);margin-right:16px}.login-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px}.login-card__subtitle{color:var(--muted);font-size:14px;margin:0 0 26px}.form-group{margin-bottom:20px}.form-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.form-label span{color:var(--muted);font-size:11px}.form-input{width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:16px}.password-field{position:relative}.password-field input{padding-right:66px}.password-field button{position:absolute;right:4px;top:4px;min-height:40px;border:0;background:transparent;color:var(--muted);padding:0 10px;font-size:12px}.login-submit{width:100%;min-height:48px;border:0;border-radius:6px;background:var(--action);color:var(--on-action);font-weight:550;padding:12px}.login-message{display:none}.login-message.visible{display:block;color:var(--error);font-size:14px;margin-bottom:20px}.form-input.error{border-color:var(--error)}.login-panel__footer{margin-top:28px;padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.login-session{display:none}.login-session.active{display:block}.login-session__name{font-size:22px;margin:12px 0}.login-session__links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
@media(max-width:760px){.entry-header{padding:12px 18px}.entry-brand span{display:none}.entry-header nav{gap:12px;font-size:12px}.entry-header button{padding:8px 10px}.login-shell{padding:36px 20px;grid-template-columns:1fr;gap:24px;max-width:500px}h1{font-size:40px;margin:14px 0}.login-story p{margin-bottom:0}.entry-steps{display:none}.login-panel{padding:24px}.login-panel__footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
