html,
body {
  min-height: 100%;
}

/* mid-dark palette (less blue, less black than slate-950)
   body  #1d1f24   cards #252830   subtle #2e323d   hover #3c4049
   borders #363a44   muted text #8a8f99 */
.owoxo-theme-dark {
  color-scheme: dark;
  background-color: #1d1f24;
  color: #e2e8f0;
}

.owoxo-theme-light {
  color-scheme: light;
}

/* Pages like organization/overview.php apply bg-slate-950 directly on <main>
   for the dark canvas. Both the dark and light overrides use !important so
   Tailwind's compiled utility layer (which has higher cascade priority on
   some builds) can't fall back to its own slate values (slate-950 = #020617
   etc.) and the chosen theme always wins. */
.owoxo-theme-dark .bg-slate-950 { background-color: #1d1f24 !important; }
.owoxo-theme-dark .bg-slate-900 { background-color: #252830 !important; }
.owoxo-theme-dark .bg-slate-800 { background-color: #2e323d !important; }
.owoxo-theme-dark .text-slate-100 { color: #f1f5f9 !important; }
.owoxo-theme-dark .text-slate-200 { color: #e2e8f0 !important; }
.owoxo-theme-dark .text-slate-300 { color: #cbd5e1 !important; }
.owoxo-theme-dark .text-slate-400 { color: #9ba1ad !important; }
.owoxo-theme-dark .text-slate-500 { color: #8a8f99 !important; }
.owoxo-theme-dark .border-slate-100 { border-color: #f1f5f9 !important; }
.owoxo-theme-dark .border-slate-400 { border-color: #9ba1ad !important; }
.owoxo-theme-dark .border-slate-700 { border-color: #3c4049 !important; }
.owoxo-theme-dark .ring-slate-800 { --tw-ring-color: #2e323d !important; }
.owoxo-theme-dark .divide-slate-800 > :not([hidden]) ~ :not([hidden]) { border-color: #2e323d !important; }
.owoxo-theme-dark .hover\:bg-slate-700:hover { background-color: #3c4049 !important; }
.owoxo-theme-dark .hover\:bg-slate-800\/70:hover { background-color: rgba(46, 50, 61, 0.7) !important; }
.owoxo-theme-dark .group:hover .group-hover\:text-slate-200 { color: #e2e8f0 !important; }
.owoxo-theme-dark .focus-visible\:outline-slate-200:focus-visible { outline-color: #e2e8f0 !important; }

.owoxo-theme-light .bg-slate-950,
.owoxo-theme-light .bg-slate-900 { background-color: #ffffff !important; }
.owoxo-theme-light .bg-slate-800 { background-color: #f3f4f6 !important; }
.owoxo-theme-light .text-slate-100,
.owoxo-theme-light .text-slate-200 { color: #111827 !important; }
.owoxo-theme-light .text-slate-300,
.owoxo-theme-light .text-slate-400 { color: #374151 !important; }
.owoxo-theme-light .text-slate-500 { color: #6b7280 !important; }
.owoxo-theme-light .border-slate-100 { border-color: #111827 !important; }
.owoxo-theme-light .border-slate-400 { border-color: #9ca3af !important; }
.owoxo-theme-light .border-slate-700 { border-color: #e5e7eb !important; }
.owoxo-theme-light .ring-slate-800 { --tw-ring-color: #d1d5db !important; }
.owoxo-theme-light .divide-slate-800 > :not([hidden]) ~ :not([hidden]) { border-color: #e5e7eb !important; }
.owoxo-theme-light .hover\:bg-slate-700:hover,
.owoxo-theme-light .hover\:bg-slate-800\/70:hover { background-color: #e5e7eb !important; }
.owoxo-theme-light .group:hover .group-hover\:text-slate-200 { color: #374151 !important; }
.owoxo-theme-light .focus-visible\:outline-slate-200:focus-visible { outline-color: #111827 !important; }

.owoxo-theme-dark thead tr,
.owoxo-theme-dark tbody tr,
.owoxo-theme-dark tfoot tr {
  background-color: #252830;
}

.owoxo-theme-dark .bg-white,
.owoxo-theme-dark .bg-gray-50 {
  background-color: #252830;
}

.owoxo-theme-dark .bg-gray-100 {
  background-color: #2e323d;
}

.owoxo-theme-dark .bg-gray-200,
.owoxo-theme-dark .bg-gray-900 {
  background-color: #3c4049;
}

.owoxo-theme-dark .bg-gray-700 {
  background-color: #4f5563;
}

.owoxo-theme-dark .bg-orange-50,
.owoxo-theme-dark .bg-orange-100 {
  background-color: rgba(194, 65, 12, 0.22);
  color: #fdba74;
}

.owoxo-theme-dark .bg-green-50,
.owoxo-theme-dark .bg-green-100 {
  background-color: rgba(22, 101, 52, 0.24);
  color: #86efac;
}

.owoxo-theme-dark .bg-blue-50,
.owoxo-theme-dark .bg-blue-100 {
  background-color: rgba(29, 78, 216, 0.22);
  color: #93c5fd;
}

.owoxo-theme-dark .bg-indigo-100 {
  background-color: rgba(55, 48, 163, 0.28);
}

.owoxo-theme-dark .bg-orange-300,
.owoxo-theme-dark .bg-orange-400 {
  background-color: #c2410c;
}

.owoxo-theme-dark .bg-red-400 {
  background-color: #dc2626;
}

.owoxo-theme-dark .bg-red-600 {
  background-color: #991b1b;
}

.owoxo-theme-dark .bg-black {
  background-color: #f8fafc;
}

.owoxo-theme-dark .text-gray-900,
.owoxo-theme-dark .text-gray-800,
.owoxo-theme-dark .text-black {
  color: #e2e8f0;
}

.owoxo-theme-dark .bg-orange-50.text-gray-900,
.owoxo-theme-dark .bg-orange-100.text-gray-900,
.owoxo-theme-dark .bg-orange-50.text-black,
.owoxo-theme-dark .bg-orange-100.text-black {
  color: #fdba74;
}

.owoxo-theme-dark .bg-green-50.text-gray-900,
.owoxo-theme-dark .bg-green-100.text-gray-900,
.owoxo-theme-dark .bg-green-50.text-black,
.owoxo-theme-dark .bg-green-100.text-black {
  color: #86efac;
}

.owoxo-theme-dark .text-gray-700 {
  color: #cbd5e1;
}

.owoxo-theme-dark .text-gray-600,
.owoxo-theme-dark .text-gray-500 {
  color: #9ba1ad;
}

.owoxo-theme-dark .text-gray-400,
.owoxo-theme-dark .text-gray-300 {
  color: #8a8f99;
}

.owoxo-theme-dark .border-gray-200,
.owoxo-theme-dark .border-gray-300 {
  border-color: #3c4049;
}

.owoxo-theme-dark .border-gray-800 {
  border-color: #9ba1ad;
}

.owoxo-theme-dark .border-gray-900,
.owoxo-theme-dark .border-black {
  border-color: #f8fafc;
}

.owoxo-theme-dark .ring-gray-300 {
  --tw-ring-color: #3c4049;
}

.owoxo-theme-dark .ring-gray-900\/10 {
  --tw-ring-color: rgba(155, 161, 173, 0.14);
}

.owoxo-theme-dark .sm\:ring-gray-900\/10 {
  --tw-ring-color: rgba(155, 161, 173, 0.14);
}

.owoxo-theme-dark .outline-gray-200 {
  outline-color: #3c4049;
}

.owoxo-theme-dark .divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  border-color: #2e323d;
}

.owoxo-theme-dark .divide-gray-300 > :not([hidden]) ~ :not([hidden]) {
  border-color: #3c4049;
}

.owoxo-theme-dark .divide-gray-500\/10 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgba(155, 161, 173, 0.14);
}

.owoxo-theme-dark .hover\:bg-white:hover,
.owoxo-theme-dark .hover\:bg-gray-50:hover,
.owoxo-theme-dark .hover\:bg-gray-100:hover,
.owoxo-theme-dark .focus\:bg-gray-100:focus {
  background-color: #2e323d;
}

.owoxo-theme-dark .hover\:bg-gray-200:hover,
.owoxo-theme-dark .hover\:bg-gray-700:hover {
  background-color: #4f5563;
}

.owoxo-theme-dark .hover\:text-gray-900:hover,
.owoxo-theme-dark .focus\:text-gray-900:focus {
  color: #f8fafc;
}

.owoxo-theme-dark .hover\:text-gray-700:hover {
  color: #e2e8f0;
}

.owoxo-theme-dark .hover\:border-gray-800:hover {
  border-color: #94a3b8;
}

.owoxo-theme-dark .placeholder\:text-gray-400::placeholder {
  color: #8a8f99;
}

.owoxo-theme-dark .group:hover .group-hover\:text-gray-400 {
  color: #9ba1ad;
}

.owoxo-theme-dark .focus-visible\:outline-gray-800:focus-visible,
.owoxo-theme-dark .focus-visible\:outline-black:focus-visible {
  outline-color: #f8fafc;
}

/* Dashboard contributions heatmap palette — 6 levels, level 0 = empty.
   Dark theme keeps the original ramp (dark slate up to light blue).
   Light theme flips it so the empty cells fade into a near-white page
   and the most-active cells use the deep navy. */
.owoxo-theme-light .heatmap-l0 { background-color: #e3e7eb; }
.owoxo-theme-light .heatmap-l1 { background-color: #8db5dc; }
.owoxo-theme-light .heatmap-l2 { background-color: #679cd0; }
.owoxo-theme-light .heatmap-l3 { background-color: #4183c4; }
.owoxo-theme-light .heatmap-l4 { background-color: #31699f; }
.owoxo-theme-light .heatmap-l5 { background-color: #254f77; }
.owoxo-theme-dark  .heatmap-l0 { background-color: #2d353c; }
.owoxo-theme-dark  .heatmap-l1 { background-color: #254f77; }
.owoxo-theme-dark  .heatmap-l2 { background-color: #31699f; }
.owoxo-theme-dark  .heatmap-l3 { background-color: #4183c4; }
.owoxo-theme-dark  .heatmap-l4 { background-color: #679cd0; }
.owoxo-theme-dark  .heatmap-l5 { background-color: #8db5dc; }

/* Light-theme mappings for the STATE colours the deployment fragment (and any
   slate page) uses — badges, flashes and env chips were authored dark-first
   (bg-*-900/40 + text-*-300, bg-*-500/20 chips) and stayed near-black on the
   day theme. Dark keeps the authored values; light flips to tint + dark text. */
.owoxo-theme-light .bg-emerald-900\/40 { background-color: #d1fae5 !important; }
.owoxo-theme-light .bg-amber-900\/40   { background-color: #fef3c7 !important; }
.owoxo-theme-light .bg-red-900\/40     { background-color: #fee2e2 !important; }
.owoxo-theme-light .ring-emerald-800   { --tw-ring-color: #a7f3d0 !important; }
.owoxo-theme-light .ring-amber-800     { --tw-ring-color: #fde68a !important; }
.owoxo-theme-light .ring-red-800       { --tw-ring-color: #fecaca !important; }
.owoxo-theme-light .text-emerald-200,
.owoxo-theme-light .text-emerald-300   { color: #065f46 !important; }
.owoxo-theme-light .text-amber-300     { color: #92400e !important; }
.owoxo-theme-light .text-red-200,
.owoxo-theme-light .text-red-300       { color: #991b1b !important; }
.owoxo-theme-light .text-sky-300       { color: #075985 !important; }
.owoxo-theme-light .text-teal-300      { color: #115e59 !important; }
.owoxo-theme-light .text-blue-300      { color: #1e40af !important; }
.owoxo-theme-light .text-orange-300    { color: #9a3412 !important; }
.owoxo-theme-light .text-purple-300    { color: #6b21a8 !important; }
.owoxo-theme-light .bg-orange-500\/20  { background-color: #ffedd5 !important; }
.owoxo-theme-light .bg-blue-500\/20    { background-color: #dbeafe !important; }
.owoxo-theme-light .bg-emerald-500\/20 { background-color: #d1fae5 !important; }
.owoxo-theme-light .bg-purple-500\/20  { background-color: #f3e8ff !important; }
.owoxo-theme-light .bg-amber-500\/20   { background-color: #fef3c7 !important; }
.owoxo-theme-light .bg-red-500\/20     { background-color: #fee2e2 !important; }
.owoxo-theme-light .bg-sky-500\/20     { background-color: #e0f2fe !important; }
.owoxo-theme-light .bg-teal-500\/20    { background-color: #ccfbf1 !important; }
