/* UNAVERAGE V30 — readable appointment cards and meaningful semantic status colors.
   Intentionally scoped to bookings, related actions, and customer-facing booking
   status indicators. Does not change the Week/Month calendar backgrounds. */
body.premium-ui.admin-page-body.admin-authenticated {
  --booking-success: #17834a;
  --booking-success-hover: #106739;
  --booking-danger: #c52e3c;
  --booking-danger-hover: #a82231;
  --booking-pending: #a8620b;
  --booking-pending-hover: #895006;
  --booking-info: #2366a5;
  --booking-neutral: #65717b;
  --booking-ink: #202a30;
  --booking-muted: #536269;
  --booking-border: #d4dcd6;
}

/* Codes should look like metadata, not black labels. */
body.premium-ui.admin-page-body.admin-authenticated :is(.records-card,.records-modal-item) .record-code,
body.premium-ui.admin-page-body.admin-authenticated .admin-tools-page-panel .record-code {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  color: #5b6871 !important;
  box-shadow: none !important;
  font: 600 11px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace !important;
  letter-spacing: .012em !important;
  text-transform: none !important;
  overflow-wrap: anywhere !important;
}

/* Solid, high-contrast states across booking cards, day lists and dialogs. */
body.premium-ui.admin-page-body.admin-authenticated :is(.status-chip,.payment-chip) {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  max-width: 100% !important;
  min-height: 25px !important;
  padding: 5px 9px !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: normal !important;
  text-align: center !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
body.premium-ui.admin-page-body.admin-authenticated :is(.status-chip.status-confirmed,.status-chip.status-completed,.payment-chip.payment-paid) {
  background: var(--booking-success) !important;
  color: #fff !important;
  border-color: var(--booking-success) !important;
}
body.premium-ui.admin-page-body.admin-authenticated :is(.status-chip.status-cancelled,.status-chip.status-no_show) {
  background: var(--booking-danger) !important;
  color: #fff !important;
  border-color: var(--booking-danger) !important;
}
body.premium-ui.admin-page-body.admin-authenticated :is(.status-chip.status-pending,.payment-chip.payment-pending) {
  background: var(--booking-pending) !important;
  color: #fff !important;
  border-color: var(--booking-pending) !important;
}
body.premium-ui.admin-page-body.admin-authenticated .status-chip.status-rescheduled {
  background: #6651a8 !important;
  color: #fff !important;
  border-color: #6651a8 !important;
}
body.premium-ui.admin-page-body.admin-authenticated :is(.status-chip.status-blocked,.payment-chip.payment-na) {
  background: #ecefed !important;
  color: #3d4b52 !important;
  border-color: #cdd6ce !important;
}
/* Old mobile card rules create a second monochrome dot: don't duplicate the solid badge. */
body.premium-ui.admin-page-body.admin-authenticated :is(.records-card,.records-modal-item) :is(.status-chip,.payment-chip)::before {
  content: none !important;
  display: none !important;
}

/* Semantic actions keep saturated colors rather than pale washed-out treatments. */
body.premium-ui.admin-page-body.admin-authenticated :is(.records-card,.records-modal-item,.admin-day-sheet,.daily-agenda-card,.admin-tools-page-panel,.admin-drawer-panel) :is(.mini-btn.success,.btn-success) {
  background: var(--booking-success) !important;
  color: #fff !important;
  border-color: var(--booking-success) !important;
}
body.premium-ui.admin-page-body.admin-authenticated :is(.records-card,.records-modal-item,.admin-day-sheet,.daily-agenda-card,.admin-tools-page-panel,.admin-drawer-panel) :is(.mini-btn.success,.btn-success):is(:hover,:focus-visible) {
  background: var(--booking-success-hover) !important;
  color: #fff !important;
  border-color: var(--booking-success-hover) !important;
}
body.premium-ui.admin-page-body.admin-authenticated :is(.records-card,.records-modal-item,.admin-day-sheet,.daily-agenda-card,.admin-tools-page-panel,.admin-drawer-panel) :is(.mini-btn.danger,.admin-link-btn.danger,.btn-danger) {
  background: var(--booking-danger) !important;
  color: #fff !important;
  border-color: var(--booking-danger) !important;
}
body.premium-ui.admin-page-body.admin-authenticated :is(.records-card,.records-modal-item,.admin-day-sheet,.daily-agenda-card,.admin-tools-page-panel,.admin-drawer-panel) :is(.mini-btn.danger,.admin-link-btn.danger,.btn-danger):is(:hover,:focus-visible) {
  background: var(--booking-danger-hover) !important;
  color: #fff !important;
  border-color: var(--booking-danger-hover) !important;
}

/* Light, well-spaced appointment cards (especially 'Όλες οι εγγραφές' on phone). */
body.premium-ui.admin-page-body.admin-authenticated .records-modal-item {
  border: 1px solid var(--booking-border) !important;
  border-left: 3px solid var(--record-accent, #87939c) !important;
  border-radius: 10px !important;
  background: #fff !important;
  background-image: none !important;
  color: var(--booking-ink) !important;
  padding: clamp(12px, 2vw, 18px) !important;
  box-shadow: 0 2px 8px rgba(31, 42, 47, .04) !important;
  opacity: 1 !important;
}
body.premium-ui.admin-page-body.admin-authenticated .records-modal-item :is(.records-modal-main,.records-modal-top,.records-modal-actions) {
  min-width: 0 !important;
}
body.premium-ui.admin-page-body.admin-authenticated .records-modal-item .records-modal-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  margin-bottom: 10px !important;
}
body.premium-ui.admin-page-body.admin-authenticated .records-modal-item .records-modal-main > strong {
  display: block !important;
  color: var(--booking-ink) !important;
  font-size: 16px !important;
  font-weight: 760 !important;
  line-height: 1.32 !important;
  letter-spacing: -.015em !important;
}
body.premium-ui.admin-page-body.admin-authenticated .records-modal-item :is(.records-modal-date,.records-modal-service) {
  display: block !important;
  color: var(--booking-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
body.premium-ui.admin-page-body.admin-authenticated .records-modal-item .records-modal-payment {
  margin-top: 10px !important;
}
body.premium-ui.admin-page-body.admin-authenticated .records-modal-item .records-modal-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin-top: 13px !important;
}
body.premium-ui.admin-page-body.admin-authenticated .records-modal-item .records-modal-actions > :is(button,.mini-btn) {
  flex: 1 1 130px !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 720 !important;
}
body.premium-ui.admin-page-body.admin-authenticated .records-modal-item .records-modal-actions > :is(button,.mini-btn):not(.danger):not(.success) {
  background: #27323a !important;
  border-color: #27323a !important;
  color: #fff !important;
}
body.premium-ui.admin-page-body.admin-authenticated .records-modal-item .records-modal-actions > :is(button,.mini-btn):not(.danger):not(.success):is(:hover,:focus-visible) {
  background: #3c4b54 !important;
  border-color: #3c4b54 !important;
  color: #fff !important;
}
/* Dashboard records table on mobile already becomes a card; clean it up too. */
@media (max-width: 767px), (pointer: coarse) and (min-width: 768px) {
  body.premium-ui.admin-page-body.admin-authenticated .records-card .admin-data-table tr.record-row {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid var(--booking-border) !important;
    border-left: 3px solid var(--record-accent, #87939c) !important;
    color: var(--booking-ink) !important;
    box-shadow: 0 2px 8px rgba(31,42,47,.04) !important;
    border-radius: 10px !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated .records-card .admin-data-table tr.record-row :is(.record-name,.record-service-name,.record-date-value,.record-time-value) {
    color: var(--booking-ink) !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated .records-card .admin-data-table tr.record-row :is(.record-customer-meta,.record-note,.record-service-meta,.record-time-end) {
    color: var(--booking-muted) !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated .records-card .admin-data-table tr.record-row td[data-label="Ημερομηνία"],
  body.premium-ui.admin-page-body.admin-authenticated .records-card .admin-data-table tr.record-row td[data-label="Ώρα"] {
    background: #f6f8f6 !important;
    color: var(--booking-ink) !important;
    border-color: var(--booking-border) !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated .records-card .admin-data-table tr.record-row td[data-label="Ημερομηνία"]::before,
  body.premium-ui.admin-page-body.admin-authenticated .records-card .admin-data-table tr.record-row td[data-label="Ώρα"]::before {
    color: #5d6b72 !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated .records-card td[data-label="Ενέργειες"] :is(.mini-btn,button):not(.danger):not(.success) {
    background: #27323a !important;
    color: #fff !important;
    border-color: #27323a !important;
  }
}

/* Recolor the public customer booking-status chips too, without changing page styling. */
body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-booking-status {
  background: #eef1ef !important;
  color: #36454b !important;
  border-color: #cbd5ce !important;
  opacity: 1 !important;
}
body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-booking-status:is(.status-confirmed,.status-completed) {
  background: #17834a !important;
  color: #fff !important;
  border-color: #17834a !important;
}
body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-booking-status.status-cancelled {
  background: #c52e3c !important;
  color: #fff !important;
  border-color: #c52e3c !important;
}
body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-booking-status.status-pending {
  background: #a8620b !important;
  color: #fff !important;
  border-color: #a8620b !important;
}

/* Legacy ui-layout !important defaults sometimes mask badges on phones. */
@layer ui-layout {
  body.premium-ui.admin-page-body.admin-authenticated :is(.status-chip.status-confirmed,.status-chip.status-completed,.payment-chip.payment-paid) {
    background: #17834a !important;
    color: #fff !important;
    border-color: #17834a !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated :is(.status-chip.status-cancelled,.status-chip.status-no_show) {
    background: #c52e3c !important;
    color: #fff !important;
    border-color: #c52e3c !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated :is(.status-chip.status-pending,.payment-chip.payment-pending) {
    background: #a8620b !important;
    color: #fff !important;
    border-color: #a8620b !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated :is(.records-card,.records-modal-item) .record-code {
    background: transparent !important;
    border: 0 !important;
    color: #5b6871 !important;
  }
}

/* Last-resort specificity for management Tools: older themed layers contained
   explicit pastel danger/success overrides, which masked the global states. */
@layer ui-layout {
  body.premium-ui.admin-page-body.admin-authenticated #admin-pane-tools .admin-tools-page-panel .records-modal-item {
    background: #ffffff !important;
    background-image: none !important;
    border-color: #d4dcd6 !important;
    border-left-color: var(--record-accent, #87939c) !important;
    color: #202a30 !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated #admin-pane-tools .admin-tools-page-panel .records-modal-item .records-modal-actions .mini-btn.danger,
  body.premium-ui.admin-page-body.admin-authenticated #admin-pane-dashboard .records-card .mini-btn.danger {
    background: #c52e3c !important;
    color: #ffffff !important;
    border-color: #c52e3c !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated #admin-pane-tools .admin-tools-page-panel .records-modal-item .records-modal-actions .mini-btn.success,
  body.premium-ui.admin-page-body.admin-authenticated #admin-pane-dashboard .records-card .mini-btn.success {
    background: #17834a !important;
    color: #ffffff !important;
    border-color: #17834a !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated #admin-pane-tools .admin-tools-page-panel .records-modal-item .records-modal-actions .mini-btn.danger:hover,
  body.premium-ui.admin-page-body.admin-authenticated #admin-pane-dashboard .records-card .mini-btn.danger:hover {
    background: #a82231 !important;
    border-color: #a82231 !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated #admin-pane-tools .admin-tools-page-panel .records-modal-item .records-modal-actions .mini-btn.success:hover,
  body.premium-ui.admin-page-body.admin-authenticated #admin-pane-dashboard .records-card .mini-btn.success:hover {
    background: #106739 !important;
    border-color: #106739 !important;
  }
}
