[hidden], .hidden { display: none !important; }
.workspace-notice { margin: 0; padding: .45rem 1rem; min-height: 2rem; background: var(--bg-secondary, #f4f6fa); color: var(--text-primary, #172339); }
.workspace-waiting { padding: 1rem; color: var(--text-secondary, #58647a); }
.top-bar { flex-wrap: wrap; height: auto; min-height: 80px; gap: .5rem; }
.top-bar-right { flex-wrap: wrap; }
#login-error { color: #b42318; min-height: 1.4em; }
.admin-page { display: block; overflow: auto; height: auto; min-height: 100vh; padding: clamp(1rem, 3vw, 3rem); background: #f4f6fa; color: #172339; }
.admin-header { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.admin-header h1 { font-size:1.8rem; margin-bottom:.3rem; }
.admin-header nav { display:flex; gap:.5rem; }
.admin-card { background:white; border:1px solid #dde3eb; border-radius:14px; padding:1.25rem; margin:1rem 0; box-shadow:0 3px 12px #17233906; min-width:0; }
.admin-card h2 { font-size:1.25rem; margin-bottom:1rem; }
.admin-card h3 { font-size:1.05rem; margin:1.25rem 0 .6rem; }
.admin-card label { display:block; font-size:.9rem; margin-bottom:.5rem; }
.admin-card input,.admin-card select { display:block; padding:.65rem; margin:.3rem 0; border:1px solid #aebacb; border-radius:7px; background:white; color:#172339; max-width:100%; }
.admin-card form { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; }
.admin-card form button { margin-bottom:.5rem; }
.admin-grid { display:grid; grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr); gap:1rem; }
.admin-table-wrap { overflow:auto; }
.admin-card table { border-collapse:collapse; width:100%; }
.admin-card th,.admin-card td { text-align:left; padding:.6rem; border-bottom:1px solid #e5e9ef; vertical-align:top; }
.admin-card td .btn { margin:0 .3rem .3rem 0; font-size:.8rem; padding:.4rem .6rem; }
.admin-card pre { white-space:pre-wrap; overflow-wrap:anywhere; padding:.75rem; background:#f5f7fb; border-radius:7px; max-height:32rem; overflow:auto; font-size:.8rem; }
.admin-card details { margin:.5rem 0; border:1px solid #e5e9ef; border-radius:7px; padding:.6rem; }
.admin-card summary { cursor:pointer; }
.admin-card p { margin:.4rem 0; overflow-wrap:anywhere; }
.transcript-message { padding:.85rem; margin:.6rem 0; background:#f5f7fb; border-radius:8px; }
.transcript-message p { white-space:pre-wrap; }
#new-credentials { display:block; white-space:pre-wrap; font-size:1.2rem; padding:1rem; background:#f0f7ff; margin-bottom:.75rem; }
#admin-notice { min-height:1.5rem; }
#legacy-files { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0; }
@media(max-width:1000px) { .admin-grid { grid-template-columns:1fr; } .top-bar-center { order:3; width:100%; } }/* Keep the complete step navigation visible alongside account actions. */
.top-bar-center { order: 3; flex: 1 0 100%; width: 100%; justify-content: flex-start; }
.top-bar-right { margin-left: auto; gap: .5rem; }
.content-wrapper { position: relative; min-height: 0; }
.mobile-tasks { display: none; }
@media (max-width: 768px) {
  .mobile-tasks { display: inline-flex; }
  .top-bar-right { flex: 1; flex-wrap: wrap; justify-content: flex-end; }
  .top-bar-right .btn { padding: .5rem .65rem; font-size: .8rem; min-height: 38px; }
  .top-bar-center { flex-wrap: wrap; overflow: visible; }
  .participant-badge { padding: .2rem .5rem; }
  .step-progress { min-width: 0; width: 100%; flex-basis: 100%; }
  .sidebar { width: min(100%, 360px); height: 100%; top: 0; }
  .sidebar:not(.open) { visibility: hidden; }
  .sidebar.open { visibility: visible; }
}
@media (max-width: 768px) {
  .top-bar-left { flex: 1 0 100%; flex-wrap: nowrap; gap: .5rem; }
  .top-bar-left .app-name { display: inline; font-size: .9rem; }
  .top-bar-right { flex: 1 0 100%; margin-left: 0; justify-content: flex-start; gap: .35rem; }
  .top-bar-left .language-toggle { margin-left: auto; }
}
