/* Account dropdown in the shared header */
.user-menu { margin-left: auto; position: relative; }
.user-menu__trigger {
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 4px 10px 4px 4px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--muted);
}
.user-menu__trigger::-webkit-details-marker { display: none; }
.user-menu__trigger:hover { border-color: var(--line-strong); color: var(--text); }
.user-menu__avatar {
    width: 30px; height: 30px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    background: var(--teal);
    color: #07221c;
    font-weight: 700;
    font-size: 0.95rem;
}
.user-menu__panel {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    min-width: 220px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: var(--shadow-8);
    padding: 8px;
    z-index: 50;
}
.user-menu__email {
    padding: 8px 12px;
    color: var(--soft);
    font-size: 0.85rem;
    border-bottom: 1px solid var(--line);
    margin-bottom: 6px;
    word-break: break-all;
}
.user-menu__item {
    display: block;
    width: 100%;
    text-align: left;
    padding: 9px 12px;
    border-radius: 8px;
    color: var(--text);
    text-decoration: none;
    font-size: 0.95rem;
    background: none;
    border: none;
    cursor: pointer;
}
.user-menu__item:hover { background: var(--surface); }
.user-menu__signout { margin: 0; }

/* Account settings + admin user management */
.settings-shell { max-width: 880px; margin: 0 auto; padding: 32px 24px 64px; }
.settings-shell__head h1 { font-size: 2rem; margin: 0 0 24px; color: var(--text); }
.settings-panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 20px;
}
.settings-panel__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.settings-panel__head h2 { font-size: 1.2rem; margin: 0; color: var(--text); }
.settings-panel__sub { color: var(--soft); font-size: 0.85rem; }
.settings-detail { display: grid; gap: 14px; margin: 0; }
.settings-detail div { display: flex; flex-direction: column; gap: 2px; }
.settings-detail dt { color: var(--soft); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; }
.settings-detail dd { margin: 0; color: var(--text); }
.settings-add {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}
.settings-add .k-field { margin: 0; flex: 1 1 260px; }
.k-inline-input {
    width: 100%;
    max-width: 220px;
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid var(--line-strong);
    background: var(--surface);
    color: var(--text);
}

.admin-create { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.admin-create .k-field { margin: 0; flex: 1 1 240px; }
.admin-create select {
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid var(--line-strong);
    background: var(--surface);
    color: var(--text);
}
.admin-passkeys {
    list-style: none;
    margin: 12px 0 0;
    padding: 12px;
    background: var(--surface);
    border-radius: 8px;
    display: grid;
    gap: 8px;
}
.admin-passkeys li { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.admin-passkeys li span { color: var(--text); }
.admin-passkeys li small { color: var(--soft); margin-right: auto; }

.temp-password {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 1.15rem;
    letter-spacing: 0.04em;
    text-align: center;
    background: var(--surface);
    border: 1px solid var(--line-strong);
    border-radius: 8px;
    padding: 14px 16px;
    margin: 16px 0;
    color: var(--teal);
    user-select: all;
    word-break: break-all;
}
