.login-page{margin:0;min-height:100dvh;display:grid;place-items:center;background:#eef0f3;color:#202735;font:16px/1.5 system-ui,sans-serif;padding:24px;box-sizing:border-box}.login-page #login-root{width:min(100%,480px);background:#fff;border:1px solid #dce0e6;border-radius:22px;padding:clamp(20px,4vw,40px);box-shadow:0 20px 80px #16213912}.auth-brand{display:flex;align-items:center;gap:14px;font-size:24px;font-weight:750;margin-bottom:24px}.auth-brand img{width:48px;height:48px}.auth-brand small{display:block;font-size:13px;font-weight:400;color:#697383}.auth-ui h1,.auth-ui h2,.auth-ui h3{line-height:1.25;margin:0 0 12px}.auth-ui p{margin:10px 0;color:var(--muted,#626c7b)}.auth-ui form{display:grid;gap:14px;margin:18px 0}.auth-ui label{display:grid;gap:5px;font-size:14px;font-weight:600}.auth-ui input,.auth-ui select{width:100%;box-sizing:border-box;font:inherit;padding:11px;border:1px solid var(--border,#c9cfd9);border-radius:9px;color:var(--text,#202735);background:var(--surface,#fff)}.auth-ui button{font:inherit;cursor:pointer;padding:10px 14px;min-height:42px;border-radius:9px;border:1px solid var(--border,#bdc5d1);background:var(--surface,#fff);color:var(--text,#202735)}.auth-ui button[type=submit],.auth-ui .auth-primary{background:var(--green,#324a70);color:var(--on-accent,#fff);font-weight:700}.auth-ui button:disabled{opacity:.55;cursor:wait}.auth-ui button:focus-visible,.auth-ui input:focus-visible{outline:3px solid #728dbd;outline-offset:3px}.auth-ui .auth-error{color:#b32635;background:#fff0f1;border-radius:8px;padding:10px;overflow-wrap:anywhere}.auth-ui .auth-success{background:#e9f5ee;color:#205c3d;padding:10px;border-radius:8px}.auth-ui .auth-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.auth-ui .auth-qr{display:block;background:white;width:240px;max-width:100%;height:auto;border-radius:12px;margin:12px auto}.auth-ui code,.auth-ui pre{display:block;padding:12px;border:1px solid var(--border,#d1d8e2);border-radius:8px;overflow-wrap:anywhere;white-space:pre-wrap;user-select:all;font:14px/1.7 ui-monospace,monospace}.auth-ui details{border:1px solid var(--border,#d1d8e2);padding:16px;border-radius:12px;margin-top:14px}.auth-ui summary{cursor:pointer;font-weight:700}.auth-ui .auth-note{font-size:13px}.auth-ui .auth-user{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--border,#d1d8e2)}.auth-ui .auth-user select{max-width:160px}.auth-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 24px));max-height:90dvh;border:1px solid var(--border,#d1d8e2);border-radius:18px;background:var(--surface,#fff);color:var(--text,#202735);padding:24px;overflow:auto}.auth-dialog::backdrop{background:#0c1220bb;backdrop-filter:blur(5px)}.auth-dialog .auth-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.auth-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:50%!important;font-size:13px!important;font-weight:800;background:var(--green)!important;color:var(--on-accent,#fff)!important;border:2px solid var(--border)!important;padding:0!important}.auth-lock{position:fixed;inset:0;z-index:2147483640;display:grid;place-items:center;overflow:auto;background:#eef0f3;color:#202735;padding:24px;box-sizing:border-box;font:16px/1.5 system-ui,sans-serif}.auth-lock>div{background:white;border:1px solid #d1d8e2;border-radius:20px;padding:28px;width:min(460px,100%);box-sizing:border-box}.auth-lock .auth-ui{--surface:#fff;--text:#202735;--border:#d1d8e2;--muted:#626c7b;--green:#324a70;--on-accent:#fff}@media(prefers-color-scheme:dark){.login-page{background:#141a23;color:#e8edf5}.login-page #login-root{background:#202834;border-color:#3a4658}.login-page .auth-ui{--surface:#252f3c;--text:#e8edf5;--border:#536176;--muted:#b7c2d2;--green:#4a6797}.login-page .auth-brand small{color:#b7c2d2}}

.auth-dialog{--text:var(--ink,#202735)}.auth-lock{margin:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none}.auth-lock::backdrop{background:#eef0f3}.auth-ui .auth-user form{grid-column:1/-1}#account-button{display:inline-grid;place-items:center}.auth-dialog .auth-error{--text:#b32635}
/* Keep the account control at the far right of the mobile title row. */
.auth-dialog{--border:var(--line,#d1d8e2)}.auth-dialog button[type=submit],.auth-dialog .auth-primary{background:var(--save-accent,var(--green,#324a70));color:var(--save-ink,#fff)}#account-button{background:var(--ink,#202735)!important;color:var(--surface,#fff)!important;border-color:var(--line,#d1d8e2)!important}
@media(max-width:700px){.shell>header{grid-template-columns:44px minmax(0,1fr) 106px 42px}header .header-theme{grid-column:3}header #account-button{grid-row:1;grid-column:4;justify-self:end}header #new-project{grid-column:3/5;justify-self:end}header #header-focus{grid-column:1/3}.auth-dialog{padding:16px}}

.auth-ui .auth-check{display:flex;align-items:center;gap:10px;font-weight:500}.auth-ui .auth-check input{width:18px;height:18px;flex:0 0 18px}.auth-ui [hidden]{display:none!important}.auth-ui .email-remove details{background:var(--soft,#f3f4f6)}.auth-ui form.email-confirm{padding:14px;border:1px solid var(--border,#c9cfd9);border-radius:12px}.auth-ui button.danger{background:#b32635!important;color:#fff!important;border-color:#b32635!important}

.auth-retry{display:block;font-weight:700;margin-top:8px;font-variant-numeric:tabular-nums}.auth-lock-settings{border:1px solid var(--border,#c9cfd9);border-radius:12px;padding:16px;display:grid;gap:12px;min-width:0}.auth-lock-settings legend{font-weight:700;padding:0 6px}.auth-lock-row{padding:10px 0;border-bottom:1px solid var(--border,#c9cfd9);overflow-wrap:anywhere}.auth-lock-row strong,.auth-lock-row small{display:block}
