/* =========================================================
   BADGES
========================================================= */
.badge{
    display:inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: var(--font-xs);
    font-weight: 700;
    color:#fff;
    line-height: 1.4;
}

.badge.success{ background: var(--success); }
.badge.warning{ background: var(--warning); }
.badge.danger{ background: var(--danger); }
.badge.neutral{ background: #e2e8f0; color: #475569; }
.badge.info{ background: #dbe7fa; color: #2a5db0; }

/* ── Status-chips — bløde badges (masterplan forslag 1, prototypens udtryk).
   Bruges fremadrettet i stedet for de mættede .badge-farver på lister/profiler. */
.chip {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
}
.chip.ok      { background: #e3f3ea; color: #1e8a4c; }
.chip.warn    { background: #fcf0da; color: #b97a10; }
.chip.crit    { background: #fbe6e3; color: #c03b2d; }
.chip.info    { background: #e8effa; color: #2a5db0; }
.chip.neutral { background: #eef0f4; color: #5a6a7a; }
.chip.night   { background: #ebe8fa; color: #5b4bb5; } /* Nathold m.fl. */

/* Status + lock overlay */
.col-status {
    text-align: left;
    white-space: nowrap;
}
.status-lock-wrap {
    position: relative;
    display: inline-block;
    padding-right: 8px;
}
.status-lock-icon {
    position: absolute;
    top: -7px;
    right: -10px;
    font-size: var(--font-xs);
    line-height: 1;
    pointer-events: none;
}

/* Kontrakt-status prik foran medarbejder-navn (admin_employee_list) */
.contract-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
    flex-shrink: 0;
}
.contract-dot--ok      { background: #16a34a; }
.contract-dot--missing { background: #f59e0b; }



/* Faktureret-status (admin/overview uge-handlinger) */
.invoiced-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    background: var(--color-success-bg, #e8f5e9);
    color: var(--color-success-text, #1b5e20);
    border: 1px solid var(--color-success-border, #a5d6a7);
}
.invoiced-badge[hidden] { display: none; }

.invoiced-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.invoiced-toggle input[type="text"] {
    width: 140px;
    padding: 4px 8px;
    border: 1px solid var(--color-border, #d0d0d0);
    border-radius: 6px;
    font-size: 13px;
}
.invoiced-toggle.is-invoiced input[type="text"] {
    background: var(--color-success-bg, #e8f5e9);
}

/* .invoiced-weeks-grid, .invoiced-week-card og relaterede styles
   bor nu i cards.css (kort-baseret design). */

/* ── Sverige-modul: status-badges ─────────────────────────────────── */
.sweden-badge { display: inline-block; padding: 2px 10px; border-radius: 10px; font-size: 12px; font-weight: 600; }
.sweden-badge-ok { background: #d7f5df; color: #1d7a3a; }
.sweden-badge-warn { background: #fdf0d3; color: #9a6b00; }
.sweden-badge-alert { background: #fadbd8; color: #b03a2e; }
