/* Admin cards and normal document-flow editors for use on phones. */
.admin-user-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 16px;
}
.admin-user-card {
  display: flex;
  gap: 16px;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel);
  color: var(--text);
  text-decoration: none;
  align-items: flex-start;
}
.admin-user-card:hover {border-color: var(--accent); background: var(--panel-soft);}
.admin-user-card:focus-visible, .admin-back-link:focus-visible {outline: 3px solid var(--accent); outline-offset: 3px;}
.admin-user-card .avatar-preview {width: 52px; height: 52px; flex-shrink: 0;}
.admin-user-card-copy {display: grid; gap: 8px; min-width: 0; overflow-wrap: anywhere;}
.admin-user-card-copy strong {font-size: 1.15rem;}
.admin-card-meta {font-size: .85rem; color: var(--muted);}
.admin-card-link {color: var(--accent); font-weight: 600; margin-top: 8px;}
.admin-detail-page {max-width: 760px; margin: 0 auto 40px;}
.admin-detail-page > h1 {overflow-wrap: anywhere; margin-bottom: 8px;}
.admin-detail-panel {background: var(--panel); border: 1px solid var(--border); border-radius: 18px; padding: 24px; margin: 20px 0;}
.admin-detail-panel h2 {margin-top: 0;}
.admin-detail-panel label {min-width: 0;}
.admin-detail-panel input:not([type=checkbox]), .admin-detail-panel select, .admin-detail-panel textarea {width: 100%; min-height: 48px; font-size: 16px;}
.admin-detail-panel textarea {min-height: 120px; resize: vertical;}
.admin-detail-panel .checkbox-grid label {min-height: 44px;}
.admin-detail-panel fieldset {min-width: 0;}
.admin-back-link, .quest-admin button.admin-back-link {display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; border: 0; background: none; color: var(--accent); font-weight: 600; text-decoration: none;}
.quest-editor-page form {display: grid; gap: 20px;}
.quest-editor-page h1 {font-size: 1.75rem; margin: 0;}
.quest-editor-page form > label:not(.quest-inline) {display: grid; gap: 8px;}
.quest-editor-page .quest-inline {min-height: 44px;}
.quest-editor-page .quest-inline input {flex-shrink: 0;}
.admin-save-bar {position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 12px; padding: 16px 0 max(16px, env(safe-area-inset-bottom)); background: var(--panel); border-top: 1px solid var(--border); z-index: 1;}
.quest-mobile-list {display: none;}
.quest-admin-card {padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--panel); overflow-wrap: anywhere;}
.quest-admin-card header {display: flex; justify-content: space-between; align-items: flex-start; gap: 12px;}
.quest-admin-card h3 {margin: 0; font-size: 1.15rem;}
.quest-admin-card .admin-quest-points {color: var(--accent); white-space: nowrap; font-weight: 700;}
.quest-admin-card .admin-quest-state {display: inline-block; padding: 4px 9px; border-radius: 20px; background: var(--panel-soft); font-size: .8rem; font-weight: 600; margin-top: 8px;}
.quest-admin-card .admin-quest-state[data-active=true] {background: var(--accent-soft); color: var(--accent-strong);}
.quest-admin-card dl {display: grid; grid-template-columns: 95px minmax(0, 1fr); gap: 12px; font-size: .9rem; margin: 20px 0;}
.quest-admin-card dt {color: var(--muted);}
.quest-admin-card dd {margin: 0;}
.quest-admin-card .quest-actions {min-width: 0;}
.quest-admin-card details {margin-top: 12px;}
.quest-admin-card summary {cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; color: var(--accent);}
.quest-admin-card details .quest-actions {padding-top: 8px;}
.quest-admin-card .quest-actions > button {flex: 1;}
.quest-admin-card .admin-claim {margin: 8px 0;}
@media (max-width: 760px) {
  .quest-admin .quest-table-wrap {display: none;}
  .quest-mobile-list {display: grid; gap: 16px;}
  .quest-admin .quest-toolbar h1, .users-workspace h1 {font-size: 1.8rem;}
  .quest-admin .quest-toolbar > .quest-actions {width: 100%; min-width: 0;}
  .quest-admin .quest-toolbar > .quest-actions button {flex: 1;}
  .quest-admin .quest-search {max-width: none; min-height: 48px; font-size: 16px;}
  .quest-admin .quest-toolbar input {flex-basis: 100%;}
  .quest-admin .quest-cards {grid-template-columns: minmax(0, 1fr);}
  .quest-admin .quest-card .quest-actions {min-width: 0;}
  .quest-admin .quest-card .quest-actions button {flex: 1; min-height: 48px;}
  .quest-admin .quest-editor {max-height: 85dvh; width: calc(100% - 24px); padding: 16px;}
  .admin-detail-panel {padding: 18px;}
  .admin-detail-page .form-grid.two, .admin-detail-page .quest-form-grid {grid-template-columns: minmax(0, 1fr);}
  .admin-detail-page .dialog-actions {flex-direction: column-reverse; align-items: stretch;}
  .admin-detail-page button {min-height: 48px;}
  .admin-save-bar > button {flex: 1;}
  .users-workspace .workspace-panel {padding: 16px;}
  .users-workspace .table-toolbar {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px;}
  .users-workspace .table-toolbar .search {width: 100%; grid-column: 1 / -1; min-width: 0; min-height: 48px; font-size: 16px;}
  .users-workspace .table-toolbar button {min-height: 48px;}
  .admin-user-card {padding: 16px; gap: 12px;}
}
