/* Custom brand colors for Distributed Cuisine */
:root {
  --color-brand-red: #f4583d;
  --color-brand-cream: #ece0c6;
}

/* Gradient support for brand colors */
.from-brand-red {
  --tw-gradient-from: #f4583d var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 88 61 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-brand-red {
  --tw-gradient-to: #f4583d var(--tw-gradient-to-position);
}

/* Brand color utilities */
.bg-brand-red { background-color: var(--color-brand-red); }
.text-brand-red { color: var(--color-brand-red); }
.border-brand-red { border-color: var(--color-brand-red); }

.bg-brand-cream { background-color: var(--color-brand-cream); }
.text-brand-cream { color: var(--color-brand-cream); }
.border-brand-cream { border-color: var(--color-brand-cream); }

/* Opacity variants */
.bg-brand-red\/10 { background-color: rgb(244 88 61 / 0.1); }
.bg-brand-red\/15 { background-color: rgb(244 88 61 / 0.15); }
.bg-brand-red\/20 { background-color: rgb(244 88 61 / 0.2); }
.bg-brand-red\/90 { background-color: rgb(244 88 61 / 0.9); }

.bg-brand-cream\/5 { background-color: rgb(236 224 198 / 0.05); }
.bg-brand-cream\/10 { background-color: rgb(236 224 198 / 0.1); }
.bg-brand-cream\/20 { background-color: rgb(236 224 198 / 0.2); }

.text-brand-cream\/60 { color: rgb(236 224 198 / 0.6); }
.text-brand-cream\/70 { color: rgb(236 224 198 / 0.7); }

.border-brand-red\/10 { border-color: rgb(244 88 61 / 0.1); }
.border-brand-red\/30 { border-color: rgb(244 88 61 / 0.3); }
.border-brand-red\/40 { border-color: rgb(244 88 61 / 0.4); }

.border-brand-cream\/10 { border-color: rgb(236 224 198 / 0.1); }
.border-brand-cream\/20 { border-color: rgb(236 224 198 / 0.2); }
.border-brand-cream\/30 { border-color: rgb(236 224 198 / 0.3); }

/* Dark mode variants */
.dark .dark\:bg-brand-red\/10 { background-color: rgb(244 88 61 / 0.1); }
.dark .dark\:bg-brand-red\/15 { background-color: rgb(244 88 61 / 0.15); }
.dark .dark\:bg-brand-red\/20 { background-color: rgb(244 88 61 / 0.2); }

.dark .dark\:bg-brand-cream\/5 { background-color: rgb(236 224 198 / 0.05); }
.dark .dark\:bg-brand-cream\/10 { background-color: rgb(236 224 198 / 0.1); }

.dark .dark\:text-brand-cream { color: var(--color-brand-cream); }
.dark .dark\:text-brand-red { color: var(--color-brand-red); }

.dark .dark\:border-brand-cream\/10 { border-color: rgb(236 224 198 / 0.1); }
.dark .dark\:border-brand-cream\/20 { border-color: rgb(236 224 198 / 0.2); }
.dark .dark\:border-brand-red\/30 { border-color: rgb(244 88 61 / 0.3); }
.dark .dark\:border-brand-red\/40 { border-color: rgb(244 88 61 / 0.4); }

/* Hover variants */
.hover\:bg-brand-red\/90:hover { background-color: rgb(244 88 61 / 0.9); }
.hover\:bg-brand-cream\/10:hover { background-color: rgb(236 224 198 / 0.1); }
.hover\:bg-brand-red\/25:hover { background-color: rgb(244 88 61 / 0.25); }

.dark .dark\:hover\:bg-brand-cream\/10:hover { background-color: rgb(236 224 198 / 0.1); }
.dark .dark\:hover\:bg-brand-cream\/25:hover { background-color: rgb(236 224 198 / 0.25); }
.dark .dark\:hover\:bg-brand-red\/25:hover { background-color: rgb(244 88 61 / 0.25); }

.dark .dark\:hover\:border-brand-cream\/20:hover { border-color: rgb(236 224 198 / 0.2); }
.dark .dark\:hover\:border-brand-cream\/30:hover { border-color: rgb(236 224 198 / 0.3); }
.dark .dark\:hover\:border-brand-red\/40:hover { border-color: rgb(244 88 61 / 0.4); }

/* Quick action links hover effect */
.quick-action-link:hover {
  background-color: #f4583d !important;
  color: white !important;
}

.quick-action-link:hover * {
  color: white !important;
}

/* ========================================
   Report Styles - Minimum 14px font
   ======================================== */

/* Base report table styles */
.report-table {
  font-size: 14px;
  line-height: 1.5;
}

.report-table th {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.report-table td {
  font-size: 14px;
}

/* Report cards */
.report-card-value {
  font-size: 24px;
  font-weight: 700;
}

.report-card-label {
  font-size: 14px;
  font-weight: 500;
}

/* ========================================
   Print Styles for Reports
   ======================================== */
@media print {
  /* Hide navigation and non-essential elements */
  #sidebar,
  #mobile-menu-backdrop,
  #open-sidebar,
  #toggle-sidebar,
  .no-print {
    display: none !important;
  }

  /* Reset main content positioning */
  #main-content {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  /* Page setup */
  @page {
    size: letter;
    margin: 0.5in;
  }

  body {
    font-size: 12pt;
    line-height: 1.4;
    background: white !important;
    color: black !important;
  }

  /* Table styles for print */
  table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11pt;
  }

  th, td {
    padding: 6px 8px;
    border: 1px solid #ccc;
    text-align: left;
  }

  th {
    background-color: #f5f5f5 !important;
    font-weight: 600;
    font-size: 10pt;
  }

  /* Ensure text is readable */
  * {
    color: black !important;
    background: transparent !important;
  }

  /* Keep colored badges visible */
  .bg-green-100, .bg-red-100, .bg-yellow-100, .bg-blue-100 {
    background-color: #f0f0f0 !important;
    border: 1px solid #ccc !important;
  }

  /* Page breaks */
  .page-break-before {
    page-break-before: always;
  }

  .page-break-after {
    page-break-after: always;
  }

  .avoid-break {
    page-break-inside: avoid;
  }
}
