html, body {
  height: 100%;
}

:root,
html.theme-dark {
  --bg-app: #0b0b0f;
  --bg-card: #17171f;
  --bg-input: #0e0e14;
  --bg-tab: #1e1e28;
  --accent-red: #df3427;
  --accent-gold: #f0d463;
  --accent-gold-hover: #e0c34f;
  --border: #2a2a36;
  --border-strong: #3a3a46;
  --border-soft: #23232d;
  --text-gold: #f0d463;
  --text-on-gold: #0b0b0f;
  --text-primary: #f1f5f9;
  --text-primary2: #e2e8f0;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
  --text-faint: #64748b;
  --tint-red-bg: #2e1013;
  --tint-red-bg2: #3a1418;
  --tint-red-border: #5a1a20;
  --tint-red-border2: #6b2028;
  --tint-gold-bg: #2e2410;
  --tint-gold-bg2: #3a2f10;
  --tint-gold-border: #55431a;
  --tint-gold-border2: #6b5620;
  --tint-green-bg: #123a26;
  --tint-green-bg2: #0f2e1f;
  --tint-green-border: #1a5a3a;
  color-scheme: dark;
}

html.theme-light {
  --bg-app: #f7f4ec;
  --bg-card: #ffffff;
  --bg-input: #f1ede2;
  --bg-tab: #ece6d6;
  --accent-red: #df3427;
  --accent-gold: #f0d463;
  --accent-gold-hover: #e0c34f;
  --border: #e3ddc9;
  --border-strong: #d3cab0;
  --border-soft: #ede8da;
  --text-gold: #8a6417;
  --text-on-gold: #0b0b0f;
  --text-primary: #1c1917;
  --text-primary2: #29241f;
  --text-secondary: #44403a;
  --text-muted: #6b6459;
  --text-faint: #8a8377;
  --tint-red-bg: #fde7e5;
  --tint-red-bg2: #fdeceb;
  --tint-red-border: #f3b3ae;
  --tint-red-border2: #ef9a94;
  --tint-gold-bg: #fbf1d4;
  --tint-gold-bg2: #faecc2;
  --tint-gold-border: #e9d48f;
  --tint-gold-border2: #dfc373;
  --tint-green-bg: #e2f8ea;
  --tint-green-bg2: #d9f5e3;
  --tint-green-border: #8fdcb0;
  color-scheme: light;
}

html.theme-light body {
  background-color: var(--bg-app);
}

html.theme-light .text-red-400 {
  color: #b91c1c;
}

html.theme-light .text-emerald-400 {
  color: #15803d;
}

html.theme-light .bg-emerald-500 {
  background-color: #16a34a;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-tap-highlight-color: transparent;
}

button {
  cursor: pointer;
}

input[type="number"]::-webkit-inner-spin-button {
  opacity: 1;
}

/* Keep tap targets comfortable on phones/tablets used behind a counter. */
button, input, select {
  font-size: 16px;
}

::selection {
  background: #df3427;
  color: #ffffff;
}

input::placeholder {
  color: #5a5a68;
}

/* date/time picker icons are black by default — invert for the dark theme only */
html.theme-dark input[type="date"]::-webkit-calendar-picker-indicator,
html.theme-dark input[type="time"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

/* Printable views — a tab opts in by wrapping its content in .print-area
   and marking anything interactive (buttons, forms) with .no-print. */
@media print {
  body * {
    visibility: hidden;
  }
  .print-area,
  .print-area * {
    visibility: visible;
  }
  .print-area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 12px;
  }
  .no-print {
    display: none !important;
  }
  .print-area,
  .print-area * {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: #cccccc !important;
    box-shadow: none !important;
  }
  .print-header {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    border-bottom: 2px solid #111111;
    padding-bottom: 10px;
  }
  .print-header img {
    height: 32px;
  }
}
.print-header {
  display: none;
}
