/* ============================================================
   THEME SYSTEM – Standard (Light), Dark, Blueprint
   ============================================================ */

/* ── STANDARD (Light) ─────────────────────────────────────── */
/* Tailwind-Defaults, kein Override nötig */

/* ── DARK MODE ────────────────────────────────────────────── */
html.dark body                        { background-color: #030712; color: #f3f4f6; }
html.dark .bg-gray-100                { background-color: #030712 !important; }
html.dark .bg-gray-50                 { background-color: #0a0f1a !important; }
html.dark .bg-white                   { background-color: #111827 !important; }
html.dark .text-gray-900              { color: #f3f4f6 !important; }
html.dark .text-gray-800              { color: #e5e7eb !important; }
html.dark .text-gray-700              { color: #d1d5db !important; }
html.dark .text-gray-600              { color: #9ca3af !important; }
html.dark .text-gray-500              { color: #9ca3af !important; }
html.dark .border-gray-200            { border-color: #374151 !important; }
html.dark .border-gray-100            { border-color: #1f2937 !important; }
html.dark .border-gray-300            { border-color: #4b5563 !important; }
html.dark .divide-gray-100 > * + *    { border-color: #1f2937 !important; }
html.dark input, html.dark textarea, html.dark select {
  background-color: #1f2937 !important;
  border-color: #4b5563 !important;
  color: #f3f4f6 !important;
}
html.dark input::placeholder, html.dark textarea::placeholder {
  color: #6b7280 !important;
}
html.dark .shadow-sm                  { box-shadow: 0 1px 2px rgba(0,0,0,0.4) !important; }
html.dark .shadow-xl                  { box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important; }
/* Admin-Sidebar im Dark Mode */
html.dark #admin-sidebar              { background-color: #0f172a !important; }
html.dark #admin-sidebar .border-blue-700 { border-color: #1e293b !important; }
html.dark #admin-sidebar .bg-blue-700 { background-color: #1e3a5f !important; }
html.dark #admin-sidebar .hover\:bg-blue-700:hover { background-color: #1e3a5f !important; }
/* Admin main */
html.dark #admin-main                 { color: #f3f4f6; }
/* Cards & Panels */
html.dark .bg-blue-50                 { background-color: #172554 !important; }
html.dark .text-blue-700              { color: #93c5fd !important; }
html.dark .text-blue-600              { color: #60a5fa !important; }
html.dark .bg-blue-600                { background-color: #2563eb !important; }
html.dark .hover\:bg-blue-700:hover   { background-color: #1d4ed8 !important; }
/* Tabs */
html.dark .tab-btn.bg-blue-600        { background-color: #2563eb !important; }
html.dark .tab-btn.text-gray-500      { color: #9ca3af !important; }
html.dark .tab-btn.text-gray-600      { color: #9ca3af !important; }
/* Mobile top bar */
html.dark .bg-blue-800                { background-color: #0f172a !important; }
/* App header */
html.dark header.bg-blue-700          { background-color: #0f172a !important; }
html.dark .bg-blue-700                { background-color: #1e3a5f !important; }
/* Feedback-Meldungen */
html.dark .bg-red-50                  { background-color: #450a0a !important; }
html.dark .text-red-700               { color: #fca5a5 !important; }
html.dark .border-red-200             { border-color: #7f1d1d !important; }
html.dark .bg-green-50                { background-color: #052e16 !important; }
html.dark .text-green-700             { color: #86efac !important; }
html.dark .border-green-200           { border-color: #166534 !important; }
/* Hover-States */
html.dark .hover\:bg-gray-50:hover    { background-color: #1f2937 !important; }
html.dark .hover\:bg-gray-100:hover   { background-color: #1f2937 !important; }
html.dark .hover\:bg-gray-200:hover   { background-color: #374151 !important; }
html.dark .hover\:text-gray-800:hover { color: #e5e7eb !important; }
html.dark .hover\:text-gray-900:hover { color: #f3f4f6 !important; }
html.dark .active\:bg-gray-100:active { background-color: #374151 !important; }

/* Kanban-Spalten (Opacity-Varianten) */
html.dark [class*="bg-blue-50\/"]     { background-color: rgba(23,37,84,0.5) !important; }
html.dark [class*="bg-green-50\/"]    { background-color: rgba(5,46,22,0.5) !important; }
html.dark [class*="bg-yellow-50\/"]   { background-color: rgba(66,32,6,0.5) !important; }
html.dark [class*="bg-red-50\/"]      { background-color: rgba(69,10,10,0.5) !important; }
html.dark .bg-yellow-50               { background-color: #422006 !important; }
html.dark .border-blue-100            { border-color: #1e3a5f !important; }
html.dark .border-green-100           { border-color: #166534 !important; }
html.dark .border-green-300           { border-color: #166534 !important; }
html.dark .border-yellow-100          { border-color: #854d0e !important; }

/* Status-Badges & Chips */
html.dark .bg-green-100               { background-color: #052e16 !important; }
html.dark .text-green-700             { color: #86efac !important; }
html.dark .text-green-600             { color: #4ade80 !important; }
html.dark .bg-yellow-100              { background-color: #422006 !important; }
html.dark .text-yellow-700            { color: #fde047 !important; }
html.dark .text-yellow-600            { color: #facc15 !important; }
html.dark .bg-blue-100                { background-color: #1e3a5f !important; }
html.dark .text-blue-700              { color: #93c5fd !important; }
html.dark .bg-orange-100              { background-color: #431407 !important; }
html.dark .text-orange-600            { color: #fb923c !important; }
html.dark .text-orange-700            { color: #fdba74 !important; }
html.dark .bg-red-100                 { background-color: #450a0a !important; }
html.dark .text-red-600               { color: #fca5a5 !important; }
html.dark .bg-gray-200                { background-color: #374151 !important; }
html.dark .bg-gray-300                { background-color: #4b5563 !important; }
html.dark .text-gray-300              { color: #d1d5db !important; }
html.dark .text-gray-400              { color: #9ca3af !important; }

/* Border-Farben erweitert */
html.dark .border-blue-200            { border-color: #1e3a5f !important; }
html.dark .border-blue-600            { border-color: #2563eb !important; }
html.dark .border-orange-200          { border-color: #9a3412 !important; }
html.dark .border-green-200           { border-color: #166534 !important; }
html.dark .border-transparent         { border-color: transparent !important; }

/* Hover-Hintergründe für Action-Buttons */
html.dark .hover\:bg-blue-50:hover    { background-color: #1e3a5f !important; }
html.dark .hover\:bg-orange-50:hover  { background-color: #431407 !important; }
html.dark .hover\:bg-red-50:hover     { background-color: #450a0a !important; }
html.dark .hover\:bg-green-50:hover   { background-color: #052e16 !important; }

/* Text-Hover für Links */
html.dark .hover\:text-blue-600:hover { color: #60a5fa !important; }
html.dark .hover\:text-blue-700:hover { color: #93c5fd !important; }
html.dark .hover\:text-red-700:hover  { color: #fca5a5 !important; }
html.dark .hover\:text-orange-700:hover { color: #fdba74 !important; }

/* Tabellen-Sortierung */
html.dark .hover\:underline:hover     { text-decoration-color: currentColor !important; }

/* Zusätzliche Text-/Hintergrund-Farben */
html.dark .text-gray-900 a            { color: #f3f4f6; }
html.dark .bg-purple-500              { background-color: #7c3aed !important; }
html.dark .text-purple-700            { color: #c4b5fd !important; }
html.dark .bg-lime-500                { background-color: #65a30d !important; }
html.dark .text-lime-600              { color: #a3e635 !important; }
html.dark .text-red-500               { color: #f87171 !important; }
html.dark .bg-green-600               { background-color: #16a34a !important; }
html.dark .bg-red-600                 { background-color: #dc2626 !important; }
html.dark .hover\:bg-red-700:hover    { background-color: #b91c1c !important; }

/* Modals & Dialoge */
html.dark .bg-black\/40               { background-color: rgba(0,0,0,0.6) !important; }
html.dark .bg-black\/50               { background-color: rgba(0,0,0,0.7) !important; }
html.dark .rounded-2xl.bg-white,
html.dark [class*="bg-white"].rounded-2xl { background-color: #111827 !important; }

/* Dividers */
html.dark .divide-gray-100 > * + *    { border-color: #1f2937 !important; }
html.dark .divide-gray-200 > * + *    { border-color: #374151 !important; }

/* Focus-Ringe */
html.dark .focus\:ring-blue-500:focus { --tw-ring-color: #2563eb !important; }
html.dark .focus\:ring-blue-400:focus { --tw-ring-color: #60a5fa !important; }

/* File-Inputs */
html.dark .file\:bg-gray-100         { background-color: #374151 !important; }
html.dark .file\:text-gray-700       { color: #d1d5db !important; }
html.dark .hover\:file\:bg-gray-200:hover { background-color: #4b5563 !important; }


/* ── BLUEPRINT (Architectural Blueprint) ──────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

html.blueprint body {
  background-color: #f6fafe;
  color: #171c1f;
  font-family: 'Inter', system-ui, sans-serif;
}

/* Hintergrund-Hierarchie */
html.blueprint .bg-gray-100           { background-color: #f6fafe !important; }
html.blueprint .bg-gray-50            { background-color: #f6fafe !important; }
html.blueprint .bg-white              { background-color: #ffffff !important; }

/* Text-Farben – kein reines Schwarz */
html.blueprint .text-gray-900         { color: #002743 !important; }
html.blueprint .text-gray-800         { color: #0a3255 !important; }
html.blueprint .text-gray-700         { color: #505f76 !important; }
html.blueprint .text-gray-600         { color: #505f76 !important; }
html.blueprint .text-gray-500         { color: #6b7a8d !important; }
html.blueprint .text-gray-400         { color: #8899a8 !important; }

/* Headlines mit Public Sans */
html.blueprint h1, html.blueprint h2, html.blueprint h3,
html.blueprint .text-2xl, html.blueprint .text-xl, html.blueprint .text-lg {
  font-family: 'Public Sans', system-ui, sans-serif !important;
  letter-spacing: -0.01em;
}

html.blueprint h2.text-2xl {
  color: #002743 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 800;
}

/* "No-Line" Rule – subtilere Borders */
html.blueprint .border-gray-200       { border-color: rgba(194,199,207,0.3) !important; }
html.blueprint .border-gray-100       { border-color: rgba(194,199,207,0.15) !important; }
html.blueprint .border-gray-300       { border-color: rgba(194,199,207,0.4) !important; }
html.blueprint .divide-gray-100 > * + * { border-color: rgba(194,199,207,0.15) !important; }

/* Cards: weniger Rundung, subtilerer Schatten */
html.blueprint .rounded-xl            { border-radius: 0.375rem !important; }
html.blueprint .rounded-2xl           { border-radius: 0.5rem !important; }
html.blueprint .rounded-lg            { border-radius: 0.25rem !important; }
html.blueprint .shadow-sm {
  box-shadow: 0 1px 3px rgba(0,39,67,0.04), 0 1px 2px rgba(0,39,67,0.06) !important;
}
html.blueprint .shadow-xl {
  box-shadow: 0 20px 60px rgba(0,39,67,0.06) !important;
}

/* Cards Hintergrund-Schichtung */
html.blueprint .bg-white.rounded-xl,
html.blueprint .bg-white.rounded-2xl  { background-color: #ffffff !important; }

/* Primärfarbe: Deep Blue statt Standard-Blau */
html.blueprint .bg-blue-600           { background-color: #002743 !important; }
html.blueprint .bg-blue-700           { background-color: #001d33 !important; }
html.blueprint .bg-blue-800           { background-color: #001628 !important; }
html.blueprint .hover\:bg-blue-700:hover { background-color: #001d33 !important; }
html.blueprint .hover\:bg-blue-600:hover { background-color: #002743 !important; }
html.blueprint .text-blue-600         { color: #002743 !important; }
html.blueprint .text-blue-700         { color: #001d33 !important; }
html.blueprint .bg-blue-50            { background-color: #e8f0f8 !important; }
html.blueprint .text-blue-300         { color: #5a8ab5 !important; }
html.blueprint .text-blue-200         { color: #7aa5c9 !important; }
html.blueprint .text-blue-400         { color: #4a7da8 !important; }
html.blueprint .focus\:ring-blue-500:focus { --tw-ring-color: #002743 !important; }
html.blueprint .focus\:ring-blue-400:focus { --tw-ring-color: #0a3255 !important; }

/* Admin-Sidebar: Deep Navy */
html.blueprint #admin-sidebar {
  background-color: #002743 !important;
}
html.blueprint #admin-sidebar .border-blue-700 { border-color: #001d33 !important; }
html.blueprint #admin-sidebar .bg-blue-700     { background-color: #003d66 !important; }
html.blueprint #admin-sidebar .hover\:bg-blue-700:hover { background-color: #003d66 !important; }
html.blueprint #admin-sidebar .bg-blue-800     { background-color: #001628 !important; }
html.blueprint #admin-sidebar p.text-blue-300  { color: #5a8ab5 !important; }

/* Mobile Top Bar */
html.blueprint .md\:hidden.sticky.bg-blue-800 { background-color: #002743 !important; }

/* App Header */
html.blueprint header.bg-blue-700     { background-color: #002743 !important; }

/* Tabs: Aktiv-Indikator */
html.blueprint .tab-btn.bg-blue-600   { background-color: #002743 !important; }
html.blueprint .border-l-blue-600     { border-left-color: #002743 !important; }

/* Safety Orange – nur für Alerts/Actions */
html.blueprint .bg-orange-500         { background-color: #ff8135 !important; }
html.blueprint .bg-red-500            { background-color: #ff8135 !important; }
html.blueprint .text-red-500          { color: #c45a1a !important; }
html.blueprint .text-red-600          { color: #b5491a !important; }
html.blueprint .hover\:text-red-700:hover { color: #8b3a15 !important; }
html.blueprint .bg-red-600            { background-color: #c45a1a !important; }
html.blueprint .hover\:bg-red-700:hover { background-color: #a04915 !important; }
html.blueprint .bg-red-50             { background-color: #fff5ee !important; }
html.blueprint .text-red-700          { color: #8b3a15 !important; }
html.blueprint .border-red-200        { border-color: #ffd4b8 !important; }

/* Inputs: Technical Cell Style */
html.blueprint input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
html.blueprint textarea,
html.blueprint select {
  background-color: #f0f4f8 !important;
  border-color: rgba(194,199,207,0.3) !important;
  border-radius: 0.125rem !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}
html.blueprint input:focus, html.blueprint textarea:focus, html.blueprint select:focus {
  border-color: #002743 !important;
  border-bottom-width: 2px;
}

/* Buttons: schärfer, weniger Rundung */
html.blueprint button.rounded-lg,
html.blueprint a.rounded-lg           { border-radius: 0.25rem !important; }
html.blueprint button.rounded-xl,
html.blueprint a.rounded-xl           { border-radius: 0.375rem !important; }

/* Chips / Status-Marker: industrieller Look */
html.blueprint .rounded-full:not(button):not(a) { border-radius: 0.125rem !important; }

/* Section Headers: uppercase, tracking */
html.blueprint .uppercase.tracking-wider {
  font-family: 'Public Sans', system-ui, sans-serif !important;
  color: #505f76 !important;
  letter-spacing: 0.1em;
}

/* Erfolg-Meldungen */
html.blueprint .bg-green-50           { background-color: #f0f8f4 !important; }
html.blueprint .text-green-700        { color: #1a6b3c !important; }
html.blueprint .border-green-200      { border-color: #b8e0c8 !important; }
html.blueprint .bg-green-600          { background-color: #1a6b3c !important; }

/* Yellow/Warn */
html.blueprint .bg-yellow-100         { background-color: #fff8ee !important; }
html.blueprint .text-yellow-600       { color: #c45a1a !important; }
html.blueprint .bg-yellow-600         { background-color: #d4691a !important; }
html.blueprint .hover\:bg-yellow-700:hover { background-color: #b5581a !important; }

/* File inputs */
html.blueprint input[type="file"] {
  background-color: transparent !important;
  border: none !important;
}
