/* Personal account controls; independent of hardware and administrator settings. */
.account-dropdown{position:relative}
.account-dropdown>summary{list-style:none;cursor:pointer;border-radius:8px;min-height:52px;grid-template-columns:36px minmax(0,1fr) 20px}
.account-dropdown>summary::-webkit-details-marker{display:none}
.account-dropdown>summary:hover{background:var(--clr-primary-dim)}
.account-chevron{justify-self:center;color:var(--clr-text-dim)}
.account-dropdown[open] .account-chevron{transform:rotate(180deg)}
.account-dropdown>summary:focus-visible,.account-menu :is(a,button):focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}
.account-menu{position:absolute;bottom:calc(100% + 12px);left:0;right:0;padding:6px;border:1px solid var(--clr-border);border-radius:12px;background:var(--clr-surface);box-shadow:0 12px 36px #0004;z-index:10}
.account-menu :is(a,button){display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:var(--clr-text);text-align:left;text-decoration:none;font:inherit;font-size:13px;cursor:pointer}
.account-menu :is(a,button):hover{background:var(--clr-primary-dim)}
.account-menu a[aria-current=page]{background:var(--clr-primary-dim);color:var(--clr-primary);font-weight:600}
.account-menu svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.account-menu form{margin-top:6px;padding-top:6px;border-top:1px solid var(--clr-border)}
.account-menu .account-logout{color:var(--clr-danger)}
.account-workspace{max-width:1040px;margin:0 auto;width:100%}
.account-heading h1{font-size:clamp(24px,3vw,30px);margin:4px 0 8px}
.account-heading>p:last-child,.account-help{color:var(--clr-text-dim);font-size:13px;line-height:1.6}
.account-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--clr-primary)}
.account-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0;border-bottom:1px solid var(--clr-border)}
.account-tabs a{min-height:44px;padding:12px 16px;color:var(--clr-text-dim);font-size:14px;border-bottom:2px solid transparent;text-decoration:none}
.account-tabs a[aria-current=page]{color:var(--clr-primary);border-bottom-color:var(--clr-primary);font-weight:600}
.account-tabs a:focus-visible{outline:2px solid var(--clr-primary);outline-offset:-2px}
.account-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:24px;align-items:start}
.account-card{min-width:0;padding:24px;border:1px solid var(--clr-border);border-radius:14px;background:var(--clr-surface)}
.account-card h2{font-size:17px;margin:0 0 8px;overflow-wrap:anywhere}
.account-summary .user-avatar{width:56px;height:56px;font-size:22px;margin-bottom:16px}
.account-summary>p{overflow-wrap:anywhere;margin-bottom:16px;font-size:13px;color:var(--clr-text-dim)}
.account-summary .account-help{margin:16px 0 0}
.account-main{display:grid;gap:20px;min-width:0}
.account-field{margin-top:20px}
.account-field label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.account-input-wrap{position:relative}
.account-field .form-input{min-height:46px;width:100%}
.account-input-wrap:has(.account-password-toggle) input{padding-right:72px}
.account-password-toggle{position:absolute;right:4px;top:1px;min-width:60px;min-height:44px;background:transparent;border:0;color:var(--clr-primary);cursor:pointer;font-size:12px;font-weight:600;border-radius:6px}
.account-password-toggle[hidden]{display:none}
.account-password-toggle:focus-visible{outline:2px solid var(--clr-primary);outline-offset:-3px}
.account-error{color:var(--clr-danger);font-size:13px;line-height:1.5;margin-top:6px}
.account-field .account-help{margin-top:6px}
.account-field input[aria-invalid=true]{border-color:var(--clr-danger)}
.account-form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.account-form-actions .btn{min-height:44px}
.account-appearance{display:flex;align-items:center;justify-content:space-between;gap:20px}
.account-appearance .theme-toggle{flex-shrink:0}
@media(max-width:760px){.account-layout{grid-template-columns:1fr;gap:16px}.account-card{padding:20px}.account-tabs{margin:20px 0}.account-appearance{align-items:flex-start}}
.user-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.avatar-upload { display: grid; gap: 10px; margin: 18px 0; min-width: 0; }
.avatar-upload label { font-size: .8rem; font-weight: 600; }
.avatar-upload input { width: 100%; min-width: 0; font-size: .75rem; }
.avatar-upload input::file-selector-button { padding: 8px; margin-right: 6px; border: 1px solid var(--clr-border); border-radius: 6px; background: var(--clr-surface-2); color: var(--clr-text); cursor: pointer; }
