/* HG Edu v18.27-RC3: optional cream theme. The existing default theme remains untouched. */

html[data-theme] .hg-theme-menu {
  position:relative;
  margin:0;
}

html[data-theme] .hg-theme-menu > summary {
  display:flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  box-sizing:border-box;
  padding:6px 10px;
  border:1px solid var(--line,#334155);
  border-radius:9px;
  background:var(--panel2,#0b1525);
  color:var(--text,#e6edf7);
  font:700 12px/1.2 Arial,sans-serif;
  list-style:none;
  white-space:nowrap;
  cursor:pointer;
}

html[data-theme] .hg-theme-menu > summary::-webkit-details-marker { display:none; }

html[data-theme] .hg-theme-menu-panel {
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:90;
  width:330px;
  max-width:calc(100vw - 24px);
  box-sizing:border-box;
  padding:12px;
  border:1px solid var(--line,#334155);
  border-radius:14px;
  background:var(--panel,#111827);
  color:var(--text,#e6edf7);
  box-shadow:0 12px 30px rgba(0,0,0,.24);
}

html[data-theme] .hg-theme-menu-panel > strong { display:block; font-size:14px; }
html[data-theme] .hg-theme-menu-panel > p { margin:4px 0 10px; color:var(--muted,#94a3b8); font-size:12px; }

html[data-theme] .hg-theme-options {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  padding:4px;
  border:1px solid var(--line,#334155);
  border-radius:13px;
  background:var(--panel2,#0b1525);
}

html[data-theme] .hg-theme-option {
  min-height:42px;
  margin:0;
  padding:8px 12px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--text,#e6edf7);
  font:700 13px/1.2 Arial,sans-serif;
  white-space:nowrap;
  cursor:pointer;
}

html[data-theme] .hg-theme-option-icon {
  margin-right:6px;
  font-size:15px;
}

html[data-theme="default"] .hg-theme-option:hover { background:#17263b; }
html[data-theme="default"] .hg-theme-option.is-active {
  border-color:#705d16;
  background:#2a2a1e;
  color:#fde68a;
  box-shadow:inset 0 0 0 1px rgba(250,204,21,.12);
}

html[data-theme="default"] .hg-theme-option:focus-visible {
  outline:2px solid #facc15;
  outline-offset:2px;
}

html[data-theme="default"] .hg-theme-menu > summary:focus-visible {
  outline:2px solid #facc15;
  outline-offset:2px;
}

@media(max-width:620px) {
  html[data-theme] .hg-theme-menu-panel {
    position:fixed;
    top:58px;
    right:8px;
    width:calc(100vw - 16px);
    max-width:none;
  }
  html[data-theme] .hg-theme-options { width:100%; }
  html[data-theme] .hg-theme-option { min-width:0; white-space:normal; }
}

html[data-theme="cream"] {
  color-scheme:light;

  --hg-primary:#0B5D4B;
  --hg-primary-hover:#084C3D;
  --hg-primary-active:#063D31;
  --hg-primary-soft:#EAF4EF;
  --hg-primary-soft-hover:#DFEEE6;

  --hg-page-bg:#FDFCF9;
  --hg-surface:#FFFEFC;
  --hg-surface-secondary:#F7FAF8;
  --hg-surface-hover:#FAFCFB;

  --hg-border:#DDD7CD;
  --hg-border-strong:#CDC5B9;

  --hg-text:#1F2D35;
  --hg-text-secondary:#4F5D68;
  --hg-text-muted:#66727D;
  --hg-text-on-primary:#FFFFFF;

  --hg-accent:#E5A11A;
  --hg-accent-soft:#FFF2D2;
  --hg-success:#267356;
  --hg-success-soft:#E6F3EC;
  --hg-warning:#946014;
  --hg-warning-soft:#FFF1D6;
  --hg-danger:#B54444;
  --hg-danger-hover:#963838;
  --hg-danger-soft:#FBE8E8;
  --hg-info:#356F89;
  --hg-info-soft:#E7F1F5;

  --hg-disabled-bg:#EEEAE3;
  --hg-disabled-text:#666B67;

  --hg-shadow-sm:0 2px 8px rgba(38,55,48,.05);
  --hg-shadow-md:0 7px 22px rgba(38,55,48,.07);
  --hg-shadow-lg:0 14px 36px rgba(38,55,48,.10);

  --hg-radius-sm:8px;
  --hg-radius-md:12px;
  --hg-radius-lg:18px;
  --hg-radius-xl:22px;
  --hg-radius-pill:999px;

  --hg-transition-fast:140ms ease;
  --hg-transition-normal:200ms ease;

  /* Compatibility tokens used by the existing stylesheets. */
  --bg:var(--hg-page-bg);
  --panel:var(--hg-surface);
  --panel2:var(--hg-surface-secondary);
  --line:var(--hg-border);
  --border:var(--hg-border);
  --text:var(--hg-text);
  --muted:var(--hg-text-muted);
  --accent:var(--hg-accent);
  --green:var(--hg-success);
  --blue:var(--hg-info);
  --red:var(--hg-danger);
  --ink:var(--hg-text);
  --surface:var(--hg-surface);
  --soft:var(--hg-primary-soft);
  --accent-dark:var(--hg-primary-hover);
  --gold:var(--hg-accent);
  --danger:var(--hg-danger);
  --shadow:var(--hg-shadow-md);
}

html[data-theme="cream"] body {
  background:var(--hg-page-bg);
  color:var(--hg-text);
  font-weight:500;
}

html[data-theme="cream"] body > header:not(.public-header) {
  background:rgba(255,254,252,.97);
  color:var(--hg-text);
  border-bottom-color:var(--hg-border);
  box-shadow:var(--hg-shadow-sm);
  backdrop-filter:none;
}

html[data-theme="cream"] .wrap > main { background:var(--hg-page-bg); }

html[data-theme="cream"] .wrap > nav {
  background:var(--hg-primary);
  border-right-color:#2B7463 !important;
  box-shadow:8px 0 24px rgba(11,93,75,.08);
}

html[data-theme="cream"] .sideBrand,
html[data-theme="cream"] .sideFooter { border-color:rgba(255,255,255,.18); }

html[data-theme="cream"] .sideBrand strong,
html[data-theme="cream"] .sideFooter strong { color:#FFFFFF; }

html[data-theme="cream"] .sideBrand span,
html[data-theme="cream"] .sideFooter span,
html[data-theme="cream"] .navLabel { color:#D8EAE4; }

html[data-theme="cream"] .navLabel {
  border-bottom:1px solid rgba(232,245,240,.20);
  font-weight:700;
}

html[data-theme="cream"] .sideBrand .logo,
html[data-theme="cream"] .mobileLogo {
  border-color:#F2C761;
  color:#F9D77F;
}

html[data-theme="cream"] .sideAvatar {
  background:#EAF4EF;
  color:var(--hg-primary);
}

html[data-theme="cream"] #appSidebar button[data-page] {
  color:#F0F7F4 !important;
  font-weight:600;
}

html[data-theme="cream"] #appSidebar button[data-page]:hover,
html[data-theme="cream"] #appSidebar button[data-page]:focus-visible {
  background:rgba(255,255,255,.14) !important;
  color:#FAFFFD !important;
  text-shadow:none;
}

html[data-theme="cream"] #appSidebar button[data-page].active {
  background:#FFFEFC !important;
  color:var(--hg-primary) !important;
  font-weight:700;
  box-shadow:inset 3px 0 var(--hg-accent);
}

html[data-theme="cream"] .menuToggle,
html[data-theme="cream"] .hgRouteBtn,
html[data-theme="cream"] .hg1825-search-trigger {
  background:var(--hg-surface);
  color:var(--hg-primary);
  border-color:var(--hg-border-strong);
}

html[data-theme="cream"] .hg-theme-options {
  background:var(--hg-surface-secondary);
  border-color:var(--hg-border);
}

html[data-theme="cream"] .hg-theme-menu > summary {
  background:var(--hg-surface);
  color:var(--hg-primary);
  border-color:var(--hg-border-strong);
}

html[data-theme="cream"] .hg-theme-menu > summary:hover {
  background:var(--hg-primary-soft);
}

html[data-theme="cream"] .hg-theme-menu > summary:focus-visible {
  outline:2px solid var(--hg-primary);
  outline-offset:2px;
}

html[data-theme="cream"] .hg-theme-menu-panel {
  background:var(--hg-surface);
  color:var(--hg-text);
  border-color:var(--hg-border);
  box-shadow:var(--hg-shadow-lg);
}

html[data-theme="cream"] .hg-theme-menu-panel > p { color:var(--hg-text-secondary); }

html[data-theme="cream"] .hg-theme-option { color:var(--hg-text-secondary); }
html[data-theme="cream"] .hg-theme-option:hover { background:var(--hg-primary-soft-hover); color:var(--hg-primary); }
html[data-theme="cream"] .hg-theme-option.is-active {
  background:var(--hg-primary);
  color:#FFFFFF;
  border-color:var(--hg-primary);
  box-shadow:var(--hg-shadow-sm);
}

html[data-theme="cream"] #sideOverlay,
html[data-theme="cream"] body.sidebarOpen #sideOverlay {
  background:rgba(20,43,36,.46);
}

html[data-theme="cream"] h1,
html[data-theme="cream"] h2,
html[data-theme="cream"] h3,
html[data-theme="cream"] h4,
html[data-theme="cream"] strong,
html[data-theme="cream"] b { color:inherit; }

html[data-theme="cream"] .sub,
html[data-theme="cream"] .small,
html[data-theme="cream"] .pageHeading p,
html[data-theme="cream"] .sectionHead p,
html[data-theme="cream"] label {
  color:var(--hg-text-secondary);
}

html[data-theme="cream"] .card {
  background:var(--hg-surface);
  border:1px solid var(--hg-border);
  border-radius:var(--hg-radius-lg);
  box-shadow:var(--hg-shadow-sm);
}

html[data-theme="cream"] .metric,
html[data-theme="cream"] .cashMetric,
html[data-theme="cream"] #dailyPayTotals > div,
html[data-theme="cream"] .v1681-summary > div,
html[data-theme="cream"] .v1682o-fin > div,
html[data-theme="cream"] .v1719RepairMetric,
html[data-theme="cream"] .hg21-summary > div,
html[data-theme="cream"] .hg31-finance-note .hg31-grid > div,
html[data-theme="cream"] .hg1734-summary > div,
html[data-theme="cream"] .hg17414-metrics > div,
html[data-theme="cream"] .hg1823-metric {
  background:var(--hg-surface-secondary);
  border-color:var(--hg-border);
  border-radius:var(--hg-radius-md);
  color:var(--hg-text);
  box-shadow:none;
}

html[data-theme="cream"] .v1681-hero,
html[data-theme="cream"] .v1681-preview,
html[data-theme="cream"] .v17-debt-card .metric,
html[data-theme="cream"] .hg22-teacher-head,
html[data-theme="cream"] .hg31-finance-note,
html[data-theme="cream"] .hg1734-class-summary,
html[data-theme="cream"] .hg1734-preview,
html[data-theme="cream"] .hg1735-modal-class,
html[data-theme="cream"] .hg1736-history-note,
html[data-theme="cream"] .hg1737-leave-note,
html[data-theme="cream"] .hg1838-leave-choices,
html[data-theme="cream"] #hg17412MultiSubjects,
html[data-theme="cream"] .hg17412-subject-row,
html[data-theme="cream"] .hg1810-note > div,
html[data-theme="cream"] .hg1823-import-card,
html[data-theme="cream"] .hg1826-detail-card,
html[data-theme="cream"] .hg1810-attendance-actions,
html[data-theme="cream"] .hg1810-attendance-calendar,
html[data-theme="cream"] .hg1810-disclosure,
html[data-theme="cream"] .hg1815-mobile-debtor {
  background:var(--hg-surface);
  border-color:var(--hg-border);
  color:var(--hg-text);
  box-shadow:none;
}

html[data-theme="cream"] .hg1838-leave-option {
  background:var(--hg-primary-soft);
  border-color:var(--hg-border);
}

html[data-theme="cream"] .hg30-help,
html[data-theme="cream"] .hg1734-note,
html[data-theme="cream"] .hg1735-modal-note,
html[data-theme="cream"] .hg17412-summary,
html[data-theme="cream"] .hg1810-note,
html[data-theme="cream"] .v1719RepairNote,
html[data-theme="cream"] .hg1823-help {
  background:var(--hg-primary-soft);
  border-color:#BED9CE;
  color:var(--hg-text-secondary);
}

html[data-theme="cream"] .metric b,
html[data-theme="cream"] #dailyPayTotals b,
html[data-theme="cream"] .v1681-summary b,
html[data-theme="cream"] .v1682o-title > b,
html[data-theme="cream"] .v1682o-left strong,
html[data-theme="cream"] .hg21-summary b,
html[data-theme="cream"] .hg22-teacher-head h3,
html[data-theme="cream"] .hg30-editor-total b,
html[data-theme="cream"] .hg1734-class-summary b,
html[data-theme="cream"] .hg1734-summary b,
html[data-theme="cream"] .hg1735-modal-class b,
html[data-theme="cream"] .hg17426-draft-head b {
  color:var(--hg-primary);
}

html[data-theme="cream"] .cashMetric.book b,
html[data-theme="cream"] .cashIn,
html[data-theme="cream"] .v17-ok { color:var(--hg-success); }
html[data-theme="cream"] .cashMetric.actual b { color:var(--hg-info); }
html[data-theme="cream"] .cashMetric.diff b,
html[data-theme="cream"] .cashBalance { color:var(--hg-warning); }
html[data-theme="cream"] .cashOut,
html[data-theme="cream"] .v17-danger { color:var(--hg-danger); }

html[data-theme="cream"] input,
html[data-theme="cream"] select,
html[data-theme="cream"] textarea {
  background:var(--hg-surface);
  color:var(--hg-text);
  border-color:var(--hg-border-strong);
  border-radius:11px;
  transition:border-color var(--hg-transition-fast),box-shadow var(--hg-transition-fast),background var(--hg-transition-fast);
}

html[data-theme="cream"] input::placeholder,
html[data-theme="cream"] textarea::placeholder { color:var(--hg-text-muted); opacity:1; }

html[data-theme="cream"] input:hover,
html[data-theme="cream"] select:hover,
html[data-theme="cream"] textarea:hover { border-color:#B8CBBF; }

html[data-theme="cream"] input:focus,
html[data-theme="cream"] select:focus,
html[data-theme="cream"] textarea:focus,
html[data-theme="cream"] #tuition input:focus,
html[data-theme="cream"] #tuition select:focus,
html[data-theme="cream"] #tuition textarea:focus {
  border-color:var(--hg-primary);
  box-shadow:0 0 0 3px rgba(11,93,75,.12);
  outline:none;
}

html[data-theme="cream"] input[type="checkbox"],
html[data-theme="cream"] input[type="radio"] { accent-color:var(--hg-primary); }

html[data-theme="cream"] input:disabled,
html[data-theme="cream"] select:disabled,
html[data-theme="cream"] textarea:disabled {
  background:var(--hg-disabled-bg);
  color:var(--hg-disabled-text);
  border-color:var(--hg-border);
  opacity:1;
  cursor:not-allowed;
}

html[data-theme="cream"] .hg1746-date-control input[type="date"] {
  color-scheme:light;
}

html[data-theme="cream"] .hg1746-date-control input[type="date"]::-webkit-calendar-picker-indicator {
  filter:none;
}

html[data-theme="cream"] .btn {
  background:var(--hg-surface);
  color:var(--hg-primary);
  border:1px solid var(--hg-border-strong);
  border-radius:11px;
  box-shadow:none;
  transition:background var(--hg-transition-fast),border-color var(--hg-transition-fast),color var(--hg-transition-fast),box-shadow var(--hg-transition-fast);
}

html[data-theme="cream"] .btn:hover {
  background:var(--hg-primary-soft-hover);
  border-color:#A9C9BC;
}

html[data-theme="cream"] .btn:active { background:#D3E8DF; }

html[data-theme="cream"] .btn.ok,
html[data-theme="cream"] #tblClasses .hg17314-add-student,
html[data-theme="cream"] .hg1815-mobile-pay {
  background:var(--hg-primary) !important;
  color:var(--hg-text-on-primary) !important;
  border-color:var(--hg-primary) !important;
}

html[data-theme="cream"] .btn.ok:hover,
html[data-theme="cream"] #tblClasses .hg17314-add-student:hover,
html[data-theme="cream"] .hg1815-mobile-pay:hover {
  background:var(--hg-primary-hover) !important;
  border-color:var(--hg-primary-hover) !important;
}

html[data-theme="cream"] .btn.ok:active { background:var(--hg-primary-active) !important; }

html[data-theme="cream"] .btn.gold,
html[data-theme="cream"] #hg1740UnlinkedBtn,
html[data-theme="cream"] button.hg1737-leave,
html[data-theme="cream"] button.hg1738-retire {
  background:var(--hg-accent-soft) !important;
  color:var(--hg-warning) !important;
  border-color:#E8C872 !important;
}

html[data-theme="cream"] .btn.badbtn,
html[data-theme="cream"] #hg30Table .hg1739-delete-receipt,
html[data-theme="cream"] button.hg1737-hard-delete {
  background:var(--hg-danger) !important;
  color:#FFFFFF !important;
  border-color:var(--hg-danger) !important;
}

html[data-theme="cream"] .btn.badbtn:hover,
html[data-theme="cream"] #hg30Table .hg1739-delete-receipt:hover,
html[data-theme="cream"] button.hg1737-hard-delete:hover {
  background:var(--hg-danger-hover) !important;
  border-color:var(--hg-danger-hover) !important;
}

html[data-theme="cream"] button.hg1737-retired,
html[data-theme="cream"] button.hg1738-retired,
html[data-theme="cream"] .btn:disabled,
html[data-theme="cream"] button:disabled {
  background:var(--hg-disabled-bg) !important;
  color:var(--hg-disabled-text) !important;
  border-color:var(--hg-border) !important;
  box-shadow:none !important;
  opacity:1;
  cursor:not-allowed;
}

html[data-theme="cream"] .hg1746-today-btn {
  background:var(--hg-primary-soft) !important;
  color:var(--hg-primary) !important;
  border-color:#B9D7CB !important;
}

html[data-theme="cream"] .hg1746-today-btn:hover { background:var(--hg-primary-soft-hover) !important; }

html[data-theme="cream"] :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid rgba(11,93,75,.25);
  outline-offset:2px;
}

html[data-theme="cream"] table { background:var(--hg-surface); color:var(--hg-text); }

html[data-theme="cream"] th {
  background:var(--hg-primary-soft);
  color:var(--hg-primary);
  border-color:var(--hg-border);
}

html[data-theme="cream"] td { border-color:var(--hg-border); }

html[data-theme="cream"] tbody tr {
  transition:background var(--hg-transition-fast);
}

html[data-theme="cream"] tbody tr:hover { background:var(--hg-surface-hover); }

html[data-theme="cream"] .tableWrap,
html[data-theme="cream"] .hg-debt-table-wrap,
html[data-theme="cream"] .hg1748-table-wrap,
html[data-theme="cream"] .hg17414-table-wrap,
html[data-theme="cream"] .hg17426-table-wrap,
html[data-theme="cream"] .hg17426-wall-table-wrap,
html[data-theme="cream"] .hg1811-daily-table-scroll,
html[data-theme="cream"] .hg1823-table-wrap,
html[data-theme="cream"] .hg1826-table-wrap {
  border:1px solid var(--hg-border);
  border-radius:var(--hg-radius-md);
  background:var(--hg-surface);
}

html[data-theme="cream"] #hg17414Table th,
html[data-theme="cream"] .hg17426-table th,
html[data-theme="cream"] .hg17426-wall-table thead th {
  background:var(--hg-primary-soft);
}

html[data-theme="cream"] .hg17426-wall-table td { background:var(--hg-surface); }
html[data-theme="cream"] .hg17426-shift { background:#DCECE5; }
html[data-theme="cream"] .hg17426-room { background:#ECF4F0; }
html[data-theme="cream"] .hg17426-wall-slot { color:var(--hg-text); }
html[data-theme="cream"] .hg17426-wall-slot.warn { background:transparent; color:var(--hg-warning); }

html[data-theme="cream"] .hg1810-disclosure[open] > summary { border-color:var(--hg-border); }
html[data-theme="cream"] .hg1810-disclosure > summary::after { color:var(--hg-text-muted); }
html[data-theme="cream"] .hg1815-mobile-debtor-name { color:var(--hg-text); }
html[data-theme="cream"] .hg1815-mobile-debtor-debt { color:var(--hg-danger); }

html[data-theme="cream"] .hg-debt-row-left { background:#FFF9E9; }
html[data-theme="cream"] .hg-debt-row-info { background:var(--hg-info-soft); }
html[data-theme="cream"] .hg-debt-row-review { background:var(--hg-danger-soft); }
html[data-theme="cream"] .v17-selected { background:var(--hg-primary-soft) !important; box-shadow:inset 3px 0 var(--hg-primary); }

html[data-theme="cream"] .day,
html[data-theme="cream"] .v1681-day {
  background:var(--hg-surface);
  color:var(--hg-text);
  border-color:var(--hg-border);
}

html[data-theme="cream"] .day:hover,
html[data-theme="cream"] .v1681-day:hover { background:var(--hg-surface-hover); border-color:#A8C8BB; }

html[data-theme="cream"] .day.done,
html[data-theme="cream"] .v1681-day.done { background:var(--hg-success-soft); color:var(--hg-success); border-color:#9CCBB6; }
html[data-theme="cream"] .v1681-day.planned { background:var(--hg-info-soft); border-color:#9FC3D2; }
html[data-theme="cream"] .v1681-day.late { background:var(--hg-danger-soft); border-color:#E4ADAD; }
html[data-theme="cream"] .v1681-day.today,
html[data-theme="cream"] .day.today { box-shadow:inset 0 0 0 2px var(--hg-accent); }
html[data-theme="cream"] .v1681-day.selected { outline-color:var(--hg-primary); }

html[data-theme="cream"] .v1682o-title,
html[data-theme="cream"] .v1682o-row,
html[data-theme="cream"] .hg17426-draft-head,
html[data-theme="cream"] .hg17426-savebar,
html[data-theme="cream"] .hg21-modal-actions,
html[data-theme="cream"] .hg1735-modal-actions { border-color:var(--hg-border); }

html[data-theme="cream"] .v1682o-row small,
html[data-theme="cream"] .v1682o-fin span,
html[data-theme="cream"] .v1682o-empty,
html[data-theme="cream"] .v1681-week,
html[data-theme="cream"] .v1681-daylabel,
html[data-theme="cream"] .hg31-finance-note span,
html[data-theme="cream"] .hg1734-summary span,
html[data-theme="cream"] .hg17414-metrics span,
html[data-theme="cream"] .hg1823-muted,
html[data-theme="cream"] .hg1823-doc small,
html[data-theme="cream"] .hg1823-kpi-note,
html[data-theme="cream"] .hg1826-repeat,
html[data-theme="cream"] .hg1826-detail-item span { color:var(--hg-text-muted); }

html[data-theme="cream"] .v1682o-badge.done,
html[data-theme="cream"] .hg21-badge,
html[data-theme="cream"] .hg1823-status.good,
html[data-theme="cream"] .hg1826-status.success,
html[data-theme="cream"] .hg17414-repair.auto,
html[data-theme="cream"] .v1719Mode-auto {
  background:var(--hg-success-soft);
  color:var(--hg-success);
  border-color:#A8D2BF;
}

html[data-theme="cream"] .v1682o-badge.pending,
html[data-theme="cream"] .hg1823-status.warn,
html[data-theme="cream"] .hg1826-status.pending,
html[data-theme="cream"] .hg17414-level.warning,
html[data-theme="cream"] .hg17414-repair.review,
html[data-theme="cream"] .v1718Level-warning,
html[data-theme="cream"] .v1719Mode-review {
  background:var(--hg-warning-soft);
  color:var(--hg-warning);
}

html[data-theme="cream"] .hg1823-status.bad,
html[data-theme="cream"] .hg1826-status.failed,
html[data-theme="cream"] .hg17414-level.critical,
html[data-theme="cream"] .hg17414-level.error,
html[data-theme="cream"] .v1718Level-critical,
html[data-theme="cream"] .v1718Level-error,
html[data-theme="cream"] .v1719Mode-manual {
  background:var(--hg-danger-soft);
  color:var(--hg-danger);
}

html[data-theme="cream"] .hg1823-status.info,
html[data-theme="cream"] .hg17414-level.info,
html[data-theme="cream"] .v1718Level-info,
html[data-theme="cream"] .hg17414-version {
  background:var(--hg-info-soft);
  color:var(--hg-info);
}

html[data-theme="cream"] .good,
html[data-theme="cream"] .hg17426-status.good,
html[data-theme="cream"] .hg17414-status.good { color:var(--hg-success); }
html[data-theme="cream"] .bad,
html[data-theme="cream"] .hg17426-status.bad,
html[data-theme="cream"] .hg17414-status.bad,
html[data-theme="cream"] .hg1823-danger-note,
html[data-theme="cream"] .hg1826-detail-error { color:var(--hg-danger); }
html[data-theme="cream"] .done { background:var(--hg-success-soft); color:var(--hg-success); }
html[data-theme="cream"] .today { background:var(--hg-accent-soft); color:var(--hg-warning); }
html[data-theme="cream"] .late { background:var(--hg-danger-soft); color:var(--hg-danger); }
html[data-theme="cream"] .future { background:var(--hg-info-soft); color:var(--hg-info); }
html[data-theme="cream"] .off { background:var(--hg-disabled-bg); color:var(--hg-disabled-text); }
html[data-theme="cream"] .warn { background:var(--hg-warning-soft); color:var(--hg-warning); }

html[data-theme="cream"] .hg21-warnbox,
html[data-theme="cream"] .hg1740-warning,
html[data-theme="cream"] .hg1826-disclaimer {
  background:var(--hg-warning-soft);
  color:var(--hg-warning);
  border-color:#E7C678;
}

html[data-theme="cream"] .hg21-okbox {
  background:var(--hg-success-soft);
  color:var(--hg-success);
  border-color:#A8D2BF;
}

html[data-theme="cream"] .hg17414-card { background:var(--hg-surface); border-color:#ABCBBF; }
html[data-theme="cream"] .hg17414-status { background:var(--hg-surface-secondary); color:var(--hg-text-secondary); }
html[data-theme="cream"] #hg17414Table code { color:var(--hg-info); }

html[data-theme="cream"] .modalBg { background:rgba(20,43,36,.48); }

html[data-theme="cream"] .modal,
html[data-theme="cream"] .hg17426-time-slot-panel {
  background:var(--hg-surface);
  color:var(--hg-text);
  border-color:var(--hg-border-strong);
  border-radius:var(--hg-radius-xl);
  box-shadow:var(--hg-shadow-lg);
}

html[data-theme="cream"] .hg17426-time-slot-dialog { background:rgba(20,43,36,.48); }

html[data-theme="cream"] .hg1812-payment-backdrop {
  background:rgba(20,43,36,.48);
  backdrop-filter:none;
}

html[data-theme="cream"] .hg1812-payment-panel > .card { box-shadow:var(--hg-shadow-lg); }

html[data-theme="cream"] .hg1812-payment-close {
  background:var(--hg-surface-secondary);
  color:var(--hg-primary);
  border-color:var(--hg-border-strong);
}

html[data-theme="cream"] .hg1812-payment-close:hover,
html[data-theme="cream"] .hg1812-payment-close:focus-visible { background:var(--hg-primary-soft-hover); border-color:#A9C9BC; }

html[data-theme="cream"] .hg1812-payment-actions,
html[data-theme="cream"] .hg17426-savebar,
html[data-theme="cream"] .hg21-modal-actions,
html[data-theme="cream"] .hg1735-modal-actions {
  background:var(--hg-surface);
}

html[data-theme="cream"] #v1718BootMask { background:rgba(247,243,235,.94); }

html[data-theme="cream"] #v1718BootMask > div {
  background:var(--hg-surface);
  color:var(--hg-text);
  border-color:var(--hg-border);
  box-shadow:var(--hg-shadow-lg);
}

html[data-theme="cream"] .v1718Spin {
  border-color:var(--hg-border-strong);
  border-top-color:var(--hg-primary);
}

html[data-theme="cream"] .v1682o-empty,
html[data-theme="cream"] .v1718AuditEmpty,
html[data-theme="cream"] .v1719RepairEmpty,
html[data-theme="cream"] .hg17414-empty,
html[data-theme="cream"] .hg17426-empty,
html[data-theme="cream"] .hg1823-empty,
html[data-theme="cream"] .hg-debt-empty {
  color:var(--hg-text-muted);
}

html[data-theme="cream"] .hg1825-search-input {
  background:var(--hg-surface) !important;
  color:var(--hg-text) !important;
  border-color:var(--hg-border-strong) !important;
}

html[data-theme="cream"] .hg1825-search-input:focus {
  border-color:var(--hg-primary) !important;
  box-shadow:0 0 0 3px rgba(11,93,75,.12) !important;
}

html[data-theme="cream"] .hg1825-search-panel,
html[data-theme="cream"] .hg1825-search-results {
  background:var(--hg-surface);
  border-color:var(--hg-border);
  box-shadow:var(--hg-shadow-lg);
}

html[data-theme="cream"] .hg1825-search-result {
  background:var(--hg-surface-secondary);
  border-color:var(--hg-border);
}

html[data-theme="cream"] .hg1825-result-main { color:var(--hg-text); }
html[data-theme="cream"] .hg1825-result-main small,
html[data-theme="cream"] .hg1825-search-status { color:var(--hg-text-muted); }

html[data-theme="cream"] .hg1825-result-actions button,
html[data-theme="cream"] .hg1825-search-close {
  background:var(--hg-primary-soft);
  color:var(--hg-primary);
  border-color:#B9D7CB;
}

html[data-theme="cream"] .hg1825-result-actions button:hover,
html[data-theme="cream"] .hg1825-result-actions button:focus-visible { background:var(--hg-primary-soft-hover); border-color:#A9C9BC; }
html[data-theme="cream"] .hg1825-search-more { color:var(--hg-warning); }

html[data-theme="cream"] #hg1738MoneyPanel {
  background:var(--hg-surface);
  border-color:var(--hg-border-strong);
  box-shadow:var(--hg-shadow-lg);
}

html[data-theme="cream"] .hg1738-money-title,
html[data-theme="cream"] .hg1738-money-hint { color:var(--hg-text-secondary); }

html[data-theme="cream"] .hg1738-money-buttons button {
  background:var(--hg-surface-secondary);
  color:var(--hg-text);
  border-color:var(--hg-border);
}

html[data-theme="cream"] .hg1738-money-buttons button:hover { background:var(--hg-primary-soft-hover); }
html[data-theme="cream"] .hg1738-money-hint.active { color:var(--hg-primary); }

html[data-theme="cream"] .hg17424-contact-action.btn {
  background:var(--hg-primary-soft);
  color:var(--hg-primary);
  border-color:#B9D7CB;
}

html[data-theme="cream"] .hg17424-contact-action.hg17424-zalo { background:var(--hg-info-soft); color:var(--hg-info); }
html[data-theme="cream"] .hg17424-contact-action.hg17424-call { background:var(--hg-success-soft); color:var(--hg-success); }
html[data-theme="cream"] .metric .hg17424-phone { color:var(--hg-primary); }

html[data-theme="cream"] .hg1823-metric b { color:var(--hg-text); }
html[data-theme="cream"] .hg1823-metric span { color:var(--hg-text-muted); }

html[data-theme="cream"] .hg1823-tabs button {
  background:var(--hg-surface);
  color:var(--hg-primary);
  border-color:var(--hg-border);
}

html[data-theme="cream"] .hg1823-tabs button.active,
html[data-theme="cream"] .hg1823-tabs button[aria-selected="true"] {
  background:var(--hg-primary);
  color:#FFFFFF;
}

html[data-theme="cream"] #hgRoutePath {
  background:rgba(255,254,252,.96);
  color:var(--hg-text-muted);
  border-color:var(--hg-border);
  box-shadow:var(--hg-shadow-sm);
}

html[data-theme="cream"] #hg1739MobileMenuFab {
  background:var(--hg-primary) !important;
  color:#FFFFFF !important;
  border-color:rgba(255,255,255,.35) !important;
  box-shadow:var(--hg-shadow-md) !important;
}

/* Public tuition lookup is a separate page but shares the same origin and saved theme. */
html[data-theme="cream"] .public-shell { color:var(--hg-text); }

html[data-theme="cream"] .public-header {
  background:rgba(255,254,252,.96);
  border-bottom-color:var(--hg-border);
  box-shadow:var(--hg-shadow-sm);
}

html[data-theme="cream"] .brand-mark,
html[data-theme="cream"] .step-number {
  background:var(--hg-primary);
  color:#FFFFFF;
  box-shadow:none;
}

html[data-theme="cream"] .brand strong,
html[data-theme="cream"] .hero h1,
html[data-theme="cream"] .section-heading h2,
html[data-theme="cream"] .guide h2 { color:var(--hg-text); }

html[data-theme="cream"] .brand small,
html[data-theme="cream"] .hero p:last-child,
html[data-theme="cream"] .section-heading p,
html[data-theme="cream"] .hint,
html[data-theme="cream"] .status { color:var(--hg-text-secondary); }

html[data-theme="cream"] .eyebrow { color:var(--hg-primary); }

html[data-theme="cream"] .panel {
  background:var(--hg-surface);
  border:1px solid var(--hg-border);
  border-radius:20px;
  box-shadow:var(--hg-shadow-md);
}

html[data-theme="cream"] input[type="search"] {
  background:var(--hg-surface);
  color:var(--hg-text);
  border-color:var(--hg-border-strong);
  border-radius:12px;
}

html[data-theme="cream"] input[type="search"]:focus {
  border-color:var(--hg-primary);
  box-shadow:0 0 0 3px rgba(11,93,75,.12);
}

html[data-theme="cream"] .search-result,
html[data-theme="cream"] .selected-student,
html[data-theme="cream"] .payment-details div,
html[data-theme="cream"] .qr-image-wrap img {
  background:var(--hg-surface-secondary);
  border-color:var(--hg-border);
}

html[data-theme="cream"] .search-result:hover,
html[data-theme="cream"] .search-result:focus-visible { background:var(--hg-primary-soft-hover); border-color:#A9C9BC; }

html[data-theme="cream"] .search-result span,
html[data-theme="cream"] .selected-student span { color:var(--hg-text-secondary); }

html[data-theme="cream"] .primary-button {
  background:var(--hg-primary);
  color:#FFFFFF;
  box-shadow:0 5px 14px rgba(11,93,75,.16);
}

html[data-theme="cream"] .primary-button:hover { background:var(--hg-primary-hover); }

html[data-theme="cream"] .secondary-button,
html[data-theme="cream"] .payment-details button {
  background:var(--hg-surface);
  color:var(--hg-primary);
  border-color:#B9D7CB;
}

html[data-theme="cream"] .secondary-button:hover,
html[data-theme="cream"] .payment-details button:hover { background:var(--hg-primary-soft-hover); }

html[data-theme="cream"] .freshness-note,
html[data-theme="cream"] .notice {
  background:var(--hg-accent-soft);
  color:var(--hg-warning);
  border-color:#E7C678;
}

html[data-theme="cream"] .status.error { color:var(--hg-danger); }
html[data-theme="cream"] .status.success { color:var(--hg-success); }
html[data-theme="cream"] footer { color:var(--hg-text-muted); }

html[data-theme="cream"] button.badbtn,
html[data-theme="cream"] #hg30Table button.hg1739-delete-receipt,
html[data-theme="cream"] button.hg1737-hard-delete {
  background-color:#B54444 !important;
  background-image:none !important;
  color:#FFFFFF !important;
  border-color:#B54444 !important;
}

html[data-theme="cream"] button.badbtn:hover,
html[data-theme="cream"] #hg30Table button.hg1739-delete-receipt:hover,
html[data-theme="cream"] button.hg1737-hard-delete:hover {
  background-color:#963838 !important;
  border-color:#963838 !important;
}

/* RC3 visual refinement: lighter cream, clearer typography and light form controls. */
html[data-theme="cream"] h1,
html[data-theme="cream"] h2,
html[data-theme="cream"] h3,
html[data-theme="cream"] h4,
html[data-theme="cream"] th {
  font-weight:700;
}

html[data-theme="cream"] .sub,
html[data-theme="cream"] .small,
html[data-theme="cream"] label,
html[data-theme="cream"] .hint,
html[data-theme="cream"] .status,
html[data-theme="cream"] .pageHeading p,
html[data-theme="cream"] .sectionHead p {
  font-weight:500;
}

html[data-theme="cream"] .metric span,
html[data-theme="cream"] .cashMetric span,
html[data-theme="cream"] #dailyPayTotals span,
html[data-theme="cream"] .hg1823-metric span,
html[data-theme="cream"] .hg17414-metrics span {
  font-weight:600;
}

html[data-theme="cream"] button,
html[data-theme="cream"] .btn,
html[data-theme="cream"] .primary-button,
html[data-theme="cream"] .secondary-button {
  font-weight:600;
}

html[data-theme="cream"] input,
html[data-theme="cream"] select,
html[data-theme="cream"] textarea {
  font-weight:500;
}

html[data-theme="cream"] input:not([type="checkbox"]):not([type="radio"]):hover,
html[data-theme="cream"] select:hover,
html[data-theme="cream"] textarea:hover {
  background:var(--hg-surface-hover);
}

html[data-theme="cream"] #tuition input,
html[data-theme="cream"] #tuition select,
html[data-theme="cream"] #tuition textarea {
  background:var(--hg-surface);
  color:var(--hg-text);
  border-color:var(--hg-border-strong);
}

html[data-theme="cream"] #tuition input::placeholder,
html[data-theme="cream"] #tuition textarea::placeholder {
  color:var(--hg-text-muted);
  opacity:1;
}

html[data-theme="cream"] select option {
  background:var(--hg-surface);
  color:var(--hg-text);
}

html[data-theme="cream"] .v1682o-fin .profit {
  background:#E4F2EB;
  border-color:#A9CDBD;
  color:#234B3E;
  box-shadow:inset 3px 0 rgba(38,115,86,.50);
}

html[data-theme="cream"] .v1682o-fin .profit span {
  color:#345E51;
  font-weight:600;
}

html[data-theme="cream"] .v1682o-fin .profit b {
  color:#155F48;
  font-weight:700;
}

/* RC2: mobile-only cream and sidebar refinement; desktop tokens stay unchanged. */
@media(max-width:900px) {
  html[data-theme="cream"] {
    --hg-page-bg:#FFFEFC;
    --hg-surface:#FFFFFF;
    --hg-surface-secondary:#FEFEFC;
    --hg-surface-hover:#FFFFFF;
  }

  html[data-theme="cream"] body > header:not(.public-header),
  html[data-theme="cream"] .public-header {
    background:rgba(255,255,254,.98);
  }

  html[data-theme="cream"] #appSidebar button[data-page] {
    color:#FFFFFF !important;
    font-size:13px !important;
    font-weight:500;
  }

  html[data-theme="cream"] #appSidebar button[data-page].active {
    font-weight:600;
  }
}

@media(prefers-reduced-motion:reduce) {
  html[data-theme="cream"] *,
  html[data-theme="cream"] *::before,
  html[data-theme="cream"] *::after {
    transition-duration:.01ms !important;
  }
}
