html.light {
  color-scheme: light;
}

html.light .bg-background,
html.light body {
  background-color: #f4f7fb !important;
}

html.light .bg-surface {
  background-color: #ffffff !important;
}

html.light .bg-surface-container,
html.light .bg-surface-container-lowest {
  background-color: #f8fafc !important;
}

html.light .bg-surface-container-high,
html.light .bg-surface-container-highest,
html.light .bg-surface-variant,
html.light .bg-surface-bright {
  background-color: #eef3f7 !important;
}

html.light .text-on-surface {
  color: #172033 !important;
}

html.light .text-on-surface-variant {
  color: #5d6b7b !important;
}

html.light .border-outline,
html.light .border-outline-variant,
html.light .border-surface-container-high,
html.light .border-surface-bright {
  border-color: #cfd8e3 !important;
}

html.light .text-primary {
  color: #006a61 !important;
}

html.light .bg-primary {
  background-color: #00796f !important;
}

html.light .text-on-primary {
  color: #ffffff !important;
}

html.light .bg-primary-container,
html.light .bg-primary\/10 {
  background-color: #d7f4ef !important;
}

html.light .tab-inactive {
  color: #5d6b7b !important;
}

html.light .tab-inactive:hover {
  background-color: #e4ebf2 !important;
}

html.light .tab-active {
  background-color: #00796f !important;
  color: #ffffff !important;
}

html.light .text-error {
  color: #b42318 !important;
}

html.light .bg-error\/10 {
  background-color: #fee4e2 !important;
}

html.light input,
html.light textarea,
html.light select {
  color: #172033 !important;
}

html.light ::placeholder {
  color: #7a8897 !important;
}

.theme-toggle {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 80;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(136,147,145,.45);
  background: #222a3d;
  color: #dae2fd;
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
}

html.light .theme-toggle {
  background: #ffffff;
  color: #172033;
  box-shadow: 0 12px 32px rgba(15,23,42,.16);
}

@media print {
  .theme-toggle {
    display: none !important;
  }
}

/* Fix iOS Safari: 100vh includes browser chrome, cutting off bottom content.
   100dvh = dynamic viewport height that excludes browser UI. */
@supports (height: 100dvh) {
  .h-screen {
    height: 100dvh !important;
  }
  .min-h-screen {
    min-height: 100dvh !important;
  }
}
