/*
 * Lead-Grid: Spaltenbreiten und farbige Status-Zellen.
 *
 * Filaments SelectColumn rendert ein neutrales <select> und kennt — anders als
 * TextColumn::badge() — keine Farben. Beim Status brauchen wir aber beides
 * zugleich: die Einfärbung aus Antonias Airtable-Ansicht UND das direkte
 * Umstellen in der Zeile. Deshalb hängt die Spalte per extraAttributes ein
 * data-lead-status an die Zelle, das hier eingefärbt wird.
 *
 * Der Funnel-Typ braucht das nicht — er wird nie umgestellt und ist deshalb
 * ein echtes Filament-Badge (siehe FunnelType::color()).
 *
 * Die Statusfarben folgen LeadStatus::color(): rot = kein Partner gefunden,
 * gelb = neu, blau = automatisch zugewiesen, lila = manuell zugewiesen,
 * türkis = in Bearbeitung, grün = abgerechnet, orange = abgesagt,
 * rosa = verschenkt, grau = abgelegt. Jeder Status, den Antonia im Alltag
 * unterscheiden muss, hat seine eigene Farbe — wie in Airtable.
 *
 * Registriert in AdminPanelProvider via FilamentAsset::register(). Nach
 * Änderungen `php artisan filament:assets` laufen lassen, sonst bleibt die
 * Kopie unter public/css/ stehen.
 */

/*
 * Select-Spalten brauchen eine Mindestbreite: im Standard (168px) wurde
 * "Partner manuell zugewiesen" auf "Partner manuell zu" gekürzt und war von
 * "Partner zugewiesen" nicht mehr zu unterscheiden.
 *
 * Der Umweg über .fi-input-wrp ist Absicht: Filaments app.css wird NACH
 * diesem Stylesheet geladen, ein zweiteiliger Selektor verliert deshalb
 * gegen die dortige Regel. Mit der zusätzlichen Klasse gewinnt die
 * Spezifität — kein !important nötig.
 */
.fi-ta-select .fi-input-wrp .fi-select-input {
    min-width: 15rem;
}

[data-lead-status] select {
    font-weight: 500;
    border-width: 1px;
}

/* Handlungsbedarf: kein Partner gefunden */
[data-lead-status='danger'] select {
    background-color: rgb(254 226 226);
    border-color: rgb(252 165 165);
    color: rgb(153 27 27);
}

/* Neu — Zuweisung noch nicht durch */
[data-lead-status='warning'] select {
    background-color: rgb(254 249 195);
    border-color: rgb(253 224 71);
    color: rgb(133 77 14);
}

/* Automatisch zugewiesen */
[data-lead-status='info'] select {
    background-color: rgb(219 234 254);
    border-color: rgb(147 197 253);
    color: rgb(30 64 175);
}

/* Manuell zugewiesen (von Antonia) */
[data-lead-status='violet'] select {
    background-color: rgb(237 233 254);
    border-color: rgb(196 181 253);
    color: rgb(91 33 182);
}

/* In Bearbeitung beim Partner */
[data-lead-status='teal'] select {
    background-color: rgb(204 251 241);
    border-color: rgb(94 234 212);
    color: rgb(17 94 89);
}

/* Abgesagt */
[data-lead-status='orange'] select {
    background-color: rgb(255 237 213);
    border-color: rgb(253 186 116);
    color: rgb(154 52 18);
}

/* Verschenkt */
[data-lead-status='pink'] select {
    background-color: rgb(252 231 243);
    border-color: rgb(249 168 212);
    color: rgb(157 23 77);
}

/* Abgerechnet */
[data-lead-status='success'] select {
    background-color: rgb(220 252 231);
    border-color: rgb(134 239 172);
    color: rgb(22 101 52);
}

/* Abgelegt: ohne Berechnung, Duplikat, Spam */
[data-lead-status='gray'] select {
    background-color: rgb(249 250 251);
    border-color: rgb(229 231 235);
    color: rgb(107 114 128);
}

/* Dark Mode: gedeckte Flächen, damit der Kontrast erhalten bleibt. */
.dark [data-lead-status='danger'] select {
    background-color: rgb(127 29 29 / 0.35);
    border-color: rgb(153 27 27);
    color: rgb(254 202 202);
}

.dark [data-lead-status='warning'] select {
    background-color: rgb(113 63 18 / 0.35);
    border-color: rgb(133 77 14);
    color: rgb(254 240 138);
}

.dark [data-lead-status='info'] select {
    background-color: rgb(30 58 138 / 0.35);
    border-color: rgb(30 64 175);
    color: rgb(191 219 254);
}

.dark [data-lead-status='violet'] select {
    background-color: rgb(76 29 149 / 0.35);
    border-color: rgb(91 33 182);
    color: rgb(221 214 254);
}

.dark [data-lead-status='teal'] select {
    background-color: rgb(19 78 74 / 0.35);
    border-color: rgb(17 94 89);
    color: rgb(153 246 228);
}

.dark [data-lead-status='orange'] select {
    background-color: rgb(124 45 18 / 0.35);
    border-color: rgb(154 52 18);
    color: rgb(254 215 170);
}

.dark [data-lead-status='pink'] select {
    background-color: rgb(131 24 67 / 0.35);
    border-color: rgb(157 23 77);
    color: rgb(251 207 232);
}

.dark [data-lead-status='success'] select {
    background-color: rgb(20 83 45 / 0.35);
    border-color: rgb(22 101 52);
    color: rgb(187 247 208);
}

.dark [data-lead-status='gray'] select {
    background-color: rgb(31 41 55 / 0.5);
    border-color: rgb(55 65 81);
    color: rgb(156 163 175);
}

