﻿/*
  Calypso Website Backend Admin
  Backend-only readability and font layer.

  This file is for ADMIN/BACKEND pages only.
  It must be the LAST stylesheet in the <head>.
  Public-facing pages and embeds must not load this file.
*/

:root {
  --backend-font: "Segoe UI", Verdana, Tahoma, Arial, Helvetica, sans-serif;
}

html,
body,
body *,
body *::before,
body *::after {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  letter-spacing: 0.005em !important;
}

body {
  font-size: 16px !important;
  line-height: 1.5 !important;
}

h1,
.admin-main-title,
body.admin-unified-page h1,
body.admin-gateway-page h1,
.hero h1,
.admin-unified-hero h1 {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: clamp(34px, 4.2vw, 52px) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

h2,
.card-title,
.booking-card h2,
.signup-toolbar h2,
.signup-toolbar-copy h2,
.checkin-card-title {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: clamp(24px, 2.8vw, 34px) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

h3,
h4,
h5,
h6,
.booking-card h3,
.booking-edit-summary-title {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

p,
.subtitle,
.meta,
.muted,
.csv-help,
.small-note,
.signup-toolbar p,
.signup-toolbar-copy p {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  line-height: 1.5 !important;
}

label {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

input,
select,
textarea {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  min-height: 42px;
}

textarea {
  line-height: 1.45 !important;
}

button,
.button-link,
a.button-link,
.admin-nav-inner a,
.admin-nav-logout,
.booking-actions a,
.booking-actions button,
.actions-cell a,
.actions-cell button,
.users-btn-secondary,
.users-btn-danger,
.checkin-main-button,
.checkin-undo-button,
#loginBtn,
#logoutBtn,
#adminLogoutBtn {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

.booking-actions a,
.booking-actions button,
.actions-cell a,
.actions-cell button,
.users-btn-secondary,
.users-btn-danger {
  font-size: 13px !important;
}

table,
th,
td {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
}

th {
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

td {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.booking-pill,
.role-pill,
.status-pill,
.signup-status,
.small-badge,
.status-badge,
.checkin-pill,
.counter,
.stat-label,
.booking-stat-label,
.summary-label,
.signup-stat-label {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

.booking-stat-value,
.signup-stat-value,
.checkin-box strong {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
}

pre,
code,
.result-box pre {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

[style*="font-family"],
[style*="fontFamily"] {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
}

body.booking-order-page,
body.booking-order-page *,
.order-page,
.order-page *,
.field,
.field.small,
.field.medium,
.field.money {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
}

.field {
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

.field.small {
  font-size: 14px !important;
}

.field.medium {
  font-size: 15px !important;
}

.field.money {
  font-size: 16px !important;
  font-weight: 800 !important;
}

@media (max-width: 700px) {
  body {
    font-size: 16px !important;
  }

  h1,
  .admin-main-title,
  body.admin-unified-page h1,
  body.admin-gateway-page h1,
  .hero h1,
  .admin-unified-hero h1 {
    font-size: 34px !important;
  }

  h2,
  .card-title,
  .booking-card h2 {
    font-size: 24px !important;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
  }

  button,
  .button-link,
  a.button-link {
    font-size: 14px !important;
  }

  th,
  td {
    font-size: 13px !important;
  }
}
/* BACKEND-FONT-FINAL-SPECIFICITY-FIX-20260513 */
/*
  Final backend font override.
  This deliberately uses stronger selectors than older admin-unified/admin-style rules.
  Public pages do not load admin-backend.css, so this remains backend-only.
*/

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .admin-main-title,
html body .admin-unified-page h1,
html body .admin-unified-page h2,
html body .admin-unified-page h3,
html body .admin-gateway-page h1,
html body .hero h1,
html body .admin-unified-hero h1,
html body .card-title,
html body .booking-card h2,
html body .booking-card h3,
html body .signup-toolbar h2,
html body .signup-toolbar-copy h2,
html body .checkin-card-title,
html body .booking-edit-summary-title {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

html body h1,
html body .admin-main-title,
html body .admin-unified-page h1,
html body .admin-gateway-page h1,
html body .hero h1,
html body .admin-unified-hero h1 {
  font-size: clamp(34px, 4.2vw, 52px) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
}

html body h2,
html body .card-title,
html body .booking-card h2,
html body .signup-toolbar h2,
html body .signup-toolbar-copy h2 {
  font-size: clamp(24px, 2.8vw, 34px) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}

html body h3,
html body h4,
html body h5,
html body h6,
html body .booking-card h3,
html body .booking-edit-summary-title {
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

/* Buttons, table headers and badges also get stronger backend-only protection */
html body button,
html body .button-link,
html body a.button-link,
html body .admin-nav-inner a,
html body .admin-nav-logout,
html body .booking-actions a,
html body .booking-actions button,
html body .actions-cell a,
html body .actions-cell button,
html body th,
html body .booking-pill,
html body .role-pill,
html body .status-pill,
html body .signup-status,
html body .small-badge,
html body .status-badge,
html body .checkin-pill {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}
/* END-BACKEND-FONT-FINAL-SPECIFICITY-FIX-20260513 */

/* BACKEND_FONT_SPECIFICITY_FINAL_START
   This beats the old admin-unified.css decorative-font !important rules.
   It is intentionally more specific than:
   body.admin-unified-page .admin-unified-hero h1
   and must stay at the end of admin-backend.css.
*/

html body.admin-unified-page h1,
html body.admin-unified-page .admin-unified-hero h1,
html body.admin-unified-page .hero h1,
html body.admin-unified-page .admin-main-title,
html body.admin-unified-page .card-title,
html body.admin-enhanced h1,
html body.admin-enhanced .card-title,
html body.admin-gateway-page h1,
html body h1 {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: clamp(34px, 4.2vw, 52px) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

html body.admin-unified-page h2,
html body.admin-unified-page .admin-unified-hero h2,
html body.admin-unified-page .card-title,
html body.admin-enhanced h2,
html body.admin-enhanced .card-title,
html body .booking-card h2,
html body .signup-toolbar h2,
html body .signup-toolbar-copy h2 {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: clamp(24px, 2.8vw, 34px) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

html body.admin-unified-page .admin-nav-inner a,
html body.admin-unified-page .admin-nav-logout,
html body.admin-enhanced nav a,
html body.admin-enhanced .nav a,
html body.admin-unified-page button,
html body.admin-unified-page .button-link,
html body.admin-unified-page a.button-link,
html body .booking-actions a,
html body .booking-actions button,
html body .actions-cell a,
html body .actions-cell button {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

/* BACKEND_FONT_SPECIFICITY_FINAL_END */

/* BACKEND_BUTTON_FONT_FINAL_START
   Final high-specificity backend button override.
   This beats older admin-style/admin-unified decorative button rules.
*/

html body.admin-unified-page button,
html body.admin-unified-page input[type="button"],
html body.admin-unified-page input[type="submit"],
html body.admin-unified-page input[type="reset"],
html body.admin-unified-page a.button-link,
html body.admin-unified-page .button-link,
html body.admin-unified-page .admin-nav-inner a,
html body.admin-unified-page .admin-nav-logout,
html body.admin-unified-page .dashboard-card a,
html body.admin-unified-page .gateway-card a,
html body.admin-unified-page .card a,
html body.admin-unified-page .booking-actions a,
html body.admin-unified-page .booking-actions button,
html body.admin-unified-page .actions-cell a,
html body.admin-unified-page .actions-cell button,
html body.admin-unified-page .users-btn-secondary,
html body.admin-unified-page .users-btn-danger,
html body.admin-unified-page .checkin-main-button,
html body.admin-unified-page .checkin-undo-button,
html body.admin-enhanced button,
html body.admin-enhanced a.button-link,
html body.admin-enhanced .button-link,
html body.admin-enhanced nav a,
html body.admin-enhanced .nav a,
html body button,
html body a.button-link,
html body .button-link {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

/* Small table/action buttons */
html body.admin-unified-page .booking-actions a,
html body.admin-unified-page .booking-actions button,
html body.admin-unified-page .actions-cell a,
html body.admin-unified-page .actions-cell button,
html body.admin-unified-page .users-btn-secondary,
html body.admin-unified-page .users-btn-danger,
html body.admin-unified-page .small-badge {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}

/* BACKEND_BUTTON_FONT_FINAL_END */

/* DASHBOARD_CARD_BADGE_FONT_FIX_START */
/* Dashboard card red badge/action text */
html body a.card span.badge,
html body .card span.badge,
html body a.card .badge,
html body .dashboard-card span.badge,
html body .gateway-card span.badge {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
}
/* DASHBOARD_CARD_BADGE_FONT_FIX_END */

/* BACKEND_TAB_BUTTON_FONT_FIX_START */
/*
  Backend-only button/tab font fix.
  Keeps public poll/schedule/embed pages untouched because only backend pages load admin-backend.css.
*/

html body button,
html body input[type="button"],
html body input[type="submit"],
html body input[type="reset"],
html body a.button,
html body .button,
html body .btn,
html body .badge,
html body .pill,
html body .tab,
html body .tabs a,
html body .tabs button,
html body .tab-button,
html body .tab-btn,
html body .admin-tab,
html body .admin-tabs a,
html body .admin-tabs button,
html body .session-tabs a,
html body .session-tabs button,
html body .booking-tabs a,
html body .booking-tabs button,
html body .booking-tab,
html body .booking-action,
html body .action-button,
html body .action-btn,
html body .nav-button,
html body .nav-btn,
html body .admin-nav a,
html body .admin-nav button,
html body .admin-nav-logout,
html body #logoutBtn,
html body a[href*="tab="],
html body a[href*="admin-booking-session"],
html body a[href*="admin-booking-checkin"] {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  text-transform: none !important;
  letter-spacing: 0.005em !important;
  font-weight: 800 !important;
}

/* Small button text should stay compact but readable */
html body .badge,
html body .pill,
html body .tab,
html body .tab-button,
html body .tab-btn,
html body .admin-tab,
html body .booking-tab,
html body .booking-action,
html body .action-button,
html body .action-btn,
html body .nav-button,
html body .nav-btn,
html body a[href*="tab="] {
  font-size: 13px !important;
  line-height: 1.15 !important;
}

/* BACKEND_TAB_BUTTON_FONT_FIX_END */

/* BOOKING_BUTTON_FONT_FORCE_START_20260513 */
/*
  Booking Session / Check-in button font override.

  Reason:
  admin-unified.css contains high-specificity !important button rules:
  - body.admin-unified-page button[type="button"]
  - body.admin-unified-page .admin-actions button
  - body.admin-unified-page .btn

  Those were still forcing /uppercase on:
  - #logoutButton
  - #tabList
  - #tabAdd
  - #tabSummary
  - #tabAudit
  - #tabCheckin
*/

html body.admin-unified-page.admin-enhanced button#logoutButton,
html body.admin-unified-page.admin-enhanced .booking-tabs button,
html body.admin-unified-page.admin-enhanced .booking-tabs button[type="button"],
html body.admin-unified-page.admin-enhanced button#tabList,
html body.admin-unified-page.admin-enhanced button#tabAdd,
html body.admin-unified-page.admin-enhanced button#tabSummary,
html body.admin-unified-page.admin-enhanced button#tabAudit,
html body.admin-unified-page.admin-enhanced button#tabCheckin,
html body.admin-unified-page.admin-enhanced a[href*="admin-booking-session"],
html body.admin-unified-page.admin-enhanced a[href*="admin-booking-checkin"] {
  font-family: Arial, Helvetica, sans-serif;var(--backend-font) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: 0.005em !important;
  line-height: 1 !important;
}
/* BOOKING_BUTTON_FONT_FORCE_END_20260513 */

/* BOOKING INTERESTED DELETE BUTTON SIZE FIX - START */
/* Real live selector from browser audit:
   <button type="button" class="danger delete-interested-booking-btn">
   This must override the generic admin rule:
   body.admin-unified-page button[type="button"] { padding: 12px 18px !important; min-height: 42px !important; }
*/
html body.admin-unified-page button.danger.delete-interested-booking-btn,
html body.admin-enhanced button.danger.delete-interested-booking-btn,
html body button.danger.delete-interested-booking-btn {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.005em !important;
    text-transform: none !important;
    line-height: 1.1 !important;

    padding: 6px 10px !important;
    min-height: 0 !important;
    height: auto !important;
    min-width: 0 !important;
    width: auto !important;

    border-radius: 999px !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* BOOKING INTERESTED DELETE BUTTON SIZE FIX - END */

