/*
 * WebCarry Enterprise Booking — UI Isolation Layer
 * Loaded after frontend.css. Every selector is scoped to the plugin-owned
 * boundary so WordPress themes, builders and unrelated plugins cannot alter
 * the application surface or inherit WebCarry styling.
 */

.wcab-app-root[data-wcab-app] {
  --wcab-isolation-font: "Segoe UI", SegoeUI, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --wcab-isolation-ink: #1d2a44;
  --wcab-isolation-copy: #52617a;
  --wcab-isolation-muted: #7d8aa2;
  --wcab-isolation-line: #e4e9f2;
  --wcab-isolation-surface: #ffffff;
  --wcab-isolation-page: #f6f8fc;
  --wcab-isolation-primary: #4f46e5;
  --wcab-isolation-primary-dark: #3730a3;
  --wcab-isolation-primary-soft: #eef0ff;
  --wcab-isolation-danger: #ef4444;
  --wcab-isolation-success: #22c55e;
  isolation: isolate;
  contain: style;
  position: relative;
  box-sizing: border-box !important;
  color: var(--wcab-isolation-copy);
  color-scheme: light;
  font-family: "Segoe UI", SegoeUI, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.wcab-app-root[data-wcab-app],
.wcab-app-root[data-wcab-app] *,
.wcab-app-root[data-wcab-app] *::before,
.wcab-app-root[data-wcab-app] *::after {
  box-sizing: border-box !important;
}

.wcab-app-root[data-wcab-app] :where(h1, h2, h3, h4, h5, h6, p, span, strong, small, label, input, select, textarea, button, a, table, th, td, div, section, article, aside, nav, ul, ol, li) {
  font-family: var(--wcab-isolation-font) !important;
}

.wcab-app-root[data-wcab-app] :where(button, input, select, textarea, optgroup, option) {
  font: inherit !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Only WebCarry-owned button classes receive appearance normalization.
   Native WordPress controls such as wpColorPicker remain untouched. */
.wcab-app-root[data-wcab-app] :where(
  .wcab-submit, .wcab-filter-btn, .wcab-clear-btn, .wcab-refresh-btn,
  .wcab-btn-secondary, .wcab-print-btn, .wcab-career-submit,
  .wcab-hr-save-btn, .wcab-hr-report-btn, .wcab-hr-cancel-btn,
  .wcab-action-open-btn, .wcab-notify-bell, .wcab-password-toggle
) {
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer;
  text-decoration: none !important;
}

.wcab-app-root[data-wcab-app] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not(.wp-color-picker), select, textarea) {
  min-width: 0;
  max-width: none;
  margin: 0;
  color: var(--wcab-isolation-ink) !important;
  background-clip: padding-box;
}

.wcab-app-root[data-wcab-app] :where(input[type="checkbox"], input[type="radio"]) {
  -webkit-appearance: auto !important;
  appearance: auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.wcab-app-root[data-wcab-app] :where(input, select, textarea, button, a, summary, [tabindex]):focus {
  outline-offset: 2px;
}

.wcab-app-root[data-wcab-app] :where(input, select, textarea, button, a, summary, [tabindex]):focus:not(:focus-visible) {
  outline: none !important;
}

.wcab-app-root[data-wcab-app] :where(input, select, textarea, button, a, summary, [tabindex]):focus-visible {
  outline: 2px solid rgba(79, 70, 229, 0.55) !important;
  outline-offset: 2px !important;
}

.wcab-app-root[data-wcab-app] :where(img, svg) {
  border: 0 !important;
  box-shadow: none;
}

.wcab-app-root[data-wcab-app] svg {
  max-width: none !important;
  vertical-align: middle;
}

.wcab-app-root[data-wcab-app] :where(table) {
  border-spacing: 0;
  text-indent: 0;
}

.wcab-app-root[data-wcab-app] :where(a) {
  -webkit-tap-highlight-color: transparent;
}

.wcab-app-root[data-wcab-app] :where([hidden]) {
  display: none !important;
}

/* Theme-proof typography hierarchy. */
.wcab-app-root[data-wcab-app] :where(.wcab-header h2, .wcab-dashboard-main-heading, .wcab-career-head h2, .wcab-open-positions-head h2, .wcab-modal-card h3, .wcab-hr-modal-head h4) {
  color: var(--wcab-isolation-ink) !important;
  font-family: var(--wcab-isolation-font) !important;
  font-style: normal !important;
  text-transform: none !important;
}

.wcab-app-root[data-wcab-app] :where(.wcab-header p, .wcab-dashboard-welcome, .wcab-dashboard-role, .wcab-career-head p, .wcab-open-positions-head p, .wcab-description, .description) {
  color: var(--wcab-isolation-copy) !important;
}

/* Buttons retain WebCarry colors and dimensions even under aggressive themes. */
.wcab-app-root[data-wcab-app] :where(.wcab-submit, .wcab-filter-btn, .wcab-career-submit, .wcab-hr-save-btn, .button-primary) {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--wcab-primary, #4f46e5), var(--wcab-primary-dark, #3730a3)) !important;
  color: #ffffff !important;
  text-shadow: none !important;
}

.wcab-app-root[data-wcab-app] :where(.wcab-submit, .wcab-filter-btn, .wcab-career-submit, .wcab-hr-save-btn, .button-primary):hover,
.wcab-app-root[data-wcab-app] :where(.wcab-submit, .wcab-filter-btn, .wcab-career-submit, .wcab-hr-save-btn, .button-primary):focus-visible {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--wcab-primary-dark, #3730a3), #2f257f) !important;
  color: #ffffff !important;
}

.wcab-app-root[data-wcab-app] :where(.wcab-refresh-btn, .wcab-btn-secondary, .wcab-clear-btn, .wcab-print-btn, .wcab-hr-report-btn, .wcab-hr-cancel-btn, .button:not(.button-primary)) {
  text-shadow: none !important;
}

.wcab-app-root[data-wcab-app] :where(.wcab-refresh-btn, .wcab-btn-secondary, .wcab-hr-report-btn, .wcab-hr-cancel-btn) {
  border-color: var(--wcab-isolation-line) !important;
  background-color: #ffffff !important;
  color: var(--wcab-isolation-primary) !important;
}

.wcab-app-root[data-wcab-app] :where(.wcab-refresh-btn, .wcab-btn-secondary, .wcab-hr-report-btn, .wcab-hr-cancel-btn):hover,
.wcab-app-root[data-wcab-app] :where(.wcab-refresh-btn, .wcab-btn-secondary, .wcab-hr-report-btn, .wcab-hr-cancel-btn):focus-visible {
  border-color: #c9c3ff !important;
  background-color: var(--wcab-isolation-primary-soft) !important;
  color: var(--wcab-isolation-primary-dark) !important;
}

.wcab-app-root[data-wcab-app] :where(.wcab-logout-link, .wcab-clear-btn) {
  border-color: #fecaca !important;
  background-color: #fff7f7 !important;
  color: #dc2626 !important;
}

.wcab-app-root[data-wcab-app] :where(.wcab-logout-link, .wcab-clear-btn):hover,
.wcab-app-root[data-wcab-app] :where(.wcab-logout-link, .wcab-clear-btn):focus-visible {
  border-color: #ef4444 !important;
  background-color: #ef4444 !important;
  color: #ffffff !important;
}

.wcab-app-root[data-wcab-app] :where(
  .wcab-submit, .wcab-filter-btn, .wcab-clear-btn, .wcab-refresh-btn,
  .wcab-btn-secondary, .wcab-print-btn, .wcab-career-submit,
  .wcab-hr-save-btn, .wcab-hr-report-btn, .wcab-hr-cancel-btn,
  .wcab-action-open-btn, .wcab-notify-bell
) {
  transition-property: color, background-color, border-color, box-shadow, transform, opacity;
  transition-duration: 160ms;
  transition-timing-function: ease;
}

.wcab-app-root[data-wcab-app] :where(
  .wcab-submit, .wcab-filter-btn, .wcab-clear-btn, .wcab-refresh-btn,
  .wcab-btn-secondary, .wcab-print-btn, .wcab-career-submit,
  .wcab-hr-save-btn, .wcab-hr-report-btn, .wcab-hr-cancel-btn,
  .wcab-action-open-btn, .wcab-notify-bell
):active {
  filter: none !important;
}

/* Fixed and documented slot-state palette. */
.wcab-app-root[data-wcab-app] .wcab-slot-available {
  border-color: var(--wcab-slot-available, #22c55e) !important;
  color: color-mix(in srgb, var(--wcab-slot-available, #22c55e) 72%, #052e16) !important;
}

.wcab-app-root[data-wcab-app] .wcab-slot-available::before,
.wcab-app-root[data-wcab-app] .wcab-legend-available {
  background: var(--wcab-slot-available, #22c55e) !important;
}

.wcab-app-root[data-wcab-app] .wcab-slot.active,
.wcab-app-root[data-wcab-app] .wcab-preview-slot-selected,
.wcab-app-root[data-wcab-app] .wcab-legend-selected {
  border-color: var(--wcab-slot-selected, #111827) !important;
  background: var(--wcab-slot-selected, #111827) !important;
  color: #ffffff !important;
}

.wcab-app-root[data-wcab-app] .wcab-slot-booked {
  border-color: var(--wcab-slot-booked, #ef4444) !important;
  background: color-mix(in srgb, var(--wcab-slot-booked, #ef4444) 12%, #ffffff) !important;
  color: color-mix(in srgb, var(--wcab-slot-booked, #ef4444) 74%, #7f1d1d) !important;
}

.wcab-app-root[data-wcab-app] .wcab-legend-booked {
  background: var(--wcab-slot-booked, #ef4444) !important;
}

/* Form and data surfaces. */
.wcab-app-root[data-wcab-app] :where(.wcab-panel, .wcab-wizard-panel, .wcab-summary-card, .wcab-dashboard-panel, .wcab-hr-card, .wcab-career-wrap, .wcab-open-position-card, .wcab-modal-card, .wcab-action-modal-card, .wcab-reason-modal-card, .wcab-day-appts-modal-inner) {
  background-color: var(--wcab-isolation-surface);
  color: var(--wcab-isolation-copy);
}

.wcab-app-root[data-wcab-app] :where(.wcab-table, .widefat, .form-table) {
  width: 100%;
  color: var(--wcab-isolation-copy) !important;
  background: #ffffff !important;
}

.wcab-app-root[data-wcab-app] :where(.wcab-table th, .widefat th, .form-table th) {
  color: var(--wcab-table-header-color, #5c6579) !important;
  font-size: var(--wcab-table-header-size, 12px) !important;
  background-color: #f8fafc;
  font-weight: 600 !important;
}

.wcab-app-root[data-wcab-app] :where(.wcab-table td, .widefat td, .form-table td) {
  color: var(--wcab-table-cell-color, var(--wcab-isolation-copy)) !important;
  font-size: var(--wcab-table-cell-size, 14px) !important;
  background-color: transparent;
}

.wcab-app-root[data-wcab-app] :where(.wcab-table tr, .widefat tr) {
  border-color: var(--wcab-isolation-line) !important;
}

/* WordPress admin controls inside WebCarry only; WP toolbar/sidebar are untouched. */
.wcab-app-root[data-wcab-app].wcab-admin-app {
  max-width: none;
  color: var(--wcab-isolation-copy);
}

.wcab-app-root[data-wcab-app].wcab-admin-app :where(.card) {
  border-color: var(--wcab-isolation-line) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(29, 42, 68, 0.07) !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app :where(.button:not(.wp-color-result):not(.wp-picker-clear)) {
  min-height: 34px;
  border-color: #d8deea !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--wcab-isolation-primary) !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app :where(.button:not(.wp-color-result):not(.wp-picker-clear)):hover,
.wcab-app-root[data-wcab-app].wcab-admin-app :where(.button:not(.wp-color-result):not(.wp-picker-clear)):focus-visible {
  border-color: #bdb4ff !important;
  background: var(--wcab-isolation-primary-soft) !important;
  color: var(--wcab-isolation-primary-dark) !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app :where(.button.button-primary:not(.wp-color-result):not(.wp-picker-clear)) {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--wcab-isolation-primary), var(--wcab-isolation-primary-dark)) !important;
  color: #ffffff !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not(.wp-color-picker), select, textarea) {
  border: 1px solid #d8deea !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app :where(input, select, textarea):focus {
  border-color: var(--wcab-isolation-primary) !important;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12) !important;
}

/* FullCalendar is isolated inside the WebCarry root. */
.wcab-app-root[data-wcab-app] .fc {
  color: var(--wcab-isolation-copy) !important;
  font-family: var(--wcab-isolation-font) !important;
}

.wcab-app-root[data-wcab-app] .fc :where(button, table, th, td, a, span) {
  font-family: var(--wcab-isolation-font) !important;
}

.wcab-app-root[data-wcab-app] .fc .fc-button-primary {
  border-color: #d8deea !important;
  background: #ffffff !important;
  color: var(--wcab-isolation-primary) !important;
  box-shadow: none !important;
  text-transform: none !important;
}

.wcab-app-root[data-wcab-app] .fc .fc-button-primary:hover,
.wcab-app-root[data-wcab-app] .fc .fc-button-primary:focus-visible,
.wcab-app-root[data-wcab-app] .fc .fc-button-primary:not(:disabled).fc-button-active {
  border-color: var(--wcab-isolation-primary) !important;
  background: var(--wcab-isolation-primary) !important;
  color: #ffffff !important;
}

/* Runtime overlays receive wcab-app-root directly. */
.wcab-app-root[data-wcab-app].wcab-runtime-root {
  position: fixed;
  inset: 0;
  z-index: 999999;
  width: 100%;
  max-width: none;
  margin: 0;
}

/* UI reset control. */
.wcab-app-root[data-wcab-app] .wcab-ui-reset-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 16px 0 22px;
  padding: 16px 18px;
  border: 1px solid #ddd8ff;
  border-radius: 12px;
  background: #f7f5ff;
}

.wcab-app-root[data-wcab-app] .wcab-ui-reset-card p {
  margin: 0;
  color: var(--wcab-isolation-copy) !important;
}

.wcab-app-root[data-wcab-app] .wcab-ui-reset-button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 9px 14px;
  border: 1px solid #c9c3ff !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: var(--wcab-isolation-primary) !important;
  font-weight: 600 !important;
}

.wcab-app-root[data-wcab-app] .wcab-ui-reset-button:hover,
.wcab-app-root[data-wcab-app] .wcab-ui-reset-button:focus-visible {
  border-color: var(--wcab-isolation-primary) !important;
  background: var(--wcab-isolation-primary) !important;
  color: #ffffff !important;
}

@media (max-width: 782px) {
  .wcab-app-root[data-wcab-app] .wcab-ui-reset-card {
    align-items: stretch;
    flex-direction: column;
  }

  .wcab-app-root[data-wcab-app] .wcab-ui-reset-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wcab-app-root[data-wcab-app],
  .wcab-app-root[data-wcab-app] *,
  .wcab-app-root[data-wcab-app] *::before,
  .wcab-app-root[data-wcab-app] *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* =========================================================
   Stable inline SVG icon system
   ========================================================= */
.wcab-app-root[data-wcab-app] :where(
  .wcab-stat-icon svg,
  .wcab-btn-icon,
  .wcab-bell-icon svg,
  .wcab-notify-bell svg,
  .wcab-hr-summary-icon svg,
  .wcab-hr-section-icon svg,
  .wcab-action-open-btn svg,
  .wcab-password-toggle svg,
  .wcab-open-position-icon svg
) {
  display: block !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke;
}

.wcab-app-root[data-wcab-app] :where(
  .wcab-stat-icon svg,
  .wcab-btn-icon,
  .wcab-bell-icon svg,
  .wcab-notify-bell svg,
  .wcab-hr-summary-icon svg,
  .wcab-hr-section-icon svg,
  .wcab-action-open-btn svg,
  .wcab-password-toggle svg,
  .wcab-open-position-icon svg
) :where(path, circle, rect, line, polyline, polygon, ellipse) {
  fill: none !important;
  stroke: currentColor !important;
}

.wcab-app-root[data-wcab-app] .wcab-stat-icon,
.wcab-app-root[data-wcab-app] .wcab-hr-summary-icon,
.wcab-app-root[data-wcab-app] .wcab-notify-bell,
.wcab-app-root[data-wcab-app] .wcab-btn-icon {
  line-height: 1 !important;
}

.wcab-app-root[data-wcab-app] .wcab-stat-icon svg {
  width: 23px !important;
  height: 23px !important;
}

.wcab-app-root[data-wcab-app] .wcab-btn-icon {
  width: 17px !important;
  height: 17px !important;
}

.wcab-app-root[data-wcab-app] .wcab-bell-icon,
.wcab-app-root[data-wcab-app] .wcab-bell-icon svg {
  width: var(--wcab-notify-icon-size, 22px) !important;
  height: var(--wcab-notify-icon-size, 22px) !important;
}

/* =========================================================
   WordPress wpColorPicker / Iris compatibility
   The picker is a third-party component hosted inside our root. It must keep
   WordPress' native content-box geometry and control dimensions.
   ========================================================= */
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container,
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container *,
.wcab-app-root[data-wcab-app].wcab-admin-app .iris-picker,
.wcab-app-root[data-wcab-app].wcab-admin-app .iris-picker * {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container,
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container *,
.wcab-app-root[data-wcab-app].wcab-admin-app .iris-picker,
.wcab-app-root[data-wcab-app].wcab-admin-app .iris-picker * {
  box-sizing: content-box !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 8px 0 0 !important;
  vertical-align: middle !important;
  white-space: normal !important;
  overflow: visible !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container .wp-color-result.button {
  display: inline-block !important;
  width: auto !important;
  min-width: 118px !important;
  min-height: 30px !important;
  height: 30px !important;
  margin: 0 6px 0 0 !important;
  padding: 0 0 0 30px !important;
  border: 1px solid #c3c4c7 !important;
  border-radius: 4px !important;
  background-clip: padding-box !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.08) !important;
  color: #50575e !important;
  line-height: 28px !important;
  text-align: left !important;
  vertical-align: middle !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container .wp-color-result-text {
  display: block !important;
  box-sizing: border-box !important;
  min-width: 86px !important;
  height: 28px !important;
  padding: 0 8px !important;
  border-left: 1px solid #c3c4c7 !important;
  border-radius: 0 3px 3px 0 !important;
  background: #f6f7f7 !important;
  color: #50575e !important;
  font-size: 13px !important;
  line-height: 28px !important;
  text-align: center !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-input-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-input-wrap label {
  display: inline-flex !important;
  width: auto !important;
  margin: 0 !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app input.wp-color-picker {
  display: inline-block !important;
  width: 78px !important;
  min-width: 78px !important;
  max-width: 78px !important;
  min-height: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 3px 6px !important;
  border: 1px solid #8c8f94 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  color: #2c3338 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  line-height: 22px !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-clear.button {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid #c3c4c7 !important;
  border-radius: 4px !important;
  background: #f6f7f7 !important;
  color: #2271b1 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  line-height: 28px !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-holder {
  position: relative !important;
  z-index: 1000 !important;
  clear: both !important;
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .iris-picker {
  position: relative !important;
  display: none;
  width: 255px !important;
  height: 202px !important;
  margin-top: 6px !important;
  padding: 10px !important;
  border: 1px solid #dcdcde !important;
  background: #ffffff !important;
  box-shadow: 0 3px 14px rgba(0,0,0,.12) !important;
  overflow: hidden !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-active .iris-picker {
  display: block !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .iris-picker .iris-square {
  width: 182px !important;
  height: 182px !important;
  margin-right: 10px !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .iris-picker .iris-slider {
  width: 24px !important;
  height: 182px !important;
  margin-left: 0 !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .iris-picker canvas {
  display: block !important;
  max-width: none !important;
  max-height: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Settings form stability and repeater alignment. */
.wcab-app-root[data-wcab-app].wcab-admin-app .form-table {
  table-layout: auto !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .form-table > tbody > tr > th {
  width: 190px !important;
  padding: 20px 16px 20px 0 !important;
  vertical-align: top !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .form-table > tbody > tr > td {
  padding: 15px 10px !important;
  vertical-align: middle !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .form-table input.regular-text,
.wcab-app-root[data-wcab-app].wcab-admin-app .form-table textarea.large-text,
.wcab-app-root[data-wcab-app].wcab-admin-app .form-table select {
  max-width: 520px !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-repeater {
  display: grid !important;
  gap: 10px !important;
  width: min(100%, 760px) !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-repeater-row {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto auto !important;
  align-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 42px !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-repeater-row > input.regular-text {
  width: 100% !important;
  min-height: 40px !important;
  margin: 0 !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-repeater-row > .wp-picker-container {
  min-width: 125px !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-repeater-remove {
  align-self: start !important;
  min-height: 40px !important;
  margin: 0 !important;
}

@media (max-width: 782px) {
  .wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-repeater-row {
    grid-template-columns: 1fr !important;
  }

  .wcab-app-root[data-wcab-app].wcab-admin-app .form-table > tbody > tr > th,
  .wcab-app-root[data-wcab-app].wcab-admin-app .form-table > tbody > tr > td {
    display: block !important;
    width: 100% !important;
    padding: 10px 0 !important;
  }
}

/* Career settings repeater keeps its original compact admin layout. */
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-jobs-repeater {
  display: grid !important;
  gap: 14px !important;
  width: min(100%, 940px) !important;
  margin: 12px 0 !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-row {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) auto auto !important;
  align-items: start !important;
  gap: 12px !important;
  padding: 16px !important;
  border: 1px solid #dfe5ef !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 3px 12px rgba(29,42,68,.05) !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-handle {
  margin-top: 9px !important;
  color: #7d8aa2 !important;
  cursor: move !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-fields {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 220px) !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-fields > input,
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-fields > select,
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-fields > textarea {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-fields > textarea {
  grid-column: 1 / -1 !important;
  min-height: 130px !important;
  resize: vertical !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-active-check {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 40px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-remove {
  min-height: 40px !important;
  padding: 0 12px !important;
  border: 1px solid #fecaca !important;
  border-radius: 8px !important;
  background: #fff7f7 !important;
  color: #dc2626 !important;
  text-decoration: none !important;
}

@media (max-width: 900px) {
  .wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-row {
    grid-template-columns: 24px minmax(0, 1fr) !important;
  }
  .wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-active-check,
  .wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-remove {
    grid-column: 2 !important;
    justify-self: start !important;
  }
}

@media (max-width: 600px) {
  .wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-fields {
    grid-template-columns: 1fr !important;
  }
  .wcab-app-root[data-wcab-app].wcab-admin-app .wcab-career-job-fields > textarea {
    grid-column: 1 !important;
  }
}


/* =========================================================
   WebCarry v2.1.2 — admin stability and live-customization fixes
   ========================================================= */

/* Admin checkboxes: stable, visible checkmark across browser/admin themes. */
.wcab-app-root[data-wcab-app].wcab-admin-app input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-grid !important;
  place-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 7px 0 0 !important;
  padding: 0 !important;
  border: 1.5px solid #b8c2d3 !important;
  border-radius: 4px !important;
  background-color: #ffffff !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 12px !important;
  box-shadow: none !important;
  vertical-align: -3px !important;
  cursor: pointer !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app input[type="checkbox"]:checked {
  border-color: #4f46e5 !important;
  background-color: #4f46e5 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' d='M3 8.2l3 3L13 4.8'/%3E%3C/svg%3E") !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(79,70,229,.28) !important;
  outline-offset: 2px !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app label:has(> input[type="checkbox"]) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  min-height: 24px !important;
}

/* Admin tables/forms: consistent padding and action alignment. */
.wcab-app-root[data-wcab-app].wcab-admin-app .form-table > tbody > tr > th {
  padding: 20px 18px !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #edf1f7 !important;
  color: #40506a !important;
  line-height: 1.45 !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .form-table > tbody > tr > td {
  padding: 16px 18px !important;
  border-bottom: 1px solid #edf1f7 !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .form-table > tbody > tr > th[colspan="2"] {
  padding: 22px 18px 12px !important;
  background: #ffffff !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .widefat th,
.wcab-app-root[data-wcab-app].wcab-admin-app .widefat td {
  padding: 12px 14px !important;
  vertical-align: middle !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .widefat th:last-child,
.wcab-app-root[data-wcab-app].wcab-admin-app .widefat td:last-child {
  text-align: center !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-admin-action-group {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-admin-action-group form {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-admin-action-group .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  line-height: 1 !important;
}

/* Live slot palette must use administrator-selected variables. */
.wcab-app-root[data-wcab-app] .wcab-preview-slot-selected,
.wcab-app-root[data-wcab-app] .wcab-slot.active,
.wcab-app-root[data-wcab-app] .wcab-slot.wcab-slot-selected {
  border-color: var(--wcab-slot-selected, #f5a623) !important;
  background: var(--wcab-slot-selected, #f5a623) !important;
  color: #ffffff !important;
}
.wcab-app-root[data-wcab-app] .wcab-slot-available:hover:not(:disabled):not(.active):not(.wcab-slot-booked) {
  border-color: var(--wcab-slot-selected, #f5a623) !important;
  background: color-mix(in srgb, var(--wcab-slot-selected, #f5a623) 12%, #ffffff) !important;
  color: color-mix(in srgb, var(--wcab-slot-selected, #f5a623) 75%, #111827) !important;
}
.wcab-app-root[data-wcab-app] .wcab-legend-selected { background: var(--wcab-slot-selected, #f5a623) !important; }

/* Calendar count badge border customization. */
.wcab-app-root[data-wcab-app] .wcab-cal-day-badge {
  border: var(--wcab-cal-badge-border-width, 0px) solid var(--wcab-cal-badge-border, #c7d2fe) !important;
  background: var(--wcab-cal-badge-bg, #4f46e5) !important;
  color: var(--wcab-cal-badge-text, #ffffff) !important;
}

/* Settings live previews. */
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-live-preview {
  margin-top: 16px !important;
  padding: 0 !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-live-preview-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-height: 34px !important;
  align-items: center !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-live-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 10px !important;
  border: 1px solid color-mix(in srgb, var(--chip-color) 35%, #ffffff) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--chip-color) 12%, #ffffff) !important;
  color: color-mix(in srgb, var(--chip-color) 72%, #1d2a44) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-live-chip::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--chip-color);
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-notify-preview {
  color: var(--wcab-notify-icon-color, #4f46e5) !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-notify-preview svg {
  width: var(--wcab-notify-icon-size, 22px) !important;
  height: var(--wcab-notify-icon-size, 22px) !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-notify-preview .wcab-notify-count {
  background: var(--wcab-notify-badge-bg, #ef4444) !important;
  color: var(--wcab-notify-badge-text, #ffffff) !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-notify-preview:hover {
  background: var(--wcab-notify-hover-bg, #fef2f2) !important;
  border-color: var(--wcab-notify-hover-border, #fca5a5) !important;
  color: var(--wcab-notify-hover-color, #ef4444) !important;
}

/* Table text settings apply to previews and all dashboard tables. */
.wcab-app-root[data-wcab-app] .wcab-table th {
  color: var(--wcab-table-header-color, #5c6579) !important;
  font-size: var(--wcab-table-header-size, 12px) !important;
}
.wcab-app-root[data-wcab-app] .wcab-table td {
  color: var(--wcab-table-cell-color, #52617a) !important;
  font-size: var(--wcab-table-cell-size, 14px) !important;
}

/* Stable FullCalendar chevrons independent of icon fonts. */
.wcab-app-root[data-wcab-app] .fc .fc-prev-button,
.wcab-app-root[data-wcab-app] .fc .fc-next-button {
  position: relative !important;
  overflow: hidden !important;
}
.wcab-app-root[data-wcab-app] .fc .fc-prev-button .fc-icon,
.wcab-app-root[data-wcab-app] .fc .fc-next-button .fc-icon { display: none !important; }
.wcab-app-root[data-wcab-app] .fc .fc-prev-button::before,
.wcab-app-root[data-wcab-app] .fc .fc-next-button::before {
  content: "" !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
  background: transparent !important;
  background-image: none !important;
}
.wcab-app-root[data-wcab-app] .fc .fc-prev-button::before { transform: rotate(-135deg) !important; margin-left: 4px !important; }
.wcab-app-root[data-wcab-app] .fc .fc-next-button::before { transform: rotate(45deg) !important; margin-right: 4px !important; }

/* Appointment request always overlays the page and remains readable. */
.wcab-app-root[data-wcab-app] .wcab-modal {
  z-index: 2147483000 !important;
}
.wcab-app-root[data-wcab-app] .wcab-modal-card {
  position: relative !important;
  z-index: 2147483001 !important;
}
.wcab-app-root[data-wcab-app] .wcab-modal-whatsapp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Label popovers show the complete configured list above scrollable tables. */
.wcab-app-root[data-wcab-app] .wcab-label-chips,
.wcab-app-root[data-wcab-app] .wcab-bulk-label-wrap { position: relative !important; overflow: visible !important; }
.wcab-app-root[data-wcab-app] .wcab-label-picker,
.wcab-app-root[data-wcab-app] .wcab-bulk-label-menu {
  z-index: 2147482000 !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  min-width: 190px !important;
}
.wcab-app-root[data-wcab-app] .wcab-table-wrap { overflow-y: visible !important; }

/* HR icons and filters. */
.wcab-app-root[data-wcab-app] .wcab-hr-title-icon,
.wcab-app-root[data-wcab-app] .wcab-hr-title-icon svg,
.wcab-app-root[data-wcab-app] .wcab-hr-report-btn svg {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-title-icon svg { width: 24px !important; height: 24px !important; }
.wcab-app-root[data-wcab-app] .wcab-hr-report-btn svg { width: 18px !important; height: 18px !important; }
.wcab-app-root[data-wcab-app] .wcab-hr-performance-filter,
.wcab-app-root[data-wcab-app] .wcab-hr-performance-filter label,
.wcab-app-root[data-wcab-app] .wcab-hr-performance-filter select,
.wcab-app-root[data-wcab-app] .wcab-hr-performance-filter input {
  color: #52617a !important;
}

/* Footer credit shared by dashboard and login. */
.wcab-app-root[data-wcab-app] .wcab-login-powered-by,
.wcab-app-root[data-wcab-app] .wcab-dashboard-powered-by {
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid #e4e9f2 !important;
  text-align: center !important;
  color: #7d8aa2 !important;
  font-size: 12px !important;
}
.wcab-app-root[data-wcab-app] .wcab-login-powered-by a,
.wcab-app-root[data-wcab-app] .wcab-dashboard-powered-by a {
  color: #66758e !important;
  text-decoration: none !important;
}

/* Career application management enhancements. */
.wcab-app-root[data-wcab-app] .wcab-hr-applications-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: end !important;
  gap: 12px !important;
  margin: 14px 0 18px !important;
  padding: 14px !important;
  border: 1px solid #e4e9f2 !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-applications-toolbar label {
  display: grid !important;
  gap: 5px !important;
  color: #52617a !important;
  font-size: 12px !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-applications-toolbar select {
  min-width: 160px !important;
}
.wcab-app-root[data-wcab-app] .wcab-app-read-state {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: #eef2ff !important;
  color: #4338ca !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}
.wcab-app-root[data-wcab-app] tr.wcab-application-unread > td:first-child {
  box-shadow: inset 3px 0 0 #4f46e5 !important;
}
.wcab-app-root[data-wcab-app] .wcab-app-labels {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 7px !important;
}
.wcab-app-root[data-wcab-app] .wcab-app-email-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid #c7d2fe !important;
  border-radius: 9px !important;
  background: #eef2ff !important;
  color: #4338ca !important;
  cursor: pointer !important;
}
.wcab-app-root[data-wcab-app] .wcab-app-email-btn:hover { background: #e0e7ff !important; }

/* v2.1.2 — recruitment workflow controls */
.wcab-app-root[data-wcab-app] .wcab-hr-application-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: end !important;
  gap: 12px !important;
  margin: 14px 0 18px !important;
  padding: 14px !important;
  border: 1px solid #e4e9f2 !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-application-filters label {
  display: grid !important;
  gap: 5px !important;
  min-width: 160px !important;
  margin: 0 !important;
  color: #52617a !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-application-filters select {
  min-width: 170px !important;
  min-height: 42px !important;
  margin: 0 !important;
}
.wcab-app-root[data-wcab-app] .wcab-application-candidate-head {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}
.wcab-app-root[data-wcab-app] .wcab-application-read-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: #eef2ff !important;
  color: #4338ca !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}
.wcab-app-root[data-wcab-app] .wcab-application-read .wcab-application-read-badge {
  background: #ecfdf3 !important;
  color: #067647 !important;
}
.wcab-app-root[data-wcab-app] .wcab-application-labels {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 7px !important;
}
.wcab-app-root[data-wcab-app] .wcab-application-labels > span {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 8px !important;
  border: 1px solid color-mix(in srgb, var(--wcab-app-label-color) 34%, #ffffff) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--wcab-app-label-color) 11%, #ffffff) !important;
  color: color-mix(in srgb, var(--wcab-app-label-color) 72%, #25324a) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-app-status-form select[multiple] {
  min-height: 78px !important;
  padding: 5px !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-app-form-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-app-email-btn,
.wcab-app-root[data-wcab-app] .wcab-hr-read-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid #c7d2fe !important;
  border-radius: 9px !important;
  background: #eef2ff !important;
  color: #4338ca !important;
  font: inherit !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-app-email-btn:hover,
.wcab-app-root[data-wcab-app] .wcab-hr-read-toggle:hover {
  border-color: #a5b4fc !important;
  background: #e0e7ff !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-app-email-btn:disabled {
  opacity: .48 !important;
  cursor: not-allowed !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-application-action-cell {
  text-align: center !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-application-action-cell > form {
  display: flex !important;
  justify-content: center !important;
  margin: 0 0 8px !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-application-action-cell > form:last-child { margin-bottom: 0 !important; }

/* =========================================================
   WebCarry v2.1.3 — recruitment workflow and visual polish
   ========================================================= */
.wcab-app-root[data-wcab-app] input[type="checkbox"]{appearance:none!important;-webkit-appearance:none!important;display:inline-grid!important;place-content:center!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important;border:1.5px solid #b7c1d2!important;border-radius:5px!important;background:#fff!important;background-image:none!important;box-shadow:none!important;vertical-align:middle!important;cursor:pointer!important}
.wcab-app-root[data-wcab-app] input[type="checkbox"]:checked{border-color:#5b45f5!important;background-color:#5b45f5!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3 8.3l3 3L13 4.8'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:12px 12px!important}
.wcab-app-root[data-wcab-app] input[type="checkbox"]:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}.wcab-app-root[data-wcab-app] input[type="checkbox"]:focus-visible{outline:2px solid rgba(91,69,245,.28)!important;outline-offset:2px!important}
.wcab-app-root[data-wcab-app] .wcab-export-btn,.wcab-app-root[data-wcab-app] .wcab-hr-report-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;line-height:1.2!important}
.wcab-app-root[data-wcab-app] .wcab-export-icon,.wcab-app-root[data-wcab-app] .wcab-export-btn svg,.wcab-app-root[data-wcab-app] .wcab-hr-report-icon,.wcab-app-root[data-wcab-app] .wcab-hr-report-btn svg{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;flex:0 0 18px!important;margin:0!important;overflow:visible!important;stroke:currentColor!important;fill:none!important}
.wcab-app-root[data-wcab-app] .wcab-table thead th,.wcab-app-root[data-wcab-app] .wcab-table thead th a,.wcab-app-root[data-wcab-app] .wcab-table thead .wcab-sort-link,.wcab-app-root[data-wcab-app].wcab-admin-app table.widefat thead th{color:#4e5e77!important;font-family:"Segoe UI",SegoeUI,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;font-size:12px!important;font-weight:500!important;letter-spacing:.025em!important;line-height:1.35!important;text-transform:uppercase!important}
.wcab-app-root[data-wcab-app] .wcab-table tbody td,.wcab-app-root[data-wcab-app] .wcab-table tbody td a,.wcab-app-root[data-wcab-app] .wcab-table tbody td span,.wcab-app-root[data-wcab-app].wcab-admin-app table.widefat tbody td{color:#52617a!important;font-family:"Segoe UI",SegoeUI,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;font-size:13px!important;font-weight:400!important;line-height:1.5!important}.wcab-app-root[data-wcab-app] .wcab-table tbody td strong{color:#2f3e57!important;font-weight:500!important}.wcab-app-root[data-wcab-app] .wcab-table tbody td small{color:#7b8799!important;font-weight:400!important}
.wcab-app-root[data-wcab-app] .wcab-hr-applications-btn{position:relative!important;overflow:visible!important}.wcab-app-root[data-wcab-app] .wcab-application-notification-bubble{position:absolute!important;top:-8px!important;right:-8px!important;z-index:2!important;min-width:20px!important;height:20px!important;padding:0 5px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:2px solid #fff!important;border-radius:999px!important;background:#ef4444!important;color:#fff!important;font-size:10px!important;font-weight:600!important;line-height:1!important;box-shadow:0 5px 13px rgba(239,68,68,.28)!important}
.wcab-app-root[data-wcab-app] .wcab-hr-title-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;min-width:28px!important;color:#5b45f5!important}.wcab-app-root[data-wcab-app] .wcab-hr-title-icon svg{display:block!important;width:24px!important;height:24px!important;min-width:24px!important;margin:0!important;stroke:currentColor!important;fill:none!important;overflow:visible!important}.wcab-app-root[data-wcab-app] .wcab-hr-report-print{color:#3568d8!important}
.wcab-app-root[data-wcab-app] .wcab-hr-staff-filter-label{position:relative!important;min-width:220px!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker{position:relative!important;width:100%!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-toggle{width:100%!important;min-height:46px!important;padding:7px 12px!important;display:flex!important;align-items:center!important;gap:10px!important;border:1px solid #dce3ee!important;border-radius:11px!important;background:#fff!important;color:#3d4b63!important;text-align:left!important;box-shadow:none!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-toggle:hover,.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker.is-open .wcab-hr-staff-picker-toggle{border-color:#bdb3ff!important;box-shadow:0 0 0 3px rgba(91,69,245,.08)!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-toggle>svg{width:16px!important;height:16px!important;margin-left:auto!important;flex:0 0 16px!important;color:#6f7c91!important;transition:transform .16s ease!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker.is-open .wcab-hr-staff-picker-toggle>svg{transform:rotate(180deg)!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-avatar{width:32px!important;height:32px!important;min-width:32px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;border-radius:50%!important;background:#eeecff!important;color:#5040d7!important;font-size:12px!important;font-weight:600!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-copy{min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-copy strong{color:#34425a!important;font-size:12.5px!important;font-weight:500!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-copy small{color:#7c8798!important;font-size:10.5px!important;font-weight:400!important;line-height:1.2!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-menu{position:absolute!important;top:calc(100% + 7px)!important;left:0!important;z-index:1000!important;width:max(100%,260px)!important;max-height:280px!important;padding:7px!important;display:none!important;overflow:auto!important;border:1px solid #dfe5ef!important;border-radius:13px!important;background:#fff!important;box-shadow:0 18px 42px rgba(34,45,70,.16)!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker.is-open .wcab-hr-staff-picker-menu{display:block!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-option{width:100%!important;padding:8px 9px!important;display:flex!important;align-items:center!important;gap:10px!important;border:0!important;border-radius:9px!important;background:transparent!important;text-align:left!important;box-shadow:none!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-option:hover,.wcab-app-root[data-wcab-app] .wcab-hr-staff-picker-option:focus-visible{background:#f4f2ff!important}
.wcab-app-root[data-wcab-app] .wcab-hr-application-filters{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto auto!important}.wcab-app-root[data-wcab-app] .wcab-hr-applications-table{min-width:1250px!important}.wcab-app-root[data-wcab-app] .wcab-app-select-column{width:54px!important;min-width:54px!important;text-align:center!important;vertical-align:middle!important}.wcab-app-root[data-wcab-app] .wcab-application-bulk-toolbar{margin:0 0 14px!important}.wcab-app-root[data-wcab-app] .wcab-application-candidate-head{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}.wcab-app-root[data-wcab-app] .wcab-application-read-badge{display:inline-flex!important;align-items:center!important;min-height:21px!important;padding:3px 8px!important;border-radius:999px!important;background:#ecfdf3!important;color:#178a52!important;font-size:9.5px!important;font-weight:500!important}.wcab-app-root[data-wcab-app] .wcab-application-unread .wcab-application-read-badge{background:#fff1f2!important;color:#dc3b49!important}.wcab-app-root[data-wcab-app] .wcab-application-status{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:25px!important;padding:4px 10px!important;border-radius:999px!important;font-size:10px!important;font-weight:500!important;white-space:nowrap!important}.wcab-app-root[data-wcab-app] .wcab-application-status-new{background:#eef2ff!important;color:#5145cd!important}.wcab-app-root[data-wcab-app] .wcab-application-status-reviewing{background:#eaf4ff!important;color:#2772c8!important}.wcab-app-root[data-wcab-app] .wcab-application-status-shortlisted{background:#fff7df!important;color:#b66a08!important}.wcab-app-root[data-wcab-app] .wcab-application-status-interview{background:#f1ecff!important;color:#6d3fd1!important}.wcab-app-root[data-wcab-app] .wcab-application-status-hired{background:#e8f8ef!important;color:#138249!important}.wcab-app-root[data-wcab-app] .wcab-application-status-rejected{background:#fff0f1!important;color:#ce3745!important}.wcab-app-root[data-wcab-app] .wcab-application-action-btn{width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;display:inline-flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;border:1px solid #dfe5ee!important;border-radius:12px!important;background:#fff!important;color:#596984!important;box-shadow:0 5px 14px rgba(39,53,83,.055)!important}.wcab-app-root[data-wcab-app] .wcab-application-action-btn span{width:3px!important;height:3px!important;display:block!important;border-radius:50%!important;background:currentColor!important}.wcab-app-root[data-wcab-app] .wcab-application-action-btn:hover,.wcab-app-root[data-wcab-app] .wcab-application-action-btn:focus-visible{border-color:#c8c0ff!important;background:#f0edff!important;color:#4b38dd!important;transform:translateY(-1px)!important;box-shadow:0 10px 22px rgba(75,56,221,.13)!important}
.wcab-app-root[data-wcab-app].wcab-application-detail-modal,.wcab-app-root[data-wcab-app].wcab-application-action-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;width:100vw!important;height:100vh!important;margin:0!important;padding:24px!important;display:none!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-sizing:border-box!important}.wcab-app-root[data-wcab-app].wcab-application-detail-modal.is-open,.wcab-app-root[data-wcab-app].wcab-application-action-modal.is-open{display:flex!important}.wcab-app-root[data-wcab-app] .wcab-application-detail-backdrop{position:absolute!important;inset:0!important;background:rgba(26,35,53,.62)!important;backdrop-filter:blur(6px)!important}.wcab-app-root[data-wcab-app] .wcab-application-detail-dialog,.wcab-app-root[data-wcab-app] .wcab-application-action-dialog{position:relative!important;z-index:1!important;width:min(720px,100%)!important;max-height:calc(100vh - 48px)!important;overflow:auto!important;border:1px solid #dfe5ef!important;border-radius:20px!important;background:#fff!important;box-shadow:0 34px 90px rgba(24,34,55,.30)!important}.wcab-app-root[data-wcab-app] .wcab-application-action-dialog{width:min(580px,100%)!important}.wcab-app-root[data-wcab-app] .wcab-application-detail-head p{margin:7px 0 0!important;color:#748096!important;font-size:12px!important;font-weight:400!important}.wcab-app-root[data-wcab-app] .wcab-application-action-form{padding:22px 24px 24px!important;display:grid!important;gap:16px!important}.wcab-app-root[data-wcab-app] .wcab-application-action-form label{margin:0!important}.wcab-app-root[data-wcab-app] .wcab-application-action-form label>span{display:block!important;margin:0 0 7px!important;color:#46556d!important;font-size:12px!important;font-weight:500!important}.wcab-app-root[data-wcab-app] .wcab-application-action-form select,.wcab-app-root[data-wcab-app] .wcab-application-action-form textarea{width:100%!important;margin:0!important;padding:11px 13px!important;border:1px solid #dce3ee!important;border-radius:11px!important;background:#fff!important;color:#34425a!important;font-size:13px!important;font-weight:400!important;box-shadow:none!important}.wcab-app-root[data-wcab-app] .wcab-application-email-state,.wcab-app-root[data-wcab-app] .wcab-application-last-email{margin:-4px 0 0!important;color:#178a52!important;font-size:11.5px!important;font-weight:400!important}.wcab-app-root[data-wcab-app] .wcab-application-email-state.is-disabled{color:#b66a08!important}.wcab-app-root[data-wcab-app] .wcab-application-action-primary,.wcab-app-root[data-wcab-app] .wcab-application-action-secondary{display:flex!important;gap:10px!important;flex-wrap:wrap!important}.wcab-app-root[data-wcab-app] .wcab-application-action-primary button,.wcab-app-root[data-wcab-app] .wcab-application-action-secondary button{min-height:42px!important;padding:9px 15px!important;border-radius:10px!important;font-size:12px!important;font-weight:500!important}.wcab-app-root[data-wcab-app] .wcab-application-action-primary .wcab-hr-app-save-btn{border:1px solid #5b45f5!important;background:#5b45f5!important;color:#fff!important}.wcab-app-root[data-wcab-app] .wcab-application-action-primary .wcab-hr-app-email-btn{border:1px solid #cae9d9!important;background:#f6fffa!important;color:#178a52!important}.wcab-app-root[data-wcab-app] .wcab-application-action-primary .wcab-hr-app-email-btn:disabled{border-color:#e2e6ed!important;background:#f5f6f8!important;color:#9aa4b3!important;cursor:not-allowed!important}.wcab-app-root[data-wcab-app] .wcab-application-action-secondary .wcab-hr-read-toggle{border:1px solid #cddcff!important;background:#f8faff!important;color:#3568d8!important}.wcab-app-root[data-wcab-app] .wcab-application-action-secondary .wcab-hr-delete-text-btn{margin-left:auto!important;border:1px solid #ffd1d6!important;background:#fffafb!important;color:#dc3b49!important}
@media(max-width:820px){.wcab-app-root[data-wcab-app] .wcab-hr-performance-filter{grid-template-columns:1fr!important}.wcab-app-root[data-wcab-app] .wcab-hr-staff-filter-label{min-width:0!important}.wcab-app-root[data-wcab-app] .wcab-hr-application-filters{grid-template-columns:1fr!important}.wcab-app-root[data-wcab-app] .wcab-application-action-primary,.wcab-app-root[data-wcab-app] .wcab-application-action-secondary{flex-direction:column!important}.wcab-app-root[data-wcab-app] .wcab-application-action-secondary .wcab-hr-delete-text-btn{margin-left:0!important}}

/* =========================================================
   WebCarry v2.3.0 — final modal layer and wizard typography
   Loaded last so page builders cannot place content above plugin dialogs.
   ========================================================= */
.wcab-app-root.wcab-portal-modal,
.wcab-app-root[data-wcab-app].wcab-portal-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483640 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: clamp(12px, 3vh, 28px) !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  isolation: isolate !important;
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  box-sizing: border-box !important;
}
.wcab-app-root.wcab-portal-modal.is-open,
.wcab-app-root.wcab-portal-modal.wcab-open,
.wcab-app-root.wcab-portal-modal.active,
.wcab-app-root.wcab-portal-modal[style*="display: flex"],
.wcab-app-root.wcab-portal-modal[style*="display:flex"] {
  display: flex !important;
}
.wcab-app-root.wcab-portal-modal > .wcab-modal-card,
.wcab-app-root.wcab-portal-modal > .wcab-action-modal-card,
.wcab-app-root.wcab-portal-modal > .wcab-application-detail-dialog,
.wcab-app-root.wcab-portal-modal > .wcab-application-action-dialog,
.wcab-app-root.wcab-portal-modal > .wcab-calendar-day-dialog,
.wcab-app-root.wcab-portal-modal > .wcab-hr-staff-modal-dialog,
.wcab-app-root.wcab-portal-modal .wcab-modal-card,
.wcab-app-root.wcab-portal-modal .wcab-action-modal-card,
.wcab-app-root.wcab-portal-modal .wcab-application-detail-dialog,
.wcab-app-root.wcab-portal-modal .wcab-application-action-dialog,
.wcab-app-root.wcab-portal-modal .wcab-calendar-day-dialog,
.wcab-app-root.wcab-portal-modal .wcab-hr-staff-modal-dialog {
  position: relative !important;
  z-index: 2 !important;
  max-height: calc(100vh - clamp(24px, 6vh, 56px)) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}
body.wcab-modal-open {
  overflow: hidden !important;
}
.wcab-app-root[data-wcab-app] .wcab-step-title,
.wcab-app-root[data-wcab-app] .wcab-step-panel h2,
.wcab-app-root[data-wcab-app] .wcab-step-panel h3,
.wcab-app-root[data-wcab-app] .wcab-progress-step-label,
.wcab-app-root[data-wcab-app] .wcab-step-label {
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

/* =========================================================
   v2.4.0 — hardened component isolation and shared UI system
========================================================= */

/* Standard, theme-independent checkbox used only inside WebCarry roots. */
.wcab-app-root input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  margin: 0 7px 0 0 !important;
  padding: 0 !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 5px !important;
  background-color: #ffffff !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 13px 13px !important;
  box-shadow: none !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease !important;
}
.wcab-app-root input[type="checkbox"]::before,
.wcab-app-root input[type="checkbox"]::after {
  content: none !important;
  display: none !important;
}
.wcab-app-root input[type="checkbox"]:checked {
  border-color: var(--wcab-primary, #4f46e5) !important;
  background-color: var(--wcab-primary, #4f46e5) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.2 10.2l3.5 3.5 8.1-8.1' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.wcab-app-root input[type="checkbox"]:focus-visible {
  outline: 0 !important;
  border-color: var(--wcab-primary, #4f46e5) !important;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, .18) !important;
}
.wcab-app-root input[type="checkbox"]:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
}

/* Accessible password eye button; SVG is injected by frontend.js. */
.wcab-app-root .wcab-password-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 42px !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.wcab-app-root .wcab-password-toggle svg {
  display: block !important;
  width: 19px !important;
  height: 19px !important;
  color: #64748b !important;
  pointer-events: none !important;
}
.wcab-app-root .wcab-password-toggle:hover svg,
.wcab-app-root .wcab-password-toggle:focus-visible svg {
  color: var(--wcab-primary, #4f46e5) !important;
}

/* Exact saved label colors: no hardcoded frontend transformations. */
.wcab-app-root .wcab-label-chip,
.wcab-app-root .wcab-label-live-chip {
  background: var(--chip-bg, var(--chip-color, #4f46e5)) !important;
  color: var(--chip-text, #ffffff) !important;
  border-color: color-mix(in srgb, var(--chip-bg, #4f46e5) 72%, #ffffff) !important;
}
.wcab-app-root .wcab-label-live-chip::before,
.wcab-app-root .wcab-bulk-label-option::before,
.wcab-app-root .wcab-label-picker button::before {
  background: var(--chip-bg, var(--chip-color, #4f46e5)) !important;
}
.wcab-app-root .wcab-bulk-label-option,
.wcab-app-root .wcab-label-picker button {
  color: var(--chip-text, #334155) !important;
}
.wcab-app-root .wcab-bulk-label-option:hover,
.wcab-app-root .wcab-bulk-label-option:focus-visible,
.wcab-app-root .wcab-label-picker button:hover,
.wcab-app-root .wcab-label-picker button:focus-visible {
  background: var(--chip-bg, #f5f3ff) !important;
  color: var(--chip-text, #334155) !important;
  filter: brightness(.97) !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-repeater-row {
  display: grid !important;
  grid-template-columns: minmax(190px, 1fr) minmax(205px, auto) minmax(205px, auto) auto !important;
  align-items: end !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-color-control {
  display: grid !important;
  gap: 5px !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

/* Category cards get subtle, repeatable visual identities without changing data. */
.wcab-app-root .wcab-catalog-category-row {
  --wcab-category-tint: #f7f8ff;
  --wcab-category-accent: #4f46e5;
  background: linear-gradient(135deg, #ffffff 0%, var(--wcab-category-tint) 100%) !important;
  border-left: 4px solid var(--wcab-category-accent) !important;
}
.wcab-app-root .wcab-catalog-category-row.wcab-category-tone-1 { --wcab-category-tint:#f3f1ff; --wcab-category-accent:#6654e8; }
.wcab-app-root .wcab-catalog-category-row.wcab-category-tone-2 { --wcab-category-tint:#eefaf6; --wcab-category-accent:#18a874; }
.wcab-app-root .wcab-catalog-category-row.wcab-category-tone-3 { --wcab-category-tint:#eef8fc; --wcab-category-accent:#0891b2; }
.wcab-app-root .wcab-catalog-category-row.wcab-category-tone-4 { --wcab-category-tint:#fff7ed; --wcab-category-accent:#ea8a13; }
.wcab-app-root .wcab-catalog-category-row.wcab-category-tone-5 { --wcab-category-tint:#fff1f4; --wcab-category-accent:#e34b6f; }
.wcab-app-root .wcab-catalog-category-row.wcab-category-tone-6 { --wcab-category-tint:#f2f7ff; --wcab-category-accent:#3978d8; }
.wcab-app-root .wcab-catalog-category-row .wcab-catalog-category-icon {
  color: var(--wcab-category-accent) !important;
  background: color-mix(in srgb, var(--wcab-category-accent) 12%, #ffffff) !important;
}

/* Shared three-dot action control. Original links/forms are moved into this menu. */
.wcab-app-root .wcab-shared-action-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 46px !important;
}
.wcab-app-root .wcab-shared-action-toggle {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 1px solid #dce3ee !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  color: #52617a !important;
  box-shadow: 0 5px 16px rgba(34, 48, 74, .06) !important;
  cursor: pointer !important;
}
.wcab-app-root .wcab-shared-action-toggle > span {
  display: block !important;
  width: 3px !important;
  height: 3px !important;
  border-radius: 50% !important;
  background: currentColor !important;
}
.wcab-app-root .wcab-shared-action-toggle:hover,
.wcab-app-root .wcab-shared-action-toggle:focus-visible,
.wcab-app-root .wcab-shared-action-wrap.is-open .wcab-shared-action-toggle {
  border-color: #c7c1ff !important;
  background: #f6f4ff !important;
  color: var(--wcab-primary, #4f46e5) !important;
  box-shadow: 0 8px 20px rgba(79,70,229,.14) !important;
  transform: translateY(-1px) !important;
}
.wcab-app-root .wcab-shared-action-menu {
  position: absolute !important;
  z-index: 2147482500 !important;
  top: calc(100% + 7px) !important;
  right: 0 !important;
  display: none !important;
  min-width: 150px !important;
  padding: 7px !important;
  border: 1px solid #e0e6f0 !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 44px rgba(28, 42, 68, .18) !important;
}
.wcab-app-root .wcab-shared-action-wrap.is-open .wcab-shared-action-menu {
  display: grid !important;
  gap: 4px !important;
}
.wcab-app-root .wcab-shared-action-menu > a,
.wcab-app-root .wcab-shared-action-menu > button,
.wcab-app-root .wcab-shared-action-menu form > button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 11px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #46556e !important;
  box-shadow: none !important;
  text-align: left !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  cursor: pointer !important;
}
.wcab-app-root .wcab-shared-action-menu form { margin: 0 !important; width: 100% !important; }
.wcab-app-root .wcab-shared-action-menu > a:hover,
.wcab-app-root .wcab-shared-action-menu > button:hover,
.wcab-app-root .wcab-shared-action-menu form > button:hover {
  background: #f5f3ff !important;
  color: #4938d4 !important;
}
.wcab-app-root .wcab-shared-action-menu .button-link-delete,
.wcab-app-root .wcab-shared-action-menu .wcab-hr-delete-btn {
  color: #d92d3f !important;
}
.wcab-app-root .wcab-shared-action-menu .button-link-delete:hover,
.wcab-app-root .wcab-shared-action-menu .wcab-hr-delete-btn:hover {
  background: #fff1f2 !important;
  color: #c51f33 !important;
}

/* One reusable table language for frontend and plugin-admin tables. */
.wcab-app-root table.wcab-standard-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #dde5ef !important;
  border-radius: 16px !important;
  overflow: visible !important;
  background: #ffffff !important;
  color: var(--wcab-table-cell-color, #52617a) !important;
  font-family: var(--wcab-font-family, "Segoe UI", sans-serif) !important;
}
.wcab-app-root table.wcab-standard-table th {
  padding: 14px 15px !important;
  border: 0 !important;
  border-bottom: 1px solid #dfe6f0 !important;
  background: #f8fafc !important;
  color: var(--wcab-table-header-color, #52617a) !important;
  font-size: var(--wcab-table-header-size, 12px) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
.wcab-app-root table.wcab-standard-table td {
  padding: 15px !important;
  border: 0 !important;
  border-bottom: 1px solid #e3e9f1 !important;
  background: #ffffff !important;
  color: var(--wcab-table-cell-color, #52617a) !important;
  font-size: var(--wcab-table-cell-size, 14px) !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
  vertical-align: middle !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}
.wcab-app-root table.wcab-standard-table tbody tr:hover > td {
  background: #fafbff !important;
}
.wcab-app-root table.wcab-standard-table tbody tr.wcab-row-selected > td,
.wcab-app-root table.wcab-standard-table tbody tr:has(.wcab-row-select:checked) > td {
  background: #f5f3ff !important;
}
.wcab-app-root table.wcab-standard-table tr:last-child td:first-child { border-bottom-left-radius: 15px !important; }
.wcab-app-root table.wcab-standard-table tr:last-child td:last-child { border-bottom-right-radius: 15px !important; }
.wcab-app-root table.wcab-standard-table [data-col="booking_id"],
.wcab-app-root table.wcab-standard-table [data-col="date"],
.wcab-app-root table.wcab-standard-table [data-col="time"],
.wcab-app-root table.wcab-standard-table [data-col="status"],
.wcab-app-root table.wcab-standard-table [data-col="action"] {
  white-space: normal !important;
  overflow-wrap: normal !important;
}
.wcab-app-root table.wcab-standard-table [data-col="email"],
.wcab-app-root table.wcab-standard-table [data-col="service"],
.wcab-app-root table.wcab-standard-table [data-col="staff"],
.wcab-app-root table.wcab-standard-table [data-col="reason"] {
  min-width: 125px !important;
  max-width: 230px !important;
}
.wcab-app-root table.wcab-standard-table [data-col="action"] {
  position: sticky !important;
  right: 0 !important;
  z-index: 4 !important;
  min-width: 76px !important;
  width: 76px !important;
  text-align: center !important;
  box-shadow: -8px 0 14px -14px rgba(31,42,68,.45) !important;
}
.wcab-app-root table.wcab-standard-table th[data-col="action"] { z-index: 5 !important; background:#f8fafc !important; }


/* Theme/page-builder containment: explicit inherited properties inside root. */
.wcab-app-root,
.wcab-app-root * {
  box-sizing: border-box !important;
}
.wcab-app-root {
  font-family: var(--wcab-font-family, "Segoe UI", SegoeUI, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif) !important;
  font-style: normal !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}
.wcab-app-root button,
.wcab-app-root input,
.wcab-app-root select,
.wcab-app-root textarea {
  font: inherit !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

@media (max-width: 1100px) {
  .wcab-app-root .wcab-table-wrap { max-width: 100% !important; overflow-x: auto !important; overscroll-behavior-inline: contain !important; }
  .wcab-app-root table.wcab-resizable-table [data-col="email"],
  .wcab-app-root table.wcab-resizable-table [data-col="phone"],
  .wcab-app-root table.wcab-resizable-table [data-col="alt_phone"],
  .wcab-app-root table.wcab-resizable-table [data-col="staff"],
  .wcab-app-root table.wcab-resizable-table [data-col="payment"],
  .wcab-app-root table.wcab-resizable-table [data-col="reason"] { display:none !important; }
  .wcab-app-root table.wcab-resizable-table { min-width: 780px !important; width:100% !important; }
}
@media (max-width: 700px) {
  .wcab-app-root[data-wcab-app].wcab-admin-app .wcab-label-repeater-row { grid-template-columns:1fr !important; align-items:stretch !important; }
  .wcab-app-root table.wcab-resizable-table { min-width: 680px !important; }
  .wcab-app-root table.wcab-standard-table th,
  .wcab-app-root table.wcab-standard-table td { padding: 11px 10px !important; }
}
.wcab-app-root .wcab-bulk-label-option,
.wcab-app-root .wcab-label-picker button {
  background: var(--chip-bg, #4f46e5) !important;
  color: var(--chip-text, #ffffff) !important;
  margin-bottom: 4px !important;
}
.wcab-app-root .wcab-catalog-category-row,
.wcab-app-root .wcab-catalog-subcategory-row,
.wcab-app-root .wcab-catalog-service-row,
.wcab-app-root table.wcab-standard-table td {
  overflow: visible !important;
}

/* =========================================================
   v2.4.1 — compact labels/calendar, semantic badges, sticky
   modal headers, and direct staff-record editing.
========================================================= */

/* Booking label picker: calm dot + text menu. Saved chips still use the
   exact background/text colors configured in the backend. */
.wcab-app-root .wcab-label-picker {
  min-width: 176px !important;
  padding: 8px !important;
  overflow: hidden !important;
  border: 1px solid #dfe5ef !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(34, 45, 70, .16) !important;
}
.wcab-app-root .wcab-label-picker button {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #52617a !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  filter: none !important;
  box-shadow: none !important;
}
.wcab-app-root .wcab-label-picker button::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 10px !important;
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  border: 2px solid color-mix(in srgb, var(--chip-bg, #4f46e5) 68%, #ffffff) !important;
  border-radius: 50% !important;
  background: var(--chip-bg, var(--chip-color, #4f46e5)) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--chip-bg, #4f46e5) 12%, transparent) !important;
}
.wcab-app-root .wcab-label-picker button:hover,
.wcab-app-root .wcab-label-picker button:focus-visible {
  background: #f6f7fb !important;
  color: #34425a !important;
  filter: none !important;
  outline: none !important;
}

/* FullCalendar is an application component, not a WebCarry data table. These
   rules protect its own geometry even if a stale standard-table class exists. */
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar-area {
  min-width: 0 !important;
  padding: 16px !important;
}
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar {
  width: 100% !important;
  max-width: 430px !important;
  margin: 0 auto !important;
}
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar .fc-view-harness,
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar .fc-view-harness-active {
  min-height: 0 !important;
  height: auto !important;
}
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar table,
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar table.wcab-standard-table {
  width: 100% !important;
  table-layout: fixed !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar table.wcab-standard-table th,
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar table.wcab-standard-table td,
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar .fc-theme-standard th,
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar .fc-theme-standard td {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar .fc-scrollgrid-sync-table > tbody > tr {
  height: 52px !important;
}
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar .fc-daygrid-day {
  height: 52px !important;
  padding: 2px 0 !important;
}
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar .fc-daygrid-day-frame {
  min-height: 48px !important;
  height: 48px !important;
}
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar .fc-daygrid-day-number {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
  line-height: 38px !important;
}
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar .fc-col-header-cell {
  height: 34px !important;
  padding: 6px 0 8px !important;
}
.wcab-app-root[data-wcab-app="booking"] .wcab-calendar .fc-toolbar.fc-header-toolbar {
  margin: 0 0 10px !important;
}

/* Soft status backgrounds always use a matching semantic foreground family. */
.wcab-app-root .wcab-status-pending { color: var(--wcab-status-pending-fg, #4338ca) !important; }
.wcab-app-root .wcab-status-approved { color: var(--wcab-status-approved-fg, #067647) !important; }
.wcab-app-root .wcab-status-cancelled { color: var(--wcab-status-cancelled-fg, #b42318) !important; }
.wcab-app-root .wcab-status-postponed { color: var(--wcab-status-postponed-fg, #c2410c) !important; }
.wcab-app-root .wcab-status-pending_payment { color: var(--wcab-status-pending_payment-fg, #b45309) !important; }
.wcab-app-root .wcab-status-rescheduled { color: var(--wcab-status-rescheduled-fg, #0e7490) !important; }
.wcab-app-root .wcab-status-badge,
.wcab-app-root .wcab-application-status,
.wcab-app-root .wcab-hr-status {
  font-weight: 500 !important;
}
.wcab-app-root .wcab-hr-status-active { background: #effbea !important; color: #23823a !important; border-color: #cfe9c9 !important; }
.wcab-app-root .wcab-hr-status-inactive { background: #f1f3f6 !important; color: #677386 !important; border-color: #e0e5ec !important; }
.wcab-app-root .wcab-hr-status-on_leave { background: #fff4cf !important; color: #b66a08 !important; border-color: #ffe0a0 !important; }
.wcab-app-root .wcab-hr-status-not_available { background: #fef2f2 !important; color: #b42318 !important; border-color: #fecdca !important; }

/* Appointment Action: sticky top section inside its own scroll container. */
.wcab-app-root .wcab-action-modal-card,
.wcab-app-root.wcab-action-modal .wcab-action-modal-card {
  padding: 0 !important;
}
.wcab-app-root .wcab-action-modal-head,
.wcab-app-root.wcab-action-modal .wcab-action-modal-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 22px 22px 18px 24px !important;
  border-bottom: 1px solid #e8edf4 !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 7px 18px rgba(31,43,68,.055) !important;
  backdrop-filter: blur(10px) !important;
}
.wcab-app-root .wcab-action-modal-head-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
  padding-right: 0 !important;
}
.wcab-app-root .wcab-action-modal-close,
.wcab-app-root.wcab-action-modal .wcab-action-modal-close {
  position: static !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
}
.wcab-app-root .wcab-action-modal .wcab-inline-action-form,
.wcab-app-root.wcab-action-modal .wcab-inline-action-form {
  padding: 20px 24px 24px !important;
}

/* Edit/Add Staff and recruitment detail dialogs retain their headers while the
   dialog body scrolls. */
.wcab-app-root .wcab-hr-modal-card,
.wcab-app-root.wcab-hr-staff-modal .wcab-hr-modal-card {
  padding: 0 !important;
}
.wcab-app-root .wcab-hr-modal-head,
.wcab-app-root.wcab-hr-staff-modal .wcab-hr-modal-head,
.wcab-app-root .wcab-application-detail-head,
.wcab-app-root .wcab-day-appts-modal-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
  margin: 0 !important;
  padding: 20px 24px 16px !important;
  border-bottom: 1px solid #e8edf4 !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 7px 18px rgba(31,43,68,.045) !important;
  backdrop-filter: blur(10px) !important;
}
.wcab-app-root .wcab-hr-modal-card > .wcab-hr-form,
.wcab-app-root.wcab-hr-staff-modal .wcab-hr-modal-card > .wcab-hr-form {
  padding: 22px 24px 18px !important;
}
.wcab-app-root .wcab-hr-modal-delete-form {
  margin: 0 !important;
  padding: 0 24px 24px !important;
}
.wcab-app-root .wcab-hr-modal-delete-btn {
  width: 100% !important;
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 10px 16px !important;
  border: 1px solid #fecdd3 !important;
  border-radius: 11px !important;
  background: #fff8f9 !important;
  color: #d92d3f !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.wcab-app-root .wcab-hr-modal-delete-btn svg {
  width: 17px !important;
  height: 17px !important;
}
.wcab-app-root .wcab-hr-modal-delete-btn:hover,
.wcab-app-root .wcab-hr-modal-delete-btn:focus-visible {
  border-color: #fda4af !important;
  background: #fff0f2 !important;
  color: #be123c !important;
  transform: none !important;
}

/* Staff performance three-dot control goes directly to the Edit Staff dialog. */
.wcab-app-root .wcab-hr-row-actions[data-wcab-direct-edit="1"] [hidden] {
  display: none !important;
}
.wcab-app-root .wcab-hr-row-actions[data-wcab-direct-edit="1"].wcab-shared-action-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 700px) {
  .wcab-app-root .wcab-action-modal-head,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-head,
  .wcab-app-root .wcab-hr-modal-head,
  .wcab-app-root .wcab-application-detail-head,
  .wcab-app-root .wcab-day-appts-modal-head {
    padding: 16px !important;
  }
  .wcab-app-root .wcab-action-modal .wcab-inline-action-form,
  .wcab-app-root.wcab-action-modal .wcab-inline-action-form,
  .wcab-app-root .wcab-hr-modal-card > .wcab-hr-form {
    padding: 16px !important;
  }
  .wcab-app-root .wcab-hr-modal-delete-form { padding: 0 16px 16px !important; }
}


/* =========================================================
   WebCarry v2.4.2 — label consistency, semantic status text,
   and compact color-picker popovers.
   ========================================================= */

/* The bulk Apply Label menu now uses the same calm dot-and-text visual
   language as the per-row label picker. Label colors identify the dot;
   saved chips retain their configured background and foreground colors. */
.wcab-app-root[data-wcab-app] .wcab-bulk-label-menu,
.wcab-app-root[data-wcab-app] .wcab-label-picker {
  min-width: 176px !important;
  padding: 8px !important;
  overflow: hidden !important;
  border: 1px solid #dfe5ef !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(34, 45, 70, .16) !important;
}
.wcab-app-root[data-wcab-app] .wcab-bulk-label-option,
.wcab-app-root[data-wcab-app] .wcab-label-picker button {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #52617a !important;
  font-family: "Segoe UI", SegoeUI, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  filter: none !important;
  box-shadow: none !important;
  transform: none !important;
}
.wcab-app-root[data-wcab-app] .wcab-bulk-label-option::before,
.wcab-app-root[data-wcab-app] .wcab-label-picker button::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 10px !important;
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  border: 2px solid color-mix(in srgb, var(--chip-bg, #4f46e5) 68%, #ffffff) !important;
  border-radius: 50% !important;
  background: var(--chip-bg, var(--chip-color, #4f46e5)) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--chip-bg, #4f46e5) 12%, transparent) !important;
}
.wcab-app-root[data-wcab-app] .wcab-bulk-label-option:hover,
.wcab-app-root[data-wcab-app] .wcab-bulk-label-option:focus-visible,
.wcab-app-root[data-wcab-app] .wcab-label-picker button:hover,
.wcab-app-root[data-wcab-app] .wcab-label-picker button:focus-visible {
  background: #f6f7fb !important;
  color: #34425a !important;
  outline: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Table typography rules intentionally style ordinary spans. These component
   overrides ensure saved label chips use the exact backend-configured colors. */
.wcab-app-root[data-wcab-app] .wcab-table tbody td span.wcab-label-chip,
.wcab-app-root[data-wcab-app] .wcab-label-chip {
  background: var(--chip-bg, var(--chip-color, #4f46e5)) !important;
  color: var(--chip-text, #ffffff) !important;
  border-color: color-mix(in srgb, var(--chip-bg, #4f46e5) 35%, transparent) !important;
}

/* Booking Status Colors must win over the shared table-cell span typography. */
.wcab-app-root[data-wcab-app] .wcab-table tbody td span.wcab-status-badge.wcab-status-pending,
.wcab-app-root[data-wcab-app] span.wcab-status-badge.wcab-status-pending {
  background: var(--wcab-status-pending-bg, #eef0ff) !important;
  color: var(--wcab-status-pending-fg, #4338ca) !important;
}
.wcab-app-root[data-wcab-app] .wcab-table tbody td span.wcab-status-badge.wcab-status-approved,
.wcab-app-root[data-wcab-app] span.wcab-status-badge.wcab-status-approved {
  background: var(--wcab-status-approved-bg, #ecfdf5) !important;
  color: var(--wcab-status-approved-fg, #067647) !important;
}
.wcab-app-root[data-wcab-app] .wcab-table tbody td span.wcab-status-badge.wcab-status-cancelled,
.wcab-app-root[data-wcab-app] span.wcab-status-badge.wcab-status-cancelled {
  background: var(--wcab-status-cancelled-bg, #fef2f2) !important;
  color: var(--wcab-status-cancelled-fg, #b42318) !important;
}
.wcab-app-root[data-wcab-app] .wcab-table tbody td span.wcab-status-badge.wcab-status-postponed,
.wcab-app-root[data-wcab-app] span.wcab-status-badge.wcab-status-postponed {
  background: var(--wcab-status-postponed-bg, #fff7ed) !important;
  color: var(--wcab-status-postponed-fg, #c2410c) !important;
}
.wcab-app-root[data-wcab-app] .wcab-table tbody td span.wcab-status-badge.wcab-status-pending_payment,
.wcab-app-root[data-wcab-app] span.wcab-status-badge.wcab-status-pending_payment {
  background: var(--wcab-status-pending_payment-bg, #fffbeb) !important;
  color: var(--wcab-status-pending_payment-fg, #b45309) !important;
}
.wcab-app-root[data-wcab-app] .wcab-table tbody td span.wcab-status-badge.wcab-status-rescheduled,
.wcab-app-root[data-wcab-app] span.wcab-status-badge.wcab-status-rescheduled {
  background: var(--wcab-status-rescheduled-bg, #ecfeff) !important;
  color: var(--wcab-status-rescheduled-fg, #0e7490) !important;
}

/* Keep only the Select Color control visible while closed. When opened, Iris
   and the editable hexadecimal value appear together in one floating popup. */
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container {
  position: relative !important;
  overflow: visible !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container .wp-picker-input-wrap {
  display: none !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container .wp-picker-holder {
  position: absolute !important;
  top: 38px !important;
  left: 0 !important;
  z-index: 10002 !important;
  width: 277px !important;
  margin: 0 !important;
  padding: 10px 10px 52px !important;
  border: 1px solid #d8dee9 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(31, 42, 68, .20) !important;
  overflow: visible !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container:not(.wp-picker-active) .wp-picker-holder {
  display: none !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container.wp-picker-active .wp-picker-holder {
  display: block !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container.wp-picker-active .wp-picker-input-wrap {
  display: flex !important;
  position: absolute !important;
  top: 252px !important;
  left: 11px !important;
  z-index: 10003 !important;
  align-items: center !important;
  gap: 7px !important;
  width: 255px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 7px !important;
  border-top: 1px solid #e4e8ef !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container.wp-picker-active input.wp-color-picker {
  display: inline-block !important;
  flex: 1 1 auto !important;
  width: 142px !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 30px !important;
  box-sizing: border-box !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container.wp-picker-active .wp-picker-clear.button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
}
.wcab-app-root[data-wcab-app].wcab-admin-app .wp-picker-container .iris-picker {
  width: 255px !important;
  height: 202px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   v2.4.3 — compact appointment footer and composed booking
   table identity/contact columns. Scoped to WebCarry only.
========================================================= */
.wcab-app-root[data-wcab-app] {
  --wcab-action-footer-gap: 10px;
}
.wcab-app-root[data-wcab-app] .wcab-action-modal .wcab-inline-action-form,
.wcab-app-root.wcab-action-modal .wcab-inline-action-form {
  padding-bottom: var(--wcab-action-footer-gap) !important;
}
.wcab-app-root[data-wcab-app] .wcab-action-modal .wcab-inline-action-form > .wcab-filter-btn:last-child,
.wcab-app-root.wcab-action-modal .wcab-inline-action-form > .wcab-filter-btn:last-child {
  margin-bottom: 0 !important;
}
.wcab-app-root[data-wcab-app] .wcab-action-modal .wcab-delete-booking-form,
.wcab-app-root.wcab-action-modal .wcab-delete-booking-form {
  margin: 0 !important;
  padding: 0 24px 22px !important;
}
.wcab-app-root[data-wcab-app] .wcab-action-modal .wcab-delete-booking-form .wcab-clear-btn,
.wcab-app-root.wcab-action-modal .wcab-delete-booking-form .wcab-clear-btn {
  margin: 0 !important;
}

.wcab-app-root[data-wcab-app] .wcab-booking-label-cell {
  display: flex !important;
  align-items: center !important;
  align-content: center !important;
  gap: 5px !important;
  flex-wrap: wrap !important;
  min-width: 0 !important;
}
.wcab-app-root[data-wcab-app] .wcab-booking-client-cell,
.wcab-app-root[data-wcab-app] .wcab-booking-contact-cell {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 3px !important;
}
.wcab-app-root[data-wcab-app] .wcab-booking-client-heading {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.wcab-app-root[data-wcab-app] .wcab-booking-client-primary,
.wcab-app-root[data-wcab-app] .wcab-booking-phone-primary,
.wcab-app-root[data-wcab-app] .wcab-booking-staff-copy > strong {
  min-width: 0 !important;
  color: #34445d !important;
  font-family: var(--wcab-font-family, "Segoe UI", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}
.wcab-app-root[data-wcab-app] .wcab-booking-client-secondary,
.wcab-app-root[data-wcab-app] .wcab-booking-phone-secondary,
.wcab-app-root[data-wcab-app] .wcab-booking-staff-copy > small {
  display: block !important;
  min-width: 0 !important;
  color: #7a879b !important;
  font-family: var(--wcab-font-family, "Segoe UI", sans-serif) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}
.wcab-app-root[data-wcab-app] .wcab-booking-staff-person {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
}
.wcab-app-root[data-wcab-app] .wcab-booking-staff-avatar {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid #e1e7f0 !important;
  border-radius: 50% !important;
  background: #eef1ff !important;
  color: #5542df !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-shadow: 0 4px 12px rgba(39,53,83,.08) !important;
}
.wcab-app-root[data-wcab-app] .wcab-booking-staff-avatar > img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  display: block !important;
  border: 0 !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}
.wcab-app-root[data-wcab-app] .wcab-booking-staff-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.wcab-app-root[data-wcab-app] table.wcab-standard-table [data-col="label"] {
  min-width: 115px !important;
  max-width: 210px !important;
}
.wcab-app-root[data-wcab-app] table.wcab-standard-table [data-col="client"] {
  min-width: 165px !important;
  max-width: 260px !important;
}
.wcab-app-root[data-wcab-app] table.wcab-standard-table [data-col="phone"] {
  min-width: 135px !important;
  max-width: 210px !important;
}
.wcab-app-root[data-wcab-app] table.wcab-standard-table [data-col="staff"] {
  min-width: 165px !important;
  max-width: 240px !important;
}
@media (max-width: 1100px) {
  .wcab-app-root[data-wcab-app] table.wcab-resizable-table [data-col="label"],
  .wcab-app-root[data-wcab-app] table.wcab-resizable-table [data-col="phone"],
  .wcab-app-root[data-wcab-app] table.wcab-resizable-table [data-col="staff"],
  .wcab-app-root[data-wcab-app] table.wcab-resizable-table [data-col="payment"],
  .wcab-app-root[data-wcab-app] table.wcab-resizable-table [data-col="reason"] {
    display: none !important;
  }
}

/* =========================================================
   v2.4.4 — requested dashboard defaults, compact admin
   controls, performance heat bars, and direct staff editing.
========================================================= */
.wcab-app-root.wcab-admin-app .wcab-column-setting-control,
.wcab-app-root[data-wcab-app="admin"] .wcab-column-setting-control {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  min-height: 38px !important;
}
.wcab-app-root.wcab-admin-app .wcab-column-width-control,
.wcab-app-root[data-wcab-app="admin"] .wcab-column-width-control,
.wcab-app-root.wcab-admin-app .wcab-column-hidden-control,
.wcab-app-root[data-wcab-app="admin"] .wcab-column-hidden-control {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
}
.wcab-app-root.wcab-admin-app .wcab-col-width-input,
.wcab-app-root[data-wcab-app="admin"] .wcab-col-width-input {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  height: 36px !important;
  padding: 6px 9px !important;
  box-sizing: border-box !important;
}
.wcab-app-root.wcab-admin-app input.wcab-col-hidden-input,
.wcab-app-root[data-wcab-app="admin"] input.wcab-col-hidden-input {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 16px !important;
}
.wcab-app-root.wcab-admin-app .wcab-column-locked-note,
.wcab-app-root[data-wcab-app="admin"] .wcab-column-locked-note {
  margin: 0 !important;
}

.wcab-app-root[data-wcab-app] {
  --wcab-action-footer-gap: 12px;
}
.wcab-app-root[data-wcab-app] .wcab-action-modal .wcab-inline-action-form,
.wcab-app-root.wcab-action-modal .wcab-inline-action-form {
  padding-bottom: var(--wcab-action-footer-gap) !important;
}
.wcab-app-root[data-wcab-app] .wcab-action-modal .wcab-delete-booking-form,
.wcab-app-root.wcab-action-modal .wcab-delete-booking-form {
  margin: 0 !important;
  padding: 0 24px 22px !important;
}

.wcab-app-root .wcab-hr-progress-track {
  overflow: hidden !important;
  background: #e8edf5 !important;
}
.wcab-app-root .wcab-hr-progress-fill {
  display: block !important;
  height: 100% !important;
  min-height: 7px !important;
  border-radius: inherit !important;
  transition: width .25s ease, background-color .25s ease !important;
}
.wcab-app-root .wcab-hr-progress-fill.wcab-rate-zero { background: #ef4444 !important; }
.wcab-app-root .wcab-hr-progress-fill.wcab-rate-low { background: #f97316 !important; }
.wcab-app-root .wcab-hr-progress-fill.wcab-rate-mid { background: #f59e0b !important; }
.wcab-app-root .wcab-hr-progress-fill.wcab-rate-high { background: #84cc16 !important; }
.wcab-app-root .wcab-hr-progress-fill.wcab-rate-perfect { background: #22c55e !important; }

.wcab-app-root .wcab-hr-direct-edit-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 44px !important;
}
.wcab-app-root a.wcab-hr-direct-edit-toggle,
.wcab-app-root a.wcab-hr-direct-edit-toggle:visited {
  text-decoration: none !important;
}



/* =========================================================
   v2.4.5 — compact dashboard column controls, visible action
   footer spacing, and current-session staff indicator.
========================================================= */
.wcab-app-root.wcab-admin-app .wcab-column-setting-control .wcab-col-width-input,
.wcab-app-root[data-wcab-app="admin"] .wcab-column-setting-control .wcab-col-width-input {
  display: inline-block !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  flex: 0 0 72px !important;
  height: 34px !important;
  padding: 5px 8px !important;
}

.wcab-app-root.wcab-admin-app .wcab-column-setting-control input[type="checkbox"].wcab-col-hidden-input,
.wcab-app-root[data-wcab-app="admin"] .wcab-column-setting-control input[type="checkbox"].wcab-col-hidden-input {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-grid !important;
  place-content: center !important;
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  flex: 0 0 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #b9c4d5 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.wcab-app-root.wcab-admin-app .wcab-column-setting-control input[type="checkbox"].wcab-col-hidden-input::before,
.wcab-app-root[data-wcab-app="admin"] .wcab-column-setting-control input[type="checkbox"].wcab-col-hidden-input::before {
  content: "" !important;
  width: 8px !important;
  height: 4px !important;
  border: solid #ffffff !important;
  border-width: 0 0 2px 2px !important;
  transform: rotate(-45deg) scale(0) !important;
  transform-origin: center !important;
  transition: transform .12s ease !important;
}
.wcab-app-root.wcab-admin-app .wcab-column-setting-control input[type="checkbox"].wcab-col-hidden-input:checked,
.wcab-app-root[data-wcab-app="admin"] .wcab-column-setting-control input[type="checkbox"].wcab-col-hidden-input:checked {
  border-color: #4f46e5 !important;
  background: #4f46e5 !important;
}
.wcab-app-root.wcab-admin-app .wcab-column-setting-control input[type="checkbox"].wcab-col-hidden-input:checked::before,
.wcab-app-root[data-wcab-app="admin"] .wcab-column-setting-control input[type="checkbox"].wcab-col-hidden-input:checked::before {
  transform: rotate(-45deg) scale(1) !important;
}

.wcab-app-root[data-wcab-app] {
  --wcab-action-footer-gap: 12px;
}
.wcab-app-root[data-wcab-app] .wcab-action-modal .wcab-inline-action-form,
.wcab-app-root.wcab-action-modal .wcab-inline-action-form {
  padding-bottom: 0 !important;
}
.wcab-app-root[data-wcab-app] .wcab-action-modal .wcab-delete-booking-form,
.wcab-app-root.wcab-action-modal .wcab-delete-booking-form {
  margin: 0 !important;
  margin-top: var(--wcab-action-footer-gap) !important;
  padding: 0 24px 22px !important;
}

.wcab-app-root[data-wcab-app] .wcab-hr-person-name {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #24344f !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-online-dot {
  display: inline-block !important;
  width: 9px !important;
  min-width: 9px !important;
  height: 9px !important;
  border-radius: 999px !important;
  background: #22c55e !important;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .14) !important;
  vertical-align: middle !important;
}
.wcab-app-root[data-wcab-app] .wcab-hr-current-label {
  display: none !important;
}

/* =========================================================
   v2.4.6 — mobile booking actions and responsive modal polish.
========================================================= */
.wcab-app-root[data-wcab-app] {
  --wcab-action-footer-gap: 18px;
}
.wcab-app-root[data-wcab-app] .wcab-action-modal .wcab-delete-booking-form,
.wcab-app-root.wcab-action-modal .wcab-delete-booking-form {
  margin-top: var(--wcab-action-footer-gap) !important;
}

@media (max-width: 760px) {
  .wcab-app-root .wcab-dashboard-actions,
  .wcab-app-root .wcab-hr-top-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .wcab-app-root .wcab-action-modal {
    padding: 10px !important;
    align-items: center !important;
  }
  .wcab-app-root .wcab-action-modal-card,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-card {
    width: min(100% - 20px, 620px) !important;
    max-width: 620px !important;
    max-height: calc(100dvh - 20px) !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
  }
  .wcab-app-root .wcab-action-modal .wcab-inline-action-form,
  .wcab-app-root.wcab-action-modal .wcab-inline-action-form {
    padding: 16px !important;
  }
  .wcab-app-root .wcab-action-modal .wcab-delete-booking-form,
  .wcab-app-root.wcab-action-modal .wcab-delete-booking-form {
    margin-top: 18px !important;
    padding: 0 16px 16px !important;
  }

  .wcab-app-root .wcab-table-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-inline: contain !important;
  }
  .wcab-app-root table.wcab-resizable-table {
    min-width: 650px !important;
  }
  .wcab-app-root table.wcab-resizable-table [data-col="action"] {
    min-width: 58px !important;
    width: 58px !important;
    max-width: 58px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
  .wcab-app-root table.wcab-resizable-table [data-col="action"] .wcab-action-open-btn,
  .wcab-app-root table.wcab-resizable-table [data-col="action"] .wcab-shared-action-toggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 480px) {
  .wcab-app-root .wcab-action-modal-card,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-card {
    width: calc(100% - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    border-radius: 15px !important;
  }
  .wcab-app-root .wcab-action-modal-head,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-head {
    padding: 15px 14px 13px !important;
  }
  .wcab-app-root .wcab-action-modal .wcab-inline-action-form,
  .wcab-app-root.wcab-action-modal .wcab-inline-action-form {
    padding: 14px !important;
  }
  .wcab-app-root .wcab-action-modal .wcab-delete-booking-form,
  .wcab-app-root.wcab-action-modal .wcab-delete-booking-form {
    margin-top: 18px !important;
    padding: 0 14px 14px !important;
  }
  .wcab-app-root table.wcab-resizable-table {
    min-width: 620px !important;
  }
}


/* =========================================================
   v2.4.7 — Appointment Action viewport, picker visibility,
   footer spacing, and complete booked-time heading.
========================================================= */
.wcab-app-root[data-wcab-app] .wcab-action-modal-card,
.wcab-app-root.wcab-action-modal .wcab-action-modal-card {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  max-height: min(90vh, calc(100dvh - 32px)) !important;
}

.wcab-app-root[data-wcab-app] .wcab-action-modal-head,
.wcab-app-root.wcab-action-modal .wcab-action-modal-head {
  position: relative !important;
  top: auto !important;
  flex: 0 0 auto !important;
}

.wcab-app-root[data-wcab-app] .wcab-action-modal-body,
.wcab-app-root.wcab-action-modal .wcab-action-modal-body {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-gutter: stable !important;
}

.wcab-app-root[data-wcab-app] .wcab-action-modal-body > .wcab-inline-action-form:first-child,
.wcab-app-root.wcab-action-modal .wcab-action-modal-body > .wcab-inline-action-form:first-child {
  padding: 20px 24px 0 !important;
}

.wcab-app-root[data-wcab-app] .wcab-action-modal-body > .wcab-delete-booking-form,
.wcab-app-root.wcab-action-modal .wcab-action-modal-body > .wcab-delete-booking-form {
  margin: 0 !important;
  padding: 0 24px 24px !important;
}

.wcab-app-root[data-wcab-app] .wcab-inline-date-time,
.wcab-app-root.wcab-action-modal .wcab-inline-date-time {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
}

.wcab-app-root[data-wcab-app] .wcab-reschedule-native-input,
.wcab-app-root.wcab-action-modal .wcab-reschedule-native-input {
  min-width: 0 !important;
  min-height: 54px !important;
  border-radius: 999px !important;
  padding: 0 48px 0 22px !important;
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  opacity: 1 !important;
  line-height: 1.2 !important;
  font-size: 14px !important;
  text-align: left !important;
  background-color: #ffffff !important;
}

.wcab-app-root[data-wcab-app] .wcab-reschedule-native-input::placeholder,
.wcab-app-root.wcab-action-modal .wcab-reschedule-native-input::placeholder {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  opacity: 1 !important;
}

.wcab-app-root[data-wcab-app] .wcab-reschedule-native-input::-webkit-date-and-time-value,
.wcab-app-root[data-wcab-app] .wcab-reschedule-native-input::-webkit-datetime-edit,
.wcab-app-root[data-wcab-app] .wcab-reschedule-native-input::-webkit-datetime-edit-fields-wrapper,
.wcab-app-root.wcab-action-modal .wcab-reschedule-native-input::-webkit-date-and-time-value,
.wcab-app-root.wcab-action-modal .wcab-reschedule-native-input::-webkit-datetime-edit,
.wcab-app-root.wcab-action-modal .wcab-reschedule-native-input::-webkit-datetime-edit-fields-wrapper {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  opacity: 1 !important;
  text-align: left !important;
}

.wcab-app-root[data-wcab-app] .wcab-reschedule-native-input::-webkit-calendar-picker-indicator,
.wcab-app-root.wcab-action-modal .wcab-reschedule-native-input::-webkit-calendar-picker-indicator {
  opacity: 1 !important;
  cursor: pointer !important;
}

@media (max-width: 760px) {
  .wcab-app-root .wcab-action-modal,
  .wcab-app-root.wcab-action-modal {
    padding: 6px !important;
    align-items: center !important;
  }

  .wcab-app-root .wcab-action-modal-card,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-card {
    width: min(100% - 8px, 620px) !important;
    max-height: calc(100dvh - 12px) !important;
    margin: 0 auto !important;
  }

  .wcab-app-root .wcab-action-modal-body,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-body {
    gap: 8px !important;
  }

  .wcab-app-root .wcab-action-modal-body > .wcab-inline-action-form:first-child,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-body > .wcab-inline-action-form:first-child {
    padding: 16px 16px 0 !important;
  }

  .wcab-app-root .wcab-action-modal-body > .wcab-delete-booking-form,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-body > .wcab-delete-booking-form {
    margin: 0 !important;
    padding: 0 16px max(18px, env(safe-area-inset-bottom)) !important;
  }

  .wcab-app-root[data-wcab-app] .wcab-inline-date-time,
  .wcab-app-root.wcab-action-modal .wcab-inline-date-time {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .wcab-app-root[data-wcab-app] .wcab-reschedule-native-input,
  .wcab-app-root.wcab-action-modal .wcab-reschedule-native-input {
    width: 100% !important;
    min-height: 54px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 480px) {
  .wcab-app-root .wcab-action-modal-card,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-card {
    width: calc(100% - 4px) !important;
    max-height: calc(100dvh - 8px) !important;
  }

  .wcab-app-root .wcab-action-modal-body > .wcab-inline-action-form:first-child,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-body > .wcab-inline-action-form:first-child {
    padding: 14px 14px 0 !important;
  }

  .wcab-app-root .wcab-action-modal-body > .wcab-delete-booking-form,
  .wcab-app-root.wcab-action-modal .wcab-action-modal-body > .wcab-delete-booking-form {
    padding: 0 14px max(16px, env(safe-area-inset-bottom)) !important;
  }
}


/* v2.5.0 — compact, uniform dashboard column width controls. */
.wcab-app-root.wcab-admin-app .wcab-column-setting-control input[type="number"].wcab-col-width-input,
.wcab-app-root[data-wcab-app="admin"] .wcab-column-setting-control input[type="number"].wcab-col-width-input {
  display: inline-block !important;
  inline-size: 64px !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  flex: 0 0 64px !important;
  box-sizing: border-box !important;
}


/* v2.5.3 typography lock: WebCarry application surfaces use Segoe UI consistently. */
.wcab-app-root[data-wcab-app],
.wcab-app-root[data-wcab-app] :where(h1,h2,h3,h4,h5,h6,p,span,strong,small,label,input,select,textarea,button,a,table,th,td,div,section,article,aside,nav,ul,ol,li){
  font-family:"Segoe UI",SegoeUI,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
}


/* v2.5.4: equal-width Edit Staff action row. */
.wcab-app-root .wcab-hr-modal-actions {
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 12px !important;
}
.wcab-app-root .wcab-hr-modal-actions > * {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  white-space: nowrap !important;
}
.wcab-app-root .wcab-hr-modal-actions .wcab-hr-save-btn {
  min-width: 0 !important;
}
.wcab-app-root .wcab-hr-modal-delete-form-hidden {
  display: none !important;
}
@media (max-width: 760px) {
  .wcab-app-root .wcab-hr-modal-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 480px) {
  .wcab-app-root .wcab-hr-modal-actions {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   WebCarry v2.6.1
   Single Service dropdown, non-selectable past calendar dates,
   and a fixed Appointment Request header with the scrollbar below it.
   ========================================================= */

/* Step 1 now exposes only the Service dropdown. */
.wcab-app-root .wcab-service-hierarchy-fields.wcab-service-single-field {
  grid-template-columns: minmax(0, 1fr) !important;
}
.wcab-app-root .wcab-service-single-field .wcab-hierarchy-service-field {
  grid-column: 1 / -1 !important;
}

/* Step 2 timezone row keeps full width when the auto-detect button is disabled. */
.wcab-app-root .wcab-timezone-row-single .wcab-timezone {
  flex: 1 1 100% !important;
  width: 100% !important;
}

/* Past dates stay visible in the calendar but are never selectable. */
.wcab-app-root[data-wcab-app] .wcab-calendar .wcab-fc-past-day .fc-daygrid-day-number,
.wcab-app-root .wcab-calendar .wcab-fc-past-day .fc-daygrid-day-number {
  background: transparent !important;
  color: #aab4c4 !important;
  cursor: not-allowed !important;
  transform: none !important;
  opacity: 1 !important;
}
.wcab-app-root[data-wcab-app] .wcab-calendar .wcab-fc-past-day .fc-daygrid-day-number:hover,
.wcab-app-root .wcab-calendar .wcab-fc-past-day .fc-daygrid-day-number:hover {
  background: transparent !important;
  color: #aab4c4 !important;
  transform: none !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}
.wcab-app-root[data-wcab-app] .wcab-calendar .wcab-fc-past-day,
.wcab-app-root[data-wcab-app] .wcab-calendar .wcab-fc-past-day .fc-daygrid-day-frame,
.wcab-app-root .wcab-calendar .wcab-fc-past-day,
.wcab-app-root .wcab-calendar .wcab-fc-past-day .fc-daygrid-day-frame {
  cursor: not-allowed !important;
}
/* Today keeps its highlight next to faded past days, and a selected day still wins. */
.wcab-app-root[data-wcab-app] .wcab-calendar .fc-day-today:not(.wcab-fc-selected):not(.wcab-fc-past-day) .fc-daygrid-day-number,
.wcab-app-root .wcab-calendar .fc-day-today:not(.wcab-fc-selected):not(.wcab-fc-past-day) .fc-daygrid-day-number {
  background: var(--wcab-cal-today, #4f46e5) !important;
  color: var(--wcab-cal-today-text, #ffffff) !important;
  cursor: pointer !important;
}

/* Appointment Request modal: fixed header, scrolling starts below it. */
.wcab-app-root .wcab-modal-card.wcab-modal-card-split,
.wcab-app-root[data-wcab-app] .wcab-modal-card.wcab-modal-card-split,
.wcab-app-root.wcab-portal-modal .wcab-modal-card.wcab-modal-card-split,
.wcab-app-root.wcab-portal-modal > .wcab-modal-card.wcab-modal-card-split {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.wcab-app-root .wcab-modal-card-split .wcab-modal-head {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 3 !important;
  margin: 0 !important;
  padding: 26px 30px 14px !important;
  background: var(--wcab-surface, #ffffff) !important;
  text-align: center !important;
}
.wcab-app-root .wcab-modal-card-split .wcab-modal-head h3 {
  margin: 0 !important;
}
.wcab-app-root .wcab-modal-card-split .wcab-modal-close {
  position: absolute !important;
  top: 10px !important;
  right: 14px !important;
  z-index: 4 !important;
}
.wcab-app-root .wcab-modal-card-split .wcab-modal-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  padding: 0 30px 26px !important;
  scrollbar-gutter: stable;
}
.wcab-app-root .wcab-modal-card-split .wcab-modal-scroll > p.wcab-modal-text:first-child {
  margin-top: 0 !important;
}
@media (max-width: 620px) {
  .wcab-app-root .wcab-modal-card-split .wcab-modal-head { padding: 20px 20px 12px !important; }
  .wcab-app-root .wcab-modal-card-split .wcab-modal-scroll { padding: 0 20px 20px !important; }
}

/* =========================================================
   WebCarry v2.6.3 — Client Management module.
   Reuses the existing HR card, table, form, and badge design so the new
   screens are visually identical to the rest of the dashboard.
   ========================================================= */

.wcab-app-root .wcab-cm-card { margin: 0 0 18px !important; }
.wcab-app-root .wcab-cm-card-body { padding: 16px 18px 18px !important; }
.wcab-app-root.wcab-cm-panel .wcab-hr-card-head,
.wcab-app-root .wcab-cm-panel .wcab-hr-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid #eef1f6 !important;
}
.wcab-app-root.wcab-cm-panel .wcab-hr-card-meta,
.wcab-app-root .wcab-cm-panel .wcab-hr-card-meta { color: #6b7688 !important; font-size: 12.5px !important; }

/* Import-from-bookings notice */
.wcab-app-root .wcab-cm-import-notice {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  margin: 0 0 16px; padding: 14px 18px;
  border: 1px solid #cfd9ff; border-radius: 13px; background: #f5f7ff;
}
.wcab-app-root .wcab-cm-import-notice strong { display: block; color: #2f3b55; font-size: 13.5px; }
.wcab-app-root .wcab-cm-import-notice span { display: block; margin-top: 3px; color: #6b7688; font-size: 12.5px; }
.wcab-app-root .wcab-cm-import-notice form { margin: 0; }

/* Filters + export row */
.wcab-app-root .wcab-cm-filter-form { margin-bottom: 14px !important; }
.wcab-app-root .wcab-cm-export-row { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 16px; }
.wcab-app-root .wcab-cm-profile-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 18px; }
.wcab-app-root .wcab-cm-profile-actions > * { text-decoration: none; }

/* Table */
.wcab-app-root .wcab-cm-table { min-width: 1080px !important; }
.wcab-app-root .wcab-cm-table td,
.wcab-app-root .wcab-cm-table th { text-align: left !important; }
.wcab-app-root .wcab-cm-row { cursor: pointer; }
.wcab-app-root .wcab-cm-row:hover { background: #f8f9ff; }
.wcab-app-root .wcab-cm-code { font-size: 11.5px; color: #4f46e5; background: #eef0ff; padding: 2px 7px; border-radius: 6px; white-space: nowrap; }
.wcab-app-root .wcab-cm-name-cell { white-space: normal !important; min-width: 190px; }
.wcab-app-root .wcab-cm-name-link { font-weight: 700; color: #2f3b55; text-decoration: none; }
.wcab-app-root .wcab-cm-name-link:hover { color: #4f46e5; text-decoration: underline; }
.wcab-app-root .wcab-cm-name-cell small { display: block; margin-top: 2px; color: #7c8798; font-size: 11.5px; font-weight: 400; }
.wcab-app-root .wcab-cm-notes-cell { white-space: normal !important; max-width: 260px; }
.wcab-app-root .wcab-cm-sort { color: inherit; text-decoration: none; }
.wcab-app-root .wcab-cm-sort:hover { color: #4f46e5; }
.wcab-app-root .wcab-cm-action-cell { white-space: nowrap !important; }
.wcab-app-root .wcab-cm-row-actions { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.wcab-app-root .wcab-cm-inline-form { display: inline; margin: 0 !important; }
.wcab-app-root .wcab-cm-mini-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 30px; padding: 4px 11px; margin: 0 !important;
  border: 1px solid #dfe5ee !important; border-radius: 8px !important;
  background: #fff !important; color: #4a5a75 !important;
  font-size: 11.5px !important; font-weight: 600 !important; line-height: 1.2;
  text-decoration: none; cursor: pointer; white-space: nowrap;
}
.wcab-app-root .wcab-cm-mini-btn:hover { border-color: #c8c0ff !important; background: #f2effe !important; color: #4b38dd !important; }
.wcab-app-root .wcab-cm-mini-danger { border-color: #ffd1d6 !important; background: #fffafb !important; color: #dc3b49 !important; }
.wcab-app-root .wcab-cm-mini-danger:hover { border-color: #ffb3bb !important; background: #fff1f3 !important; color: #c22c3a !important; }

/* Badges */
.wcab-app-root .wcab-cm-badge,
.wcab-app-root .wcab-cm-priority,
.wcab-app-root .wcab-cm-fu {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 23px; padding: 3px 10px; border-radius: 999px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .01em; white-space: nowrap;
}
.wcab-app-root .wcab-cm-badge-lead { background: #eef2ff; color: #5145cd; }
.wcab-app-root .wcab-cm-badge-prospect { background: #eaf4ff; color: #2772c8; }
.wcab-app-root .wcab-cm-badge-active { background: #e8f8ef; color: #138249; }
.wcab-app-root .wcab-cm-badge-inactive { background: #f1f2f4; color: #64748b; }
.wcab-app-root .wcab-cm-badge-former { background: #fff0f1; color: #ce3745; }
.wcab-app-root .wcab-cm-priority-low { background: #f1f5f9; color: #64748b; }
.wcab-app-root .wcab-cm-priority-medium { background: #fff7df; color: #b66a08; }
.wcab-app-root .wcab-cm-priority-high { background: #ffeceb; color: #d1372c; }
.wcab-app-root .wcab-cm-fu-pending { background: #fff7df; color: #b66a08; }
.wcab-app-root .wcab-cm-fu-completed { background: #e8f8ef; color: #138249; }
.wcab-app-root .wcab-cm-fu-cancelled { background: #f1f2f4; color: #64748b; }
.wcab-app-root .wcab-cm-tag {
  display: inline-flex; align-items: center; margin: 0 5px 4px 0; padding: 3px 9px;
  border-radius: 999px; background: #eef0ff; color: #4b45a8; font-size: 11px; font-weight: 600;
}
.wcab-app-root .wcab-cm-tag-warn { background: #fff4e0; color: #a4620a; }

/* Profile layout */
.wcab-app-root .wcab-cm-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.wcab-app-root .wcab-cm-columns > .wcab-cm-card { margin: 0 !important; }
.wcab-app-root .wcab-cm-dl { display: grid; grid-template-columns: minmax(140px, 34%) 1fr; gap: 0; margin: 0; }
.wcab-app-root .wcab-cm-dl dt {
  padding: 8px 10px 8px 0; border-bottom: 1px solid #f0f2f6;
  color: #6b7688; font-size: 12px; font-weight: 600;
}
.wcab-app-root .wcab-cm-dl dd {
  margin: 0; padding: 8px 0; border-bottom: 1px solid #f0f2f6;
  color: #33415a; font-size: 12.8px; font-weight: 500; word-break: break-word;
}
.wcab-app-root .wcab-cm-dl dt:last-of-type,
.wcab-app-root .wcab-cm-dl dd:last-of-type { border-bottom: 0; }
.wcab-app-root .wcab-cm-dl-compact dt { font-size: 11.5px; }
.wcab-app-root .wcab-cm-dl-compact dd { font-size: 12.3px; }

/* Meeting notes list */
.wcab-app-root .wcab-cm-meeting-list { padding: 6px 18px 18px; display: grid; gap: 14px; }
.wcab-app-root .wcab-cm-meeting { border: 1px solid #e7ebf1; border-radius: 11px; background: #fcfdff; padding: 13px 15px; }
.wcab-app-root .wcab-cm-meeting-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding-bottom: 9px; margin-bottom: 6px; border-bottom: 1px solid #eef1f6;
}
.wcab-app-root .wcab-cm-meeting-head strong { margin-right: 9px; color: #2f3b55; font-size: 13px; }

/* Timeline */
.wcab-app-root .wcab-cm-timeline { list-style: none; margin: 0; padding: 4px 0 0 4px; }
.wcab-app-root .wcab-cm-timeline-item { position: relative; padding: 0 0 18px 26px; border-left: 2px solid #e7ebf1; }
.wcab-app-root .wcab-cm-timeline-item:last-child { border-left-color: transparent; padding-bottom: 0; }
.wcab-app-root .wcab-cm-timeline-dot {
  position: absolute; left: -7px; top: 3px; width: 12px; height: 12px;
  border-radius: 50%; background: #4f46e5; box-shadow: 0 0 0 3px #eef0ff;
}
.wcab-app-root .wcab-cm-timeline-created .wcab-cm-timeline-dot { background: #12b886; box-shadow: 0 0 0 3px #e6f8f1; }
.wcab-app-root .wcab-cm-timeline-meeting .wcab-cm-timeline-dot { background: #2772c8; box-shadow: 0 0 0 3px #e8f1fc; }
.wcab-app-root .wcab-cm-timeline-followup .wcab-cm-timeline-dot { background: #d99005; box-shadow: 0 0 0 3px #fff5e2; }
.wcab-app-root .wcab-cm-timeline-status .wcab-cm-timeline-dot { background: #ce3745; box-shadow: 0 0 0 3px #ffeef0; }
.wcab-app-root .wcab-cm-timeline-body time { display: block; color: #7c8798; font-size: 11.5px; font-weight: 600; }
.wcab-app-root .wcab-cm-timeline-body strong { display: block; margin-top: 2px; color: #2f3b55; font-size: 13px; }
.wcab-app-root .wcab-cm-timeline-body p { margin: 3px 0 0; color: #55637c; font-size: 12.3px; }
.wcab-app-root .wcab-cm-timeline-body small { display: block; margin-top: 3px; color: #94a0b1; font-size: 11px; }

/* Forms */
.wcab-app-root .wcab-cm-form { margin: 0 !important; }
.wcab-app-root .wcab-cm-form-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.wcab-app-root .wcab-cm-checkbox {
  display: flex !important; align-items: center; gap: 8px;
  margin: 0 !important; color: #33415a !important; font-size: 12.5px !important; font-weight: 500 !important;
}
.wcab-app-root .wcab-cm-checkbox input { width: auto !important; margin: 0 !important; }
.wcab-app-root .wcab-cm-empty { margin: 18px; }

@media (max-width: 900px) {
  .wcab-app-root .wcab-cm-columns { grid-template-columns: 1fr; }
  .wcab-app-root .wcab-cm-dl { grid-template-columns: 1fr; }
  .wcab-app-root .wcab-cm-dl dt { padding-bottom: 0; border-bottom: 0; }
  .wcab-app-root .wcab-cm-dl dd { padding-top: 2px; }
  .wcab-app-root .wcab-cm-import-notice { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .wcab-app-root .wcab-cm-export-row > *,
  .wcab-app-root .wcab-cm-profile-actions > * { flex: 1 1 100%; justify-content: center; }
  .wcab-app-root .wcab-cm-card-body { padding: 14px !important; }
  .wcab-app-root .wcab-cm-meeting-list { padding: 6px 14px 14px; }
}

@media print {
  .wcab-app-root .wcab-cm-profile-actions,
  .wcab-app-root .wcab-cm-panel .wcab-dashboard-actions,
  .wcab-app-root .wcab-cm-panel form.wcab-cm-form,
  .wcab-app-root .wcab-cm-row-actions { display: none !important; }
  .wcab-app-root .wcab-cm-card { break-inside: avoid; box-shadow: none !important; }
}

/* v2.6.3 — export/action rows in the Client Management module reuse the
   dashboard export button styling and stay on one tidy row. */
.wcab-app-root .wcab-cm-export-row,
.wcab-app-root .wcab-cm-profile-actions { display: flex !important; gap: 10px !important; flex-wrap: wrap !important; align-items: center !important; }
.wcab-app-root .wcab-cm-profile-actions .wcab-export-btn,
.wcab-app-root .wcab-cm-profile-actions .wcab-filter-btn,
.wcab-app-root .wcab-cm-profile-actions .wcab-clear-btn,
.wcab-app-root .wcab-cm-export-row .wcab-export-btn { text-decoration: none !important; }

/* =========================================================
   WebCarry v2.6.5 — Client Management readability and sizing.
   ========================================================= */

/* --- Flat Services admin screen (Service Type / Category removed) --- */
.wcab-app-root.wcab-catalog-admin .wcab-catalog-form-grid-single { grid-template-columns: minmax(0, 1fr) !important; }
.wcab-app-root.wcab-catalog-admin .wcab-catalog-flat-grid { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important; padding: 14px !important; }

/* --- Card headings: bigger, and never touching the card edge (item 8) --- */
.wcab-app-root.wcab-cm-panel .wcab-hr-card-head,
.wcab-app-root .wcab-cm-panel .wcab-hr-card-head { padding: 16px 20px !important; }
.wcab-app-root.wcab-cm-panel .wcab-hr-card-title strong,
.wcab-app-root .wcab-cm-panel .wcab-hr-card-title strong { font-size: 16px !important; font-weight: 700 !important; letter-spacing: -0.01em; }
.wcab-app-root.wcab-cm-panel .wcab-hr-card-meta,
.wcab-app-root .wcab-cm-panel .wcab-hr-card-meta { font-size: 13px !important; }
.wcab-app-root .wcab-cm-card-body { padding: 18px 20px 20px !important; }

/* --- Client / Business detail text: larger and easier to read (item 8) --- */
.wcab-app-root .wcab-cm-dl { grid-template-columns: minmax(150px, 38%) 1fr !important; }
.wcab-app-root .wcab-cm-dl dt { padding: 11px 14px 11px 0 !important; font-size: 13.5px !important; font-weight: 600 !important; color: #5a6779 !important; }
.wcab-app-root .wcab-cm-dl dd { padding: 11px 0 !important; font-size: 14.5px !important; font-weight: 600 !important; color: #2a3750 !important; line-height: 1.5 !important; }
.wcab-app-root .wcab-cm-dl-compact dt { font-size: 13px !important; }
.wcab-app-root .wcab-cm-dl-compact dd { font-size: 14px !important; }

/* --- Client identity card under the login header (item 6) --- */
.wcab-app-root .wcab-cm-identity-card { margin-bottom: 18px !important; }
.wcab-app-root .wcab-cm-identity {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  padding: 18px 20px;
}
.wcab-app-root .wcab-cm-identity-avatar {
  flex: 0 0 auto; width: 54px; height: 54px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #eeecff; color: #4f46e5; font-size: 19px; font-weight: 700;
}
.wcab-app-root .wcab-cm-identity-copy { flex: 1 1 260px; min-width: 0; }
.wcab-app-root .wcab-cm-identity-eyebrow { display: block; color: #7c8798; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; }
.wcab-app-root .wcab-cm-identity-name { margin: 3px 0 0 !important; font-size: 25px !important; font-weight: 800 !important; line-height: 1.2 !important; color: #1d2a44 !important; }
.wcab-app-root .wcab-cm-identity-meta { margin: 5px 0 0 !important; display: flex; gap: 8px; flex-wrap: wrap; color: #6b7688; font-size: 13.5px; }
.wcab-app-root .wcab-cm-identity-meta span:not(:last-child)::after { content: '·'; margin-left: 8px; color: #c3cbd8; }
.wcab-app-root .wcab-cm-identity-badges { flex: 0 0 auto; display: flex; gap: 8px; flex-wrap: wrap; }

/* --- Profile action row: every button the same size (item 7) --- */
.wcab-app-root .wcab-cm-profile-actions > .wcab-filter-btn,
.wcab-app-root .wcab-cm-profile-actions > .wcab-clear-btn,
.wcab-app-root .wcab-cm-profile-actions > .wcab-export-btn {
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  border-radius: 10px !important;
  white-space: nowrap;
  box-sizing: border-box !important;
  margin: 0 !important;
}

/* --- Meeting-note form: readable labels, sensible field heights (item 9) --- */
.wcab-app-root .wcab-cm-form .wcab-hr-field > label { font-size: 13.5px !important; font-weight: 600 !important; color: #45536b !important; margin-bottom: 6px !important; }
.wcab-app-root .wcab-cm-form .wcab-hr-field input,
.wcab-app-root .wcab-cm-form .wcab-hr-field select,
.wcab-app-root .wcab-cm-form .wcab-hr-field textarea {
  font-size: 14px !important;
  padding: 10px 13px !important;
  min-height: 44px !important;
  line-height: 1.45 !important;
}
.wcab-app-root .wcab-cm-form .wcab-hr-field textarea { min-height: 84px !important; }
.wcab-app-root .wcab-cm-form .wcab-hr-field small { font-size: 12px !important; color: #7c8798 !important; margin-top: 4px !important; display: block; }
.wcab-app-root .wcab-cm-form .wcab-hr-form-grid { gap: 14px 18px !important; }

/* Which appointment the note belongs to (items 12/13) */
.wcab-app-root .wcab-cm-note-context {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  margin: 0 20px; padding: 12px 15px;
  border: 1px solid #cfd9ff; border-radius: 11px; background: #f5f7ff;
}
.wcab-app-root .wcab-cm-note-context strong { display: block; color: #2f3b55; font-size: 14px; }
.wcab-app-root .wcab-cm-note-context span { display: block; margin-top: 2px; color: #6b7688; font-size: 12.5px; }
.wcab-app-root .wcab-cm-row-active { background: #f2f4ff !important; box-shadow: inset 3px 0 0 #4f46e5; }

/* --- Tables: show ~5 rows before scrolling, never 1 (item 10) --- */
.wcab-app-root.wcab-cm-panel .wcab-hr-table-wrap,
.wcab-app-root .wcab-cm-panel .wcab-hr-table-wrap {
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}
.wcab-app-root .wcab-cm-panel .wcab-cm-table td,
.wcab-app-root.wcab-cm-panel .wcab-cm-table th,
.wcab-app-root .wcab-cm-panel .wcab-cm-table th { font-size: 13.5px !important; padding: 12px 11px !important; }
.wcab-app-root.wcab-cm-panel .wcab-cm-table th,
.wcab-app-root .wcab-cm-panel .wcab-cm-table th { font-size: 12.5px !important; }
.wcab-app-root .wcab-cm-followups-table { min-width: 900px !important; }
.wcab-app-root .wcab-cm-appt-pagination { margin: 0 20px 18px !important; }

/* --- Responsive (items 9, 18) --- */
@media (max-width: 900px) {
  .wcab-app-root .wcab-cm-identity { padding: 15px; }
  .wcab-app-root .wcab-cm-identity-name { font-size: 21px !important; }
  .wcab-app-root .wcab-cm-note-context { margin: 0 14px; flex-direction: column; align-items: flex-start; }
  .wcab-app-root .wcab-cm-form .wcab-hr-form-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
.wcab-app-root.wcab-cm-panel .wcab-hr-card-head,
.wcab-app-root .wcab-cm-panel .wcab-hr-card-head { padding: 14px !important; }
  .wcab-app-root .wcab-cm-card-body { padding: 14px !important; }
  .wcab-app-root .wcab-cm-profile-actions > .wcab-filter-btn,
  .wcab-app-root .wcab-cm-profile-actions > .wcab-clear-btn,
  .wcab-app-root .wcab-cm-profile-actions > .wcab-export-btn { flex: 1 1 100%; }
  .wcab-app-root .wcab-cm-identity-badges { width: 100%; }
  .wcab-app-root .wcab-cm-appt-pagination { margin: 0 14px 14px !important; }
}

/* v2.6.5 — briefly highlight the meeting-note form when an appointment opens it. */
.wcab-app-root .wcab-cm-card.wcab-cm-flash { box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.35) !important; transition: box-shadow .4s ease; }

/* v2.6.5 — profile stat row keeps four equal cards instead of wrapping 3 + 1. */
.wcab-app-root .wcab-cm-profile-stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { .wcab-app-root .wcab-cm-profile-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 620px)  { .wcab-app-root .wcab-cm-profile-stats { grid-template-columns: 1fr !important; } }

/* =========================================================
   WebCarry v2.6.6 — flat Services admin cards.
   Edit / Delete are inline buttons; the shared three-dot popup used to be
   clipped by the card, which hid Delete entirely.
   ========================================================= */
.wcab-app-root.wcab-catalog-admin .wcab-catalog-flat-grid,
.wcab-app-root .wcab-catalog-flat-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 14px !important;
  padding: 16px !important;
  align-items: stretch !important;
}
.wcab-app-root .wcab-catalog-service-card {
  display: flex !important;
  flex-direction: column !important;
  /* The legacy .wcab-catalog-service-row rule sets align-items:center, which
     shrank the children to their content width. Stretch them across the card. */
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 0 !important;
  padding: 15px 16px !important;
  border: 1px solid #e2e7ef !important;
  border-radius: 12px !important;
  background: #fff !important;
  overflow: visible !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
}
.wcab-app-root .wcab-catalog-service-card.is-inactive { opacity: 1 !important; background: #fafbfc !important; }
.wcab-app-root .wcab-catalog-service-main { min-width: 0; width: 100% !important; flex: 0 1 auto !important; }
.wcab-app-root .wcab-catalog-service-main strong {
  display: block; margin: 0 0 3px;
  color: #1d2a44; font-size: 15px; font-weight: 700; line-height: 1.3;
  overflow-wrap: anywhere;
}
.wcab-app-root .wcab-catalog-service-main small { display: block; color: #5a6779; font-size: 12.5px; font-weight: 600; }
.wcab-app-root .wcab-catalog-service-desc {
  margin: 7px 0 0 !important; color: #6b7688 !important; font-size: 12.5px !important; line-height: 1.5 !important;
}
.wcab-app-root .wcab-catalog-service-foot {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 10px !important; flex-wrap: wrap !important;
  width: 100% !important;
  padding-top: 11px !important; border-top: 1px solid #eef1f6 !important;
}
.wcab-app-root .wcab-catalog-inline-actions { display: flex !important; align-items: center !important; gap: 8px !important; }
.wcab-app-root .wcab-catalog-inline-actions form { display: inline !important; margin: 0 !important; }
.wcab-app-root .wcab-catalog-inline-actions .button,
.wcab-app-root .wcab-catalog-inline-actions button {
  min-height: 32px !important; height: 32px !important;
  padding: 0 13px !important; margin: 0 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  border-radius: 8px !important; font-size: 12.5px !important; font-weight: 600 !important; line-height: 1 !important;
  box-shadow: none !important; text-decoration: none !important; cursor: pointer;
}
.wcab-app-root .wcab-catalog-edit-btn { border: 1px solid #cdd5e2 !important; background: #fff !important; color: #46556d !important; }
.wcab-app-root .wcab-catalog-edit-btn:hover { border-color: #b7adff !important; background: #f4f2ff !important; color: #4b38dd !important; }
.wcab-app-root .wcab-catalog-delete-btn { border: 1px solid #ffd1d6 !important; background: #fffafb !important; color: #d1372c !important; }
.wcab-app-root .wcab-catalog-delete-btn:hover { border-color: #ffb3bb !important; background: #fff1f3 !important; color: #b3231a !important; }

/* The card must never be turned into (or clipped by) the shared popup menu. */
.wcab-app-root .wcab-catalog-service-card .wcab-shared-action-toggle { display: none !important; }
.wcab-app-root .wcab-catalog-service-card .wcab-shared-action-menu {
  position: static !important; display: contents !important;
  border: 0 !important; box-shadow: none !important; padding: 0 !important; background: none !important;
}

@media (max-width: 640px) {
  .wcab-app-root .wcab-catalog-flat-grid { grid-template-columns: 1fr !important; padding: 12px !important; }
  .wcab-app-root .wcab-catalog-service-foot { flex-direction: column; align-items: flex-start !important; }
}

/* =========================================================
   v2.6.8 — Services > Booking Form Check panel
   Both selector forms are emitted because .wcab-catalog-admin sits ON the
   .wcab-app-root element on this screen, so a descendant combinator alone
   would never match (the mistake that made the v2.6.5 rules silent).
========================================================= */
.wcab-app-root .wcab-catalog-diagnostic-card,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-card {
  margin: 0 0 18px 0 !important;
  border: 1px solid #e2e6ef !important;
  border-radius: 14px !important;
  background: #fff !important;
  padding: 18px 20px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
}
.wcab-app-root .wcab-catalog-diagnostic-card h2,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-card h2 {
  margin: 0 0 2px 0 !important; font-size: 16px !important; font-weight: 700 !important; color: #1d2a44 !important;
}
.wcab-app-root .wcab-catalog-diagnostic-card p,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-card p {
  margin: 0 !important; font-size: 13px !important; color: #5a6880 !important;
}
.wcab-app-root .wcab-catalog-diagnostic-grid,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap: 12px !important;
  margin: 14px 0 !important;
}
.wcab-app-root .wcab-catalog-diagnostic-stat,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-stat {
  border: 1px solid #e7eaf1 !important; border-radius: 12px !important;
  background: #f8f9fc !important; padding: 12px 14px !important;
  display: flex !important; flex-direction: column !important; gap: 2px !important;
}
.wcab-app-root .wcab-catalog-diagnostic-stat strong,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-stat strong {
  font-size: 20px !important; font-weight: 700 !important; color: #1d2a44 !important; line-height: 1.2 !important;
}
.wcab-app-root .wcab-catalog-diagnostic-stat span,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-stat span {
  font-size: 12px !important; color: #6b7890 !important;
}
.wcab-app-root .wcab-catalog-diagnostic-bad,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-bad {
  border-color: #ffc9cf !important; background: #fff6f7 !important;
}
.wcab-app-root .wcab-catalog-diagnostic-bad strong,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-bad strong { color: #c0271d !important; }
.wcab-app-root .wcab-catalog-diagnostic-ok,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-ok { color: #16794c !important; }
.wcab-app-root .wcab-catalog-diagnostic-warn,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-warn { color: #c0271d !important; font-weight: 600 !important; }
.wcab-app-root .wcab-catalog-diagnostic-note,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-note { margin-top: 8px !important; }
.wcab-app-root .wcab-catalog-diagnostic-form,
.wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-form { margin-top: 12px !important; }

@media (max-width: 640px) {
  .wcab-app-root .wcab-catalog-diagnostic-grid,
  .wcab-app-root.wcab-catalog-admin .wcab-catalog-diagnostic-grid { grid-template-columns: 1fr !important; }
}

/* =========================================================
   v2.6.9 — My Clients: selection, bulk download, paging,
   and the "choose what to import" screen.
   Both selector forms are emitted throughout because
   .wcab-cm-panel sits ON the .wcab-app-root element, so a
   descendant combinator alone would never match.
========================================================= */

/* The notice now offers two routes: pick contacts, or take them all. */
.wcab-app-root .wcab-cm-import-notice-actions,
.wcab-app-root.wcab-cm-panel .wcab-cm-import-notice-actions {
  display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important;
}
.wcab-app-root .wcab-cm-import-notice-actions form,
.wcab-app-root.wcab-cm-panel .wcab-cm-import-notice-actions form { margin: 0 !important; }

/* ---------- Selection column ---------- */
.wcab-app-root .wcab-cm-check-col,
.wcab-app-root.wcab-cm-panel .wcab-cm-check-col {
  width: 42px !important; text-align: center !important; padding-right: 0 !important;
}
.wcab-app-root .wcab-cm-check-col input[type="checkbox"],
.wcab-app-root.wcab-cm-panel .wcab-cm-check-col input[type="checkbox"] {
  width: 17px !important; height: 17px !important; margin: 0 !important;
  accent-color: #4f46e5; cursor: pointer; vertical-align: middle !important;
}
.wcab-app-root .wcab-cm-table tbody tr:has(.wcab-cm-row-check:checked),
.wcab-app-root.wcab-cm-panel .wcab-cm-table tbody tr:has(.wcab-cm-row-check:checked) {
  background: #f5f4ff !important;
}

/* ---------- Bulk action bar ---------- */
.wcab-app-root .wcab-cm-bulk-bar,
.wcab-app-root.wcab-cm-panel .wcab-cm-bulk-bar {
  display: flex !important; align-items: center !important; flex-wrap: wrap !important;
  gap: 12px !important; padding: 12px 16px !important;
  border-bottom: 1px solid #eceff5 !important; background: #fbfbfe !important;
}
.wcab-app-root .wcab-cm-bulk-bar-foot,
.wcab-app-root.wcab-cm-panel .wcab-cm-bulk-bar-foot {
  border-bottom: 0 !important; border-top: 1px solid #eceff5 !important; background: #fff !important;
}
.wcab-app-root .wcab-cm-check-label,
.wcab-app-root.wcab-cm-panel .wcab-cm-check-label {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  font-size: 13px !important; font-weight: 600 !important; color: #46556d !important;
  cursor: pointer; margin: 0 !important;
}
.wcab-app-root .wcab-cm-check-label input[type="checkbox"],
.wcab-app-root.wcab-cm-panel .wcab-cm-check-label input[type="checkbox"] {
  width: 17px !important; height: 17px !important; margin: 0 !important; accent-color: #4f46e5; cursor: pointer;
}
.wcab-app-root .wcab-cm-bulk-count,
.wcab-app-root.wcab-cm-panel .wcab-cm-bulk-count {
  font-size: 12.5px !important; color: #7b8798 !important; font-weight: 600 !important;
  padding: 3px 10px !important; border-radius: 999px !important; background: #eef0f6 !important;
}
.wcab-app-root .wcab-cm-bulk-count-on,
.wcab-app-root.wcab-cm-panel .wcab-cm-bulk-count-on {
  color: #4b38dd !important; background: #ece9ff !important;
}
.wcab-app-root .wcab-cm-bulk-actions,
.wcab-app-root.wcab-cm-panel .wcab-cm-bulk-actions {
  display: inline-flex !important; align-items: center !important; gap: 10px !important;
  flex-wrap: wrap !important; margin-left: auto !important;
}
.wcab-app-root .wcab-cm-bulk-actions .wcab-export-btn,
.wcab-app-root.wcab-cm-panel .wcab-cm-bulk-actions .wcab-export-btn {
  cursor: pointer; font-family: inherit !important;
}
.wcab-app-root .wcab-cm-bulk-note,
.wcab-app-root.wcab-cm-panel .wcab-cm-bulk-note {
  font-size: 12.5px !important; color: #7b8798 !important;
}
.wcab-app-root .wcab-cm-bulk-form,
.wcab-app-root.wcab-cm-panel .wcab-cm-bulk-form { margin: 0 !important; }
.wcab-app-root .wcab-cm-import-form,
.wcab-app-root.wcab-cm-panel .wcab-cm-import-form { margin: 0 !important; }

/* ---------- Paging ---------- */
.wcab-app-root .wcab-cm-pagination,
.wcab-app-root.wcab-cm-panel .wcab-cm-pagination {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  flex-wrap: wrap !important; gap: 12px !important; padding: 14px 16px !important;
}
.wcab-app-root .wcab-cm-pagination .wcab-pagination-controls,
.wcab-app-root.wcab-cm-panel .wcab-cm-pagination .wcab-pagination-controls {
  display: inline-flex !important; align-items: center !important; gap: 6px !important; flex-wrap: wrap !important;
}
.wcab-app-root .wcab-cm-page-link,
.wcab-app-root.wcab-cm-panel .wcab-cm-page-link {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-width: 32px !important; height: 32px !important; padding: 0 8px !important;
  border: 1px solid #dfe3ec !important; border-radius: 8px !important; background: #fff !important;
  color: #46556d !important; font-size: 13px !important; font-weight: 600 !important;
  text-decoration: none !important; line-height: 1 !important;
}
.wcab-app-root .wcab-cm-page-link:hover,
.wcab-app-root.wcab-cm-panel .wcab-cm-page-link:hover {
  border-color: #b7adff !important; background: #f4f2ff !important; color: #4b38dd !important;
}
.wcab-app-root .wcab-cm-page-current,
.wcab-app-root.wcab-cm-panel .wcab-cm-page-current {
  border-color: #4f46e5 !important; background: #4f46e5 !important; color: #fff !important; cursor: default;
}
.wcab-app-root .wcab-cm-page-gap,
.wcab-app-root.wcab-cm-panel .wcab-cm-page-gap { color: #9aa4b6 !important; padding: 0 2px !important; }
.wcab-app-root .wcab-cm-perpage-form,
.wcab-app-root.wcab-cm-panel .wcab-cm-perpage-form {
  display: inline-flex !important; align-items: center !important; gap: 6px !important; margin: 0 0 0 6px !important;
}
.wcab-app-root .wcab-cm-perpage-form label,
.wcab-app-root.wcab-cm-panel .wcab-cm-perpage-form label {
  font-size: 12.5px !important; color: #7b8798 !important; font-weight: 600 !important; margin: 0 !important;
}
.wcab-app-root .wcab-cm-perpage-form select,
.wcab-app-root.wcab-cm-panel .wcab-cm-perpage-form select {
  height: 32px !important; padding: 0 26px 0 8px !important; font-size: 13px !important;
  border: 1px solid #dfe3ec !important; border-radius: 8px !important; background-color: #fff !important;
  color: #46556d !important; width: auto !important; min-width: 64px !important;
}

@media (max-width: 782px) {
  .wcab-app-root .wcab-cm-bulk-actions,
  .wcab-app-root.wcab-cm-panel .wcab-cm-bulk-actions { margin-left: 0 !important; width: 100% !important; }
  .wcab-app-root .wcab-cm-bulk-actions .wcab-export-btn,
  .wcab-app-root.wcab-cm-panel .wcab-cm-bulk-actions .wcab-export-btn { flex: 1 1 100% !important; justify-content: center !important; }
  .wcab-app-root .wcab-cm-pagination,
  .wcab-app-root.wcab-cm-panel .wcab-cm-pagination { flex-direction: column !important; align-items: flex-start !important; }
  .wcab-app-root .wcab-cm-import-notice-actions,
  .wcab-app-root.wcab-cm-panel .wcab-cm-import-notice-actions { width: 100% !important; }
}

/* The import bar's button sits on the right, matching the client list's bar. */
.wcab-app-root .wcab-cm-import-form .wcab-cm-bulk-bar > button[type="submit"],
.wcab-app-root.wcab-cm-panel .wcab-cm-import-form .wcab-cm-bulk-bar > button[type="submit"] {
  margin-left: auto !important;
}
