body {
  font-family: 'Outfit', 'Inter', sans-serif;
  background-color: #0b0f17;
  color: #e2e8f0;
  min-height: 100vh;
  -webkit-tap-highlight-color: transparent;
}

.font-serif-luxury { font-family: 'Cinzel', Georgia, serif; }

.theme-heritage {
  --bg-sheet: #FFFDF9;
  --border-accent: #E8DCC4;
  --text-primary: #3B0808;
  --text-secondary: #7A4949;
  --accent-color: #881313;
  --accent-soft: rgba(136, 19, 19, 0.06);
  --table-header-bg: #FAF5EA;
  --row-border: #F2E8D5;
  --total-highlight: #5B0B0B;
  --card-shadow: 0 25px 60px -15px rgba(59, 8, 8, 0.15), 0 0 0 1px rgba(197, 160, 89, 0.35);
}

.theme-executive {
  --bg-sheet: #FFFFFF;
  --border-accent: #E2E8F0;
  --text-primary: #0F172A;
  --text-secondary: #64748B;
  --accent-color: #C5A059;
  --accent-soft: rgba(197, 160, 89, 0.08);
  --table-header-bg: #F8FAFC;
  --row-border: #F1F5F9;
  --total-highlight: #0F172A;
  --card-shadow: 0 25px 60px -15px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(226, 232, 240, 0.8);
}

.theme-minimalist {
  --bg-sheet: #FFFFFF;
  --border-accent: #E5E7EB;
  --text-primary: #111827;
  --text-secondary: #6B7280;
  --accent-color: #4F46E5;
  --accent-soft: rgba(79, 70, 229, 0.06);
  --table-header-bg: transparent;
  --row-border: #F3F4F6;
  --total-highlight: #111827;
  --card-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.07), 0 0 0 1px #E5E7EB;
}

.theme-obsidian {
  --bg-sheet: #111827;
  --border-accent: #374151;
  --text-primary: #F9FAFB;
  --text-secondary: #9CA3AF;
  --accent-color: #F59E0B;
  --accent-soft: rgba(245, 158, 11, 0.12);
  --table-header-bg: #1F2937;
  --row-border: #1F2937;
  --total-highlight: #F59E0B;
  --card-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.7), 0 0 0 1px #374151;
}

.invoice-canvas-sheet {
  background: var(--bg-sheet);
  color: var(--text-primary);
  box-shadow: var(--card-shadow);
  border-radius: 20px;
  width: 820px;
  min-width: 820px;
  margin: 0 auto;
  box-sizing: border-box;
  transform-origin: top center;
}

.preview-scale-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  justify-content: center;
  padding-bottom: 20px;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] { -moz-appearance: textfield; }

.custom-scrollbar::-webkit-scrollbar { height: 6px; width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: rgba(15, 23, 42, 0.6); border-radius: 8px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(217, 119, 6, 0.5); border-radius: 8px; }

@media print {
  body { background: #ffffff !important; padding: 0 !important; margin: 0 !important; }
  .no-print { display: none !important; }
  .preview-scale-wrapper { overflow: visible !important; display: block !important; }
  .invoice-canvas-sheet {
    box-shadow: none !important;
    border: none !important;
    width: 100% !important;
    min-width: 100% !important;
    transform: none !important;
    padding: 16px !important;
  }
}
