.setmore-desk {
  margin: 0 0 18px;
  padding: 20px 22px !important;
  border: 1px solid rgba(95, 73, 54, 0.18);
  border-radius: 20px;
  /* Light surface everywhere (dashboard, etc.): theme --panel can be near-black */
  background: rgba(255, 252, 247, 0.96) !important;
  color: #2b241f !important;
  box-shadow: var(--shadow);
}
.setmore-desk-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.setmore-desk h2,
.setmore-desk h3 {
  margin: 0;
  color: #2b241f !important;
}
.setmore-desk-sub {
  margin: 4px 0 0;
  color: #6f6357 !important;
  font-size: 0.92rem;
}
.setmore-mode-row,
.setmore-slot-list,
.setmore-appointment-list {
  display: grid;
  gap: 10px;
}
.setmore-mode-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.setmore-mode {
  width: 100%;
  min-height: 54px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--text);
  box-shadow: none;
}
.setmore-mode.is-active {
  background: linear-gradient(135deg, var(--accent), #6d2f1e);
  color: #fff8f5;
  border-color: transparent;
}
.setmore-desk .setmore-mode:not(.is-active) {
  background: rgba(255, 255, 255, 0.9) !important;
  color: #2b241f !important;
}
.setmore-desk label {
  color: #6f6357 !important;
}
.setmore-desk input,
.setmore-desk select {
  background: rgba(255, 255, 255, 0.95) !important;
  color: #2b241f !important;
}
.setmore-desk .chip {
  background: rgba(255, 255, 255, 0.88) !important;
  color: #2b241f !important;
  border-color: rgba(95, 73, 54, 0.18) !important;
}
.setmore-desk .setmore-secondary,
.setmore-desk .setmore-pick-card,
.setmore-desk .setmore-slot {
  background: rgba(255, 255, 255, 0.92) !important;
  color: #2b241f !important;
}
.setmore-desk .setmore-small {
  color: #6f6357 !important;
}
.setmore-desk .setmore-status:not(.is-error):not(.is-success) {
  background: rgba(255, 255, 255, 0.85) !important;
  color: #6f6357 !important;
}

/*
 * Global settings_css.php uses ultra-compact !important rules on all button, .chip, h2, h3, input.
 * Restore comfortable wizard layout inside the Setmore desk (dashboard + reports).
 */
.setmore-desk h2 {
  font-size: 1.22rem !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.setmore-desk h3 {
  font-size: 1.06rem !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.setmore-desk .eyebrow {
  font-size: 0.78rem !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 6px !important;
}
.setmore-desk .setmore-desk-sub {
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  margin-top: 6px !important;
}
.setmore-desk .setmore-desk-head {
  margin-bottom: 16px !important;
}
.setmore-desk label {
  display: grid !important;
  gap: 8px !important;
  font-size: 0.93rem !important;
  line-height: 1.3 !important;
}
.setmore-desk input:not([type="checkbox"]):not([type="radio"]),
.setmore-desk select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px 14px !important;
  font-size: 0.95rem !important;
  line-height: 1.35 !important;
  border-radius: 14px !important;
}
.setmore-desk button.setmore-mode {
  padding: 12px 14px !important;
  min-height: 52px !important;
  font-size: 0.9rem !important;
  line-height: 1.25 !important;
  border-radius: 14px !important;
  white-space: normal !important;
}
.setmore-desk .setmore-actions button {
  padding: 12px 20px !important;
  min-height: 48px !important;
  font-size: 0.94rem !important;
  line-height: 1.25 !important;
  border-radius: 14px !important;
}
.setmore-desk button.setmore-secondary {
  border-radius: 14px !important;
  padding: 12px 18px !important;
  min-height: 48px !important;
  font-size: 0.9rem !important;
  line-height: 1.25 !important;
}
.setmore-desk button.setmore-pick-card,
.setmore-desk button.setmore-slot {
  width: 100% !important;
  padding: 12px 14px !important;
  font-size: 0.9rem !important;
  line-height: 1.35 !important;
  border-radius: 14px !important;
  text-align: left !important;
  white-space: normal !important;
}
.setmore-desk a.chip {
  padding: 10px 16px !important;
  font-size: 0.88rem !important;
  line-height: 1.25 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
}
.setmore-desk .setmore-mode-row {
  gap: 12px !important;
}
.setmore-desk .setmore-fields {
  gap: 14px !important;
  margin-top: 16px !important;
}
.setmore-desk .setmore-actions {
  margin-top: 16px !important;
  gap: 12px !important;
}
.setmore-desk .setmore-slot-list,
.setmore-desk .setmore-appointment-list {
  gap: 10px !important;
}
.setmore-desk .setmore-status {
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
}

.setmore-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.setmore-paste-box {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(95, 73, 54, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.64);
}
.setmore-fields .full {
  grid-column: 1 / -1;
}
.setmore-desk textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: #2b241f !important;
  font: inherit !important;
  line-height: 1.35 !important;
  resize: vertical;
}
.setmore-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.setmore-secondary {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.82);
  color: var(--text);
  box-shadow: none;
}
.setmore-status {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.7);
  color: var(--muted);
}
.setmore-status.is-error {
  color: #991b1b;
  background: rgba(254, 226, 226, 0.76);
  border-color: rgba(185, 28, 28, 0.22);
}
.setmore-status.is-success {
  color: #166534;
  background: rgba(220, 252, 231, 0.76);
  border-color: rgba(22, 101, 52, 0.22);
}
.setmore-pick-card,
.setmore-slot {
  width: 100%;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--text);
  box-shadow: none;
}
.setmore-pick-card.is-selected,
.setmore-slot.is-selected {
  border-color: var(--accent);
  background: var(--accent-soft);
}
.setmore-pick-card strong {
  display: block;
  margin-bottom: 3px;
}
.setmore-small {
  display: block;
  color: var(--muted);
  font-size: 0.84rem;
}
@media (max-width: 700px) {
  .setmore-mode-row,
  .setmore-fields {
    grid-template-columns: 1fr;
  }
}

/*
 * Setmore accordion: real <button> + panel (not <details>).
 * Global settings_css.php styles all buttons — that was breaking native disclosure on some pages.
 */
.setmore-accordion {
  margin: 0 0 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255, 252, 247, 0.92);
  color: var(--text);
  box-shadow: var(--shadow, 0 18px 38px rgba(77, 52, 34, 0.12));
  overflow: hidden;
}
.setmore-accordion.is-collapsed .setmore-accordion-panel {
  display: none !important;
}
button.setmore-accordion-trigger {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  padding: 16px 18px !important;
  min-height: 48px !important;
  font-family: inherit !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  color: var(--text) !important;
  background: rgba(255, 255, 255, 0.55) !important;
  text-align: left !important;
  user-select: none !important;
  -webkit-tap-highlight-color: transparent !important;
  transform: none !important;
}
.setmore-accordion:not(.is-collapsed) button.setmore-accordion-trigger {
  border-bottom-color: var(--line) !important;
}
.setmore-accordion .setmore-accordion-text {
  flex: 1;
  min-width: 0;
}
.setmore-accordion .setmore-accordion-text .eyebrow {
  margin: 0 0 4px;
  display: block;
}
.setmore-accordion .setmore-accordion-title {
  font-size: 1.1rem !important;
  font-weight: 800;
  display: block;
  line-height: 1.25 !important;
}
.setmore-accordion .setmore-accordion-hint {
  display: block;
  margin-top: 6px;
  font-size: 0.88rem !important;
  font-weight: 500;
  line-height: 1.4 !important;
  color: var(--muted);
}
.setmore-accordion .setmore-accordion-chevron {
  flex-shrink: 0;
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
  font-weight: 700;
  transition: transform 0.2s ease;
  opacity: 0.9;
  color: var(--accent);
}
.setmore-accordion:not(.is-collapsed) .setmore-accordion-chevron {
  transform: rotate(90deg);
}
.setmore-accordion.is-collapsed .when-open,
.setmore-accordion:not(.is-collapsed) .when-closed {
  display: none !important;
}
.setmore-accordion .setmore-accordion-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
  pointer-events: none !important;
}
.setmore-accordion .setmore-toggle-text {
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}
.setmore-accordion .setmore-desk {
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 4px 16px 22px !important;
}
/* Avoid duplicate titles when the accordion supplies the header */
.setmore-accordion .setmore-desk-head > div:first-child {
  display: none;
}
.setmore-accordion .setmore-desk-head {
  margin-bottom: 10px;
  justify-content: flex-end;
}

/* Reports Search page: keep page + wizard readable if theme --bg / --panel are very dark */
html.reports-search-page body {
  background: radial-gradient(circle at top left, rgba(30, 104, 101, 0.14), transparent 28%),
    radial-gradient(circle at top right, rgba(141, 64, 41, 0.14), transparent 24%),
    linear-gradient(180deg, #fbf7f1 0%, #efe6da 100%) !important;
  color: #2b241f !important;
}
html.reports-search-page .setmore-accordion {
  background: rgba(255, 252, 247, 0.96);
}
html.reports-search-page .setmore-accordion .setmore-accordion-trigger {
  color: #2b241f !important;
  background: rgba(255, 255, 255, 0.78) !important;
}
html.reports-search-page .setmore-accordion .setmore-accordion-hint {
  color: #6f6357 !important;
}
/* Main panels on this page: stay readable if global theme uses very dark --box-bg */
html.reports-search-page .topbar,
html.reports-search-page .search-panel,
html.reports-search-page .result-card,
html.reports-search-page .empty-state {
  background: rgba(255, 252, 247, 0.96) !important;
  color: #2b241f !important;
  border-color: var(--line) !important;
}
html.reports-search-page .chip:not(.active) {
  background: rgba(255, 255, 255, 0.88) !important;
  color: #2b241f !important;
}
html.reports-search-page label {
  color: #6f6357 !important;
}
html.reports-search-page .appointments-strip {
  background: rgba(255, 252, 247, 0.96) !important;
  color: #2b241f !important;
}

/* Modal: pick appointment after search (reschedule / cancel) */
.setmore-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 8000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(24, 18, 14, 0.45);
  overflow-y: auto;
}
.setmore-modal-overlay[hidden] {
  display: none !important;
}
.setmore-modal-card {
  width: min(520px, 100%);
  max-height: min(85vh, 640px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 22px 24px !important;
  border-radius: 20px !important;
  border: 1px solid var(--line);
  background: rgba(255, 252, 247, 0.98) !important;
  color: #2b241f !important;
  box-shadow: 0 24px 60px rgba(40, 28, 20, 0.25);
}
.setmore-modal-title {
  margin: 0 0 8px;
  font-size: 1.15rem !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
.setmore-modal-sub {
  margin: 0 0 14px;
  color: #6f6357 !important;
  font-size: 0.92rem !important;
  line-height: 1.4 !important;
}
.setmore-modal-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
  padding-bottom: 8px;
}
.setmore-modal-pick {
  width: 100%;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 16px !important;
  background: rgba(255, 255, 255, 0.9);
  color: #2b241f !important;
  cursor: pointer;
  font: inherit;
  font-size: 0.9rem !important;
  line-height: 1.35 !important;
  box-shadow: none;
  transition: border-color 0.15s, background 0.15s;
  white-space: normal !important;
}
.setmore-modal-actions button,
.setmore-modal-actions .setmore-secondary {
  padding: 11px 18px !important;
  font-size: 0.9rem !important;
  border-radius: 14px !important;
  min-height: 44px !important;
}
.setmore-modal-pick:hover {
  border-color: var(--accent);
  background: var(--accent-soft, rgba(141, 64, 41, 0.08));
}
.setmore-modal-pick strong {
  display: block;
  margin-bottom: 4px;
}
.setmore-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
  flex-shrink: 0;
}

/* Import email panel — scoped overrides beat global settings_css.php */
.setmore-accordion-panel [data-setmore-import-email],
.setmore-import-email-inner {
  padding: 16px 18px 22px !important;
  box-sizing: border-box !important;
}
.setmore-import-email-inner {
  color: #2b241f !important;
}
.setmore-import-form,
.setmore-modal-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 0 !important;
}
.setmore-import-form .full,
.setmore-modal-grid .full,
.setmore-import-email-inner > .setmore-import-help,
.setmore-import-email-inner > .setmore-confirm-types,
.setmore-import-email-inner > .setmore-modal-actions,
.setmore-import-email-inner > .setmore-import-preview,
.setmore-import-email-inner > .setmore-confirmation-draft,
.setmore-import-email-inner > .setmore-candidate-list,
.setmore-import-email-inner > .setmore-import-status {
  grid-column: 1 / -1;
}
.setmore-import-email-inner label {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  font-size: 0.93rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #6f6357 !important;
  cursor: default !important;
}
.setmore-import-email-inner input:not([type="radio"]):not([type="checkbox"]),
.setmore-import-email-inner select,
.setmore-import-email-inner textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px 14px !important;
  font-size: 0.94rem !important;
  line-height: 1.35 !important;
  border-radius: 14px !important;
  border: 1px solid rgba(95, 73, 54, 0.22) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: #2b241f !important;
}
.setmore-import-email-inner textarea {
  min-height: 120px !important;
  resize: vertical !important;
}
.setmore-confirm-types {
  border: 1px solid rgba(95, 73, 54, 0.18) !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
  margin: 0 0 16px !important;
  background: rgba(255, 255, 255, 0.72) !important;
}
.setmore-confirm-types-heading {
  display: block !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-size: 0.93rem !important;
  font-weight: 700 !important;
  color: #2b241f !important;
}
.setmore-confirm-types-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.setmore-import-email-inner .setmore-confirm-radio {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  min-height: 48px !important;
  border: 1px solid rgba(95, 73, 54, 0.2) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: #2b241f !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s !important;
}
.setmore-import-email-inner .setmore-confirm-radio:has(input:checked) {
  border-color: var(--accent, #8d4029) !important;
  background: var(--accent-soft, rgba(141, 64, 41, 0.1)) !important;
  box-shadow: 0 0 0 2px rgba(141, 64, 41, 0.12) !important;
}
.setmore-import-email-inner .setmore-confirm-radio input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  appearance: auto !important;
  -webkit-appearance: radio !important;
  accent-color: var(--accent, #8d4029) !important;
  border-radius: 50% !important;
  background: #fff !important;
}
.setmore-import-email-inner .setmore-confirm-radio span {
  color: #2b241f !important;
  font-weight: 600 !important;
}
.setmore-import-email-inner .setmore-modal-actions {
  display: flex !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 16px !important;
}
.setmore-import-email-inner .setmore-modal-actions button.setmore-primary,
.setmore-import-email-inner .setmore-modal-actions button[data-action] {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding: 12px 20px !important;
  min-height: 48px !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  border-radius: 14px !important;
  border: 1px solid rgba(123, 47, 29, 0.35) !important;
  background: linear-gradient(135deg, #af4d31, #7b2f1d) !important;
  color: #fff7f1 !important;
  box-shadow: 0 8px 20px rgba(123, 47, 29, 0.2) !important;
  cursor: pointer !important;
  white-space: normal !important;
}
.setmore-import-email-inner .setmore-modal-actions button:disabled {
  opacity: 0.65 !important;
  cursor: not-allowed !important;
}
.setmore-confirmation-draft {
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(95, 73, 54, 0.14) !important;
}
.setmore-confirmation-title {
  margin: 0 0 8px;
  font-size: 1.05rem;
  color: #2b241f !important;
}
.setmore-import-preview {
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(95, 73, 54, 0.14) !important;
}
.setmore-import-preview input[readonly],
.setmore-import-preview textarea[readonly] {
  background: rgba(248, 244, 238, 0.95) !important;
  color: #2b241f !important;
}
.setmore-pick-card.is-selected {
  border-color: var(--accent, #8d4029);
  box-shadow: 0 0 0 2px rgba(141, 64, 41, 0.15);
}

.setmore-import-help {
  margin: 0 0 14px;
  color: #5b534d;
  line-height: 1.45;
}
.setmore-import-status {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(82, 58, 36, 0.12));
  background: rgba(255, 255, 255, 0.92);
}
.setmore-import-status.success { border-color: #86efac; background: #f0fdf4; color: #166534; }
.setmore-import-status.error { border-color: #fca5a5; background: #fef2f2; color: #991b1b; }
.setmore-import-status.info { border-color: #93c5fd; background: #eff6ff; color: #1d4ed8; }
.setmore-candidate-list { display: grid; gap: 10px; margin-top: 14px; }
.setmore-pick-card {
  width: 100%; text-align: left; border: 1px solid var(--line, rgba(82, 58, 36, 0.12));
  border-radius: 14px; padding: 14px 16px; background: rgba(255, 255, 255, 0.92); cursor: pointer;
}
.setmore-pick-card span { display: block; color: #6b5b53; font-size: 0.88rem; margin-top: 4px; }
