/* Ergaenzende Utilities fuer die Elementaro-Controlling-Views.
 *
 * Aureus liefert je Plugin ein eigenes Stylesheet (support.css, accounting.css
 * ...) mit genau den Utilities, die dessen Views verwenden. Ohne ein solches
 * fehlten den Controlling-Ansichten 125 der 234 genutzten Klassen: saemtliche
 * Akzentfarben und alle Dark-Mode-Varianten. Sie blieben schlicht wirkungslos.
 *
 * Erzeugt aus dem Abgleich der tatsaechlich verwendeten Klassen gegen alle
 * ausgelieferten Stylesheets. Werte entsprechen der Tailwind-Standardpalette;
 * Primaerfarben nutzen die Filament-Variablen und folgen damit dem Theme.
 */
.border{border-color:#e5e7eb}
.bg-blue-50\/40{background-color:rgb(239 246 255 / 0.4)}
.bg-blue-50{background-color:#eff6ff}
.bg-emerald-50{background-color:#ecfdf5}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.bg-orange-50{background-color:#fff7ed}
.bg-primary-50\/50{background-color:var(--primary-50)}
.bg-primary-50{background-color:var(--primary-50)}
.bg-primary-600{background-color:var(--primary-600)}
.bg-red-50{background-color:#fef2f2}
.bg-rose-500{background-color:#f43f5e}
.bg-violet-500{background-color:#8b5cf6}
.bg-violet-50\/40{background-color:rgb(245 243 255 / 0.4)}
.bg-violet-50{background-color:#f5f3ff}
.border-amber-300{border-color:#fcd34d}
.border-amber-200{border-color:#fde68a}
.border-blue-100{border-color:#dbeafe}
.border-blue-200{border-color:#bfdbfe}
.border-emerald-200{border-color:#a7f3d0}
.border-gray-100{border-color:#f3f4f6}
.border-gray-200{border-color:#e5e7eb}
.border-gray-300{border-color:#d1d5db}
.border-orange-300{border-color:#fdba74}
.border-primary-200{border-color:var(--primary-200)}
.border-primary-300{border-color:var(--primary-300)}
.border-primary-400{border-color:var(--primary-400)}
.border-primary-500{border-color:var(--primary-500)}
.border-red-200{border-color:#fecaca}
.border-red-300{border-color:#fca5a5}
.border-violet-100{border-color:#ede9fe}
.border-y{border-top-width:1px;border-bottom-width:1px;border-style:solid}
.dark .dark\:bg-amber-500\/10{background-color:rgb(245 158 11 / 0.1)}
.dark .dark\:bg-blue-500\/10{background-color:rgb(59 130 246 / 0.1)}
.dark .dark\:bg-blue-500\/5{background-color:rgb(59 130 246 / 0.05)}
.dark .dark\:bg-gray-900{background-color:#111827}
.dark .dark\:bg-primary-500\/10{background-color:var(--primary-500)}
.dark .dark\:bg-primary-500\/15{background-color:var(--primary-500)}
.dark .dark\:bg-primary-500\/5{background-color:var(--primary-500)}
.dark .dark\:bg-violet-500\/5{background-color:rgb(139 92 246 / 0.05)}
.dark .dark\:bg-white\/10{background-color:rgb(255 255 255 / 0.1)}
.dark .dark\:bg-white\/5{background-color:rgb(255 255 255 / 0.05)}
.dark .dark\:bg-white\/\[0\.03\]{background-color:rgb(255 255 255 / 0.03)}
.dark .dark\:border-amber-500\/30{border-color:rgb(245 158 11 / 0.3)}
.dark .dark\:border-blue-500\/20{border-color:rgb(59 130 246 / 0.2)}
.dark .dark\:border-emerald-500\/30{border-color:rgb(16 185 129 / 0.3)}
.dark .dark\:border-gray-700{border-color:#374151}
.dark .dark\:border-red-500\/30{border-color:rgb(239 68 68 / 0.3)}
.dark .dark\:border-violet-500\/20{border-color:rgb(139 92 246 / 0.2)}
.dark .dark\:border-white\/10{border-color:rgb(255 255 255 / 0.1)}
.dark .dark\:text-amber-300{color:#fcd34d}
.dark .dark\:text-blue-200{color:#bfdbfe}
.dark .dark\:text-blue-300{color:#93c5fd}
.dark .dark\:text-emerald-300{color:#6ee7b7}
.dark .dark\:text-gray-300{color:#d1d5db}
.dark .dark\:text-gray-400{color:#9ca3af}
.dark .dark\:text-primary-300{color:var(--primary-300)}
.dark .dark\:text-red-300{color:#fca5a5}
.dark .dark\:text-violet-300{color:#c4b5fd}
.dark .dark\:text-white{color:#ffffff}
.text-amber-600{color:#d97706}
.text-amber-700{color:#b45309}
.text-blue-700{color:#1d4ed8}
.text-blue-800{color:#1e40af}
.text-blue-900{color:#1e3a8a}
.text-emerald-700{color:#047857}
.text-primary-700{color:var(--primary-700)}
.text-violet-700{color:#6d28d9}

/* Filament-Semantikfarben folgen dem Theme ueber dessen CSS-Variablen. */
.text-warning-600{color:var(--warning-600)}
.dark .dark\:text-warning-400{color:var(--warning-400)}
.text-success-600{color:var(--success-600)}
.dark .dark\:text-success-400{color:var(--success-400)}
.text-danger-600{color:var(--danger-600)}
.dark .dark\:text-danger-400{color:var(--danger-400)}

/* Verlaeufe der Uebersichtskarten. */
.from-violet-50{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgb(245 243 255/0))}
.to-blue-50{--tw-gradient-to:#eff6ff}
.to-violet-50{--tw-gradient-to:#f5f3ff}
.from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgb(239 246 255/0))}
.dark .dark\:from-gray-900{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgb(17 24 39/0))}
.dark .dark\:to-blue-950\/20{--tw-gradient-to:rgb(23 37 84/0.2)}
.dark .dark\:to-violet-950\/20{--tw-gradient-to:rgb(46 16 101/0.2)}

/* Dark-Hintergruende der Statusbadges. Ohne sie stuende im Dark Mode helle
 * Schrift auf hellem Grund — gemessen 1,45:1 statt lesbarer Kontraste. */
.dark .dark\:bg-emerald-500\/15{background-color:rgb(16 185 129/0.15)}
.dark .dark\:bg-amber-500\/15{background-color:rgb(245 158 11/0.15)}
.dark .dark\:bg-rose-500\/15{background-color:rgb(244 63 94/0.15)}
.dark .dark\:bg-red-500\/15{background-color:rgb(239 68 68/0.15)}
.dark .dark\:bg-blue-500\/15{background-color:rgb(59 130 246/0.15)}
.dark .dark\:bg-violet-500\/15{background-color:rgb(139 92 246/0.15)}
.dark .dark\:bg-orange-500\/15{background-color:rgb(249 115 22/0.15)}
.dark .dark\:bg-green-500\/15{background-color:rgb(34 197 94/0.15)}
.dark .dark\:bg-sky-500\/15{background-color:rgb(14 165 233/0.15)}
.dark .dark\:bg-indigo-500\/15{background-color:rgb(99 102 241/0.15)}
.dark .dark\:bg-white\/\[0\.03\]{background-color:rgb(255 255 255/0.03)}

/* Gedaempfte Flaechen der Hinweisboxen im Dark Mode. */
.dark .dark\:bg-orange-950\/20{background-color:rgb(67 20 7/0.2)}
.dark .dark\:bg-red-950\/20{background-color:rgb(69 10 10/0.2)}
.dark .dark\:bg-amber-950\/20{background-color:rgb(69 26 3/0.2)}
.dark .dark\:bg-blue-950\/20{background-color:rgb(23 37 84/0.2)}
.dark .dark\:bg-violet-950\/20{background-color:rgb(46 16 101/0.2)}
.dark .dark\:bg-emerald-950\/20{background-color:rgb(2 44 34/0.2)}
.dark .dark\:border-red-500\/30{border-color:rgb(239 68 68/0.3)}
.dark .dark\:border-orange-500\/30{border-color:rgb(249 115 22/0.3)}

/* /10-Stufen der Hinweisflaechen. Fehlten durch ein Parsing-Artefakt bei der
 * Erzeugung und liessen helle Flaechen im Dark Mode stehen. */
.dark .dark\:bg-amber-500\/10{background-color:rgb(245 158 11/0.1)}
.dark .dark\:bg-red-500\/10{background-color:rgb(239 68 68/0.1)}
.dark .dark\:bg-emerald-500\/10{background-color:rgb(16 185 129/0.1)}
.dark .dark\:bg-violet-500\/10{background-color:rgb(139 92 246/0.1)}
.dark .dark\:bg-blue-500\/10{background-color:rgb(59 130 246/0.1)}
.dark .dark\:bg-rose-500\/10{background-color:rgb(244 63 94/0.1)}
.dark .dark\:bg-orange-500\/10{background-color:rgb(249 115 22/0.1)}
.dark .dark\:bg-primary-500\/10{background-color:rgb(from var(--primary-500) r g b/0.1)}
.dark .dark\:bg-primary-500\/15{background-color:rgb(from var(--primary-500) r g b/0.15)}
.dark .dark\:bg-blue-500\/5{background-color:rgb(59 130 246/0.05)}
.dark .dark\:bg-violet-500\/5{background-color:rgb(139 92 246/0.05)}
.dark .dark\:bg-primary-500\/5{background-color:rgb(from var(--primary-500) r g b/0.05)}

/* Layout-Utilities. Ohne sie griff kein responsives Raster und jede
 * Kennzahl stapelte sich ueber die volle Seitenbreite. */

/* Layout-Utilities. Ohne sie griff kein responsives Raster: Kennzahlen
 * stapelten sich einspaltig ueber die volle Seitenbreite. Im Browser
 * gemessen — sm:, lg: und xl: fehlten vollstaendig. */
.flex-wrap{flex-wrap:wrap}
.flex{display:flex}
.gap-1{gap:0.25rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1.0rem}
.gap-5{gap:1.25rem}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid{display:grid}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.space-y-2>:not([hidden])~:not([hidden]){margin-top:0.5rem}
.space-y-4>:not([hidden])~:not([hidden]){margin-top:1.0rem}
.space-y-5>:not([hidden])~:not([hidden]){margin-top:1.25rem}
.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}
.tabular-nums{font-variant-numeric:tabular-nums}
.text-center{text-align:center}
.text-left{text-align:left}
.text-right{text-align:right}
.whitespace-nowrap{white-space:nowrap}
@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}}

/* Semantische Controlling-Komponenten. Kritische Bedienaktionen duerfen nicht
 * davon abhaengen, ob eine einzelne Tailwind-Utility im Aureus-Bundle liegt. */
.ec-button-primary{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;border:1px solid #3730a3;border-radius:.5rem;background:#4338ca!important;color:#fff!important;font-weight:700;line-height:1.25;box-shadow:0 1px 2px rgb(0 0 0/.08);transition:background-color .15s,box-shadow .15s}
.ec-button-primary:hover{background:#3730a3!important;color:#fff!important;box-shadow:0 3px 8px rgb(0 0 0/.14)}
.ec-button-primary:focus-visible{outline:3px solid rgb(99 102 241/.35);outline-offset:2px}
.ec-button-primary:disabled{cursor:wait;opacity:.6}
.ec-button-secondary{display:inline-flex;min-height:2.25rem;align-items:center;justify-content:center;border:1px solid #d1d5db;border-radius:.5rem;background:#fff!important;color:#1f2937!important;font-weight:600}
.ec-button-secondary:hover{background:#f3f4f6!important;color:#111827!important}
.dark .ec-button-secondary{border-color:#4b5563;background:#111827!important;color:#f9fafb!important}
.dark .ec-button-secondary:hover{background:#1f2937!important}
.ec-status-pill{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .55rem;font-size:.6875rem;font-weight:700}
.ec-status-pill--success{background:#d1fae5!important;color:#065f46!important}
.ec-status-pill--warning{background:#fef3c7!important;color:#92400e!important}
.dark .ec-status-pill--success{background:rgb(16 185 129/.2)!important;color:#a7f3d0!important}
.dark .ec-status-pill--warning{background:rgb(245 158 11/.2)!important;color:#fde68a!important}

/* Auto-Fit vermeidet sowohl ueberbreite Einzelkarten als auch sinnlose
 * sieben-spaltige Mini-KPIs. */
.ec-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.75rem}
.ec-kpi-grid--compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,10rem),15rem));gap:.75rem}

.ec-project-nav{position:sticky;top:.5rem;z-index:20;border:1px solid #e5e7eb;border-radius:.75rem;background:rgb(255 255 255/.96);padding:.75rem;box-shadow:0 4px 12px rgb(0 0 0/.06);backdrop-filter:blur(8px)}
.dark .ec-project-nav{border-color:rgb(255 255 255/.1);background:rgb(17 24 39/.96)}
.ec-project-tab{display:inline-flex;align-items:center;border-radius:.4rem;padding:.45rem .7rem;color:#374151!important;font-size:.75rem;font-weight:600;white-space:nowrap;transition:background-color .15s,color .15s}
.ec-project-tab:hover{background:#f3f4f6!important;color:#111827!important}
.ec-project-tab-active{background:#4338ca!important;color:#fff!important;box-shadow:0 1px 3px rgb(0 0 0/.12)}
.ec-project-tab-active:hover{background:#3730a3!important;color:#fff!important}
.dark .ec-project-tab{color:#d1d5db!important}
.dark .ec-project-tab:hover{background:rgb(255 255 255/.08)!important;color:#fff!important}
.dark .ec-project-tab-active,.dark .ec-project-tab-active:hover{background:#4f46e5!important;color:#fff!important}

.ec-table-shell{overflow-x:auto;border:1px solid #e5e7eb;border-radius:.65rem}
.dark .ec-table-shell{border-color:rgb(255 255 255/.1)}
.ec-table{width:100%;font-size:.875rem}
.ec-table thead{background:#f9fafb;color:#4b5563}
.ec-table th{position:sticky;top:0;z-index:1;background:inherit}
.ec-table tbody tr:hover{background:#f9fafb}
.dark .ec-table thead{background:#1f2937;color:#d1d5db}
.dark .ec-table tbody tr:hover{background:rgb(255 255 255/.04)}
.ec-table-sticky-first th:first-child,.ec-table-sticky-first td:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 0 #e5e7eb}
.ec-table-sticky-first th:first-child{z-index:3;background:#f9fafb}
.dark .ec-table-sticky-first th:first-child,.dark .ec-table-sticky-first td:first-child{background:#111827;box-shadow:1px 0 0 rgb(255 255 255/.1)}
.dark .ec-table-sticky-first th:first-child{background:#1f2937}
.ec-collapsible{overflow:hidden;border:1px solid #e5e7eb;border-radius:.65rem}
.dark .ec-collapsible{border-color:rgb(255 255 255/.1)}
.ec-collapsible>summary{display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1rem;font-size:.875rem;font-weight:700;list-style:none}
.ec-collapsible>summary::-webkit-details-marker{display:none}
.ec-collapsible>summary:after{content:'anzeigen';color:#4f46e5;font-size:.72rem;font-weight:600}
.ec-collapsible[open]>summary:after{content:'einklappen'}
.dark .ec-collapsible>summary:after{color:#a5b4fc}
