.shell[hidden]{display:none !important}
.session-check{margin:0;padding:28px 32px;color:#637087}
.session-check[hidden]{display:none}
.sign-out-button{margin:14px 8px 0;background:transparent;color:#e8eef8;border:1px solid #3d5274;border-radius:8px;padding:8px 10px;font:inherit;font-weight:600;cursor:pointer;text-align:left}
.sign-out-button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(290px,38vw) 1fr;background:#f3f0f7}
.auth-aside{background:#302943;color:#f4eff9;padding:42px clamp(28px,5vw,76px);display:flex;flex-direction:column;justify-content:space-between}
.auth-aside .brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;margin:0}.auth-aside .brand-mark{background:#ad91e1;border-radius:50%;color:#302943}
.auth-aside-copy{max-width:31ch}.auth-aside-copy p:first-child{font-size:clamp(27px,3vw,43px);font-weight:700;line-height:1.05;letter-spacing:-1.4px;margin:0 0 24px}.auth-aside-note{color:#c9bedb;font-size:13px;line-height:1.65}
.auth-principles{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px 10px;max-width:35ch;color:#d9d0e7}.auth-principles span{color:#ad91e1;font:500 11px "DM Mono",monospace;padding-top:2px}.auth-principles p{margin:0;font-size:12px;line-height:1.55}
.auth-main{display:grid;align-items:center;justify-items:center;padding:48px 28px}
.auth-card{width:min(480px,100%);background:#fff;border:1px solid #ded8e9;border-radius:18px;padding:clamp(28px,5vw,54px);box-shadow:0 18px 45px rgba(54,42,79,.08)}
.auth-card h1{margin:0 0 10px;font-size:36px;letter-spacing:-1.4px;color:#302943}.auth-card p{color:#716b7d;line-height:1.6}
.auth-card form{display:grid;gap:14px;margin-top:18px}
.auth-card label{display:grid;gap:6px;font-weight:700}
.auth-card label span{font-weight:500;color:#637087}
.auth-card input{font:inherit;padding:13px 14px;border:1px solid #d8cfe5;border-radius:9px;background:#fbfaff;color:#302943}.auth-card input:focus{outline:2px solid #9a7bd0;outline-offset:1px}
.auth-card .primary-button{margin-top:4px}
.auth-card .primary-button:disabled{opacity:.6;cursor:progress}
.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.auth-links a{color:#6847ac;font-weight:700}.auth-status{min-height:1.4em;margin:0 0 12px;color:#302943}
@media (max-width:800px){
  .auth-screen{grid-template-columns:1fr}
  .auth-aside{padding:28px 24px;gap:38px}.auth-principles{display:none}
  .auth-card h1{font-size:28px}
}
