/* Shared by Blazor, Production and Admin. Change status colors and shape here.
   Components own labels, domain state, placement and interaction only.
   New indicators use ns-status-success/warning/critical/info; existing domain
   selectors below provide the same contract without changing their behavior. */
:root {
    --status-success-background: #4f7a5a;
    --status-success-text: #faf9f6;
    --status-warning-background: #f2be3e;
    --status-warning-text: #332813;
    --status-critical-background: #9b3b2e;
    --status-critical-text: #faf9f6;
    --status-info-background: #75658a;
    --status-info-text: #faf9f6;
    --status-radius: 6px;
    --status-padding: .25rem .5rem;
    --status-font-size: .72rem;
    --status-font-weight: 400;
    --status-line-height: 1.4;
}

/* HandSCHLAG employee table is the visual reference for every indicator.
   Borderless button indicators keep the same dimensions as plain labels. */
.ns-status-success, .ns-status-warning, .ns-status-critical, .ns-status-info,
.status, .employee-status, .location-status, .active-status, .leitbild-status,
.status-badge, .badge.active, .badge.inactive, .growth-trend,
.tax-open-badge, .cost-open-badge, .quote-warning, .hy-badge,
.import-list i.status-review, .import-list i.status-invalid,
.import-list i.status-failed, .import-list i.status-released {
    display: inline-block;
    box-sizing: border-box;
    border: 0;
    border-radius: var(--status-radius);
    padding: var(--status-padding);
    font-family: inherit;
    font-size: var(--status-font-size);
    font-weight: var(--status-font-weight);
    font-style: normal;
    line-height: var(--status-line-height);
    letter-spacing: normal;
    white-space: nowrap;
}

/* Unclassified import states are informational, not implicitly successful. */
.status-badge {
    background: var(--status-info-background);
    color: var(--status-info-text);
}

.ns-status-success,
.status.complete, .status.ready, .status.published, .status.approved,
.status.is-active, .status.on,
.leitbild-status.checked,
.employee-status.active, .location-status.active, .active-status.is-active,
.badge.active,
.status-badge.status-released, .status-badge.status-approved,
.import-list i.status-released,
.growth-trend-positive,
.hy-badge.good {
    background: var(--status-success-background);
    color: var(--status-success-text);
}

.ns-status-warning,
.status.open, .status.draft, .status.review, .status.warning, .status.is-incomplete,
.leitbild-status.attention,
.status-badge.status-review, .status-badge.status-requiresreview,
.import-list i.status-review,
.hy-badge.due {
    background: var(--status-warning-background);
    color: var(--status-warning-text);
}

.ns-status-critical,
.status.off,
.leitbild-status.violation,
.status-badge.status-failed, .status-badge.status-invalid,
.import-list i.status-invalid, .import-list i.status-failed,
.tax-open-badge, .cost-open-badge,
.quote-warning,
.growth-trend-negative,
.hy-badge.overdue {
    background: var(--status-critical-background);
    color: var(--status-critical-text);
}

.ns-status-info,
.leitbild-status.pending,
.status.inactive, .status.is-inactive,
.employee-status.inactive, .location-status.inactive, .active-status.is-inactive,
.badge.inactive,
.growth-trend-neutral,
.hy-badge.future, .hy-badge.inactive {
    background: var(--status-info-background);
    color: var(--status-info-text);
}
