/* Accounts (spec 2026-09-26 §9): the bar's login state, the Documents tab,
   the account, login, sharing and administration dialogs. */
.local-only { color: var(--color-fg-muted); font-size: var(--text-sm); white-space: nowrap; }
.account-chip { max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.login-dialog form, .account-dialog form { display: grid; gap: 8px; }
.login-actions, .account-actions { display: flex; gap: 8px; justify-content: flex-end; }
.login-other { width: 100%; margin-top: 8px; }
/* Every account input in the app's own font, as the inspector's fields. */
.login-dialog input, .account-dialog input, .admin-dialog input,
.share-people input, .documents-search, .doc-rename {
  width: 100%; min-width: 0;
  padding: 3px 5px;
  border: 1px solid var(--color-border); border-radius: var(--radius-sm);
  background: var(--color-bg-base); color: var(--color-fg-primary);
  font: inherit;
}

/* The Documents tab (spec §9.2). The Model wrapper stays out of the layout. */
#left-model:not([hidden]) { display: contents; }
.left-tabs { margin-bottom: 4px; }
.doc-tree { list-style: none; margin: 0; padding: 0; }
.doc-row { display: flex; align-items: center; gap: 6px; padding: 3px 6px 3px calc(6px + var(--depth, 0) * 14px);
  border-radius: var(--radius-sm); cursor: pointer; font-size: var(--text-sm); white-space: nowrap; overflow: hidden; }
.doc-row:hover, .doc-row:focus-visible { background: var(--color-bg-hover); }
.doc-row.is-open { background: var(--color-bg-active); }
.doc-row:is(:hover, .is-open) .model-path, .admin-row.is-selected .admin-meta { color: var(--color-fg-secondary); }
.doc-row.is-selected { outline: 1px solid var(--color-border-strong); }
.doc-row.is-drop, #documents-mine-section.is-drop { outline: 1px dashed var(--color-accent); }
.doc-row svg { width: 14px; height: 14px; flex: none; }
.doc-name-text { overflow: hidden; text-overflow: ellipsis; }
.doc-owner { margin-top: 8px; }
.model-path { color: var(--color-fg-muted); font-weight: 400; margin-right: 4px; cursor: pointer; }

/* Sharing with people (spec §9.3). */
.share-people { margin-bottom: 12px; }
.share-people-add { display: flex; gap: 6px; align-items: center; }
.share-people-add input { flex: 1; }
/* The suggestions are a list shaped as the app's menu: no list bullets. */
.share-people-suggest { position: static; list-style: none; margin: 4px 0 0; }
.share-people-suggest .empty { padding: 4px 8px; }
.account-passkeys { list-style: none; margin: 0; padding: 0; }
.account-passkeys li { display: flex; gap: 6px; align-items: center; padding: 2px 0; }
.share-people-list { list-style: none; margin: 8px 0 0; padding: 0; }
.share-people-list li { display: flex; gap: 6px; align-items: center; padding: 2px 0; }
.share-people-list li > span:first-child { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Administration (spec §9.4): the list, and the selected row's detail. */
.admin-dialog { width: min(820px, 94vw); }
.admin-body { display: grid; grid-template-columns: 2fr 3fr; gap: 12px; min-height: 320px; margin-top: 8px; }
@media (max-width: 640px) { .admin-body { grid-template-columns: 1fr; } }
.admin-list { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.admin-list ul { list-style: none; margin: 0; padding: 0; max-height: 50vh; overflow: auto; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-sm); }
.admin-row { display: flex; gap: 8px; align-items: baseline; padding: 4px 8px; cursor: pointer; font-size: var(--text-sm); }
.admin-row:hover, .admin-row:focus-visible { background: var(--color-bg-hover); }
.admin-row.is-selected { background: var(--color-bg-active); }
.admin-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-meta { color: var(--color-fg-muted); font-size: var(--text-xs); white-space: nowrap; }
.admin-detail { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; min-width: 0; }
.admin-detail input { max-width: 320px; }
.admin-members { list-style: none; margin: 0; padding: 0; width: 100%; }
.admin-members li { display: flex; gap: 8px; align-items: center; padding: 2px 0; }
.admin-members li > span:first-child { flex: 1; }
.btn-danger { color: var(--color-danger); border-color: var(--color-danger); }

/* The save state is a button while there is a conflict to settle. */
.save-state.is-action { cursor: pointer; text-decoration: underline; }
/* The Documents tab's own edges, as the panel's sections have. */
.view-documents > .documents-search { display: block; width: calc(100% - 22px); margin: 8px 11px; }
.view-documents > #documents-logged-out { padding: 11px; }
