/* Mobile header slim + sidebar app menu */

:root {
  /* Fallback until JS measures .header (two-row mobile toolbar is taller than 88px) */
  --mobile-header-h: 124px;
}

.header-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-direction: row;
  white-space: nowrap;
}

.header-primary-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.header-booking-btn,
.header-community-btn {
  position: relative;
}

.header-booking-btn .booking-pending-badge,
.header-community-btn .community-insight-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  margin-left: 0;
}

.header-btn-label {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.header-icon-only .header-btn-label {
  display: none !important;
}

.header-keep-label .header-btn-label {
  display: inline !important;
}

.header-icon-only {
  min-width: 40px;
  padding: 8px 10px !important;
}

.header-icon-only .header-btn-icon {
  font-size: 18px;
}

.header-btn-icon {
  flex-shrink: 0;
  line-height: 1;
}

body.header-staff-toolbar .header-icon-only {
  width: 40px;
  max-width: 40px;
  height: 40px;
  padding: 0 !important;
  justify-content: center;
}

body.header-staff-toolbar .header-keep-label {
  width: auto !important;
  max-width: none !important;
  min-width: unset !important;
  height: auto !important;
  padding: 8px 12px !important;
}

body.header-staff-toolbar .header-keep-label .header-btn-label {
  display: inline !important;
}

@media (min-width: 769px) {
  .header-hide-mobile {
    display: inline-flex !important;
  }

  .header-legacy-row {
    display: none !important;
  }

  .ha-container {
    flex-direction: row;
    align-items: center;
    gap: 8px;
  }

  .ha-bottom-row {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}

@media (max-width: 768px) {
  .header-hide-mobile {
    display: none !important;
  }

  #planStatusContainer,
  #planStatusBadgeMobile,
  #nandhiBadgeMobile,
  .nandhi-badge-mobile {
    display: none !important;
  }

  #userName {
    display: none !important;
  }

  #nandhiBadge {
    display: none !important;
  }

  .header {
    --header-height: var(--mobile-header-h);
    flex-direction: column;
    gap: 4px;
    padding: 6px 10px 8px;
  }

  .app {
    height: calc(100vh - var(--mobile-header-h));
  }

  .sidebar {
    top: var(--mobile-header-h);
    height: calc(100vh - var(--mobile-header-h));
  }

  .ha-container {
    width: 100%;
  }

  .ha-top-row {
    display: none !important;
  }

  .ha-bottom-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0;
  }

  .ha-bottom-row::-webkit-scrollbar {
    display: none;
  }

  .ha-bottom-row .header-action-btn {
    font-size: 11px !important;
    min-height: 40px !important;
  }

  .header-keep-label.header-action-btn {
    padding: 7px 11px !important;
  }

  .header-icon-only.header-action-btn {
    padding: 8px 10px !important;
    min-width: 40px !important;
  }

  .app-view-shell {
    padding: 0;
  }
}

/* Settings tab */
.settings-page {
  max-width: 720px;
}

.settings-badge-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.settings-user-name {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 10px;
  letter-spacing: 0.04em;
}

.settings-user-badge {
  display: none;
  font-size: 11px;
  font-family: var(--font-display);
  padding: 4px 10px;
  border-radius: 4px;
  background: rgba(62, 207, 207, 0.12);
  color: var(--teal);
  border: 1px solid rgba(62, 207, 207, 0.35);
}

.settings-hint {
  font-size: var(--text-small);
  color: var(--text-dim);
  margin: 0;
  line-height: 1.5;
}

.settings-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.settings-row-btn {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 14px 16px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--card2);
  color: var(--text);
  cursor: pointer;
  text-align: left;
  font-family: var(--font-ui);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.settings-row-btn:hover {
  border-color: var(--primary-border);
  box-shadow: var(--shadow-sm);
}

.settings-row-btn--accent {
  border-color: var(--primary-border);
  background: var(--primary-muted);
}

.settings-row-icon {
  font-size: 22px;
  width: 28px;
  text-align: center;
  flex-shrink: 0;
}

.settings-row-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.settings-row-text strong {
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
}

.settings-row-text small {
  font-size: 12px;
  color: var(--text-dim);
}

.settings-password-sec {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.settings-password-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 12px;
  margin-bottom: 12px;
}

.settings-password-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
}

.settings-password-cap {
  font-size: 11px;
  color: var(--text-dim);
}

.settings-password-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.settings-password-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 12px;
  color: var(--text-dim);
}

.settings-password-input-row {
  display: flex;
  gap: 6px;
  align-items: center;
}

.settings-password-input-row .inp {
  flex: 1;
  min-width: 0;
}

.settings-password-toggle {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--card2);
  color: var(--text-dim);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}

.settings-password-toggle:hover {
  border-color: var(--gold);
  color: var(--text);
}

.settings-password-submit {
  align-self: flex-start;
  margin-top: 4px;
}

.settings-password-msg {
  font-size: 12px;
  margin: 0;
  min-height: 1.2em;
}

.settings-about-embed .about-corp {
  margin-top: 0;
}

.settings-about-embed .about-hero {
  padding-top: 0;
}

.dashboard-standalone {
  max-width: 100%;
}

.settings-standalone .settings-page {
  max-width: 100%;
}
