/* Shared account-page layout; uses variables.css and glass.css. */
.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;padding:32px 20px}
.auth-wrap{width:100%;max-width:440px}.auth-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.eyebrow{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:1.6px}.auth-toolbar button{width:auto;margin:0;padding:10px 14px;font-size:12px;min-height:44px}.auth-card{margin:0;padding:32px}.auth-mark{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border:1px solid var(--border);border-radius:20px;background:var(--panel-2);color:var(--accent);margin-bottom:24px;box-shadow:inset 0 1px 0 var(--highlight)}.auth-mark svg{width:34px;height:34px}h1{font-size:32px;line-height:1.2;letter-spacing:-.9px;font-weight:650;margin:0 0 8px}.sub{font-size:14px;color:var(--muted);margin:0 0 26px;line-height:1.5}.auth-card label{display:block;margin:18px 0 8px;font-size:14px;font-weight:600}.auth-card input{font-size:16px;padding:14px 16px;min-height:50px}.auth-card button[type=submit]{margin-top:26px;min-height:50px;font-size:16px}.errors{font-size:14px}.errors ul{margin:0;padding-left:18px}.install-panel{margin-top:22px;border:1px solid var(--border);border-radius:20px;background:var(--panel-2);color:var(--text)}.install-panel summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:16px;min-height:52px;list-style:none;font-size:14px;font-weight:600}.install-panel summary::-webkit-details-marker{display:none}.install-panel summary::after{content:'+';margin-left:auto;color:var(--accent);font-size:20px}.install-panel[open] summary::after{content:'−'}.install-icon{width:22px;height:22px;color:var(--accent);flex-shrink:0}.install-content{padding:0 18px 18px}.install-content p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.install-steps{margin:14px 0 0;padding-left:20px;font-size:13px;line-height:1.6}.install-steps li+li{margin-top:7px}.install-note{margin-top:14px!important;font-size:12px!important}summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:16px}
@media(max-width:480px){.auth-page{padding:24px 16px}.auth-card{padding:26px}.auth-toolbar{margin-bottom:16px}h1{font-size:29px}}
@media(max-height:650px){.auth-page{align-items:flex-start}}

/* Password visibility control. */
.password-field{position:relative}.password-field input{padding-right:60px}
.password-field .password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer}
.password-toggle:hover{background:var(--panel);color:var(--text)}.password-toggle svg{width:22px;height:22px}.password-toggle .eye-closed{display:none}.password-toggle.is-visible .eye-open{display:none}.password-toggle.is-visible .eye-closed{display:block}

/* Login theme choice: one compact control, populated by shared theme.js. */
.auth-toolbar{flex-wrap:wrap;gap:10px}
.login-theme-picker{display:flex;align-items:center;gap:8px;margin-left:auto;width:190px;max-width:100%;min-height:44px;padding:0 10px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:inset 0 1px 0 var(--highlight)}
.login-theme-picker>svg{width:18px;height:18px;flex:0 0 auto;color:var(--accent)}
.login-theme-picker .login-theme-select{min-width:0;flex:1;width:100%;min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.login-theme-select:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
:root[data-theme="aero"] .login-theme-picker{background:linear-gradient(#fff 0%,#e9faff 46%,#c8ebfa 49%,#e3f5fc)}
:root[data-theme="candy"] .login-theme-picker{background:linear-gradient(#fff,#f9e2f4 47%,#eac9ef 50%,#f3e7ff)}

.auth-links{text-align:center;margin:24px 0 0;font-size:14px}.auth-links a{color:var(--accent);text-underline-offset:4px}.recovery-notice{padding:14px;border:1px solid var(--border);border-radius:12px;line-height:1.6;font-size:14px;overflow-wrap:anywhere}.recovery-help{font-size:13px;line-height:1.6;color:var(--muted)}.auth-card .recovery-inline{min-height:auto;margin-top:12px}.recovery-noscript{font-size:14px;line-height:1.6}.auth-card input[type=checkbox]{min-height:0;width:auto}
