/* Authentication uses the existing theme tokens in all three themes. */
.password-input-wrap{position:relative;min-width:0}
.auth-field .password-input-wrap input{padding-right:52px}
.password-visibility{position:absolute;right:1px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:42px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}
.password-visibility .icon{width:19px;height:19px}
.password-visibility:hover{background:var(--soft);color:var(--text)}
.password-visibility[aria-pressed=true]{color:var(--accent-text)}
.password-visibility:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.auth-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:64px 20px;background:var(--canvas)}
.auth-controls{position:absolute;top:20px;right:24px;display:flex;align-items:center;gap:10px}
.auth-controls .icon-button{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:38px;height:38px}
.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:var(--shadow)}
.auth-logo{display:flex;justify-content:center;margin-bottom:30px}.auth-logo img{max-width:100%;height:auto}
.auth-card h1{font-size:25px;font-weight:500;letter-spacing:-.5px;text-align:center;margin:0 0 10px}
.auth-intro{font-size:13px;color:var(--muted);line-height:1.6;text-align:center;margin:0 0 26px}
.auth-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;min-width:0}
.auth-field label{font-size:12px;color:var(--muted)}
.auth-field input{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--text);padding:10px 12px;font:inherit;font-size:14px}
.auth-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.auth-remember{display:flex;align-items:center;gap:9px;font-size:12px;cursor:pointer;min-height:32px}
.auth-remember input{accent-color:var(--accent);width:16px;height:16px;margin:0}
.auth-submit{width:100%;min-height:44px;justify-content:center;margin-top:18px}
.auth-card .form-error{line-height:1.5}.auth-card .form-error:empty{margin:0}
/* Keep the sticky rail's account menu above the workspace stacking context. */
.app-shell>.rail{z-index:80}
.user-account{position:relative;display:flex;align-items:center;justify-content:center}
.user-avatar{display:grid;place-items:center;border:1px solid var(--line);cursor:pointer;color:var(--text);padding:7px}
.user-avatar .icon{width:18px;height:18px}
.user-menu{display:none;position:absolute;bottom:0;left:100%;z-index:80;width:240px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);text-align:left}
.user-account.menu-open .user-menu{display:block}
.user-menu-identity{padding:8px 10px 12px;margin-bottom:5px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}
.user-menu-identity strong{font-size:13px;font-weight:500}.user-menu-identity span{font-size:11px;color:var(--muted)}
.user-menu>button{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:9px 10px;text-align:left;border-radius:7px;font-size:12px;color:var(--text)}
.user-menu>button:hover,.user-menu>button:focus-visible{background:var(--soft)}.user-menu .icon{width:16px;height:16px;color:var(--muted)}
.settings-dialog .deletion-link{color:var(--danger);min-height:44px;padding:7px 0;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.deletion-dialog .auth-field select,.deletion-dialog .auth-field textarea{display:block;width:100%;font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}
.deletion-dialog .auth-field textarea{resize:vertical;min-height:100px;max-height:200px}
.deletion-dialog .auth-field select:focus-visible,.deletion-dialog .auth-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.deletion-dialog .auth-field select{font-size:16px}
.password-dialog{width:440px;max-width:calc(100vw - 24px)}.password-dialog h2{margin:0;font-size:18px;font-weight:500}
.password-form-content{padding:24px;max-height:calc(90dvh - 160px);overflow:auto}.password-form-content .input-hint{font-size:11px;color:var(--muted);line-height:1.6}
.password-dialog .dialog-footer{justify-content:flex-end}.password-dialog .form-error{line-height:1.5}
@media(max-width:760px){.auth-page{padding:72px 16px 30px}.auth-card{padding:28px 22px;border-radius:16px}.auth-controls{top:16px;right:16px}.auth-field input{font-size:16px}.user-menu{position:fixed;left:16px;bottom:80px;width:min(260px,calc(100vw - 68px))}.panel-navigation .rail-bottom{overflow:visible}.user-avatar{width:40px;height:40px}.password-dialog .dialog-header{padding:16px}.password-form-content{padding:20px 16px}.password-dialog .dialog-footer{padding:12px 16px}.password-dialog .dialog-footer button{min-height:44px}}

@media(max-width:760px){.panel-content .user-avatar{display:grid}.panel-content .user-account{display:block;margin:12px 0 0}.panel-content .user-menu{position:static;width:100%;margin-top:8px}}
