
/*!
 * Timetics – Vintesh Theme (Final)
 * Drop after frontend.css in your enqueue order.
 *
 * Design system sourced from vinte.sh:
 *   Background  #0d0a16   Deep void purple-black
 *   Surface 1   #150f28   Cards / forms
 *   Surface 2   #1a1530   Alternate rows / nested surfaces
 *   Surface 3   #1e1835   Hover / table headers
 *   Border      #2d2548   All edges
 *   Primary     #720eec   Vintesh purple
 *   Text hi     #f0ecfa   Near-white lavender
 *   Text mid    #d4cee4   Secondary text
 *   Text muted  #a89bbf   Labels / captions
 *   Teal        #1dddbf   Success / guest tags
 *   Font        neue-haas-grotesk-display, weight 300
 */

/* ─────────────────────────────────────────────
   TOKENS
───────────────────────────────────────────── */
:root {
  --tt-primary-color:       #720eec;
  --tt-primary-color-70:    rgba(114, 14, 236, 0.70);
  --tt-primary-color-50:    rgba(114, 14, 236, 0.50);
  --tt-primary-color-25:    rgba(114, 14, 236, 0.25);
  --tt-primary-color-15:    rgba(114, 14, 236, 0.15);
  --tt-primary-color-08:    rgba(114, 14, 236, 0.08);
  --tt-primary-color-06:    rgba(114, 14, 236, 0.06);

  --tt-secondary-color:     #f0ecfa;
  --tt-secondary-color-65:  #d4cee4;
  --tt-secondary-color-50:  #a89bbf;
  --tt-secondary-color-30:  #6b6080;
  --tt-secondary-color-20:  #4a4060;
  --tt-secondary-color-12:  #2d2548;
  --tt-secondary-color-08:  #1e1835;
  --tt-secondary-color-05:  #150f28;
  --tt-secondary-color-03:  #110c20;

  --tt-danger-color:        #e42d23;
  --tt-danger-light-color:  rgba(228, 45, 35, 0.15);
  --tt-success-color:       #1dddbf;
  --tt-alert-color:         #f1a208;
  --tt-disable-color:       #2d2548;

  --tt-state-color-01:      #1dddbf;
  --tt-state-color-02:      #f1a208;

  --tt-primary-saturated:   #5a0bc4;
  --tt-secondary-gradient:  linear-gradient(180deg, #2a1f4e 0%, #0d0a16 100%);

  --tt-font: "neue-haas-grotesk-display", "Neue Haas Grotesk Display", Arial, Helvetica, sans-serif;
}

/* ─────────────────────────────────────────────
   ZERO BORDER-RADIUS – Vintesh sharp geometry
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-btn,
#time_tics_dashboard .ant-btn,
.ant-modal-wrap .ant-btn,
.ant-popover-inner-content .ant-btn,
.timetics-input .ant-input-lg,
.timetics-input .ant-picker,
.timetics-input .ant-select:not(.ant-select-customize-input) .ant-select-selector,
.timetics-input .ant-input-affix-wrapper,
.timetics-input .ant-input-number,
.timetics-input .ant-input-number-lg,
.timetics-input textarea.ant-input,
.timetics-input .ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector,
.toplevel_page_timetics .ant-input,
.toplevel_page_timetics .ant-input-password,
.toplevel_page_timetics .ant-input-affix-wrapper,
.tt-container-wrapper .tt-form-container,
.tt-form-left-sidebar,
.timetics-category-meeting .tt-form-category-sidebar,
.tt-booking-body-wrap,
.timetics-category-meeting .tt-category-booking-wrap,
.tt-flatpickr-calendar .flatpickr-day,
.toplevel_page_timetics .ant-modal-content,
.toplevel_page_timetics .ant-modal-header,
.toplevel_page_timetics .ant-select-dropdown,
.toplevel_page_timetics .ant-dropdown-menu,
.toplevel_page_timetics .ant-tooltip-inner,
.toplevel_page_timetics .ant-collapse,
.toplevel_page_timetics .ant-collapse > .ant-collapse-item:last-child,
.toplevel_page_timetics .ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header,
.toplevel_page_timetics .ant-collapse > .ant-collapse-item:last-child > .ant-collapse-content,
.toplevel_page_timetics .ant-collapse .ant-collapse-content > .ant-collapse-content-box,
.timetics-category-meeting .tt-meeting-card,
.timetics-category-meeting .tt-meeting-card .tt-single-meeting,
.timetics-category-meeting .tt-meeting-card .tt-staff-box,
.tt-meeting-booking-result-wrapper,
.tt-slot-list .ant-list-item .ant-btn-block,
.tt-meeting-list-item,
.tt-empty-view-wrapper,
.tt-error-page-wrapper,
.tt-payment-radio-btn .tt-payment-btn,
.tt-payment-radio-btn .ant-radio-button-wrapper:first-child:last-child,
.input-search-field .ant-input-affix-wrapper {
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
}

/* ─────────────────────────────────────────────
   FONT INJECTION
───────────────────────────────────────────── */
.toplevel_page_timetics,
.toplevel_page_timetics *,
.timetics-input,
.timetics-input *,
.timetics-meeting-list-wrapper,
.timetics-meeting-list-wrapper *,
.timetics-category-meeting,
.timetics-category-meeting *,
.tt-booking-body-wrap,
.tt-booking-body-wrap *,
.tt-form-left-sidebar,
.tt-form-left-sidebar *,
.tt-meeting-booking-result-wrapper,
.tt-meeting-booking-result-wrapper *,
.timetics-user-account-wrapper,
.timetics-user-account-wrapper * {
  font-family: var(--tt-font) !important;
  font-weight: 300;
  letter-spacing: 0.04em;
}

.toplevel_page_timetics h1,
.toplevel_page_timetics h2,
.toplevel_page_timetics h3,
.toplevel_page_timetics h4,
.toplevel_page_timetics h5,
.toplevel_page_timetics h6,
.tt-heading,
.tt-section-title,
.tt-title,
.tt-meeting-name,
.tt-appoint-type {
  font-family: var(--tt-font) !important;
  font-weight: 300 !important;
  letter-spacing: -0.01em;
  color: var(--tt-secondary-color);
}


/* ─────────────────────────────────────────────
   INPUTS
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-input,
.toplevel_page_timetics .ant-input-password,
.toplevel_page_timetics .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled),
.timetics-input .ant-input-lg,
.timetics-input .ant-picker,
.timetics-input .ant-select:not(.ant-select-customize-input) .ant-select-selector,
.timetics-input .ant-input-affix-wrapper,
.timetics-input .ant-input-number,
.timetics-input .ant-input-number-lg {
  background-color: transparent !important;
  color: var(--tt-secondary-color) !important;
  border-color: var(--tt-secondary-color-12) !important;
}

.toplevel_page_timetics .ant-input:hover,
.toplevel_page_timetics .ant-input-password:hover,
.toplevel_page_timetics .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {
  border-color: var(--tt-primary-color) !important;
}

.toplevel_page_timetics .ant-input:focus,
.toplevel_page_timetics .ant-input-affix-wrapper:focus-within,
.toplevel_page_timetics .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus {
  border-color: var(--tt-primary-color) !important;
  outline: 2px solid var(--tt-primary-color-25) !important;
  box-shadow: none !important;
}

.toplevel_page_timetics .ant-input::placeholder,
.toplevel_page_timetics .ant-input-password::placeholder {
  color: var(--tt-secondary-color-30);
}

.timetics-input .ant-form-item-label > label {
  color: var(--tt-secondary-color-50);
  font-weight: 400;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.input-search-field .ant-input-affix-wrapper {
  background-color: transparent;
  border-color: var(--tt-secondary-color-12);
  color: var(--tt-secondary-color);
}

/* ─────────────────────────────────────────────
   BUTTONS
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-btn,
#time_tics_dashboard .ant-btn,
.ant-modal-wrap .ant-btn,
.ant-popover-inner-content .ant-btn {
  color: var(--tt-secondary-color-65);
  background-color: transparent;
  border-color: var(--tt-secondary-color-12);
  font-weight: 400;
  letter-spacing: 0.05em;
}

.toplevel_page_timetics .ant-btn:not(.dynamic-delete-button, .ant-btn-warning, .tt-link-btn):hover,
.toplevel_page_timetics .ant-btn:not(.dynamic-delete-button, .ant-btn-warning, .tt-link-btn):focus {
  color: var(--tt-primary-color);
  border-color: var(--tt-primary-color);
  background-color: var(--tt-primary-color-08);
}

.toplevel_page_timetics .ant-btn.ant-btn-primary {
  background: var(--tt-primary-color);
  color: #fff;
  border: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 400;
}
.toplevel_page_timetics .ant-btn.ant-btn-primary:hover,
.toplevel_page_timetics .ant-btn.ant-btn-primary:focus {
  background: var(--tt-primary-saturated) !important;
  color: #fff;
}
.toplevel_page_timetics .ant-btn.ant-btn-primary .anticon svg path {
  stroke: #fff;
}

.toplevel_page_timetics .ant-btn.ant-btn-default {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.toplevel_page_timetics .ant-btn.ant-btn-default.primary-outline {
  border-color: var(--tt-primary-color);
  color: var(--tt-primary-color);
}

.toplevel_page_timetics .ant-btn.ant-btn-dangerous {
  color: var(--tt-danger-color);
  border-color: var(--tt-danger-light-color);
  background-color: transparent;
}
.toplevel_page_timetics .ant-btn.ant-btn-dangerous:hover,
.toplevel_page_timetics .ant-btn.ant-btn-dangerous:focus {
  border-color: var(--tt-danger-color);
}

.toplevel_page_timetics .ant-btn.tt-link-btn {
  color: var(--tt-primary-color);
  border-width: 0;
  background-color: transparent;
  padding: 0;
}
.toplevel_page_timetics .ant-btn.tt-link-btn span {
  border-bottom: 1px solid currentColor;
}
.toplevel_page_timetics .ant-btn.tt-link-btn:hover,
.toplevel_page_timetics .ant-btn.tt-link-btn:focus {
  color: var(--tt-secondary-color);
}

.toplevel_page_timetics .ant-btn[disabled],
.toplevel_page_timetics .ant-btn[disabled]:active,
.toplevel_page_timetics .ant-btn[disabled]:focus,
.toplevel_page_timetics .ant-btn[disabled]:hover {
  color: var(--tt-secondary-color-30);
  border-color: var(--tt-secondary-color-12);
  background: var(--tt-secondary-color-08);
}
.toplevel_page_timetics .ant-btn[disabled].ant-btn-link,
.toplevel_page_timetics .ant-btn[disabled]:hover.ant-btn-link {
  background-color: transparent;
  color: var(--tt-secondary-color-30) !important;
}

/* ─────────────────────────────────────────────
   DROPDOWNS
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-dropdown-menu,
.tt-action-dropdown .ant-dropdown-menu {
  background-color: var(--tt-secondary-color-08);
  border: 1px solid var(--tt-secondary-color-12);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  padding: 4px;
}
.tt-action-dropdown .ant-dropdown-menu-item a,
.toplevel_page_timetics .ant-dropdown-menu-item a {
  color: var(--tt-secondary-color-65);
  text-decoration: none;
  font-weight: 400;
}
.toplevel_page_timetics .ant-dropdown-menu-item.ant-dropdown-menu-item-active,
.toplevel_page_timetics .ant-dropdown-menu-item:hover,
.toplevel_page_timetics .ant-dropdown-menu-submenu-title:hover {
  background-color: var(--tt-primary-color-08);
}
.toplevel_page_timetics .ant-dropdown-menu-item:hover a {
  color: var(--tt-secondary-color);
}

/* ─────────────────────────────────────────────
   SELECT
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-select-single:not(.ant-select-customize-input,
.tt-location-type-select) .ant-select-selector {
  background-color: transparent;
  border-color: var(--tt-secondary-color-12);
}
.toplevel_page_timetics .ant-select-single .ant-select-selector .ant-select-selection-item,
.toplevel_page_timetics .ant-select-single .ant-select-selector .ant-select-selection-placeholder {
  color: var(--tt-secondary-color-65);
}
.toplevel_page_timetics .ant-select:not(.ant-select-disabled):hover .ant-select-selector {
  border-color: var(--tt-primary-color);
}
.toplevel_page_timetics .ant-select-dropdown {
  background-color: var(--tt-secondary-color-08);
  border: 1px solid var(--tt-secondary-color-12);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  padding: 4px;
}
.toplevel_page_timetics .ant-select-dropdown .ant-select-item {
  color: var(--tt-secondary-color-65);
  font-weight: 400;
  background-color: transparent;
}
.toplevel_page_timetics .ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled) {
  background-color: var(--tt-primary-color-08);
  color: var(--tt-secondary-color);
}
.toplevel_page_timetics .ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
  background-color: var(--tt-primary-color-15);
  color: var(--tt-secondary-color);
}

/* ─────────────────────────────────────────────
   TABS
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-tabs-tab-btn {
  color: var(--tt-secondary-color-50);
}
.toplevel_page_timetics .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn,
.toplevel_page_timetics .ant-tabs-tab:hover {
  color: var(--tt-primary-color);
  text-shadow: none;
}
.toplevel_page_timetics .ant-tabs-bottom > .ant-tabs-nav:before,
.toplevel_page_timetics .ant-tabs-top > .ant-tabs-nav:before,
.toplevel_page_timetics .ant-tabs-bottom > div > .ant-tabs-nav:before,
.toplevel_page_timetics .ant-tabs-top > div > .ant-tabs-nav:before {
  border-bottom-color: var(--tt-secondary-color-12);
}
.toplevel_page_timetics .ant-tabs-ink-bar {
  background: var(--tt-primary-color);
}
.toplevel_page_timetics .ant-tabs-large > .ant-tabs-nav .ant-tabs-tab {
  font-weight: 400;
  color: var(--tt-secondary-color-50);
}

.toplevel_page_timetics .tt-custom-tab > .ant-tabs-nav {
  border-right-color: var(--tt-secondary-color-12);
}
.toplevel_page_timetics .tt-custom-tab > .ant-tabs-nav .ant-tabs-ink-bar {
  background: none;
}
.toplevel_page_timetics .tt-custom-tab > .ant-tabs-nav .ant-tabs-tab path {
  stroke: var(--tt-secondary-color-30);
}
.toplevel_page_timetics .tt-custom-tab > .ant-tabs-nav .ant-tabs-tab-active {
  background-color: var(--tt-primary-color-08);
}
.toplevel_page_timetics .tt-custom-tab > .ant-tabs-nav .ant-tabs-tab-active path {
  stroke: var(--tt-primary-color);
}
.toplevel_page_timetics .tt-custom-tab .tt-tab-heading {
  color: var(--tt-secondary-color);
  border-bottom-color: var(--tt-secondary-color-12);
  font-weight: 300;
}

/* ─────────────────────────────────────────────
   COLLAPSE
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-collapse {
  background-color: var(--tt-secondary-color-05);
  border-color: var(--tt-secondary-color-12);
}
.toplevel_page_timetics .ant-collapse .ant-collapse-content > .ant-collapse-content-box {
  background-color: var(--tt-secondary-color-08);
}
.toplevel_page_timetics .ant-collapse > .ant-collapse-item {
  border-bottom-color: var(--tt-secondary-color-12);
}
.toplevel_page_timetics .ant-collapse.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header {
  background-color: transparent;
  color: var(--tt-secondary-color);
}

/* ─────────────────────────────────────────────
   TABLE
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-table {
  background-color: transparent;
}
.toplevel_page_timetics .ant-table .ant-table-thead > tr > th {
  background: var(--tt-secondary-color-08);
  color: var(--tt-secondary-color-65);
  border-bottom-color: transparent;
  font-weight: 400;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.toplevel_page_timetics .ant-table .ant-table-tbody > tr > td {
  background-color: var(--tt-secondary-color-05);
  color: var(--tt-secondary-color-65);
  border-color: var(--tt-secondary-color-12);
}
.toplevel_page_timetics .ant-table .ant-table-tbody tr:nth-child(2n-1) td {
  background-color: #1a1530;
}

/* ─────────────────────────────────────────────
   MODAL
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-modal-content,
.toplevel_page_timetics .ant-modal-header {
  background-color: var(--tt-secondary-color-05);
  border-color: var(--tt-secondary-color-12);
}
.toplevel_page_timetics .ant-modal-title,
.toplevel_page_timetics .ant-modal-close {
  color: var(--tt-secondary-color);
}

/* ─────────────────────────────────────────────
   TOOLTIP
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-tooltip .ant-tooltip-inner {
  background: var(--tt-secondary-gradient);
  color: var(--tt-secondary-color);
  font-weight: 400;
  font-size: 12px;
}

/* ─────────────────────────────────────────────
   SWITCH
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-switch {
  background-color: var(--tt-secondary-color-20);
}
.toplevel_page_timetics .ant-switch.ant-switch-checked {
  background: var(--tt-primary-color);
}

/* ─────────────────────────────────────────────
   CHECKBOX & RADIO
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-checkbox .ant-checkbox-inner {
  background-color: transparent;
  border-color: var(--tt-secondary-color-30);
}
.toplevel_page_timetics .ant-checkbox.ant-checkbox-checked .ant-checkbox-inner {
  background: var(--tt-primary-color);
  border-color: var(--tt-primary-color);
}
.toplevel_page_timetics .ant-checkbox-input:focus + .ant-checkbox-inner,
.toplevel_page_timetics .ant-checkbox-wrapper:hover .ant-checkbox-inner,
.toplevel_page_timetics .ant-checkbox:hover .ant-checkbox-inner {
  border-color: var(--tt-primary-color);
}
.toplevel_page_timetics .ant-radio-inner {
  background-color: transparent;
  border-color: var(--tt-secondary-color-30);
}
.toplevel_page_timetics .ant-radio-checked .ant-radio-inner {
  border-color: var(--tt-primary-color);
}
.toplevel_page_timetics .ant-radio-inner:after {
  background-color: var(--tt-primary-color);
}

/* ─────────────────────────────────────────────
   PAGINATION
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-pagination .ant-pagination-item {
  background-color: transparent;
  border-color: transparent;
}
.toplevel_page_timetics .ant-pagination .ant-pagination-item a {
  color: var(--tt-secondary-color-50);
  font-weight: 400;
}
.toplevel_page_timetics .ant-pagination .ant-pagination-item:hover {
  border-color: var(--tt-primary-color);
}
.toplevel_page_timetics .ant-pagination .ant-pagination-item-active {
  border: 1px solid var(--tt-primary-color);
  background-color: var(--tt-primary-color-08);
}
.toplevel_page_timetics .ant-pagination .ant-pagination-item-active a {
  color: var(--tt-primary-color);
}
.toplevel_page_timetics .ant-pagination-next .ant-pagination-item-link,
.toplevel_page_timetics .ant-pagination-prev .ant-pagination-item-link {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--tt-secondary-color-50);
}

/* ─────────────────────────────────────────────
   SPIN / LOADER
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-spin {
  color: var(--tt-primary-color);
}
.toplevel_page_timetics .ant-spin .ant-spin-dot-item {
  background-color: var(--tt-primary-color);
}

/* ─────────────────────────────────────────────
   ALERT & DIVIDERS
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-alert-info {
  background-color: var(--tt-primary-color-08);
  border: 1px solid rgba(114, 14, 236, 0.2);
  color: var(--tt-secondary-color-65);
}
.toplevel_page_timetics .ant-divider-horizontal {
  border-color: var(--tt-secondary-color-12);
}
.toplevel_page_timetics .ant-list-split .ant-list-item {
  border-color: var(--tt-secondary-color-12);
}

/* ─────────────────────────────────────────────
   BOOKING SIDEBAR & BODY
───────────────────────────────────────────── */
.tt-form-left-sidebar,
.timetics-category-meeting .tt-form-category-sidebar,
.tt-booking-body-wrap,
.timetics-category-meeting .tt-category-booking-wrap {
  background: rgba(21, 15, 40, 0.75) !important;
  border: 1px solid var(--tt-secondary-color-12) !important;
}

.tt-form-left-sidebar .tt-meeting-name,
.timetics-category-meeting .tt-form-category-sidebar .tt-meeting-name {
  color: var(--tt-secondary-color);
}
.tt-form-left-sidebar .tt-meeting-description,
.timetics-category-meeting .tt-form-category-sidebar .tt-meeting-description {
  color: var(--tt-secondary-color-65);
}
.tt-form-left-sidebar .tt-host-item .ant-typography,
.timetics-category-meeting .tt-form-category-sidebar .tt-host-item .ant-typography {
  color: var(--tt-secondary-color);
}
.tt-form-left-sidebar .tt-select-host-wrapper .tt-host-label-text,
.timetics-category-meeting .tt-form-category-sidebar .tt-select-host-wrapper .tt-host-label-text {
  color: var(--tt-secondary-color-50);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.tt-form-left-sidebar .ant-select:not(.ant-select-customize-input) .ant-select-selector,
.timetics-category-meeting .tt-form-category-sidebar .ant-select:not(.ant-select-customize-input) .ant-select-selector {
  background-color: transparent;
  border-color: var(--tt-secondary-color-12) !important;
  color: var(--tt-secondary-color);
}
.tt-booking-body-wrap .tt-selected-date,
.timetics-category-meeting .tt-category-booking-wrap .tt-selected-date {
  color: var(--tt-secondary-color-65);
}

/* Submit */
.tt-form-left-sidebar .submit-btn,
.timetics-category-meeting .tt-form-category-sidebar .submit-btn,
.tt-booking-body-wrap .submit-btn,
.timetics-category-meeting .tt-category-booking-wrap .submit-btn {
  background: var(--tt-primary-color) !important;
  border: none !important;
  color: #fff !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 400 !important;
}
.tt-form-left-sidebar .submit-btn:hover,
.tt-form-left-sidebar .submit-btn:focus,
.timetics-category-meeting .tt-form-category-sidebar .submit-btn:hover,
.tt-booking-body-wrap .submit-btn:hover,
.tt-booking-body-wrap .submit-btn:focus,
.timetics-category-meeting .tt-category-booking-wrap .submit-btn:hover {
  background: var(--tt-primary-saturated) !important;
}
.tt-form-left-sidebar .submit-btn-disabled,
.timetics-category-meeting .tt-form-category-sidebar .submit-btn-disabled,
.tt-booking-body-wrap .submit-btn-disabled,
.timetics-category-meeting .tt-category-booking-wrap .submit-btn-disabled {
  background: var(--tt-secondary-color-12) !important;
  color: var(--tt-secondary-color-30) !important;
}

/* Back button */
.tt-form-left-sidebar .ant-btn.backbtn,
.timetics-category-meeting .tt-form-category-sidebar .ant-btn.backbtn,
.tt-booking-body-wrap .ant-btn.backbtn,
.timetics-category-meeting .tt-category-booking-wrap .ant-btn.backbtn {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  color: var(--tt-secondary-color-65);
}
.tt-form-left-sidebar .ant-btn.backbtn span,
.tt-booking-body-wrap .ant-btn.backbtn span {
  border-bottom-color: var(--tt-secondary-color-30);
}

/* ─────────────────────────────────────────────
   FLATPICKR
───────────────────────────────────────────── */
.tt-flatpickr-calendar .flatpickr-calendar {
  background: transparent;
  box-shadow: none;
}
.tt-flatpickr-calendar .flatpickr-months {
  border-bottom-color: var(--tt-secondary-color-12);
}
.tt-flatpickr-calendar .flatpickr-day {
  color: var(--tt-secondary-color-65);
}
.tt-flatpickr-calendar .flatpickr-day.selected {
  background: var(--tt-primary-color);
  color: #fff;
  border: none;
}
.tt-flatpickr-calendar .flatpickr-day.today::before {
  background: var(--tt-primary-color);
}
.tt-flatpickr-calendar .flatpickr-day:hover:not(.selected):not(.flatpickr-disabled) {
  background: var(--tt-primary-color-08);
  color: var(--tt-secondary-color);
}
.tt-flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.tt-flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover {
  color: var(--tt-secondary-color-30);
  opacity: 0.4;
}
.tt-flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.tt-flatpickr-calendar .flatpickr-months .flatpickr-next-month {
  background-color: var(--tt-secondary-color-12);
}
.tt-flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg,
.tt-flatpickr-calendar .flatpickr-months .flatpickr-next-month svg {
  stroke: var(--tt-secondary-color-65);
  fill: transparent;
}
.tt-flatpickr-calendar .flatpickr-months .cur-year,
.tt-flatpickr-calendar .flatpickr-months .cur-month {
  color: var(--tt-secondary-color) !important;
  font-weight: 400 !important;
}
.toplevel_page_timetics .flatpickr-day.selected,
.toplevel_page_timetics .flatpickr-day.startRange,
.toplevel_page_timetics .flatpickr-day.endRange,
.toplevel_page_timetics .flatpickr-day.selected:hover,
.toplevel_page_timetics .flatpickr-day.startRange:hover,
.toplevel_page_timetics .flatpickr-day.endRange:hover {
  background: var(--tt-primary-color);
  border-color: var(--tt-primary-color);
}

/* ─────────────────────────────────────────────
   TIME SLOT LIST
───────────────────────────────────────────── */
.tt-slot-list .ant-list-item .ant-btn-block {
  background-color: transparent;
  color: var(--tt-secondary-color-65);
  border: 1px solid var(--tt-secondary-color-12);
  font-weight: 400;
}
.tt-slot-list .ant-list-item .ant-btn-block:hover {
  background-color: var(--tt-primary-color-08);
  color: var(--tt-primary-color);
  border-color: var(--tt-primary-color);
}

/* ─────────────────────────────────────────────
   BOOKING RESULT
───────────────────────────────────────────── */
.tt-meeting-booking-result-wrapper {
  background: var(--tt-secondary-color-05);
  border-color: var(--tt-secondary-color-12);
}
.tt-meeting-booking-result-wrapper .ant-result-title {
  color: var(--tt-secondary-color);
  font-weight: 300;
}
.tt-meeting-booking-result-wrapper .tt-bookings-upadate-text {
  color: var(--tt-secondary-color-65);
}

/* ─────────────────────────────────────────────
   MEETING LIST (Frontend public)
───────────────────────────────────────────── */
.timetics-category-meeting {
  background-color: #0d0a16;
}
.timetics-category-meeting .tt-meeting-card {
  background-color: var(--tt-secondary-color-05);
  border-color: var(--tt-secondary-color-12);
}
.timetics-category-meeting .tt-meeting-card .tt-section-heading {
  color: var(--tt-secondary-color);
}
.timetics-category-meeting .tt-meeting-card .tt-single-meeting,
.timetics-category-meeting .tt-meeting-card .tt-staff-box {
  background-color: var(--tt-secondary-color-08);
  border-color: var(--tt-secondary-color-12);
}
.timetics-category-meeting .tt-meeting-card .tt-single-meeting .tt-meeting-title,
.timetics-category-meeting .tt-meeting-card .tt-staff-box .tt-meeting-title {
  color: var(--tt-secondary-color);
}
.timetics-category-meeting .tt-meeting-card .tt-single-meeting .tt-meeting-sub-title,
.timetics-category-meeting .tt-meeting-card .tt-staff-box .tt-meeting-sub-title {
  color: var(--tt-secondary-color-50);
}
.timetics-category-meeting .tt-meeting-card .tt-single-meeting:hover,
.timetics-category-meeting .tt-meeting-card .tt-staff-box:hover {
  border-color: var(--tt-primary-color);
  box-shadow: 0 6px 24px rgba(114, 14, 236, 0.18);
}
.timetics-category-meeting .tt-go-back-icon:hover {
  background-color: var(--tt-secondary-color-08);
}

.timetics-meeting-list-wrapper .tt-meeting-list-item {
  background: var(--tt-secondary-color-05);
  border: 1px solid var(--tt-secondary-color-12);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
}
.timetics-meeting-list-wrapper .tt-meeting-list-item p {
  color: var(--tt-secondary-color-50);
}
.timetics-meeting-list-wrapper .tt-title {
  color: var(--tt-secondary-color);
}
.timetics-meeting-list-wrapper .tt-author li span {
  color: var(--tt-secondary-color-65);
}
.timetics-meeting-list-wrapper .timetics-select {
  background-color: var(--tt-secondary-color-05) !important;
  border-color: var(--tt-secondary-color-12) !important;
  color: var(--tt-secondary-color) !important;
}

/* ─────────────────────────────────────────────
   PAYMENT RADIO
───────────────────────────────────────────── */
.tt-payment-radio-btn .ant-radio-button-wrapper {
  background-color: transparent;
  border-color: var(--tt-secondary-color-12);
  color: var(--tt-secondary-color-65);
}
.tt-payment-radio-btn .ant-radio-button-wrapper-checked.tt-payment-btn {
  border-color: var(--tt-primary-color);
  background-color: var(--tt-primary-color-08);
  color: var(--tt-primary-color);
}





/* ─────────────────────────────────────────────
   MISC
───────────────────────────────────────────── */
.tt-vertical-border {
  border-left-color: var(--tt-secondary-color-12);
}
@media (max-width: 768px) {
  .tt-vertical-border {
    border-top-color: var(--tt-secondary-color-12);
  }
}

.tt-google-Cal-message {
  background-color: var(--tt-primary-color-08);
  color: var(--tt-secondary-color-65);
  border-left: 2px solid var(--tt-primary-color);
}

.tt-ticket-price-variation-wrapper {
  border-bottom-color: var(--tt-secondary-color-12) !important;
}
.tt-ticket-price-variation-wrapper .tt-ticket-price-variation p {
  color: var(--tt-secondary-color-65);
}

.tt-empty-view-wrapper,
.tt-error-page-wrapper {
  background: var(--tt-secondary-color-05);
  border: 1px solid var(--tt-secondary-color-12);
}

.timetics-stripe #payment-message {
  color: var(--tt-secondary-color-65) !important;
}

.tt-scroll-bar::-webkit-scrollbar-thumb {
  background: var(--tt-secondary-color-20);
}
.tt-scroll-bar::-webkit-scrollbar-track {
  background: var(--tt-secondary-color-08);
}

.ant-result-icon .anticon.anticon-check-circle svg {
  fill: var(--tt-success-color) !important;
}

#adminmenu .wp-submenu .tt-go-pro-link a {
  color: var(--tt-primary-color) !important;
}

/* ─────────────────────────────────────────────
   PATCH: Real widget HTML analysis
───────────────────────────────────────────── */

/* Section title above the widget (sits outside sidebar/body) */
.timetics-single-booking-wrapper .tt-section-title {
  color: var(--tt-secondary-color) !important;
}

/* ── Slot buttons are ant-btn-background-ghost + ant-btn-primary ──
   The ghost variant keeps bg transparent but needs purple border/text.
   Our blanket ant-btn-primary rule makes them solid — fix it here.     */
.tt-slot-list .ant-btn.ant-btn-background-ghost.ant-btn-primary,
.tt-slot-list .ant-btn.ant-btn-background-ghost {
  background-color: transparent !important;
  border: 1px solid var(--tt-secondary-color-12) !important;
  color: var(--tt-secondary-color-65) !important;
  text-transform: none;
  letter-spacing: 0.04em;
}
.tt-slot-list .ant-btn.ant-btn-background-ghost.ant-btn-primary:hover,
.tt-slot-list .ant-btn.ant-btn-background-ghost:hover {
  background-color: var(--tt-primary-color-08) !important;
  border-color: var(--tt-primary-color) !important;
  color: var(--tt-primary-color) !important;
}

/* ── Inline SVG fill override (hardcoded fill="#3161F1" in markup) ── */
.tt-form-left-sidebar svg path,
.timetics-category-meeting .tt-form-category-sidebar svg path,
.tt-meeting-location-list svg path {
  fill: var(--tt-primary-color);
}
/* Preserve stroke-only icons (clock, location pin use fill on paths too,
   but back-btn / close icons use stroke — don't clobber those)         */
.tt-form-left-sidebar .ant-btn.backbtn svg path,
.tt-form-left-sidebar .anticon svg path[stroke] {
  fill: none !important;
  stroke: var(--tt-secondary-color-65);
}

/* ── Flatpickr weekday row ── */
.tt-flatpickr-calendar .flatpickr-weekday {
  color: var(--tt-secondary-color-50);
  font-weight: 400;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.tt-flatpickr-calendar .flatpickr-weekdaycontainer {
  background: transparent;
}

/* ── Next/prev month overflow days — keep hidden ── */
.tt-flatpickr-calendar .flatpickr-day.nextMonthDay,
.tt-flatpickr-calendar .flatpickr-day.prevMonthDay {
  height: 0 !important;
  width: 0 !important;
  visibility: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Timezone label text ── */
.timetics-timezone-select .ant-typography {
  color: var(--tt-secondary-color-50) !important;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ── Booking info list items (date / duration / location lines) ── */
.tt-form-left-sidebar .tt-meeting-location-list .ant-list-item,
.timetics-category-meeting .tt-form-category-sidebar .tt-meeting-location-list .ant-list-item {
  border-color: var(--tt-secondary-color-12);
  color: var(--tt-secondary-color-65);
}
.tt-form-left-sidebar .tt-meeting-location-list .ant-space-item,
.timetics-category-meeting .tt-form-category-sidebar .tt-meeting-location-list .ant-space-item {
  color: var(--tt-secondary-color-65);
}

/* ── Host name typography ── */
.tt-form-left-sidebar .tt-host-item .ant-typography,
.timetics-category-meeting .tt-form-category-sidebar .tt-host-item .ant-typography {
  color: var(--tt-secondary-color-50) !important;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ── Selected date heading in slot column ── */
.tt-booking-body-wrap .tt-selected-date,
.timetics-category-meeting .tt-category-booking-wrap .tt-selected-date {
  color: var(--tt-secondary-color-65) !important;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ── Vertical divider between calendar and slot list ── */
.timetics-single-booking-wrapper .ant-divider-vertical {
  border-color: var(--tt-secondary-color-12);
}

/* ─────────────────────────────────────────────
   FIX 1: Table — transparent background, no borders
───────────────────────────────────────────── */
.toplevel_page_timetics .ant-table,
.toplevel_page_timetics .ant-table table,
.toplevel_page_timetics .ant-table .ant-table-container,
.toplevel_page_timetics .ant-table .ant-table-content {
  background: transparent !important;
  border: none !important;
}
.toplevel_page_timetics .ant-table .ant-table-thead > tr > th,
.toplevel_page_timetics .ant-table .ant-table-tbody > tr > td {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--tt-secondary-color-12) !important;
}
.toplevel_page_timetics .ant-table .ant-table-tbody tr:nth-child(2n-1) td {
  background: transparent !important;
}
/* Kill the outer wrapper border that Ant adds */
.toplevel_page_timetics .ant-table-wrapper .ant-table,
.toplevel_page_timetics .ant-table-container::before,
.toplevel_page_timetics .ant-table-container::after {
  border: none !important;
  box-shadow: none !important;
}

/* ─────────────────────────────────────────────
   FIX 2: Dropdowns fully dark
   (Ant v5 uses .ant-select-dropdown and popups
   that get appended to body — need unscoped rules)
───────────────────────────────────────────── */
.ant-select-dropdown,
.ant-dropdown,
.ant-dropdown-menu,
.ant-picker-dropdown,
.ant-tooltip,
.ant-popover-inner {
  background-color: #1e1835 !important;
  border: 1px solid #2d2548 !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6) !important;
}
.ant-select-item,
.ant-select-item-option {
  color: #d4cee4 !important;
  background-color: transparent !important;
}
.ant-select-item-option-active,
.ant-select-item-option:hover {
  background-color: rgba(114, 14, 236, 0.1) !important;
  color: #f0ecfa !important;
}
.ant-select-item-option-selected {
  background-color: rgba(114, 14, 236, 0.18) !important;
  color: #f0ecfa !important;
}
.ant-dropdown-menu {
  padding: 4px !important;
}
.ant-dropdown-menu-item {
  color: #d4cee4 !important;
}
.ant-dropdown-menu-item:hover {
  background-color: rgba(114, 14, 236, 0.1) !important;
  color: #f0ecfa !important;
}
.ant-dropdown-menu-item a {
  color: #d4cee4 !important;
}
.ant-dropdown-menu-item:hover a {
  color: #f0ecfa !important;
}

/* ─────────────────────────────────────────────
   FIX 3: Flatpickr year input — arrowUp / arrowDown
   These are CSS triangles via ::after pseudo-elements.
   Default border color is black — invisible on dark.
───────────────────────────────────────────── */
.numInputWrapper .arrowUp,
.numInputWrapper .arrowDown {
  opacity: 1 !important;
}
.numInputWrapper .arrowUp::after {
  border-bottom-color: #a89bbf !important;
}
.numInputWrapper .arrowDown::after {
  border-top-color: #a89bbf !important;
}
.numInputWrapper .arrowUp:hover::after {
  border-bottom-color: #720eec !important;
}
.numInputWrapper .arrowDown:hover::after {
  border-top-color: #720eec !important;
}
/* Also fix the year input text itself */
.numInputWrapper .numInput.cur-year {
  color: #f0ecfa !important;
  background: transparent !important;
  caret-color: #720eec;
}

/* ─────────────────────────────────────────────
   FIX: Input backgrounds dark + labels light
   (email and all booking form fields)
───────────────────────────────────────────── */

/* Force all inputs to a visible dark surface.
   'transparent' loses to WordPress base sheet
   when the computed parent bg is white.          */
.tt-booking-body-wrap input,
.tt-booking-body-wrap textarea,
.tt-booking-body-wrap .ant-input,
.tt-booking-body-wrap .ant-input-affix-wrapper,
.tt-booking-body-wrap .ant-input-affix-wrapper input,
.timetics-input input,
.timetics-input textarea,
.timetics-input .ant-input,
.timetics-input .ant-input-affix-wrapper,
.timetics-input .ant-input-affix-wrapper input,
.toplevel_page_timetics input[type="text"],
.toplevel_page_timetics input[type="email"],
.toplevel_page_timetics input[type="number"],
.toplevel_page_timetics input[type="tel"],
.toplevel_page_timetics textarea {
  background-color: #150f28 !important;
  color: #f0ecfa !important;
  border-color: #2d2548 !important;
  -webkit-text-fill-color: #f0ecfa !important; /* beats Chrome autofill */
}

/* Autofill state — Chrome overrides bg with yellow/blue tint */
.tt-booking-body-wrap input:-webkit-autofill,
.timetics-input input:-webkit-autofill,
.toplevel_page_timetics input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #150f28 inset !important;
  -webkit-text-fill-color: #f0ecfa !important;
  caret-color: #f0ecfa;
}

/* Labels — all form item labels across admin and frontend */
.toplevel_page_timetics .ant-form-item-label > label,
.toplevel_page_timetics .ant-form-item-label > label.ant-form-item-required,
.timetics-input .ant-form-item-label > label,
.tt-booking-body-wrap .ant-form-item-label > label,
.tt-form-left-sidebar .ant-form-item-label > label {
  color: #d4cee4 !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

/* The required asterisk (*) next to label — also light */
.toplevel_page_timetics .ant-form-item-label > label.ant-form-item-required::before,
.timetics-input .ant-form-item-label > label.ant-form-item-required::before {
  color: #e42d23 !important;
}

/* Ant form explain / validation messages */
.toplevel_page_timetics .ant-form-item-explain-error {
  color: #e42d23 !important;
}
.toplevel_page_timetics .ant-form-item-explain-success {
  color: #1dddbf !important;
}

/* Extra text / hint below fields */
.tt-booking-body-wrap .timetics-input .ant-form-item-extra {
  color: #6b6080 !important;
  font-style: italic;
}

.timetics-shortcode-wrapper .tt-meeting-name {
    color: var(--vt-text) !important;
    font-weight: 100 !important;
    font-size: 2.6rem;
}

:where(.css-dev-only-do-not-override-mncuj7).ant-typography {
    color: rgb(255 255 255 / 88%);
}

.timetics-input .ant-form-item-label > label {

    color: #ffffff;
}

.ant-select-selection-placeholder
{
  color: #ffffff !important;
  
}

button.ant-btn.css-dev-only-do-not-override-mncuj7.ant-btn-default.ant-btn-color-default.ant-btn-variant-outlined.ant-btn-lg.ant-btn-background-ghost.backbtn:hover
 {
    color: #720dec;
}