@media screen {
  :root {
    color-scheme: light;
    --gigi-light-bg: #f7f4ef;
    --gigi-light-surface: #ffffff;
    --gigi-light-soft: #f1ebe5;
    --gigi-light-border: #ded5cd;
    --gigi-light-text: #2b2521;
    --gigi-light-muted: #756a62;
    --gigi-light-accent: #b64d72;
    --gigi-light-accent-dark: #953654;
    --gigi-light-accent-soft: #f7e7ed;
    --gigi-light-shadow: 0 8px 24px rgba(64, 47, 38, 0.09);
  }

  html.gigi-web-document,
  html.gigi-portal-document,
  html.gigi-admin-document {
    color-scheme: light;
  }

  html.gigi-web-document {
    --gigi-shadow: 0 18px 48px rgba(67, 39, 32, 0.1);
  }

  body.gigi-portal-mode .gigi-portal-today {
    box-shadow: 0 20px 56px rgba(69, 42, 35, 0.11);
  }

  body.checkin-public-mode,
  body.checkin-public-mode #app,
  body.checkin-public-mode .checkin-public-page {
    background: var(--gigi-light-bg);
    color: var(--gigi-light-text);
  }

  body.checkin-public-mode .checkin-public-page {
    background-image: linear-gradient(145deg, #fffdfb 0%, var(--gigi-light-bg) 72%);
  }

  body.checkin-public-mode .lotus-corner {
    opacity: 0.46;
    filter: saturate(0.72) contrast(0.94);
  }

  body.checkin-public-mode .checkin-brand-title,
  body.checkin-public-mode .checkin-brand-rule,
  body.checkin-public-mode .service-title,
  body.checkin-public-mode .keypad-status {
    color: var(--gigi-light-accent);
  }

  body.checkin-public-mode .checkin-brand-rule span {
    background: var(--gigi-light-accent);
  }

  body.checkin-public-mode .keypad-shell h1,
  body.checkin-public-mode .keypad-field-row label > span,
  body.checkin-public-mode .checkin-text-field > span,
  body.checkin-public-mode .checkin-select-field > span {
    color: var(--gigi-light-text);
  }

  body.checkin-public-mode .keypad-display-box,
  body.checkin-public-mode .checkin-text-field input,
  body.checkin-public-mode .checkin-select-field select,
  body.checkin-public-mode .keypad-grid button,
  body.checkin-public-mode .keypad-next,
  body.checkin-public-mode .service-grid button,
  body.checkin-public-mode .checkin-menu-panel {
    border: 1px solid var(--gigi-light-border);
    background: var(--gigi-light-surface);
    color: var(--gigi-light-text);
    box-shadow: 0 4px 14px rgba(64, 47, 38, 0.08);
  }

  body.checkin-public-mode .keypad-display-box.active,
  body.checkin-public-mode .keypad-action-row.ready .keypad-next,
  body.checkin-public-mode .service-grid button.active {
    border-color: var(--gigi-light-accent-dark);
    background: var(--gigi-light-accent);
    color: #ffffff;
    box-shadow: 0 5px 16px rgba(149, 54, 84, 0.2);
  }

  body.checkin-public-mode .keypad-display-box.active b,
  body.checkin-public-mode .keypad-action-row.ready .keypad-next b,
  body.checkin-public-mode .service-grid button.active i {
    color: #ffffff;
  }

  body.checkin-public-mode .keypad-grid button:active,
  body.checkin-public-mode .keypad-next:active,
  body.checkin-public-mode .service-grid button:active {
    box-shadow: 0 2px 7px rgba(64, 47, 38, 0.1);
  }

  body.checkin-public-mode .checkin-text-field input:focus,
  body.checkin-public-mode .checkin-select-field select:focus {
    border-color: var(--gigi-light-accent);
    box-shadow: 0 0 0 3px rgba(182, 77, 114, 0.14);
  }

  html.gigi-admin-document,
  body.gigi-admin-mode,
  body.gigi-admin-mode #app,
  body.gigi-admin-mode .admin-page,
  body.gigi-admin-mode .admin-header-main,
  body.gigi-admin-mode .admin-main {
    background: var(--gigi-light-bg);
    color: var(--gigi-light-text);
  }

  body.gigi-admin-mode .admin-page {
    border: 1px solid var(--gigi-light-border);
    box-shadow: 0 12px 36px rgba(64, 47, 38, 0.08);
  }

  body.gigi-admin-mode .admin-header,
  body.gigi-admin-mode .admin-header-menu,
  body.gigi-admin-mode .admin-side {
    border-color: var(--gigi-light-border);
  }

  body.gigi-admin-mode .admin-header-menu,
  body.gigi-admin-mode .admin-side {
    background: var(--gigi-light-soft);
  }

  body.gigi-admin-mode .admin-nav-item {
    color: var(--gigi-light-text);
  }

  body.gigi-admin-mode .admin-nav-item:hover,
  body.gigi-admin-mode .admin-nav-item.active {
    background: var(--gigi-light-accent-soft);
    color: var(--gigi-light-accent-dark);
  }

  body.gigi-admin-mode .admin-inner-panel,
  body.gigi-admin-mode .admin-gallery-card,
  body.gigi-admin-mode .admin-modal {
    border-color: var(--gigi-light-border);
    background: var(--gigi-light-surface);
    box-shadow: var(--gigi-light-shadow);
  }

  body.gigi-admin-mode .admin-panel-title,
  body.gigi-admin-mode .admin-header-title,
  body.gigi-admin-mode .admin-modal-title {
    color: var(--gigi-light-text);
  }

  body.gigi-admin-mode .new-page-input,
  body.gigi-admin-mode .admin-modal-input {
    border-color: var(--gigi-light-border);
    background: #ffffff;
    color: var(--gigi-light-text);
  }

  body.gigi-admin-mode .new-page-input:focus,
  body.gigi-admin-mode .admin-modal-input:focus {
    border-color: var(--gigi-light-accent);
    box-shadow: 0 0 0 3px rgba(182, 77, 114, 0.14);
  }

  body.gigi-admin-mode .admin-feature-list span {
    background: var(--gigi-light-accent-soft);
    color: var(--gigi-light-text);
  }

  body.gigi-admin-mode .new-page-save,
  body.gigi-admin-mode .admin-gallery-upload-button,
  body.gigi-admin-mode .admin-modal-button.primary {
    border-color: var(--gigi-light-accent-dark);
    background: var(--gigi-light-accent);
    color: #ffffff;
    box-shadow: 0 5px 14px rgba(149, 54, 84, 0.18);
  }

  body.member-board-mode,
  body.member-board-mode #app,
  body.all-customers-mode,
  body.all-customers-mode #app {
    background: var(--gigi-light-bg);
    color: var(--gigi-light-text);
  }

  body.member-board-mode .member-board,
  body.all-customers-mode .customers-page {
    background: var(--gigi-light-bg);
  }

  body.member-board-mode .member-header,
  body.member-board-mode .member-stats,
  body.member-board-mode .member-content,
  body.member-board-mode .member-table-card,
  body.member-board-mode .waiting-card,
  body.all-customers-mode .customers-header,
  body.all-customers-mode .customers-card,
  body.all-customers-mode .customer-modal,
  body.all-customers-mode .customer-profile {
    border-color: var(--gigi-light-border);
    background: var(--gigi-light-surface);
    box-shadow: var(--gigi-light-shadow);
  }

  body.member-board-mode .member-page-tabs,
  body.all-customers-mode .member-page-tabs,
  body.member-board-mode thead,
  body.all-customers-mode thead {
    background: var(--gigi-light-soft);
  }

  body.member-board-mode .member-brand,
  body.member-board-mode .member-clock,
  body.member-board-mode .queue-number,
  body.all-customers-mode .customers-brand,
  body.all-customers-mode .customers-total,
  body.all-customers-mode .customer-id,
  body.all-customers-mode .visit-count {
    color: var(--gigi-light-accent-dark);
  }

  body.member-board-mode .member-page-tabs a,
  body.all-customers-mode .member-page-tabs a {
    color: var(--gigi-light-muted);
  }

  body.member-board-mode .member-page-tabs a.active,
  body.all-customers-mode .member-page-tabs a.active {
    border-color: var(--gigi-light-accent);
    background: var(--gigi-light-accent-soft);
    color: var(--gigi-light-accent-dark);
  }

  body.member-board-mode :focus-visible,
  body.all-customers-mode :focus-visible,
  body.gigi-admin-mode :focus-visible,
  body.checkin-public-mode :focus-visible {
    outline: 3px solid rgba(182, 77, 114, 0.34);
    outline-offset: 2px;
  }
}
