.auth-card{max-width:440px;margin:10vh auto;padding:40px 36px 32px}.auth-card .eyebrow{margin-bottom:14px}.auth-card h1{margin-bottom:10px}.auth-card h1+p{color:var(--muted);margin-bottom:28px}.auth-card form{display:grid;gap:18px}.auth-card label,#password-form label{display:block;font-weight:600;color:var(--muted)}#password-form label{margin:18px 0}.auth-card input,#password-form input{display:block;width:100%;margin-top:8px;min-height:48px;padding:12px 14px}.auth-card button.primary{width:100%;margin-top:10px;min-height:50px}.auth-card #login-error,.auth-card #reset-error{min-height:0;font-size:.875rem}.auth-card #login-error:empty,.auth-card #reset-error:empty{display:none}.auth-card form+p{margin-top:20px;font-size:.9rem}.auth-card .note{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:.8rem}.account-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#sync-status{font-size:12px;max-width:260px}#login-error{color:#a83030}#invite-link{width:100%;min-height:100px;margin-top:14px}.topbar{flex-wrap:wrap;gap:12px}[hidden]{display:none!important}@media(max-width:650px){.account-bar{width:100%;justify-content:space-between}.auth-card{margin:18px auto;padding:28px 22px 24px}#dialog{max-width:calc(100vw - 24px)}}
.user-list{display:grid;gap:12px}.user-card,.user-invite{padding:16px;border:1px solid #dde3dd;border-radius:12px;margin:16px 0}.user-card summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;cursor:pointer}.user-card summary span{font-size:13px;color:#59655b}.user-card label,.user-invite label{display:block;margin:12px 0}.user-card input:not([type=checkbox]),.user-card select,.user-invite input{display:block;width:100%;margin-top:6px;min-height:42px}.user-check{display:flex!important;align-items:center;gap:8px}.user-card .row{margin-top:12px;flex-wrap:wrap}.invite-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #dde3dd}.invite-row small{display:block;color:#59655b}#users-link{width:100%;min-height:90px;margin-bottom:16px}

.user-edit-hint{font-weight:600;color:#236044!important}.user-card[open] .user-edit-hint{display:none}

#header-username{font-size:14px;color:var(--ink);letter-spacing:0;overflow-wrap:anywhere;max-width:100%}.topbar{height:auto;min-height:78px;padding-top:12px;padding-bottom:12px}.topbar #crumb{flex:1}@media(max-width:680px){.topbar{min-height:46px;gap:8px}#header-username{flex:1}.topbar #crumb{display:none}.account-bar{gap:8px}#sync-status{flex:1;min-width:100px}}

/* Account dialog: a header with the user, then one bordered section per concern. */
.account-sheet{display:grid;gap:14px}.account-sheet p{margin:0}.account-head{display:flex;align-items:center;gap:14px;padding-bottom:4px}.account-head h2{margin:0 0 2px}.account-avatar{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--flat-accent,var(--green)) 18%,transparent);color:var(--flat-accent,var(--green));font-weight:800;font-size:1.25rem}.account-role{display:inline-block;margin-left:6px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}
.account-section{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:12px}.account-section h3{margin:0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.account-status{color:var(--ink)!important;font-weight:600}.account-note{font-size:.875rem}.account-section>button{justify-self:start}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.account-grid button{width:100%}
.sync-conflict{background:#fff1d4}.sync-conflict h3{color:inherit;text-transform:none;letter-spacing:0;font-size:1rem}.sync-conflict p{font-size:.875rem}.sync-conflict .account-grid button{border:1px solid color-mix(in srgb,currentColor 28%,transparent)!important}
.account-section details summary{cursor:pointer;font-weight:600;color:var(--ink)}.account-section #password-form label{margin:14px 0}
#account-result:empty{display:none}.account-foot{display:flex;justify-content:space-between;gap:12px;padding-top:4px}
@media(max-width:480px){.account-grid{grid-template-columns:1fr}}
