.top-actions { position: relative; }
.avatar { overflow: hidden; padding: 0; }
.avatar img, .profile-preview img { width: 100%; height: 100%; object-fit: cover; }
.account-menu { position: absolute; z-index: 80; right: 0; top: calc(100% + 12px); width: 250px; padding: 10px; background: #fff; border: 1px solid var(--border, #d7e0d4); border-radius: 16px; box-shadow: 0 14px 40px #153d3720; }
.account-summary { padding: 14px 12px; border-bottom: 1px solid #e5ebe1; overflow-wrap: anywhere; }
.account-summary small { display: block; margin-top: 5px; color: #667970; }
.account-menu button, .account-menu a { display: block; width: 100%; background: transparent; border: 0; padding: 13px 12px; text-align: left; color: #153d37; border-radius: 8px; text-decoration: none; font-size: 15px; cursor: pointer; }
.account-menu button:hover, .account-menu a:hover { background: #eef4e6; }
.access-dialog { border: 1px solid #d7e0d4; border-radius: 22px; padding: 30px; width: min(480px, calc(100vw - 32px)); max-height: 90vh; color: #153d37; background: #fafbf8; overflow: auto; }
.access-dialog::backdrop { background: #153d3775; backdrop-filter: blur(3px); }
.access-dialog h2 { margin: 0 0 12px; font-size: 26px; }
.access-dialog label { display: block; margin: 18px 0 7px; }
.access-dialog input:not([type=file]), .access-dialog select { width: 100%; box-sizing: border-box; }
.access-dialog .dialog-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 26px; }
.access-dialog p { line-height: 1.8; }
.access-error { color: #b44932; line-height: 1.7; white-space: pre-wrap; }
.profile-preview { width: 96px; height: 96px; border-radius: 50%; overflow: hidden; background: #d8edb1; display: grid; place-items: center; font-size: 36px; margin: 22px 0; }
.recovery-help { margin: 18px 0; font-size: 13px; line-height: 1.8; color: #667970; }
.recovery-help summary { cursor: pointer; color: #21584b; font-weight: 600; }
.recovery-help code { overflow-wrap: anywhere; }
.permissions-table { width: 100%; border-collapse: collapse; }
.permissions-table th, .permissions-table td { padding: 16px 12px; text-align: left; border-bottom: 1px solid #e8ede4; }
.permissions-table th { color: #7e8d82; font-size: 13px; font-weight: 500; background: #f7f9f4; }
.permissions-table small { display: block; margin-top: 6px; color: #79867b; }
.permissions-table select { min-width: 160px; }
.permissions-table button { white-space: nowrap; }
.permission-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.permission-actions .subtle-text { flex-basis:100%; }
button.account-delete { color:#a33b2d; border:1px solid #e7bdb5; background:#fff7f5; }
button.account-delete:hover:not(:disabled) { background:#fbe9e4; border-color:#b74c39; }
button.account-delete:disabled { color:#98a098; border-color:#e4e8e2; background:#f7f9f6; cursor:not-allowed; }
.permissions-scroll { overflow-x: auto; }
#permission-share { min-width: 230px; max-width: 100%; }
.permission-intro { max-width: 780px; line-height: 1.8; }
.permission-status { margin-bottom: 20px; }
@media(max-width:600px) { .access-dialog { padding: 22px; } .permissions-table th,.permissions-table td { padding: 12px 8px; } }

#settings-permissions{scroll-margin-top:24px;outline:none}
