/* Fælles visuel statuspalette for BygMak. Ingen arbejdsgange ændres her.
 * Indlæses efter sidens layout-CSS, også i den selvstændige opgavevisning.
 * Eksisterende danske nøgler, legacy-klasser og statusværdier bevares.
 * --status-color bruges på statusteksten og opgavekortets statusmarkering.
 */
:root {
    --status-text-dark: #17212d;
    --status-unprocessed: #d92d20;
    --status-draft: #f59e0b;
    --status-sent: #000000;
    --status-scheduled: var(--status-won);
    --status-won: #1769e0;
    --status-ready-invoice: #facc15;
    --status-await-payment: #b45309;
    --status-paid: #16833b;
    --status-archived: #4b5563;
    --status-color: var(--status-archived);
}

/* Ikke behandlet */
:is(
    .status-ikke-behandlet,
    [data-status-key="ikke-behandlet"],
    [data-task-status-key="ikke-behandlet"],
    [data-current-status="ikke-behandlet"],
    [data-status-group="ikke-behandlet"],
    [data-bm-task-group="ikke-behandlet"],
    [data-filter="ikke-behandlet"],
    .task-card.status-unprocessed,
    .task-status-badge.badge-unprocessed,
    [data-status="Ikke behandlet"],
    [data-status-raw="Ikke behandlet"],
    option[value="Ikke behandlet"],
    select:has(> option[value="Ikke behandlet"]:checked)
) {
    --status-color: var(--status-unprocessed);
}

/* Afventer leverandør (ældre prisnavne beholder samme farve) */
:is(
    .status-afventer-leverandoer,
    [data-status-key="afventer-leverandoer"],
    [data-task-status-key="afventer-leverandoer"],
    [data-current-status="afventer-leverandoer"],
    [data-status-group="afventer-leverandoer"],
    [data-bm-task-group="afventer-leverandoer"],
    [data-filter="afventer-leverandoer"],
    .status-afventer-priser,
    [data-status-key="afventer-priser"],
    [data-task-status-key="afventer-priser"],
    [data-current-status="afventer-priser"],
    [data-status-group="afventer-priser"],
    [data-bm-task-group="afventer-priser"],
    [data-filter="afventer-priser"],
    .status-kladde,
    [data-status-key="kladde"],
    [data-task-status-key="kladde"],
    [data-current-status="kladde"],
    [data-status-group="kladde"],
    [data-bm-task-group="kladde"],
    [data-filter="kladde"],
    .task-card.status-await-prices,
    .task-card.status-await-price,
    .task-status-badge.badge-amber,
    .task-status-badge.badge-problem,
    [data-status="Kladde"],
    [data-status-raw="Kladde"],
    option[value="Kladde"],
    select:has(> option[value="Kladde"]:checked),
    [data-status="Afventer leverandør"],
    [data-status-raw="Afventer leverandør"],
    option[value="Afventer leverandør"],
    select:has(> option[value="Afventer leverandør"]:checked),
    [data-status="Afventer priser"],
    [data-status-raw="Afventer priser"],
    option[value="Afventer priser"],
    select:has(> option[value="Afventer priser"]:checked),
    [data-status="Afventer pris"],
    [data-status-raw="Afventer pris"],
    option[value="Afventer pris"],
    select:has(> option[value="Afventer pris"]:checked),
    [data-status="Venter priser"],
    [data-status-raw="Venter priser"],
    option[value="Venter priser"],
    select:has(> option[value="Venter priser"]:checked),
    [data-status="Igangværende"],
    [data-status-raw="Igangværende"],
    option[value="Igangværende"],
    select:has(> option[value="Igangværende"]:checked),
    [data-status="Igangvaerende"],
    [data-status-raw="Igangvaerende"],
    option[value="Igangvaerende"],
    select:has(> option[value="Igangvaerende"]:checked)
) {
    --status-color: var(--status-draft);
}

/* Afventer kunde (ældre sendtnavne beholder samme farve) */
:is(
    .status-afventer-kunde,
    [data-status-key="afventer-kunde"],
    [data-task-status-key="afventer-kunde"],
    [data-current-status="afventer-kunde"],
    [data-status-group="afventer-kunde"],
    [data-bm-task-group="afventer-kunde"],
    [data-filter="afventer-kunde"],
    .status-sendt-til-kunde,
    [data-status-key="sendt-til-kunde"],
    [data-task-status-key="sendt-til-kunde"],
    [data-current-status="sendt-til-kunde"],
    [data-status-group="sendt-til-kunde"],
    [data-bm-task-group="sendt-til-kunde"],
    [data-filter="sendt-til-kunde"],
    .task-card.status-sent-customer,
    .task-card.status-wait-customer,
    .task-status-badge.badge-sent,
    .task-status-badge.badge-waiting,
    [data-status="Afventer kunde"],
    [data-status-raw="Afventer kunde"],
    option[value="Afventer kunde"],
    select:has(> option[value="Afventer kunde"]:checked),
    [data-status="Sendt til kunde"],
    [data-status-raw="Sendt til kunde"],
    option[value="Sendt til kunde"],
    select:has(> option[value="Sendt til kunde"]:checked),
    [data-status="Afvent kunde"],
    [data-status-raw="Afvent kunde"],
    option[value="Afvent kunde"],
    select:has(> option[value="Afvent kunde"]:checked)
) {
    --status-color: var(--status-sent);
}

/* Sat i kalender */
:is(
    .status-sat-i-kalender,
    [data-status-key="sat-i-kalender"],
    [data-task-status-key="sat-i-kalender"],
    [data-current-status="sat-i-kalender"],
    [data-status-group="sat-i-kalender"],
    [data-bm-task-group="sat-i-kalender"],
    [data-filter="sat-i-kalender"],
    .task-card.status-in-calendar,
    .task-status-badge.badge-calendar,
    [data-status="Sat i kalender"],
    [data-status-raw="Sat i kalender"],
    option[value="Sat i kalender"],
    select:has(> option[value="Sat i kalender"]:checked)
) {
    --status-color: var(--status-scheduled);
}

/* Fået opgaven */
:is(
    .status-faaet-opgaven,
    [data-status-key="faaet-opgaven"],
    [data-task-status-key="faaet-opgaven"],
    [data-current-status="faaet-opgaven"],
    [data-status-group="faaet-opgaven"],
    [data-bm-task-group="faaet-opgaven"],
    [data-filter="faaet-opgaven"],
    .task-card.status-got-job,
    .task-status-badge.badge-success,
    [data-status="Fået opgaven"],
    [data-status-raw="Fået opgaven"],
    option[value="Fået opgaven"],
    select:has(> option[value="Fået opgaven"]:checked),
    [data-status="Faaet opgaven"],
    [data-status-raw="Faaet opgaven"],
    option[value="Faaet opgaven"],
    select:has(> option[value="Faaet opgaven"]:checked),
    [data-status="Fået job"],
    [data-status-raw="Fået job"],
    option[value="Fået job"],
    select:has(> option[value="Fået job"]:checked),
    [data-status="Faaet job"],
    [data-status-raw="Faaet job"],
    option[value="Faaet job"],
    select:has(> option[value="Faaet job"]:checked),
    [data-status="FÃ¥et job"],
    [data-status-raw="FÃ¥et job"],
    option[value="FÃ¥et job"],
    select:has(> option[value="FÃ¥et job"]:checked)
) {
    --status-color: var(--status-won);
}

/* Klar til faktura */
:is(
    .status-klar-til-faktura,
    [data-status-key="klar-til-faktura"],
    [data-task-status-key="klar-til-faktura"],
    [data-current-status="klar-til-faktura"],
    [data-status-group="klar-til-faktura"],
    [data-bm-task-group="klar-til-faktura"],
    [data-filter="klar-til-faktura"],
    .task-card.status-ready-invoice,
    .task-status-badge.badge-blue,
    [data-status="Klar til faktura"],
    [data-status-raw="Klar til faktura"],
    option[value="Klar til faktura"],
    select:has(> option[value="Klar til faktura"]:checked),
    [data-status="Faktura"],
    [data-status-raw="Faktura"],
    option[value="Faktura"],
    select:has(> option[value="Faktura"]:checked)
) {
    --status-color: var(--status-ready-invoice);
}

/* Afventer betaling */
:is(
    .status-afventer-betaling,
    [data-status-key="afventer-betaling"],
    [data-task-status-key="afventer-betaling"],
    [data-current-status="afventer-betaling"],
    [data-status-group="afventer-betaling"],
    [data-bm-task-group="afventer-betaling"],
    [data-filter="afventer-betaling"],
    .status-overdue-payment,
    [data-status-key="overdue-payment"],
    [data-task-status-key="overdue-payment"],
    [data-current-status="overdue-payment"],
    [data-status-group="overdue-payment"],
    [data-bm-task-group="overdue-payment"],
    [data-filter="overdue-payment"],
    .task-card.status-await-payment,
    .task-card.status-overdue-payment,
    .task-card.status-invoice,
    .task-status-badge.badge-payment,
    .task-status-badge.badge-invoice,
    [data-status="Afventer betaling"],
    [data-status-raw="Afventer betaling"],
    option[value="Afventer betaling"],
    select:has(> option[value="Afventer betaling"]:checked),
    [data-status="Faktura sendt"],
    [data-status-raw="Faktura sendt"],
    option[value="Faktura sendt"],
    select:has(> option[value="Faktura sendt"]:checked),
    .offer-invoice-status.is-sent
) {
    --status-color: var(--status-await-payment);
}

/* Betalt */
:is(
    .status-betalt,
    [data-status-key="betalt"],
    [data-task-status-key="betalt"],
    [data-current-status="betalt"],
    [data-status-group="betalt"],
    [data-bm-task-group="betalt"],
    [data-filter="betalt"],
    .task-card.status-paid,
    .task-status-badge.badge-paid,
    [data-status="Betalt"],
    [data-status-raw="Betalt"],
    option[value="Betalt"],
    select:has(> option[value="Betalt"]:checked),
    .offer-invoice-status.is-paid
) {
    --status-color: var(--status-paid);
}

/* Afsluttet */
:is(
    .status-afsluttet,
    [data-status-key="afsluttet"],
    [data-task-status-key="afsluttet"],
    [data-current-status="afsluttet"],
    [data-status-group="afsluttet"],
    [data-bm-task-group="afsluttet"],
    [data-filter="afsluttet"],
    .status-arkiveret,
    [data-status-key="arkiveret"],
    [data-task-status-key="arkiveret"],
    [data-current-status="arkiveret"],
    [data-status-group="arkiveret"],
    [data-bm-task-group="arkiveret"],
    [data-filter="arkiveret"],
    .task-card.status-completed,
    .task-status-badge.badge-neutral,
    [data-status="Afsluttet"],
    [data-status-raw="Afsluttet"],
    option[value="Afsluttet"],
    select:has(> option[value="Afsluttet"]:checked),
    [data-status="Arkiveret"],
    [data-status-raw="Arkiveret"],
    option[value="Arkiveret"],
    select:has(> option[value="Arkiveret"]:checked),
    [data-status="Arkiveret/slet"],
    [data-status-raw="Arkiveret/slet"],
    option[value="Arkiveret/slet"],
    select:has(> option[value="Arkiveret/slet"]:checked),
    .archive-task-card,
    .archive-delete-button,
    .task-delete-archived
) {
    --status-color: var(--status-archived);
}

/* Kortets statusfarve følger også med, når status ændres uden genindlæsning. */
.task-card {
    --card-color: var(--status-color);
    border-color: var(--status-color) !important;
}
.task-card::before { background: var(--status-color) !important; }
.archive-task-card { border-top-color: var(--status-color); }

/* Statusfarven ligger på teksten, mens felter og menuer har neutral baggrund.
 * !important er begrænset til farver, så ældre mobil-/sidelayout ikke overtager.
 */
.task-status-badge,
.task-status-days,
.task-status-trigger,
.task-status-btn,
.task-status-select,
.task-workspace-status,
.task-workspace-status select,
.task-project-chip-status,
.status-summary-label,
.offer-invoice-status:is(.is-sent, .is-paid),
select[name="status"]:has(> option:checked:not([value=""])),
select[data-task-detail-field="status"],
select[name="status"] option:not([value=""]),
.task-status-select option,
.task-workspace-status option {
    border-color: transparent !important;
    background: transparent !important;
    color: var(--status-color) !important;
}
.task-status-select,
.task-workspace-status,
select[name="status"]:has(> option:checked:not([value=""])) {
    border-color: var(--line, #cfd6dd) !important;
    background: #fff !important;
}
select[name="status"] option,
.task-status-select option,
.task-workspace-status option { background: #fff !important; }
.task-status-badge,
.task-status-trigger,
.task-status-btn,
.offer-invoice-status:is(.is-sent, .is-paid) {
    box-shadow: none;
}
.task-status-btn:hover { filter: brightness(.94); }

/* Fakturaoplysninger, der ikke er en betalingsstatus, forbliver neutrale. */
.offer-invoice-status:is(.is-missing, .is-not-won) { color: var(--status-text-dark); }

/* Filtre og oversigter viser statusfarven på teksten. */
.task-filter-item { --category-color: var(--status-color); }
.task-filter-item:not([data-filter="alle"]):not([data-filter="kraever-handling"]),
.overview-column-sort-choice.is-status > span,
.overview-column-status-choice[data-status-key] > span,
.task-status-group:not(.overview-board-column):is([data-status-group], [data-bm-task-group]) .task-status-group-title {
    background: transparent !important;
    color: var(--status-color) !important;
    border-color: var(--line, #cfd6dd) !important;
}
.task-filter-item:not([data-filter="alle"]):not([data-filter="kraever-handling"]) .count {
    color: var(--status-color) !important;
}
.overview-column-sort-choice.is-status input,
.overview-column-status-choice[data-status-key] input { accent-color: var(--status-color); }

/* Arkiverede/slettede opgaver har mørkegrå markeringer. */
.archive-delete-button,
.task-delete-archived {
    border-color: var(--line, #cfd6dd) !important;
    background: transparent !important;
    color: var(--status-archived) !important;
}
