:root {
    --gc-fluent-success: #16a34a;
    --gc-fluent-success-hover: #15803d;
    --gc-badge-success-bg: var(--gc-fluent-success, #13a10e);
    --gc-badge-success-border: var(--gc-fluent-success-hover, #0f8a0c);
    --gc-badge-success-text: #ffffff;
    --gc-badge-warning-bg: #f7630c;
    --gc-badge-warning-border: #da570b;
    --gc-badge-warning-text: #ffffff;
    --gc-badge-error-bg: #e81123;
    --gc-badge-error-border: #c50f1f;
    --gc-badge-error-text: #ffffff;
    --gc-badge-danger-bg: var(--gc-badge-error-bg);
    --gc-badge-danger-border: var(--gc-badge-error-border);
    --gc-badge-danger-text: var(--gc-badge-error-text);
    --gc-badge-neutral-bg: #f1f5f9;
    --gc-badge-neutral-border: #dbe4ef;
    --gc-badge-neutral-text: #475569;
    --gc-badge-info-bg: #0078d4;
    --gc-badge-info-border: #106ebe;
    --gc-badge-info-text: #ffffff;
    --gc-badge-primary-bg: #0078d4;
    --gc-badge-primary-border: #106ebe;
    --gc-badge-primary-text: #ffffff;
    --gc-badge-boq-status-amber-bg: #bd7815;
    --gc-badge-boq-status-amber-border: color-mix(in srgb, #bd7815 84%, #000000);
    --gc-badge-boq-status-amber-text: #ffffff;
    --gc-badge-boq-status-red-bg: var(--gc-fluent-danger, #dc2626);
    --gc-badge-boq-status-red-border: var(--gc-fluent-danger-hover, #b91c1c);
    --gc-badge-boq-status-red-text: #ffffff;
    --gc-badge-boq-status-green-bg: var(--gc-fluent-success, #16a34a);
    --gc-badge-boq-status-green-border: var(--gc-fluent-success-hover, #15803d);
    --gc-badge-boq-status-green-text: #ffffff;
    --gc-badge-boq-status-blue-bg: var(--gc-fluent-primary, #2563eb);
    --gc-badge-boq-status-blue-border: var(--gc-fluent-primary-hover, #1d4ed8);
    --gc-badge-boq-status-blue-text: #ffffff;
    --gc-badge-boq-status-purple-bg: var(--gc-badge-purple-bg, #7c3aed);
    --gc-badge-boq-status-purple-border: var(--gc-badge-purple-border, #6d28d9);
    --gc-badge-boq-status-purple-text: #ffffff;
    --gc-badge-purple-bg: #5c2d91;
    --gc-badge-purple-border: #4f277d;
    --gc-badge-purple-text: #ffffff;
    --gc-badge-overdue-bg: #5c2d91;
    --gc-badge-overdue-border: #4f277d;
    --gc-badge-overdue-text: #ffffff;
    --gc-badge-tariff-bg: #3a3b3c;
    --gc-badge-tariff-border: #3a3b3c;
    --gc-badge-tariff-text: #ffffff;
    --gc-badge-notification-bg: #ef4444;
    --gc-badge-notification-border: #dc2626;
    --gc-badge-notification-text: #ffffff;
    --gc-badge-permit-bg: var(--gc-badge-neutral-bg);
    --gc-badge-permit-border: var(--gc-badge-neutral-border);
    --gc-badge-permit-text: var(--gc-badge-neutral-text);
    --gc-badge-permit-green-bg: var(--gc-badge-success-bg);
    --gc-badge-permit-green-border: var(--gc-badge-success-border);
    --gc-badge-permit-green-text: var(--gc-badge-success-text);
    --gc-badge-permit-red-bg: var(--gc-badge-error-bg);
    --gc-badge-permit-red-border: var(--gc-badge-error-border);
    --gc-badge-permit-red-text: var(--gc-badge-error-text);
    --gc-badge-permit-orange-bg: var(--gc-badge-warning-bg);
    --gc-badge-permit-orange-border: var(--gc-badge-warning-border);
    --gc-badge-permit-orange-text: var(--gc-badge-warning-text);
    --gc-badge-klip-ok-bg: var(--gc-badge-success-bg);
    --gc-badge-klip-ok-border: var(--gc-badge-success-border);
    --gc-badge-klip-ok-text: var(--gc-badge-success-text);
    --gc-badge-klip-gl-bg: var(--gc-badge-warning-bg);
    --gc-badge-klip-gl-border: var(--gc-badge-warning-border);
    --gc-badge-klip-gl-text: var(--gc-badge-warning-text);
    --gc-badge-klip-a-bg: var(--gc-badge-info-bg);
    --gc-badge-klip-a-border: var(--gc-badge-info-border);
    --gc-badge-klip-a-text: var(--gc-badge-info-text);
    --gc-badge-klip-nvt-bg: var(--gc-badge-neutral-bg);
    --gc-badge-klip-nvt-border: var(--gc-badge-neutral-border);
    --gc-badge-klip-nvt-text: var(--gc-badge-neutral-text);
    --gc-badge-stats-base-bg: var(--gc-badge-neutral-bg);
    --gc-badge-stats-base-border: var(--gc-badge-neutral-border);
    --gc-badge-stats-team-bg: var(--gc-badge-neutral-bg);
    --gc-badge-stats-team-border: var(--gc-badge-neutral-border);
    --gc-badge-stats-team-text: var(--gc-badge-neutral-text);
    --gc-movement-in-bg: var(--gc-badge-success-bg);
    --gc-movement-in-border: var(--gc-badge-success-border);
    --gc-movement-in-text: var(--gc-badge-success-text);
    --gc-movement-out-bg: var(--gc-badge-danger-bg);
    --gc-movement-out-border: var(--gc-badge-danger-border);
    --gc-movement-out-text: var(--gc-badge-danger-text);
    --gc-movement-adj-in-bg: var(--gc-badge-info-bg);
    --gc-movement-adj-in-border: var(--gc-badge-info-border);
    --gc-movement-adj-in-text: var(--gc-badge-info-text);
    --gc-movement-adj-out-bg: var(--gc-badge-warning-bg);
    --gc-movement-adj-out-border: var(--gc-badge-warning-border);
    --gc-movement-adj-out-text: var(--gc-badge-warning-text);
    --gc-movement-return-bg: var(--gc-badge-overdue-bg);
    --gc-movement-return-border: var(--gc-badge-overdue-border);
    --gc-movement-return-text: var(--gc-badge-overdue-text);
    --file-category-blue-bg: #3b82f6;
    --file-category-blue-border: #2563eb;
    --file-category-blue-text: #ffffff;
    --file-category-green-bg: #16a34a;
    --file-category-green-border: #15803d;
    --file-category-green-text: #ffffff;
    --file-category-amber-bg: #f59e0b;
    --file-category-amber-border: #d97706;
    --file-category-amber-text: #ffffff;
    --file-category-red-bg: #ef4444;
    --file-category-red-border: #dc2626;
    --file-category-red-text: #ffffff;
    --file-category-purple-bg: #8b5cf6;
    --file-category-purple-border: #7c3aed;
    --file-category-purple-text: #ffffff;
    --file-category-teal-bg: #0d9488;
    --file-category-teal-border: #0f766e;
    --file-category-teal-text: #ffffff;
    --file-category-slate-bg: #64748b;
    --file-category-slate-border: #475569;
    --file-category-slate-text: #ffffff;
    --file-category-neutral-bg: var(--gc-badge-neutral-bg);
    --file-category-neutral-border: var(--gc-badge-neutral-border);
    --file-category-neutral-text: var(--gc-badge-neutral-text);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
        --gc-fluent-success: #22c55e;
        --gc-fluent-success-hover: #16a34a;
        --gc-badge-success-bg: var(--gc-fluent-success, #13a10e);
        --gc-badge-success-border: var(--gc-fluent-success-hover, #0f8a0c);
        --gc-badge-success-text: #ffffff;
        --gc-badge-warning-bg: #f7630c;
        --gc-badge-warning-border: #da570b;
        --gc-badge-warning-text: #ffffff;
        --gc-badge-danger-bg: #e81123;
        --gc-badge-danger-border: #c50f1f;
        --gc-badge-danger-text: #ffffff;
        --gc-badge-error-bg: var(--gc-badge-danger-bg);
        --gc-badge-error-border: var(--gc-badge-danger-border);
        --gc-badge-error-text: var(--gc-badge-danger-text);
        --gc-badge-neutral-bg: #3a3d42;
        --gc-badge-neutral-border: #545a63;
        --gc-badge-neutral-text: #edf1f7;
        --gc-badge-info-bg: #0078d4;
        --gc-badge-info-border: #106ebe;
        --gc-badge-info-text: #ffffff;
        --gc-badge-primary-bg: #0078d4;
        --gc-badge-primary-border: #106ebe;
        --gc-badge-primary-text: #ffffff;
        --gc-badge-purple-bg: #5c2d91;
        --gc-badge-purple-border: #4f277d;
        --gc-badge-purple-text: #ffffff;
        --gc-badge-overdue-bg: #5c2d91;
        --gc-badge-overdue-border: #4f277d;
        --gc-badge-overdue-text: #ffffff;
        --gc-badge-tariff-bg: #3a3d42;
        --gc-badge-tariff-border: #545a63;
        --gc-badge-tariff-text: #edf1f7;
        --gc-badge-notification-bg: #ef4444;
        --gc-badge-notification-border: #dc2626;
        --gc-badge-notification-text: #ffffff;
        --gc-badge-permit-bg: var(--gc-badge-neutral-bg);
        --gc-badge-permit-border: var(--gc-badge-neutral-border);
        --gc-badge-permit-text: var(--gc-badge-neutral-text);
        --gc-badge-permit-green-bg: var(--gc-badge-success-bg);
        --gc-badge-permit-green-border: var(--gc-badge-success-border);
        --gc-badge-permit-green-text: var(--gc-badge-success-text);
        --gc-badge-permit-red-bg: var(--gc-badge-error-bg);
        --gc-badge-permit-red-border: var(--gc-badge-error-border);
        --gc-badge-permit-red-text: var(--gc-badge-error-text);
        --gc-badge-permit-orange-bg: var(--gc-badge-warning-bg);
        --gc-badge-permit-orange-border: var(--gc-badge-warning-border);
        --gc-badge-permit-orange-text: var(--gc-badge-warning-text);
        --gc-badge-klip-ok-bg: var(--gc-badge-success-bg);
        --gc-badge-klip-ok-border: var(--gc-badge-success-border);
        --gc-badge-klip-ok-text: var(--gc-badge-success-text);
        --gc-badge-klip-gl-bg: var(--gc-badge-warning-bg);
        --gc-badge-klip-gl-border: var(--gc-badge-warning-border);
        --gc-badge-klip-gl-text: var(--gc-badge-warning-text);
        --gc-badge-klip-a-bg: var(--gc-badge-info-bg);
        --gc-badge-klip-a-border: var(--gc-badge-info-border);
        --gc-badge-klip-a-text: var(--gc-badge-info-text);
        --gc-badge-klip-nvt-bg: var(--gc-badge-neutral-bg);
        --gc-badge-klip-nvt-border: var(--gc-badge-neutral-border);
        --gc-badge-klip-nvt-text: var(--gc-badge-neutral-text);
        --gc-badge-stats-base-bg: var(--gc-badge-neutral-bg);
        --gc-badge-stats-base-border: var(--gc-badge-neutral-border);
        --gc-badge-stats-team-bg: var(--gc-badge-neutral-bg);
        --gc-badge-stats-team-border: var(--gc-badge-neutral-border);
        --gc-badge-stats-team-text: var(--gc-badge-neutral-text);
        --gc-movement-return-bg: var(--gc-badge-overdue-bg);
        --gc-movement-return-border: var(--gc-badge-overdue-border);
        --gc-movement-return-text: var(--gc-badge-overdue-text);
        --file-category-blue-bg: #243a5d;
        --file-category-blue-border: #35517d;
        --file-category-blue-text: #e8f1ff;
        --file-category-green-bg: #284532;
        --file-category-green-border: #3a6248;
        --file-category-green-text: #e6fff0;
        --file-category-amber-bg: #5a4519;
        --file-category-amber-border: #7b5d22;
        --file-category-amber-text: #fff2cf;
        --file-category-red-bg: #59272c;
        --file-category-red-border: #7b373d;
        --file-category-red-text: #ffe3e5;
        --file-category-purple-bg: #4a335f;
        --file-category-purple-border: #674584;
        --file-category-purple-text: #f3e6ff;
        --file-category-teal-bg: #1f4f4a;
        --file-category-teal-border: #2e6d66;
        --file-category-teal-text: #e0fffb;
        --file-category-slate-bg: #3a3d42;
        --file-category-slate-border: #545a63;
        --file-category-slate-text: #edf1f7;
    }
}

[data-theme="dark"] {
    --gc-fluent-success: #22c55e;
    --gc-fluent-success-hover: #16a34a;
    --gc-badge-success-bg: var(--gc-fluent-success, #13a10e);
    --gc-badge-success-border: var(--gc-fluent-success-hover, #0f8a0c);
    --gc-badge-success-text: #ffffff;
    --gc-badge-warning-bg: #f7630c;
    --gc-badge-warning-border: #da570b;
    --gc-badge-warning-text: #ffffff;
    --gc-badge-danger-bg: #e81123;
    --gc-badge-danger-border: #c50f1f;
    --gc-badge-danger-text: #ffffff;
    --gc-badge-error-bg: var(--gc-badge-danger-bg);
    --gc-badge-error-border: var(--gc-badge-danger-border);
    --gc-badge-error-text: var(--gc-badge-danger-text);
    --gc-badge-neutral-bg: #3a3d42;
    --gc-badge-neutral-border: #545a63;
    --gc-badge-neutral-text: #edf1f7;
    --gc-badge-info-bg: #0078d4;
    --gc-badge-info-border: #106ebe;
    --gc-badge-info-text: #ffffff;
    --gc-badge-primary-bg: #0078d4;
    --gc-badge-primary-border: #106ebe;
    --gc-badge-primary-text: #ffffff;
    --gc-badge-purple-bg: #5c2d91;
    --gc-badge-purple-border: #4f277d;
    --gc-badge-purple-text: #ffffff;
    --gc-badge-overdue-bg: #5c2d91;
    --gc-badge-overdue-border: #4f277d;
    --gc-badge-overdue-text: #ffffff;
    --gc-badge-tariff-bg: #3a3d42;
    --gc-badge-tariff-border: #545a63;
    --gc-badge-tariff-text: #edf1f7;
    --gc-badge-notification-bg: #ef4444;
    --gc-badge-notification-border: #dc2626;
    --gc-badge-notification-text: #ffffff;
    --gc-badge-permit-bg: var(--gc-badge-neutral-bg);
    --gc-badge-permit-border: var(--gc-badge-neutral-border);
    --gc-badge-permit-text: var(--gc-badge-neutral-text);
    --gc-badge-permit-green-bg: var(--gc-badge-success-bg);
    --gc-badge-permit-green-border: var(--gc-badge-success-border);
    --gc-badge-permit-green-text: var(--gc-badge-success-text);
    --gc-badge-permit-red-bg: var(--gc-badge-error-bg);
    --gc-badge-permit-red-border: var(--gc-badge-error-border);
    --gc-badge-permit-red-text: var(--gc-badge-error-text);
    --gc-badge-permit-orange-bg: var(--gc-badge-warning-bg);
    --gc-badge-permit-orange-border: var(--gc-badge-warning-border);
    --gc-badge-permit-orange-text: var(--gc-badge-warning-text);
    --gc-badge-klip-ok-bg: var(--gc-badge-success-bg);
    --gc-badge-klip-ok-border: var(--gc-badge-success-border);
    --gc-badge-klip-ok-text: var(--gc-badge-success-text);
    --gc-badge-klip-gl-bg: var(--gc-badge-warning-bg);
    --gc-badge-klip-gl-border: var(--gc-badge-warning-border);
    --gc-badge-klip-gl-text: var(--gc-badge-warning-text);
    --gc-badge-klip-a-bg: var(--gc-badge-info-bg);
    --gc-badge-klip-a-border: var(--gc-badge-info-border);
    --gc-badge-klip-a-text: var(--gc-badge-info-text);
    --gc-badge-klip-nvt-bg: var(--gc-badge-neutral-bg);
    --gc-badge-klip-nvt-border: var(--gc-badge-neutral-border);
    --gc-badge-klip-nvt-text: var(--gc-badge-neutral-text);
    --gc-badge-stats-base-bg: var(--gc-badge-neutral-bg);
    --gc-badge-stats-base-border: var(--gc-badge-neutral-border);
    --gc-badge-stats-team-bg: var(--gc-badge-neutral-bg);
    --gc-badge-stats-team-border: var(--gc-badge-neutral-border);
    --gc-badge-stats-team-text: var(--gc-badge-neutral-text);
    --gc-movement-return-bg: var(--gc-badge-overdue-bg);
    --gc-movement-return-border: var(--gc-badge-overdue-border);
    --gc-movement-return-text: var(--gc-badge-overdue-text);
    --file-category-blue-bg: #243a5d;
    --file-category-blue-border: #35517d;
    --file-category-blue-text: #e8f1ff;
    --file-category-green-bg: #284532;
    --file-category-green-border: #3a6248;
    --file-category-green-text: #e6fff0;
    --file-category-amber-bg: #5a4519;
    --file-category-amber-border: #7b5d22;
    --file-category-amber-text: #fff2cf;
    --file-category-red-bg: #59272c;
    --file-category-red-border: #7b373d;
    --file-category-red-text: #ffe3e5;
    --file-category-purple-bg: #4a335f;
    --file-category-purple-border: #674584;
    --file-category-purple-text: #f3e6ff;
    --file-category-teal-bg: #1f4f4a;
    --file-category-teal-border: #2e6d66;
    --file-category-teal-text: #e0fffb;
    --file-category-slate-bg: #3a3d42;
    --file-category-slate-border: #545a63;
    --file-category-slate-text: #edf1f7;
}

.gc-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 20px;
    padding: 2px 7px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
    white-space: nowrap;
    box-shadow: none;
}

.gc-badge.success,
.gc-badge-success {
    background: var(--gc-badge-success-bg);
    border-color: var(--gc-badge-success-border);
    color: var(--gc-badge-success-text);
}

.gc-badge.warning,
.gc-badge-warning {
    background: var(--gc-badge-warning-bg);
    border-color: var(--gc-badge-warning-border);
    color: var(--gc-badge-warning-text);
}

.gc-badge.boq-status-amber {
    background: var(--gc-badge-boq-status-amber-bg);
    border-color: var(--gc-badge-boq-status-amber-border);
    color: var(--gc-badge-boq-status-amber-text);
}

.gc-badge.boq-status-red {
    background: var(--gc-badge-boq-status-red-bg);
    border-color: var(--gc-badge-boq-status-red-border);
    color: var(--gc-badge-boq-status-red-text);
}

.gc-badge.boq-status-green {
    background: var(--gc-badge-boq-status-green-bg);
    border-color: var(--gc-badge-boq-status-green-border);
    color: var(--gc-badge-boq-status-green-text);
}

.gc-badge.boq-status-blue {
    background: var(--gc-badge-boq-status-blue-bg);
    border-color: var(--gc-badge-boq-status-blue-border);
    color: var(--gc-badge-boq-status-blue-text);
}

.gc-badge.boq-status-purple {
    background: var(--gc-badge-boq-status-purple-bg);
    border-color: var(--gc-badge-boq-status-purple-border);
    color: var(--gc-badge-boq-status-purple-text);
}

.gc-badge.error,
.gc-badge-danger {
    background: var(--gc-badge-error-bg);
    border-color: var(--gc-badge-error-border);
    color: var(--gc-badge-error-text);
}

.gc-badge.neutral {
    background: var(--gc-badge-neutral-bg);
    border-color: var(--gc-badge-neutral-border);
    color: var(--gc-badge-neutral-text);
}

.gc-badge.info {
    background: var(--gc-badge-info-bg);
    border-color: var(--gc-badge-info-border);
    color: var(--gc-badge-info-text);
}

.gc-badge.primary,
.gc-badge-primary {
    background: var(--gc-badge-primary-bg);
    border-color: var(--gc-badge-primary-border);
    color: var(--gc-badge-primary-text);
}

.gc-badge.purple,
.gc-badge-purple {
    background: var(--gc-badge-purple-bg);
    border-color: var(--gc-badge-purple-border);
    color: var(--gc-badge-purple-text);
}

.gc-badge.overdue,
.gc-badge-overdue {
    background: var(--gc-badge-overdue-bg);
    border-color: var(--gc-badge-overdue-border);
    color: var(--gc-badge-overdue-text);
}

.gc-badge.tariff {
    background: var(--gc-badge-tariff-bg);
    border-color: var(--gc-badge-tariff-border);
    color: var(--gc-badge-tariff-text);
}

.gc-badge.notification {
    background: var(--gc-badge-notification-bg);
    border-color: var(--gc-badge-notification-border);
    color: var(--gc-badge-notification-text);
}

.ops-permit-badge {
    background: var(--gc-badge-permit-bg);
    border-color: var(--gc-badge-permit-border);
    color: var(--gc-badge-permit-text);
}

.ops-permit-badge.ops-permit-green {
    background: var(--gc-badge-permit-green-bg);
    border-color: var(--gc-badge-permit-green-border);
    color: var(--gc-badge-permit-green-text);
}

.ops-permit-badge.ops-permit-red {
    background: var(--gc-badge-permit-red-bg);
    border-color: var(--gc-badge-permit-red-border);
    color: var(--gc-badge-permit-red-text);
}

.ops-permit-badge.ops-permit-orange {
    background: var(--gc-badge-permit-orange-bg);
    border-color: var(--gc-badge-permit-orange-border);
    color: var(--gc-badge-permit-orange-text);
}

.ops-klip-badge {
    background: var(--gc-badge-klip-nvt-bg);
    border-color: var(--gc-badge-klip-nvt-border);
    color: var(--gc-badge-klip-nvt-text);
}

.ops-klip-badge.ops-klip-badge--ok {
    background: var(--gc-badge-klip-ok-bg);
    border-color: var(--gc-badge-klip-ok-border);
    color: var(--gc-badge-klip-ok-text);
}

.ops-klip-badge.ops-klip-badge--gl {
    background: var(--gc-badge-klip-gl-bg);
    border-color: var(--gc-badge-klip-gl-border);
    color: var(--gc-badge-klip-gl-text);
}

.ops-klip-badge.ops-klip-badge--a {
    background: var(--gc-badge-klip-a-bg);
    border-color: var(--gc-badge-klip-a-border);
    color: var(--gc-badge-klip-a-text);
}

.ops-klip-badge.ops-klip-badge--nvt {
    background: var(--gc-badge-klip-nvt-bg);
    border-color: var(--gc-badge-klip-nvt-border);
    color: var(--gc-badge-klip-nvt-text);
}

.ops-paving-badge.ops-paving-badge--not-restored {
    background: var(--gc-badge-danger-bg);
    border-color: var(--gc-badge-danger-border);
    color: var(--gc-badge-danger-text);
}

.ops-paving-badge.ops-paving-badge--restored {
    background: var(--gc-badge-success-bg);
    border-color: var(--gc-badge-success-border);
    color: var(--gc-badge-success-text);
}

.ops-paving-badge.ops-paving-badge--temporary-restored {
    background: var(--gc-badge-neutral-bg);
    border-color: var(--gc-badge-neutral-border);
    color: var(--gc-badge-neutral-text);
}

.ops-supervisor-badge-empty {
    background: var(--gc-badge-error-bg);
    border-color: var(--gc-badge-error-border);
    color: var(--gc-badge-error-text);
}

.ops-stats-team-badge {
    background: var(--gc-badge-stats-team-bg);
    border-color: var(--gc-badge-stats-team-border);
    color: var(--gc-badge-stats-team-text);
}

.ops-stats-team-count-badge {
    background: var(--gc-badge-stats-base-bg);
    border-color: var(--gc-badge-stats-base-border);
}

.ops-stats-team-count-badge--planned {
    background: var(--gc-badge-success-bg);
    border-color: var(--gc-badge-success-border);
    color: var(--gc-badge-success-text);
}

.ops-stats-team-count-badge--draft {
    background: var(--gc-badge-warning-bg);
    border-color: var(--gc-badge-warning-border);
    color: var(--gc-badge-warning-text);
}

.ops-stats-team-count-badge--replan,
.ops-stats-team-count-badge--skipped {
    background: var(--gc-badge-neutral-bg);
    border-color: var(--gc-badge-neutral-border);
    color: var(--gc-badge-neutral-text);
}

.ops-stats-team-count-badge--done {
    background: var(--gc-badge-info-bg);
    border-color: var(--gc-badge-info-border);
    color: var(--gc-badge-info-text);
}

.file-category-badge {
    max-width: 100%;
}

.file-category-badge--blue {
    background: var(--file-category-blue-bg);
    border-color: var(--file-category-blue-border);
    color: var(--file-category-blue-text);
}

.file-category-badge--green {
    background: var(--file-category-green-bg);
    border-color: var(--file-category-green-border);
    color: var(--file-category-green-text);
}

.file-category-badge--amber {
    background: var(--file-category-amber-bg);
    border-color: var(--file-category-amber-border);
    color: var(--file-category-amber-text);
}

.file-category-badge--red {
    background: var(--file-category-red-bg);
    border-color: var(--file-category-red-border);
    color: var(--file-category-red-text);
}

.file-category-badge--purple {
    background: var(--file-category-purple-bg);
    border-color: var(--file-category-purple-border);
    color: var(--file-category-purple-text);
}

.file-category-badge--teal {
    background: var(--file-category-teal-bg);
    border-color: var(--file-category-teal-border);
    color: var(--file-category-teal-text);
}

.file-category-badge--slate {
    background: var(--file-category-slate-bg);
    border-color: var(--file-category-slate-border);
    color: var(--file-category-slate-text);
}

.file-category-badge--neutral {
    background: var(--file-category-neutral-bg);
    border-color: var(--file-category-neutral-border);
    color: var(--file-category-neutral-text);
}

.file-category-badge--custom {
    background: var(--file-category-custom-bg, var(--file-category-neutral-bg));
    border-color: var(--file-category-custom-border, var(--file-category-neutral-border));
    color: var(--file-category-custom-text, var(--file-category-neutral-text));
}

.file-category-color-field {
    display: grid;
    gap: 10px;
}

.file-category-color-control {
    display: grid;
    grid-template-columns: 46px minmax(0, 136px) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 100%;
}

.file-category-color-well {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 40px;
    border: 1px solid var(--gc-border, #d1d5db);
    border-radius: 8px;
    background: var(--gc-surface, #ffffff);
    cursor: pointer;
}

.file-category-color-well:focus-within {
    border-color: var(--gc-accent, #3b82f6);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

.file-category-color-picker {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.file-category-color-swatch {
    width: 30px;
    height: 26px;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 6px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24);
}

.file-category-color-hex {
    width: 136px !important;
    min-width: 0 !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    text-transform: lowercase;
}

.file-category-color-preview-row {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-self: end;
    gap: 6px;
    min-width: 0;
}

.file-category-color-preview-label {
    color: var(--gc-muted, #64748b);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.file-category-color-live-preview {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.file-category-color-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.file-category-color-option {
    cursor: pointer;
}

.file-category-color-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.file-category-color-option input:focus-visible + .gc-badge,
.file-category-color-option input:checked + .gc-badge {
    outline: 2px solid var(--gc-accent, #3b82f6);
    outline-offset: 2px;
}

.mv-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 20px;
    padding: 2px 7px;
    border: 1px solid var(--gc-badge-neutral-border);
    border-radius: 4px;
    background: var(--gc-badge-neutral-bg);
    color: var(--gc-badge-neutral-text);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    white-space: nowrap;
    box-shadow: none;
}

.mv-in {
    background: var(--gc-fluent-success, #13a10e);
    border-color: var(--gc-fluent-success-hover, #0f8a0c);
    color: #ffffff;
}

.mv-out {
    background: #e81123;
    border-color: #c50f1f;
    color: #ffffff;
}

.mv-adj-in {
    background: #0078d4;
    border-color: #106ebe;
    color: #ffffff;
}

.mv-adj-out {
    background: #f7630c;
    border-color: #da570b;
    color: #ffffff;
}

.mv-return,
.mv-transfer {
    background: #5c2d91;
    border-color: #4f277d;
    color: #ffffff;
}

.mv-badge .material-icons,
.mv-badge .material-icons-round {
    font-size: 14px;
    line-height: 1;
}

.stock-position {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 6px;
    text-align: left;
    vertical-align: bottom;
}

.stock-position__item {
    position: relative;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.stock-position__badge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 112px;
    min-height: 32px;
    box-sizing: border-box;
    font-variant-numeric: tabular-nums;
    line-height: 1.05;
    text-align: center;
}

.stock-position__label {
    display: block;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    opacity: 0.82;
}

.stock-position__value {
    display: block;
    max-width: 100%;
    line-height: 1.1;
    white-space: normal;
    overflow-wrap: anywhere;
}

body.dark-mode .stock-position__label {
    color: #bebeb7;
}
