:root {
    --csa-primary: #0a2c51;
    --csa-primary-strong: #08213d;
    --csa-primary-soft: #e9f0f7;
    --csa-info: #3fa7d6;
    --csa-success: #40c9a2;
    --csa-warning: #f6c90e;
    --csa-danger: #dc3545;
    --csa-muted: #64748b;
    --csa-slate: #334155;
    --csa-surface: #ffffff;
    --csa-surface-soft: #f8fafc;
    --csa-surface-muted: #eef2f7;
    --csa-border: #dfe5ec;
    --csa-border-strong: #cbd5e1;
    --csa-text: #1f2937;
    --csa-text-muted: #64748b;
    --csa-shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06);
    --csa-shadow-md: 0 12px 28px rgba(15, 23, 42, 0.08);
    --csa-radius-xs: 0.35rem;
    --csa-radius-sm: 0.5rem;
    --csa-radius-md: 0.75rem;
    --csa-radius-lg: 1rem;
    --csa-focus-ring: 0 0 0 0.2rem rgba(63, 167, 214, 0.22);
}

html.theme-dark {
    --csa-primary: #58a6ff;
    --csa-primary-strong: #8bc2ff;
    --csa-primary-soft: rgba(88, 166, 255, 0.16);
    --csa-info: #60a5fa;
    --csa-success: #34d399;
    --csa-warning: #fbbf24;
    --csa-danger: #f87171;
    --csa-muted: #94a3b8;
    --csa-slate: #cbd5e1;
    --csa-surface: #111827;
    --csa-surface-soft: #0f172a;
    --csa-surface-muted: #1f2937;
    --csa-border: #334155;
    --csa-border-strong: #475569;
    --csa-text: #e5e7eb;
    --csa-text-muted: #a7b3c6;
    --csa-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.22);
    --csa-shadow-md: 0 14px 34px rgba(0, 0, 0, 0.32);
    --csa-focus-ring: 0 0 0 0.2rem rgba(96, 165, 250, 0.24);
}

.csa-page {
    color: var(--csa-text);
}

.csa-page .container-fluid {
    max-width: 1480px;
}

.csa-catalog-layout {
    align-items: start;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    margin-top: 1.25rem;
}

.csa-catalog-main {
    min-width: 0;
}

.csa-catalog-main > .csa-section:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.csa-catalog-main > .csa-section {
    border-top: 1px solid var(--csa-border);
    padding-top: 1.25rem;
    scroll-margin-top: 6rem;
}

.csa-catalog-sidebar {
    display: grid;
    gap: 1rem;
    position: sticky;
    top: 5.25rem;
    z-index: 2;
}

.csa-catalog-nav,
.csa-catalog-summary {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
}

.csa-catalog-nav {
    max-height: calc(100vh - 6.5rem);
    overflow: hidden;
}

.csa-catalog-nav__title {
    border-bottom: 1px solid var(--csa-border);
    color: var(--csa-text);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    padding: 0.85rem 1rem;
    text-transform: uppercase;
}

.csa-catalog-nav__list {
    display: grid;
    gap: 0.15rem;
    max-height: calc(100vh - 10rem);
    overflow-y: auto;
    padding: 0.55rem;
}

.csa-catalog-nav__link {
    align-items: center;
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text-muted);
    display: flex;
    gap: 0.55rem;
    min-height: 2.25rem;
    padding: 0.45rem 0.55rem;
    text-decoration: none;
}

.csa-catalog-nav__link:hover,
.csa-catalog-nav__link:focus {
    background: var(--csa-primary-soft);
    color: var(--csa-primary);
}

.csa-catalog-nav__link i {
    width: 1rem;
}

.csa-catalog-summary {
    display: grid;
    gap: 0;
    overflow: hidden;
}

.csa-catalog-summary__item {
    padding: 0.85rem 1rem;
}

.csa-catalog-summary__item + .csa-catalog-summary__item {
    border-top: 1px solid var(--csa-border);
}

.csa-catalog-summary__value {
    color: var(--csa-text);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
}

.csa-catalog-summary__label {
    color: var(--csa-text-muted);
    font-size: 0.76rem;
    margin-top: 0.2rem;
}

.csa-page-header {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-left: 4px solid var(--csa-primary);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    margin-bottom: 1rem;
    padding: 1.25rem;
}

.csa-page-header__content {
    min-width: 0;
}

.csa-page-kicker,
.csa-section-kicker {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.csa-page-title {
    color: var(--csa-text);
    font-size: 1.55rem;
    font-weight: 750;
    line-height: 1.25;
    margin: 0;
}

.csa-page-lead {
    color: var(--csa-text-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0.55rem 0 0;
    max-width: 860px;
    overflow-wrap: anywhere;
}

.csa-page-actions,
.csa-action-group {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.csa-section {
    margin-top: 1.25rem;
}

.csa-section-header {
    align-items: flex-end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.csa-section-title {
    color: var(--csa-text);
    font-size: 1.05rem;
    font-weight: 750;
    line-height: 1.3;
    margin: 0;
}

.csa-section-note {
    color: var(--csa-text-muted);
    font-size: 0.86rem;
    line-height: 1.45;
    margin: 0.25rem 0 0;
}

.csa-example-panel {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    padding: 1rem;
}

.csa-grid {
    display: grid;
    gap: 1rem;
}

.csa-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csa-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.csa-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.csa-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    min-width: 0;
    overflow: hidden;
}

.csa-card__header {
    align-items: center;
    background: var(--csa-surface-soft);
    border-bottom: 1px solid var(--csa-border);
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.85rem 1rem;
}

.csa-card__title {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 750;
    margin: 0;
}

.csa-card__body {
    padding: 1rem;
}

.csa-card__body--grow {
    flex: 1 1 auto;
}

.csa-card__footer {
    align-items: center;
    background: var(--csa-surface);
    border-top: 1px solid var(--csa-border);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.85rem 1rem;
}

.csa-card__meta {
    color: var(--csa-text-muted);
    font-size: 0.78rem;
}

.btn-csa-primary {
    --bs-btn-bg: var(--csa-primary);
    --bs-btn-border-color: var(--csa-primary);
    --bs-btn-color: #ffffff;
    --bs-btn-hover-bg: var(--csa-primary-strong);
    --bs-btn-hover-border-color: var(--csa-primary-strong);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-active-bg: var(--csa-primary-strong);
    --bs-btn-active-border-color: var(--csa-primary-strong);
    box-shadow: var(--csa-shadow-sm);
    font-weight: 650;
}

.btn-csa-soft {
    --bs-btn-bg: var(--csa-primary-soft);
    --bs-btn-border-color: transparent;
    --bs-btn-color: var(--csa-primary);
    --bs-btn-hover-bg: rgba(63, 167, 214, 0.18);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-hover-color: var(--csa-primary-strong);
    font-weight: 650;
}

.btn.csa-btn--loading,
button.csa-btn--loading {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
    justify-content: center;
    pointer-events: none;
}

.csa-btn-spinner {
    animation: csa-spin 0.7s linear infinite;
    border: 0.14rem solid currentColor;
    border-radius: 50%;
    border-right-color: transparent;
    display: inline-block;
    flex: 0 0 auto;
    height: 1rem;
    width: 1rem;
}

@keyframes csa-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Purchase Request module */
.csa-pr-page .csa-page-header {
    margin-bottom: 1rem;
}

.csa-pr-table-shell {
    overflow: hidden;
}

.csa-pr-control-panel {
    margin-bottom: 0.85rem;
}

.csa-control-panel__row.csa-pr-control-panel__row {
    grid-template-columns: auto auto minmax(260px, 1fr) auto;
}

.csa-pr-control-panel__actions,
.csa-pr-control-panel__submit {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.csa-pr-control-panel__search {
    min-width: 0;
}

.csa-control-panel__advanced.csa-pr-control-panel__advanced {
    background: var(--csa-surface-soft);
    border-top: 1px solid var(--csa-border);
    padding: 1rem;
}

.csa-pr-modal-table-shell {
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    overflow: hidden;
}

.csa-pr-filter-advanced {
    background: var(--csa-surface-soft);
    border-color: var(--csa-border);
    box-shadow: none;
}

.csa-pr-filter-submit {
    align-items: end;
    display: flex;
    gap: 0.5rem;
}

.csa-pr-table-responsive {
    background: var(--csa-surface);
}

.table.csa-pr-table thead th {
    vertical-align: middle;
}

.table.csa-pr-table tbody td {
    vertical-align: middle;
}

.csa-pr-table-footer {
    align-items: center;
    background: var(--csa-surface);
    border-top: 1px solid var(--csa-border);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.85rem 1rem;
}

.csa-pr-table-footer .pagination {
    margin-bottom: 0;
}

@media (max-width: 991.98px) {
    .csa-control-panel__row.csa-pr-control-panel__row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .csa-pr-control-panel__actions {
        justify-content: flex-end;
    }

    .csa-pr-control-panel__search,
    .csa-pr-control-panel__submit {
        grid-column: 1 / -1;
    }

    .csa-pr-control-panel__submit {
        justify-content: flex-end;
    }
}

@media (max-width: 767.98px) {
    .csa-control-panel__row.csa-pr-control-panel__row {
        grid-template-columns: 1fr;
    }

    .csa-pr-control-panel__actions,
    .csa-pr-control-panel__submit {
        align-items: stretch;
        flex-direction: column;
    }

    .csa-pr-control-panel__actions .btn,
    .csa-pr-control-panel__submit .btn,
    .csa-pr-control-panel__submit a {
        width: 100%;
    }

    .csa-pr-filter-submit,
    .csa-pr-table-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .csa-pr-filter-submit .btn,
    .csa-pr-table-footer > div {
        width: 100%;
    }
}

.csa-pr-page .pr-filter-label,
.csa-pr-page .csa-pr-filter-label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.csa-pr-page .pr-column-filter {
    border-color: var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
}

.csa-pr-page .pr-column-filter:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-pr-page .pr-search-select + .select2-container {
    width: 100% !important;
}

.csa-pr-page .pr-search-select + .select2-container .select2-selection--single {
    align-items: center;
    background-color: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    display: flex;
    min-height: calc(1.5em + 0.5rem + 2px);
}

.csa-pr-page .pr-search-select + .select2-container .select2-selection--single .select2-selection__rendered {
    color: var(--csa-text);
    line-height: normal;
    padding-left: 0.5rem;
    padding-right: 1.75rem;
}

.csa-pr-page .pr-search-select + .select2-container .select2-selection--single .select2-selection__placeholder {
    color: var(--csa-text-muted);
}

.csa-pr-page .pr-search-select + .select2-container .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 0.35rem;
}

.csa-pr-page .modal-pr-create-dialog {
    max-width: min(960px, calc(100vw - 2rem));
}

.csa-pr-page .modal-pr .section-title {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-pr-page .modal-pr .selection-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
}

.csa-pr-page .modal-pr .selection-box {
    background-color: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    max-height: 150px;
    min-height: 150px;
    overflow-y: auto;
    padding: 0.5rem;
}

.csa-pr-page .modal-pr .selected-box {
    background-color: var(--csa-primary-soft);
    border: 1px dashed rgba(63, 167, 214, 0.35);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    padding: 0.5rem 0.75rem;
}

.csa-pr-page .modal-pr .selectable-item {
    border-radius: var(--csa-radius-xs);
    padding: 0.35rem 0.5rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.csa-pr-page .modal-pr .selectable-item:not(.selectable-item-disabled) {
    cursor: pointer;
}

.csa-pr-page .modal-pr .selectable-item:not(.selectable-item-disabled):hover {
    background-color: var(--csa-primary-soft);
    color: var(--csa-primary);
}

.csa-pr-page .modal-pr .selectable-item.selectable-item-disabled {
    background-color: var(--csa-surface-muted);
    color: var(--csa-text-muted);
}

.csa-pr-page .modal-pr .modal-body-scroll {
    max-height: calc(100vh - 220px);
    overflow-y: auto;
}

.csa-pr-page .modal-pr .rab-items-card {
    border: 1px solid rgba(63, 167, 214, 0.18) !important;
}

.csa-pr-page .modal-pr .rab-target-toolbar {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    padding: 0.35rem;
}

.csa-pr-page .modal-pr .rab-items-table-wrap {
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    overflow: auto;
}

.csa-pr-page .modal-pr .rab-items-table {
    table-layout: auto;
    width: 100%;
}

.csa-pr-page .modal-pr .rab-items-table thead th {
    position: sticky;
    top: 0;
    vertical-align: middle;
    white-space: nowrap;
    z-index: 1;
}

.csa-pr-page .modal-pr .rab-items-table tbody td {
    vertical-align: middle;
}

.csa-pr-page .modal-pr .rab-pr-qty-input {
    max-width: 100%;
    min-width: 5.5rem;
    width: 6.5rem;
}

.csa-pr-page .modal-pr .rab-number-column,
.csa-pr-page .modal-pr .rab-number-cell {
    white-space: nowrap;
    width: 8rem;
}

.csa-pr-page .modal-pr .rab-item-column,
.csa-pr-page .modal-pr .rab-item-cell {
    white-space: nowrap;
    width: 7rem;
}

.csa-pr-page .modal-pr .rab-sub-item-column,
.csa-pr-page .modal-pr .rab-sub-item-cell {
    white-space: nowrap;
    width: 1%;
}

.csa-pr-page .modal-pr .rab-qty-column,
.csa-pr-page .modal-pr .rab-qty-cell {
    white-space: nowrap;
    width: 5rem;
}

.csa-pr-page .modal-pr .rab-pr-qty-column,
.csa-pr-page .modal-pr .rab-pr-qty-cell,
.csa-pr-page .modal-pr .rab-target-column,
.csa-pr-page .modal-pr .rab-target-cell {
    min-width: 7rem;
    white-space: nowrap;
    width: 7rem;
}

.csa-pr-page .modal-pr .rab-status-column,
.csa-pr-page .modal-pr .rab-status-cell {
    min-width: 8rem;
}

.csa-pr-page .modal-pr .rab-target-select {
    border-radius: var(--csa-radius-sm);
    font-weight: 650;
    max-width: 100%;
    min-width: 6.25rem;
    width: 6.25rem;
}

.csa-pr-page .modal-pr .rab-target-select:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-pr-page .disabled-style {
    background-color: var(--csa-surface-muted);
    opacity: 1;
}

.csa-pr-detail-page .csa-pr-detail-value {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.csa-pr-detail-page .csa-pr-detail-label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.csa-pr-detail-page .csa-pr-detail-list {
    display: grid;
    gap: 0.85rem;
}

.csa-pr-detail-page .csa-pr-detail-item {
    border-bottom: 1px solid var(--csa-border);
    padding-bottom: 0.75rem;
}

.csa-pr-detail-page .csa-pr-detail-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.csa-pr-duplicate-page .duplicate-pr-note {
    background: rgba(246, 201, 14, 0.12);
    border: 1px solid rgba(246, 201, 14, 0.26);
    border-left: 4px solid var(--csa-warning);
    border-radius: var(--csa-radius-md);
}

.csa-pr-duplicate-page .duplicate-bulk-bar {
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.75rem 1rem;
}

.csa-pr-boq-page {
    --pr-boq-base-bg: #f8fafc;
    --pr-boq-surface-bg: #ffffff;
    --pr-boq-surface-soft: #e2e8f0;
    --pr-boq-border-color: #e2e8f0;
    --pr-boq-text-dark: #1e293b;
    --pr-boq-text-body: #475569;
    --pr-boq-text-muted: #64748b;
    --pr-boq-icon-muted: #94a3b8;
    --pr-boq-meta-bg: #f8fafc;
    --pr-boq-meta-border: #d6e0ee;
    --pr-boq-shadow-card: 0 1px 3px rgba(0, 0, 0, 0.05);
    background: linear-gradient(180deg, #f7f9fc 0%, #eef3f9 100%);
    color: var(--pr-boq-text-body);
    min-height: 0;
}

html.theme-dark .csa-pr-boq-page,
html[data-bs-theme="dark"] .csa-pr-boq-page {
    --pr-boq-base-bg: #0f172a;
    --pr-boq-surface-bg: #111827;
    --pr-boq-surface-soft: #1f2937;
    --pr-boq-border-color: #334155;
    --pr-boq-text-dark: #e2e8f0;
    --pr-boq-text-body: #cbd5e1;
    --pr-boq-text-muted: #94a3b8;
    --pr-boq-icon-muted: #94a3b8;
    --pr-boq-meta-bg: #0b1220;
    --pr-boq-meta-border: #334155;
    --pr-boq-shadow-card: 0 8px 20px rgba(2, 6, 23, 0.42);
    background: linear-gradient(180deg, #0f172a 0%, #111827 100%);
}

.csa-pr-boq-page .boq-page-shell {
    margin: 0 auto;
    max-width: min(1340px, 96vw);
}

.csa-pr-boq-page .boq-page-header {
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid var(--pr-boq-border-color);
    border-left: 4px solid var(--csa-primary);
    border-radius: var(--csa-radius-lg);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
}

html.theme-dark .csa-pr-boq-page .boq-page-header,
html[data-bs-theme="dark"] .csa-pr-boq-page .boq-page-header {
    background: rgba(15, 23, 42, 0.72);
    border-color: #334155;
    box-shadow: 0 12px 28px rgba(2, 6, 23, 0.32);
}

.csa-pr-boq-page .card-clean {
    background: var(--pr-boq-surface-bg);
    border: 1px solid var(--pr-boq-border-color);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--pr-boq-shadow-card);
}

.csa-pr-boq-page .section-label {
    align-items: center;
    color: var(--pr-boq-icon-muted);
    display: flex;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    margin-bottom: 0;
    text-transform: uppercase;
}

.csa-pr-boq-page .section-label::after {
    background: var(--pr-boq-border-color);
    content: "";
    flex: 1;
    height: 1px;
    margin-left: 0.9rem;
}

.csa-pr-boq-page .page-title {
    color: var(--pr-boq-text-dark);
    font-weight: 750;
}

.csa-pr-boq-page .text-dark {
    color: var(--pr-boq-text-dark) !important;
}

.csa-pr-boq-page .text-muted {
    color: var(--pr-boq-text-muted) !important;
}

.csa-pr-boq-page .page-subtitle {
    color: var(--pr-boq-text-muted);
    font-size: 0.85rem;
}

.csa-pr-boq-page .boq-modal-card {
    background: var(--pr-boq-surface-bg);
    border: 0;
    border-radius: var(--csa-radius-lg);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
    overflow: hidden;
}

html.theme-dark .csa-pr-boq-page .boq-modal-card,
html[data-bs-theme="dark"] .csa-pr-boq-page .boq-modal-card {
    box-shadow: 0 18px 40px rgba(2, 6, 23, 0.42);
}

.csa-pr-boq-page .boq-modal-header {
    background: var(--csa-primary);
    color: #ffffff;
    padding: 1rem 1.25rem;
}

.csa-pr-boq-page .boq-modal-title-wrap {
    align-items: flex-start;
    display: flex;
    gap: 0.85rem;
    width: 100%;
}

.csa-pr-boq-page .boq-modal-title-icon {
    align-items: center;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--csa-radius-md);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1rem;
    height: 2.35rem;
    justify-content: center;
    width: 2.35rem;
}

.csa-pr-boq-page .boq-modal-title-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.csa-pr-boq-page .boq-modal-title-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 0.2rem;
}

.csa-pr-boq-page .boq-modal-title {
    font-size: 1.1rem;
    font-weight: 750;
    line-height: 1.3;
    margin: 0;
}

.csa-pr-boq-page .boq-mode-badge {
    align-items: center;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 750;
    gap: 0.3rem;
    letter-spacing: 0.04em;
    padding: 0.22rem 0.55rem;
    text-transform: uppercase;
}

.csa-pr-boq-page .boq-modal-subtitle {
    color: rgba(255, 255, 255, 0.8);
    display: block;
    font-size: 0.8rem;
    line-height: 1.5;
}

.csa-pr-boq-page .boq-modal-body {
    background-color: var(--csa-surface-soft);
    padding: 1.25rem;
}

html.theme-dark .csa-pr-boq-page .boq-modal-body,
html[data-bs-theme="dark"] .csa-pr-boq-page .boq-modal-body {
    background: #0f172a;
}

.csa-pr-boq-page .boq-stage-toolbar {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.csa-pr-boq-page .boq-stage-toolbar-copy {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    max-width: 840px;
}

.csa-pr-boq-page .boq-stage-chip {
    align-items: center;
    background-color: var(--csa-primary-soft);
    border: 1px solid rgba(63, 167, 214, 0.24);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 650;
    gap: 0.35rem;
    padding: 0.3rem 0.65rem;
    width: fit-content;
}

.csa-pr-boq-page .boq-stage-toolbar-copy .subtitle {
    color: var(--pr-boq-text-muted);
    display: block;
    font-size: 0.78rem;
    line-height: 1.55;
}

.csa-pr-boq-page .boq-meta-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.25rem;
}

.csa-pr-boq-page .boq-meta-pill,
.csa-pr-boq-page .boq-footer-note,
.csa-pr-boq-page .boq-stage-panel,
.csa-pr-boq-page .boq-stage-table-wrap {
    background: var(--pr-boq-surface-bg);
    border: 1px solid var(--pr-boq-border-color);
}

.csa-pr-boq-page .boq-meta-pill {
    align-items: center;
    border-radius: 999px;
    color: var(--pr-boq-text-body);
    display: inline-flex;
    font-size: 0.72rem;
    gap: 0.35rem;
    padding: 0.2rem 0.55rem;
}

.csa-pr-boq-page .boq-stage-panel {
    border-radius: var(--csa-radius-md);
    padding: 1rem;
}

.csa-pr-boq-page .boq-stage-panel-title {
    color: var(--pr-boq-text-muted);
    font-size: 0.8rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    margin-bottom: 0.75rem;
    text-transform: uppercase;
}

.csa-pr-boq-page .boq-stage-table-wrap {
    border-radius: var(--csa-radius-md);
    overflow: hidden;
}

.csa-pr-boq-page .meta-box {
    background: var(--pr-boq-meta-bg);
    border: 1px dashed var(--pr-boq-meta-border);
    border-radius: var(--csa-radius-sm);
    height: 100%;
    padding: 0.7rem 0.75rem;
}

.csa-pr-boq-page .meta-label {
    color: var(--pr-boq-text-muted);
    display: block;
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.csa-pr-boq-page .meta-value {
    color: var(--pr-boq-text-dark);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.35;
    word-break: break-word;
}

.csa-pr-boq-page .table thead th {
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.csa-pr-boq-page .table tbody td {
    vertical-align: middle;
}

.csa-pr-boq-page .po-item-col {
    min-width: 360px;
}

.csa-pr-boq-page .po-item-select-wrap .choices {
    margin-bottom: 0;
    width: 100%;
}

.csa-pr-boq-page .po-item-select-wrap .choices__inner {
    min-height: 38px;
    padding-bottom: 6px;
    padding-top: 6px;
}

.csa-pr-boq-page .po-item-select-wrap .choices__list--single .choices__item {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-pr-boq-page .po-item-select-wrap .choices__list--dropdown,
.csa-pr-boq-page .po-item-select-wrap .choices__list[aria-expanded] {
    z-index: 1200;
}

.csa-pr-boq-page .po-item-select-wrap.is-invalid .choices__inner,
.csa-pr-boq-page .po-item-select-wrap .choices.is-invalid .choices__inner {
    border-color: var(--csa-danger);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15);
}

.csa-pr-boq-page .boq-row-feedback {
    color: #dc3545;
    display: block;
    font-size: 0.78rem;
    font-weight: 500;
    margin-top: 0.35rem;
}

.csa-pr-boq-page .boq-table-wrap {
    min-height: 320px;
    overflow-x: auto;
    overflow-y: visible;
}

.csa-pr-boq-page .boq-input-table thead th {
    background: var(--csa-surface-soft);
    border-bottom: 1px solid var(--csa-border);
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.05em;
}

.csa-pr-boq-page .boq-input-table tbody td {
    padding-bottom: 0.95rem;
    padding-top: 0.95rem;
    vertical-align: top;
}

.csa-pr-boq-page .boq-input-table tbody tr:hover {
    background: rgba(63, 167, 214, 0.05);
}

.csa-pr-boq-page .boq-table-wrap .choices.is-open {
    z-index: 1300;
}

.csa-pr-boq-page .boq-modal-footer {
    align-items: center;
    border-top: 1px solid var(--csa-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 1rem;
}

.csa-pr-boq-page .boq-footer-note {
    align-items: center;
    border-radius: 999px;
    color: var(--pr-boq-text-body);
    display: inline-flex;
    font-size: 0.78rem;
    gap: 0.55rem;
    padding: 0.6rem 0.8rem;
}

.csa-pr-boq-page .boq-footer-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
}

.csa-pr-boq-page .read-only-field {
    -webkit-text-fill-color: var(--pr-boq-text-muted);
    background: var(--pr-boq-surface-soft);
    border-color: var(--pr-boq-border-color);
    color: var(--pr-boq-text-muted);
    font-weight: 650;
    opacity: 1 !important;
}

.csa-pr-boq-page .summary-label {
    color: var(--pr-boq-text-muted);
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    margin-bottom: 0;
    text-transform: uppercase;
}

.csa-pr-boq-page .summary-value {
    color: var(--pr-boq-text-dark);
    font-size: 0.95rem;
    font-weight: 650;
}

.csa-pr-boq-page .batch-accordion .accordion-item {
    background: var(--pr-boq-surface-bg);
    border: 1px solid var(--pr-boq-border-color);
    border-radius: var(--csa-radius-md);
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.csa-pr-boq-page .batch-accordion .accordion-button {
    background: var(--pr-boq-surface-bg);
    box-shadow: none;
    color: var(--pr-boq-text-dark);
    padding-bottom: 0.8rem;
    padding-top: 0.8rem;
}

.csa-pr-boq-page .batch-accordion .accordion-button:not(.collapsed) {
    background: var(--pr-boq-meta-bg);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.05);
    color: var(--pr-boq-text-dark);
}

.csa-pr-boq-page .batch-summary-chip {
    align-items: center;
    background: var(--pr-boq-surface-bg);
    border: 1px solid var(--pr-boq-border-color);
    border-radius: 999px;
    color: var(--pr-boq-text-body);
    display: inline-flex;
    font-size: 0.72rem;
    gap: 0.35rem;
    padding: 0.2rem 0.55rem;
    white-space: nowrap;
}

.csa-pr-boq-page .batch-accordion .accordion-collapse,
.csa-pr-boq-page .batch-accordion .accordion-body {
    position: relative;
    z-index: 2;
}

.csa-pr-boq-page .batch-accordion .use-template-link {
    pointer-events: auto;
    position: relative;
    z-index: 3;
}

.csa-pr-boq-page .top-action-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.csa-pr-boq-page .alert {
    border-radius: var(--csa-radius-lg);
}

@media (max-width: 991.98px) {
    .csa-pr-boq-page .boq-page-header,
    .csa-pr-boq-page .top-action-wrap {
        justify-content: flex-start;
    }

    .csa-pr-boq-page .boq-page-header,
    .csa-pr-boq-page .boq-stage-toolbar,
    .csa-pr-boq-page .boq-modal-footer {
        flex-direction: column;
    }

    .csa-pr-boq-page .boq-footer-actions {
        justify-content: flex-start;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .csa-btn-spinner {
        animation-duration: 1.4s;
    }
}

.csa-btn-icon,
.btn-icon,
.btn-icon-action {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    height: 2rem;
    justify-content: center;
    padding: 0;
    width: 2rem;
}

.csa-btn-icon--lg {
    height: 2.5rem;
    width: 2.5rem;
}

.csa-toolbar {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.85rem;
}

.csa-toolbar__main,
.csa-toolbar__actions {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-width: 0;
}

.csa-toolbar__actions {
    flex: 0 0 auto;
    justify-content: flex-end;
}

.csa-search {
    min-width: min(100%, 320px);
}

.csa-filter-shell {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    padding: 1rem;
}

.csa-control-panel {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    overflow: hidden;
}

.csa-control-panel__row {
    align-items: center;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(6.5rem, auto) minmax(280px, 1fr) auto;
    padding: 1rem;
}

.csa-control-panel__advanced {
    background: var(--csa-surface-soft);
    border-top: 1px solid var(--csa-border);
    padding: 1rem;
}

.csa-control-panel__meta {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    display: flex;
    min-height: 2.45rem;
    padding: 0.375rem 0.75rem;
}

.csa-filter-grid {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.csa-field {
    min-width: 0;
}

.csa-field .form-label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.csa-field .form-control,
.csa-field .form-select {
    border-color: var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    min-height: 2.45rem;
}

.csa-field .form-control:focus,
.csa-field .form-select:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-form-section {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    overflow: hidden;
}

.csa-form-section__header {
    align-items: center;
    background: var(--csa-primary);
    color: #ffffff;
    display: flex;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
}

.csa-form-section__number {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: var(--csa-radius-xs);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 750;
    height: 1.75rem;
    justify-content: center;
    width: 1.75rem;
}

.csa-form-section__body {
    padding: 1rem;
}

.csa-select + .select2-container,
.csa-field .select2-container {
    width: 100% !important;
}

.csa-select + .select2-container .select2-selection--single,
.csa-field .select2-container--default .select2-selection--single,
.csa-field .select2-container--default .select2-selection--multiple {
    align-items: center;
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    display: flex;
    min-height: 2.45rem;
}

.csa-field .select2-container--default.select2-container--focus .select2-selection--single,
.csa-field .select2-container--default.select2-container--focus .select2-selection--multiple,
.csa-field .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-modal-form {
    background: var(--csa-surface);
    border: 0;
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-md);
    overflow: hidden;
}

.modal-dialog-scrollable .csa-modal-form {
    max-height: calc(100vh - var(--bs-modal-margin, 0.5rem) * 2);
}

.modal-dialog-scrollable .csa-modal-form > form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.modal-dialog-scrollable .csa-modal-form__header,
.modal-dialog-scrollable .csa-modal-form__footer {
    flex: 0 0 auto;
}

.modal-dialog-scrollable .csa-modal-form__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.csa-modal-form__header {
    align-items: flex-start;
    background: var(--csa-surface);
    border-bottom: 1px solid var(--csa-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem 1.15rem;
}

.csa-modal-form__heading {
    align-items: flex-start;
    display: flex;
    gap: 0.8rem;
    min-width: 0;
}

.csa-modal-form__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-md);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.25rem;
    height: 2.65rem;
    justify-content: center;
    width: 2.65rem;
}

.csa-modal-form__icon--warning {
    background: rgba(246, 201, 14, 0.18);
    color: #8a6300;
}

.csa-modal-form__title {
    color: var(--csa-text);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
    margin: 0;
}

.csa-modal-form__lead {
    color: var(--csa-text-muted);
    font-size: 0.83rem;
    line-height: 1.45;
    margin: 0.2rem 0 0;
}

.csa-modal-form__body {
    background: var(--csa-surface-soft);
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
}

.csa-modal-form__section {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 1rem;
}

.csa-modal-form__section-title {
    color: var(--csa-text);
    font-size: 0.9rem;
    font-weight: 800;
    margin-bottom: 0.8rem;
}

.csa-modal-form__footer {
    align-items: center;
    background: var(--csa-surface);
    border-top: 1px solid var(--csa-border);
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.85rem 1rem;
    position: sticky;
    z-index: 1;
}

.csa-modal-form__footer form {
    margin: 0;
}

.csa-stat-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.csa-stat-grid--compact-row {
    --csa-stat-compact-item-width: calc((100% - 5.25rem) / 8);
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    grid-template-columns: none;
    justify-content: center;
}

.csa-stat-grid--compact-row > * {
    flex: 0 1 var(--csa-stat-compact-item-width);
    min-width: min(100%, 132px);
}

.csa-stat-grid--compact-row:has(> :nth-child(1):last-child) {
    --csa-stat-compact-item-width: 100%;
}

.csa-stat-grid--compact-row:has(> :nth-child(2):last-child) {
    --csa-stat-compact-item-width: calc((100% - 0.75rem) / 2);
}

.csa-stat-grid--compact-row:has(> :nth-child(3):last-child) {
    --csa-stat-compact-item-width: calc((100% - 1.5rem) / 3);
}

.csa-stat-grid--compact-row:has(> :nth-child(4):last-child) {
    --csa-stat-compact-item-width: calc((100% - 2.25rem) / 4);
}

.csa-stat-grid--compact-row:has(> :nth-child(5):last-child) {
    --csa-stat-compact-item-width: calc((100% - 3rem) / 5);
}

.csa-stat-grid--compact-row:has(> :nth-child(6):last-child) {
    --csa-stat-compact-item-width: calc((100% - 3.75rem) / 6);
}

.csa-stat-grid--compact-row:has(> :nth-child(7):last-child) {
    --csa-stat-compact-item-width: calc((100% - 4.5rem) / 7);
}

.csa-stat-card,
.summary-card {
    --csa-stat-accent: var(--csa-info);
    --csa-stat-active-bg: rgba(63, 167, 214, 0.12);
    --csa-stat-active-border: rgba(63, 167, 214, 0.32);
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-left: 4px solid var(--csa-stat-accent);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    min-height: 100%;
    overflow: hidden;
}

.csa-stat-card {
    padding: 1rem;
}

.csa-stat-card--compact {
    border-radius: var(--csa-radius-sm);
    padding: 0.72rem 0.8rem;
}

.csa-stat-card--primary {
    --csa-stat-accent: var(--csa-primary);
    --csa-stat-active-bg: var(--csa-primary-soft);
    --csa-stat-active-border: rgba(10, 44, 81, 0.3);
}

.csa-stat-card--info {
    --csa-stat-accent: var(--csa-info);
    --csa-stat-active-bg: rgba(63, 167, 214, 0.12);
    --csa-stat-active-border: rgba(63, 167, 214, 0.32);
}

.csa-stat-card--success {
    --csa-stat-accent: var(--csa-success);
    --csa-stat-active-bg: rgba(64, 201, 162, 0.14);
    --csa-stat-active-border: rgba(64, 201, 162, 0.34);
}

.csa-stat-card--warning {
    --csa-stat-accent: var(--csa-warning);
    --csa-stat-active-bg: rgba(246, 201, 14, 0.16);
    --csa-stat-active-border: rgba(246, 201, 14, 0.38);
}

.csa-stat-card--danger {
    --csa-stat-accent: var(--csa-danger);
    --csa-stat-active-bg: rgba(220, 53, 69, 0.12);
    --csa-stat-active-border: rgba(220, 53, 69, 0.3);
}

.csa-stat-card--muted {
    --csa-stat-accent: var(--csa-muted);
    --csa-stat-active-bg: rgba(100, 116, 139, 0.12);
    --csa-stat-active-border: rgba(100, 116, 139, 0.3);
}

.csa-stat-card__top {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.csa-stat-card--compact .csa-stat-card__top {
    align-items: center;
    gap: 0.55rem;
}

.csa-stat-card__label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.csa-stat-card--compact .csa-stat-card__label {
    font-size: 0.64rem;
    line-height: 1.2;
    margin-bottom: 0.25rem;
}

.csa-stat-card__value,
.summary-card .summary-value {
    color: var(--csa-text);
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.15;
}

.csa-stat-card--compact .csa-stat-card__value {
    font-size: 1.28rem;
}

.csa-stat-card__icon,
.summary-card .summary-icon {
    align-items: center;
    background: rgba(63, 167, 214, 0.12);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-stat-accent);
    display: inline-flex;
    flex: 0 0 auto;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.csa-stat-card--compact .csa-stat-card__icon {
    border-radius: var(--csa-radius-xs);
    font-size: 0.95rem;
    height: 2rem;
    width: 2rem;
}

.summary-card .summary-icon {
    opacity: 0.35;
}

.summary-card--clickable {
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.summary-card--clickable:hover,
.summary-card--clickable:focus {
    box-shadow: var(--csa-shadow-md);
    transform: translateY(-2px);
}

.summary-card--clickable:focus-visible {
    outline: 0;
    box-shadow: var(--csa-shadow-md), var(--csa-focus-ring);
}

.summary-card--active {
    background: var(--csa-stat-active-bg);
    border-color: var(--csa-stat-active-border);
    border-left-color: var(--csa-stat-accent);
    box-shadow: var(--csa-shadow-sm), inset 0 0 0 1px var(--csa-stat-active-border);
}

.summary-card--active .csa-stat-card__icon {
    background: var(--csa-stat-accent);
    color: #ffffff;
}

.csa-stat-card__footer {
    color: var(--csa-text-muted);
    font-size: 0.82rem;
    margin-top: 0.75rem;
}

.csa-status {
    --csa-status-bg: var(--csa-primary-soft);
    --csa-status-border: rgba(10, 44, 81, 0.14);
    --csa-status-color: var(--csa-primary);
    align-items: center;
    background: var(--csa-status-bg);
    border: 1px solid var(--csa-status-border);
    border-radius: 999px;
    color: var(--csa-status-color);
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 750;
    gap: 0.4rem;
    line-height: 1;
    padding: 0.38rem 0.6rem;
    white-space: nowrap;
}

.csa-status::before {
    background: currentColor;
    border-radius: 999px;
    content: "";
    height: 0.45rem;
    opacity: 0.8;
    width: 0.45rem;
}

.csa-status--open,
.csa-status--info {
    --csa-status-bg: rgba(63, 167, 214, 0.14);
    --csa-status-border: rgba(63, 167, 214, 0.24);
    --csa-status-color: #0b6f98;
}

.csa-status--approved,
.csa-status--go,
.csa-status--success {
    --csa-status-bg: rgba(64, 201, 162, 0.16);
    --csa-status-border: rgba(64, 201, 162, 0.28);
    --csa-status-color: #0f7d61;
}

.csa-status--pending,
.csa-status--warning {
    --csa-status-bg: rgba(246, 201, 14, 0.18);
    --csa-status-border: rgba(246, 201, 14, 0.32);
    --csa-status-color: #8a6300;
}

.csa-status--rejected,
.csa-status--danger {
    --csa-status-bg: rgba(220, 53, 69, 0.12);
    --csa-status-border: rgba(220, 53, 69, 0.24);
    --csa-status-color: #b42335;
}

.csa-status--draft,
.csa-status--muted {
    --csa-status-bg: rgba(100, 116, 139, 0.13);
    --csa-status-border: rgba(100, 116, 139, 0.22);
    --csa-status-color: #475569;
}

.csa-status--truncate {
    max-width: var(--csa-status-truncate-width, 10rem);
}

.csa-status--truncate .csa-status__label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-chip {
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: 999px;
    color: var(--csa-text);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 650;
    gap: 0.35rem;
    padding: 0.36rem 0.62rem;
}

.csa-chip--truncate {
    display: block;
    max-width: var(--csa-chip-truncate-width, 12rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-chip--truncate-sm {
    --csa-chip-truncate-width: 10rem;
}

.csa-data-table-shell {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    overflow: hidden;
}

.table-responsive.csa-data-table-shell {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    overflow-y: hidden;
}

.table.csa-data-table {
    color: var(--csa-text);
    margin-bottom: 0;
}

.table.csa-data-table thead th {
    background: var(--csa-surface-soft);
    border-bottom: 1px solid var(--csa-border);
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding-bottom: 0.85rem;
    padding-top: 0.85rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.table.csa-data-table tbody td {
    border-color: var(--csa-border);
    padding-bottom: 0.85rem;
    padding-top: 0.85rem;
    vertical-align: middle;
}

.table.csa-data-table tfoot th,
.table.csa-data-table tfoot td {
    background: var(--csa-surface-soft);
    border-top: 1px solid var(--csa-border);
    color: var(--csa-text);
    padding-bottom: 0.85rem;
    padding-top: 0.85rem;
    vertical-align: middle;
}

.table.csa-data-table tbody tr:hover {
    background: rgba(63, 167, 214, 0.05);
}

.csa-table-col--select {
    width: 76px;
}

.csa-table-col--index {
    width: 58px;
}

.csa-table-col--reference {
    width: 190px;
}

.csa-table-col--amount {
    width: 150px;
}

.csa-table-col--status {
    width: 150px;
}

.csa-table-col--entry {
    width: 170px;
}

.csa-table-col--description {
    width: 320px;
}

.csa-table-col--action {
    width: 120px;
}

.csa-table-title {
    color: var(--csa-text);
    font-weight: 750;
}

.csa-table-subtitle {
    color: var(--csa-text-muted);
    font-size: 0.8rem;
}

.csa-text-clamp {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.csa-table-truncate {
    display: block;
    max-width: var(--csa-table-truncate-width, 12rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-table-truncate--sm {
    --csa-table-truncate-width: 10rem;
}

.csa-table-truncate--md {
    --csa-table-truncate-width: 14rem;
}

.csa-rab-list-page .csa-stat-grid > a {
    color: inherit;
    display: block;
    text-decoration: none;
}

.csa-rab-list-page .csa-stat-grid > a .csa-stat-card,
.csa-rab-list-status-card {
    height: 100%;
}

.csa-rab-list-status-card[role="button"] {
    cursor: pointer;
}

.csa-rab-list-toolbar {
    grid-template-columns: auto minmax(7rem, auto) minmax(18rem, 1fr) auto;
}

.csa-rab-list-toolbar__actions,
.csa-rab-list-filter-actions {
    justify-content: flex-end;
}

.csa-rab-list-search {
    min-width: min(100%, 22rem);
}

.csa-rab-list-search-icon {
    background: var(--csa-surface);
    border-color: var(--csa-border-strong);
    color: var(--csa-text-muted);
}

.csa-rab-list-code {
    align-self: flex-start;
}

.csa-rab-list-table {
    min-width: 1180px;
}

.csa-rab-list-page .csa-select + .select2-container .select2-selection--single .select2-selection__rendered {
    color: var(--csa-text);
    line-height: normal;
    padding-left: 0.55rem;
    padding-right: 1.75rem;
}

.csa-rab-list-page .csa-select + .select2-container .select2-selection--single .select2-selection__placeholder {
    color: var(--csa-text-muted);
}

.csa-rab-list-page .csa-select + .select2-container .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 0.35rem;
}

.csa-rab-list-pagination {
    border-width: 1px 0 0;
    border-radius: 0;
}

@media (max-width: 767.98px) {
    .csa-rab-list-toolbar__actions,
    .csa-rab-list-filter-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }
}

.csa-readonly-field {
    background-color: var(--csa-surface-muted) !important;
    color: var(--csa-text) !important;
}

.csa-avatar {
    align-items: center;
    background: var(--csa-primary-soft);
    border: 1px solid var(--csa-border);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-weight: 800;
    height: 2.25rem;
    justify-content: center;
    overflow: hidden;
    width: 2.25rem;
}

.csa-avatar--sm {
    font-size: 0.76rem;
    height: 1.8rem;
    width: 1.8rem;
}

.csa-avatar--lg {
    font-size: 1.15rem;
    height: 3rem;
    width: 3rem;
}

.csa-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.csa-avatar--button {
    border: 0;
    cursor: pointer;
    padding: 0;
}

.csa-avatar--empty {
    background: rgba(100, 116, 139, 0.13);
    color: var(--csa-text-muted);
}

.csa-user-status-form {
    display: inline-flex;
}

.csa-user-status-select {
    background-color: transparent;
    border: 0;
    font-weight: 750;
    min-height: auto;
    padding-left: 0;
    width: auto;
}

.csa-user-status-select:focus {
    box-shadow: none;
}

.csa-password-meter .progress {
    height: 0.4rem;
}

.csa-image-preview {
    max-height: min(78vh, 720px);
    object-fit: contain;
}

.csa-avatar-stack {
    align-items: center;
    display: inline-flex;
}

.csa-avatar-stack .csa-avatar {
    border: 2px solid var(--csa-surface);
    margin-left: -0.45rem;
}

.csa-avatar-stack .csa-avatar:first-child {
    margin-left: 0;
}

.csa-approver-list {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: grid;
    gap: 0.35rem;
    max-height: 8.5rem;
    min-width: min(100%, 19rem);
    overflow-y: auto;
    padding: 0.5rem;
}

.csa-approver-list__item {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: flex;
    gap: 0.45rem;
    min-width: 0;
    padding: 0.38rem 0.45rem;
}

.csa-approver-list__index {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 800;
    height: 1.35rem;
    justify-content: center;
    width: 1.35rem;
}

.csa-approver-list__name {
    color: var(--csa-text);
    flex: 1 1 auto;
    font-size: 0.84rem;
    font-weight: 700;
    min-width: 0;
}

.csa-approver-list__meta {
    color: var(--csa-text-muted);
    flex: 0 0 auto;
    font-size: 0.72rem;
}

.csa-approver-picker {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 0.75rem;
}

.csa-approver-picker__list {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: grid;
    gap: 0.35rem;
    max-height: 14rem;
    min-height: 12rem;
    overflow-y: auto;
    padding: 0.5rem;
}

.csa-approver-picker__option {
    border: 1px solid transparent;
    border-radius: var(--csa-radius-sm);
    margin: 0;
    padding: 0.45rem 0.55rem 0.45rem 1.85rem;
}

.csa-approver-picker__option:hover,
.csa-approver-picker__option:focus-within {
    background: var(--csa-primary-soft);
    border-color: rgba(63, 167, 214, 0.2);
}

.csa-approver-picker__label {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 0.5rem;
    min-width: 0;
    width: 100%;
}

.csa-approver-picker__name {
    color: var(--csa-text);
    font-weight: 700;
    min-width: 0;
}

.csa-approver-picker__selection {
    background: var(--csa-primary-soft);
    border: 1px solid rgba(63, 167, 214, 0.22);
    border-radius: var(--csa-radius-sm);
    margin-top: 0.65rem;
    padding: 0.65rem;
}

.csa-approver-picker__selection-label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.csa-approver-picker__selection-value {
    color: var(--csa-primary);
    font-size: 0.82rem;
    font-weight: 750;
    min-height: 1.75rem;
}

.csa-workflow-step-list {
    display: grid;
    gap: 0.75rem;
}

.csa-workflow-step {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-left: 4px solid var(--csa-info);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    padding: 1rem;
    position: relative;
}

.csa-workflow-step.is-final {
    border-left-color: var(--csa-danger);
}

.csa-workflow-step--auto {
    background: var(--csa-primary-soft);
    border-color: rgba(63, 167, 214, 0.24);
    border-left-color: var(--csa-info);
}

.csa-workflow-step__remove {
    position: absolute;
    right: 0.65rem;
    top: 0.65rem;
}

.csa-workflow-step__badge {
    align-items: center;
    background: var(--csa-primary-soft);
    border: 1px solid rgba(63, 167, 214, 0.22);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 0.75rem;
    padding: 0.38rem 0.6rem;
    text-transform: uppercase;
}

.csa-workflow-step.is-final .csa-workflow-step__badge {
    background: rgba(220, 53, 69, 0.12);
    border-color: rgba(220, 53, 69, 0.24);
    color: var(--csa-danger);
}

.csa-selector-display {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border-strong);
    color: var(--csa-text-muted);
    min-height: 2.15rem;
}

.csa-selector-display--selected {
    background: var(--csa-surface);
    border-color: rgba(64, 201, 162, 0.38);
    color: var(--csa-text);
}

.csa-selector-list {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    max-height: 10rem;
    overflow-y: auto;
    padding: 0.25rem;
}

.csa-selector-item {
    border: 1px solid transparent;
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    cursor: pointer;
    font-size: 0.82rem;
    padding: 0.45rem 0.55rem;
}

.csa-selector-item.form-check {
    margin: 0;
    padding-left: 1.85rem;
}

.csa-selector-item:hover,
.csa-selector-item:focus,
.csa-selector-item:focus-within {
    background: var(--csa-primary-soft);
    border-color: rgba(63, 167, 214, 0.2);
}

.csa-selector-item.selected {
    background: rgba(64, 201, 162, 0.14);
    border-color: rgba(64, 201, 162, 0.26);
}

.csa-min-w-0 {
    min-width: 0;
}

.csa-menu-node-icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border: 1px solid rgba(10, 44, 81, 0.08);
    border-radius: var(--csa-radius-md);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.2rem;
    height: 2.75rem;
    justify-content: center;
    width: 2.75rem;
}

.csa-menu-group {
    --csa-menu-group-bg: var(--csa-surface-soft);
    --csa-menu-group-border: var(--csa-border);
    --csa-menu-group-color: var(--csa-text-muted);
    align-items: center;
    background: var(--csa-menu-group-bg);
    border: 1px solid var(--csa-menu-group-border);
    border-radius: 999px;
    color: var(--csa-menu-group-color);
    display: inline-flex;
    font-size: 0.74rem;
    font-weight: 750;
    line-height: 1;
    padding: 0.36rem 0.6rem;
    white-space: nowrap;
}

.csa-menu-group--main {
    --csa-menu-group-bg: rgba(10, 44, 81, 0.1);
    --csa-menu-group-border: rgba(10, 44, 81, 0.2);
    --csa-menu-group-color: var(--csa-primary);
}

.csa-menu-group--dashboard {
    --csa-menu-group-bg: rgba(63, 167, 214, 0.14);
    --csa-menu-group-border: rgba(63, 167, 214, 0.24);
    --csa-menu-group-color: #0b6f98;
}

.csa-menu-group--hr {
    --csa-menu-group-bg: rgba(64, 201, 162, 0.16);
    --csa-menu-group-border: rgba(64, 201, 162, 0.28);
    --csa-menu-group-color: #0f7d61;
}

.csa-menu-group--configuration {
    --csa-menu-group-bg: rgba(246, 201, 14, 0.18);
    --csa-menu-group-border: rgba(246, 201, 14, 0.32);
    --csa-menu-group-color: #8a6300;
}

.csa-menu-group--internal {
    --csa-menu-group-bg: rgba(100, 116, 139, 0.13);
    --csa-menu-group-border: rgba(100, 116, 139, 0.22);
    --csa-menu-group-color: #475569;
}

.csa-menu-group--business {
    --csa-menu-group-bg: rgba(124, 58, 237, 0.12);
    --csa-menu-group-border: rgba(124, 58, 237, 0.24);
    --csa-menu-group-color: #6d28d9;
}

.csa-menu-group--prime {
    --csa-menu-group-bg: rgba(17, 24, 39, 0.12);
    --csa-menu-group-border: rgba(17, 24, 39, 0.24);
    --csa-menu-group-color: #111827;
}

.csa-menu-path {
    align-items: center;
    color: var(--csa-text-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.csa-menu-picker {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 0.75rem;
}

.csa-menu-picker__list {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: grid;
    gap: 0.35rem;
    max-height: 13rem;
    min-height: 13rem;
    overflow-y: auto;
    padding: 0.5rem;
}

.csa-menu-picker__option {
    border: 1px solid transparent;
    border-radius: var(--csa-radius-sm);
    margin: 0;
    padding: 0.45rem 0.55rem 0.45rem 1.85rem;
}

.csa-menu-picker__option:hover,
.csa-menu-picker__option:focus-within {
    background: var(--csa-primary-soft);
    border-color: rgba(63, 167, 214, 0.2);
}

.csa-menu-picker__label {
    cursor: pointer;
    min-width: 0;
    width: 100%;
}

.csa-menu-picker__name {
    color: var(--csa-text);
    font-weight: 750;
    min-width: 0;
}

.csa-menu-picker__meta {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.76rem;
    margin-top: 0.15rem;
}

.csa-menu-picker__selection {
    background: var(--csa-primary-soft);
    border: 1px solid rgba(63, 167, 214, 0.22);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    font-size: 0.82rem;
    font-weight: 750;
    margin-top: 0.65rem;
    padding: 0.45rem 0.65rem;
    text-align: center;
}

.csa-menu-picker__selection--success {
    background: rgba(64, 201, 162, 0.16);
    border-color: rgba(64, 201, 162, 0.28);
    color: #0f7d61;
}

.csa-menu-select--locked {
    background-color: var(--csa-surface-muted) !important;
    cursor: not-allowed;
    pointer-events: none;
}

.csa-icon-picker__preview {
    font-size: 1.15rem;
    min-width: 1.5rem;
    text-align: center;
}

.csa-icon-picker__menu {
    max-height: 22rem;
    min-width: 20rem;
    overflow: hidden;
    width: 100%;
}

.csa-icon-picker__search {
    background: var(--csa-surface-soft);
    border-bottom: 1px solid var(--csa-border);
    padding: 0.75rem;
    position: sticky;
    top: 0;
    z-index: 1;
}

.csa-icon-picker__grid {
    max-height: 16rem;
    overflow-y: auto;
    padding: 0.75rem;
}

.csa-icon-option {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text-muted);
    cursor: pointer;
    display: inline-flex;
    height: 2.5rem;
    justify-content: center;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
    width: 2.5rem;
}

.csa-icon-option:hover,
.csa-icon-option:focus {
    background: var(--csa-primary-soft);
    border-color: rgba(63, 167, 214, 0.28);
    color: var(--csa-primary);
    transform: translateY(-1px);
}

.csa-menu-tree {
    display: grid;
}

.csa-menu-tree__row {
    align-items: center;
    border-bottom: 1px solid var(--csa-border);
    color: inherit;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0.85rem 1rem;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.csa-menu-tree__row:hover,
.csa-menu-tree__row:focus {
    background: var(--csa-primary-soft);
    color: inherit;
    text-decoration: none;
}

.csa-menu-tree__row:focus-visible {
    box-shadow: inset var(--csa-focus-ring);
    outline: 0;
}

.csa-menu-tree__row:last-child {
    border-bottom: 0;
}

.csa-menu-tree__row.is-selected {
    background: var(--csa-primary-soft);
}

.csa-menu-tree__content {
    min-width: 0;
    padding-left: calc(var(--csa-tree-depth, 0) * 1.25rem);
}

.csa-menu-tree__content--depth-0 {
    --csa-tree-depth: 0;
}

.csa-menu-tree__content--depth-1 {
    --csa-tree-depth: 1;
}

.csa-menu-tree__content--depth-2 {
    --csa-tree-depth: 2;
}

.csa-menu-tree__content--depth-3 {
    --csa-tree-depth: 3;
}

.csa-menu-tree__content--depth-4 {
    --csa-tree-depth: 4;
}

.csa-menu-tree__content--depth-5 {
    --csa-tree-depth: 5;
}

.csa-menu-tree__content--depth-6 {
    --csa-tree-depth: 6;
}

.csa-menu-tree__content--depth-7 {
    --csa-tree-depth: 7;
}

.csa-menu-tree__content--depth-8 {
    --csa-tree-depth: 8;
}

.csa-menu-tree__title {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    min-width: 0;
}

.csa-menu-tree__users {
    min-width: 4rem;
    text-align: right;
}

.csa-menu-tree__users strong {
    color: var(--csa-text);
    display: block;
    font-size: 1rem;
    line-height: 1;
}

.csa-access-batch-check {
    cursor: pointer;
    height: 1.05rem;
    width: 1.05rem;
}

.csa-access-role-form {
    gap: 0.45rem;
}

.csa-access-role-select {
    min-width: 10.5rem;
}

.csa-access-layout {
    align-items: start;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.csa-access-textarea {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.9rem;
    min-height: 7.5rem;
}

.csa-access-table-shell {
    max-height: 60vh;
    overflow: auto;
}

.csa-access-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.csa-info-list {
    display: grid;
    gap: 0.65rem;
}

.csa-info-row {
    align-items: flex-start;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: grid;
    gap: 0.4rem;
    grid-template-columns: minmax(120px, 0.4fr) minmax(0, 1fr);
    padding: 0.72rem 0.85rem;
}

.csa-info-label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-info-value {
    color: var(--csa-text);
    font-size: 0.9rem;
    font-weight: 650;
    min-width: 0;
}

.csa-info-value--scroll {
    max-height: 8.5rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 0.35rem;
    scrollbar-width: thin;
}

.csa-document-card,
.csa-attachment {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    display: flex;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.85rem;
}

.csa-document-card__icon,
.csa-attachment__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.csa-document-card__body,
.csa-attachment__body {
    min-width: 0;
}

.csa-document-card__title,
.csa-attachment__title {
    color: var(--csa-text);
    font-size: 0.9rem;
    font-weight: 750;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-document-card__meta,
.csa-attachment__meta {
    color: var(--csa-text-muted);
    font-size: 0.78rem;
}

.csa-attachment-list {
    display: grid;
    gap: 0.75rem;
}

.csa-doctray-panel {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    overflow: hidden;
}

.csa-doctray-panel__header {
    align-items: center;
    border-bottom: 1px solid var(--csa-border);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.9rem 1rem;
}

.csa-doctray-panel__title,
.csa-doctray-panel__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.csa-doctray-panel__title {
    color: var(--csa-text);
    font-weight: 800;
}

.csa-doctray-panel__body {
    padding: 1rem;
}

.csa-doctray-grid {
    align-items: stretch;
}

.csa-doctray-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border) !important;
    border-radius: var(--csa-radius-md) !important;
    box-shadow: none !important;
    min-height: 100%;
    padding: 0.9rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.csa-doctray-card:hover {
    border-color: var(--csa-border-strong) !important;
    box-shadow: var(--csa-shadow-sm) !important;
}

.csa-doctray-card__header {
    align-items: flex-start;
    display: flex;
    gap: 0.5rem;
    justify-content: space-between;
    margin-bottom: 0.85rem;
}

.csa-doctray-card__body {
    display: flex;
    gap: 0.75rem;
    min-width: 0;
}

.csa-doctray-card__content {
    min-width: 0;
}

.csa-doctray-card__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.1rem;
    height: 2.45rem;
    justify-content: center;
    width: 2.45rem;
}

.csa-doctray-card__title {
    color: var(--csa-text);
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.25;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.csa-doctray-card__meta,
.csa-doctray-card__target,
.csa-doctray-status,
.csa-doctray-file-status {
    font-size: 0.72rem;
}

.csa-doctray-card__meta,
.csa-doctray-card__target {
    color: var(--csa-text-muted);
    margin-top: 0.2rem;
}

.csa-doctray-card__note {
    background: var(--csa-surface-soft);
    border-left: 3px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-xs);
    font-size: 0.72rem;
    margin-top: 0.6rem;
    padding: 0.55rem 0.65rem;
}

.csa-doctray-card__note-label {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.csa-doctray-card__files {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.85rem;
    max-height: 128px;
    overflow-y: auto;
    padding-right: 0.25rem;
}

.csa-doctray-card__files::-webkit-scrollbar {
    width: 4px;
}

.csa-doctray-card__files::-webkit-scrollbar-track {
    background: var(--csa-surface-soft);
}

.csa-doctray-card__files::-webkit-scrollbar-thumb {
    background: var(--csa-border-strong);
    border-radius: 999px;
}

.csa-doctray-file-row,
.csa-doctray-card__footer,
.csa-doctray-actions,
.csa-doctray-state {
    align-items: center;
    display: flex;
    gap: 0.5rem;
}

.csa-doctray-card__footer {
    border-top: 1px solid var(--csa-border);
    align-items: stretch;
    display: grid;
    gap: 0.5rem;
    justify-content: initial;
    margin-top: auto;
    padding-top: 0.75rem;
}

.csa-doctray-actions {
    width: 100%;
}

.csa-doctray-file-link {
    font-size: 0.72rem;
    min-width: 0;
}

.csa-doctray-empty-file {
    color: var(--csa-text-muted);
    font-size: 0.75rem;
    font-style: italic;
}

.csa-doctray-state {
    color: var(--csa-text-muted);
    font-size: 0.75rem;
    justify-content: center;
    width: 100%;
}

.csa-doctray-state--success {
    color: var(--csa-success);
    font-weight: 800;
}

.csa-doctray-state--danger {
    color: var(--csa-danger);
    font-weight: 800;
}

html.theme-dark .csa-doctray-panel,
html.theme-dark .csa-doctray-card {
    background: var(--csa-surface);
    border-color: var(--csa-border) !important;
}

html.theme-dark .csa-doctray-panel__header,
html.theme-dark .csa-doctray-card__footer {
    border-color: var(--csa-border);
}

html.theme-dark .csa-doctray-card__note {
    background: var(--csa-surface-soft);
}

@media (max-width: 575.98px) {
    .csa-doctray-panel__header {
        align-items: stretch;
    }

    .csa-doctray-panel__title,
    .csa-doctray-panel__actions,
    .csa-doctray-panel__actions .btn {
        width: 100%;
    }

    .csa-doctray-card__body {
        align-items: flex-start;
    }
}

.csa-timeline {
    display: grid;
    gap: 0;
    position: relative;
}

.csa-timeline::before {
    background: var(--csa-border);
    bottom: 0.75rem;
    content: "";
    left: 0.55rem;
    position: absolute;
    top: 0.75rem;
    width: 2px;
}

.csa-timeline-item {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1.15rem minmax(0, 1fr);
    padding-bottom: 1rem;
    position: relative;
}

.csa-timeline-item:last-child {
    padding-bottom: 0;
}

.csa-timeline-marker {
    background: var(--csa-muted);
    border: 3px solid var(--csa-surface);
    border-radius: 999px;
    box-shadow: 0 0 0 1px var(--csa-border);
    height: 0.95rem;
    margin-top: 0.25rem;
    position: relative;
    width: 0.95rem;
    z-index: 1;
}

.csa-timeline-marker--success {
    background: var(--csa-success);
}

.csa-timeline-marker--warning {
    background: var(--csa-warning);
}

.csa-timeline-marker--danger {
    background: var(--csa-danger);
}

.csa-timeline-card {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 0.8rem 0.9rem;
}

.csa-timeline-title {
    color: var(--csa-text);
    font-size: 0.9rem;
    font-weight: 750;
    margin: 0;
}

.csa-timeline-meta {
    color: var(--csa-text-muted);
    font-size: 0.78rem;
    margin-top: 0.2rem;
}

.csa-approval-flow {
    display: grid;
    gap: 0.75rem;
}

.csa-approval-step {
    align-items: flex-start;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-left: 4px solid var(--csa-info);
    border-radius: var(--csa-radius-md);
    display: flex;
    gap: 0.75rem;
    padding: 0.85rem;
}

.csa-approval-step--done {
    border-left-color: var(--csa-success);
}

.csa-approval-step--warning {
    border-left-color: var(--csa-warning);
}

.csa-approval-step--danger {
    border-left-color: var(--csa-danger);
}

.csa-approval-step__number {
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: 999px;
    color: var(--csa-text);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.78rem;
    font-weight: 800;
    height: 1.9rem;
    justify-content: center;
    width: 1.9rem;
}

.csa-approval-step__body {
    min-width: 0;
}

.csa-approval-step__title {
    color: var(--csa-text);
    font-size: 0.92rem;
    font-weight: 750;
    margin-bottom: 0.15rem;
}

.csa-approval-step__meta {
    color: var(--csa-text-muted);
    font-size: 0.8rem;
}

.csa-progress-modal__bar {
    height: 0.5rem;
}

.csa-empty-state {
    align-items: center;
    background: var(--csa-surface);
    border: 1px dashed var(--csa-border-strong);
    border-radius: var(--csa-radius-lg);
    color: var(--csa-text-muted);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 180px;
    padding: 1.5rem;
    text-align: center;
}

.csa-empty-state__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 1.5rem;
    height: 3.25rem;
    justify-content: center;
    margin-bottom: 0.85rem;
    width: 3.25rem;
}

.csa-empty-state__title {
    color: var(--csa-text);
    font-weight: 750;
    margin-bottom: 0.25rem;
}

.csa-loader-panel {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    min-height: 180px;
    overflow: hidden;
    position: relative;
}

.csa-loader-overlay {
    align-items: center;
    background: rgba(255, 255, 255, 0.72);
    display: flex;
    inset: 0;
    justify-content: center;
    position: absolute;
    z-index: 10;
}

.csa-loader-overlay--fixed {
    position: fixed;
}

.csa-loader-overlay--blocking {
    z-index: 2000;
}

.csa-loader-overlay--frosted {
    backdrop-filter: blur(3px);
}

.csa-loader-overlay--dark {
    background: rgba(17, 24, 39, 0.85);
}

html.theme-dark .csa-loader-overlay {
    background: rgba(15, 23, 42, 0.72);
}

.csa-spinner {
    animation: csa-spin 0.8s linear infinite;
    border: 3px solid rgba(63, 167, 214, 0.2);
    border-radius: 999px;
    border-top-color: var(--csa-info);
    height: 2.25rem;
    width: 2.25rem;
}

.csa-skeleton {
    background: linear-gradient(90deg, var(--csa-surface-muted), var(--csa-surface-soft), var(--csa-surface-muted));
    background-size: 220% 100%;
    border-radius: var(--csa-radius-xs);
    min-height: 0.85rem;
    animation: csa-skeleton 1.2s ease-in-out infinite;
}

.csa-skeleton--lg {
    min-height: 2.5rem;
}

.csa-checklist {
    display: grid;
    gap: 0.65rem;
}

.csa-checklist-item {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: flex;
    gap: 0.65rem;
    padding: 0.7rem 0.8rem;
}

.csa-checklist-item__icon {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    height: 1.55rem;
    justify-content: center;
    width: 1.55rem;
}

.csa-checklist-item__icon--done {
    background: rgba(64, 201, 162, 0.16);
    color: var(--csa-success);
}

.csa-checklist-item__icon--todo {
    background: rgba(100, 116, 139, 0.14);
    color: var(--csa-muted);
}

.csa-tabs.nav-pills {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    gap: 0.35rem;
    padding: 0.35rem;
}

.csa-tabs.nav-pills .nav-link {
    border-radius: var(--csa-radius-md);
    color: var(--csa-text-muted);
    font-weight: 700;
}

.csa-tabs.nav-pills .nav-link.active {
    background: var(--csa-primary);
    color: #ffffff;
}

.csa-progress-list {
    display: grid;
    gap: 0.85rem;
}

.csa-progress-row {
    display: grid;
    gap: 0.35rem;
}

.csa-progress-row__label {
    align-items: center;
    color: var(--csa-text);
    display: flex;
    font-size: 0.85rem;
    font-weight: 700;
    justify-content: space-between;
}

.csa-progress-row .progress {
    background: var(--csa-surface-muted);
    height: 0.55rem;
}

.csa-progress-value--35 {
    width: 35%;
}

.csa-progress-value--58 {
    width: 58%;
}

.csa-progress-value--64 {
    width: 64%;
}

.csa-progress-value--72 {
    width: 72%;
}

.csa-progress-value--85 {
    width: 85%;
}

.csa-swatch-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.csa-swatch {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    overflow: hidden;
}

.csa-swatch__color {
    background: var(--swatch-color);
    min-height: 3.25rem;
}

.csa-swatch--primary .csa-swatch__color {
    background: var(--csa-primary);
}

.csa-swatch--info .csa-swatch__color {
    background: var(--csa-info);
}

.csa-swatch--success .csa-swatch__color {
    background: var(--csa-success);
}

.csa-swatch--warning .csa-swatch__color {
    background: var(--csa-warning);
}

.csa-swatch--danger .csa-swatch__color {
    background: var(--csa-danger);
}

.csa-swatch--muted .csa-swatch__color {
    background: var(--csa-muted);
}

.csa-swatch__body {
    padding: 0.7rem 0.8rem;
}

.csa-swatch__name {
    color: var(--csa-text);
    font-size: 0.82rem;
    font-weight: 750;
}

.csa-swatch__value {
    color: var(--csa-text-muted);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.76rem;
}

.csa-code {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    display: inline-block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.78rem;
    padding: 0.18rem 0.38rem;
}

.csa-token-box {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    color: var(--csa-text);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.82rem;
    line-height: 1.55;
    max-height: 14rem;
    overflow: auto;
    padding: 0.85rem;
    white-space: pre-wrap;
    word-break: break-all;
}

.csa-flash-stack {
    display: grid;
    gap: 0.75rem;
}

.csa-flash {
    align-items: flex-start;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-left: 4px solid var(--csa-info);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    color: var(--csa-text);
    display: flex;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
}

.csa-flash > :not(.csa-flash__icon) {
    min-width: 0;
}

.csa-flash.alert {
    margin-bottom: 0;
}

.csa-flash.alert-dismissible {
    padding-right: 3rem;
}

.csa-flash--success {
    border-left-color: var(--csa-success);
}

.csa-flash--info {
    border-left-color: var(--csa-info);
}

.csa-flash--warning {
    border-left-color: var(--csa-warning);
}

.csa-flash--danger {
    border-left-color: var(--csa-danger);
}

.csa-flash__icon {
    color: var(--csa-info);
    flex: 0 0 auto;
    font-size: 1.15rem;
}

.csa-flash--success .csa-flash__icon {
    color: var(--csa-success);
}

.csa-flash--info .csa-flash__icon {
    color: var(--csa-info);
}

.csa-flash--warning .csa-flash__icon {
    color: var(--csa-warning);
}

.csa-flash--danger .csa-flash__icon {
    color: var(--csa-danger);
}

.csa-flash__title {
    color: var(--csa-text);
    font-weight: 750;
    line-height: 1.25;
}

.csa-flash__body {
    color: var(--csa-text-muted);
    font-size: 0.86rem;
    margin-top: 0.15rem;
    overflow-wrap: anywhere;
}

.csa-breadcrumb {
    --bs-breadcrumb-divider-color: var(--csa-text-muted);
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    margin: 0;
    padding: 0.65rem 0.85rem;
}

.csa-breadcrumb .breadcrumb-item a {
    color: var(--csa-primary);
    font-weight: 650;
    text-decoration: none;
}

.csa-breadcrumb .breadcrumb-item.active {
    color: var(--csa-text-muted);
}

.csa-sop-page .csa-breadcrumb {
    flex-wrap: nowrap;
    overflow-x: auto;
}

.csa-sop-page .csa-breadcrumb .breadcrumb-item {
    white-space: nowrap;
}

.csa-sop-search-row {
    align-items: end;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(150px, 180px) minmax(260px, 1fr) minmax(150px, 170px) minmax(140px, 160px) auto;
    padding: 1rem;
}

.csa-sop-search-row .input-group-text {
    background: var(--csa-surface);
    border-color: var(--csa-border-strong);
    color: var(--csa-text-muted);
}

.csa-sop-search-row > .btn {
    min-height: 2.45rem;
}

.csa-folder-explorer {
    display: grid;
    gap: 0.65rem;
    max-height: 24rem;
    overflow-y: auto;
    padding-right: 0.25rem;
}

.csa-folder-explorer::-webkit-scrollbar {
    width: 0.4rem;
}

.csa-folder-explorer::-webkit-scrollbar-track {
    background: var(--csa-surface-soft);
    border-radius: 999px;
}

.csa-folder-explorer::-webkit-scrollbar-thumb {
    background: var(--csa-border-strong);
    border-radius: 999px;
}

.csa-folder-explorer::-webkit-scrollbar-thumb:hover {
    background: var(--csa-info);
}

.csa-folder-item {
    min-width: 0;
    position: relative;
}

.csa-folder-row,
.csa-folder-explorer .folder-row {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    color: var(--csa-text);
    display: flex;
    gap: 0.8rem;
    min-height: 4.25rem;
    min-width: 0;
    padding: 0.85rem 7rem 0.85rem 1rem;
    text-decoration: none;
    transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.csa-folder-row:hover,
.csa-folder-row:focus,
.csa-folder-explorer .folder-row:hover,
.csa-folder-explorer .folder-row:focus {
    background: var(--csa-primary-soft);
    border-color: rgba(63, 167, 214, 0.4);
    box-shadow: var(--csa-shadow-md);
    color: var(--csa-text);
    transform: translateX(0.12rem);
}

.csa-folder-icon,
.csa-folder-explorer .folder-icon-sm {
    align-items: center;
    color: #eab308;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.8rem;
    justify-content: center;
    width: 2.25rem;
}

.csa-folder-body,
.csa-folder-explorer .folder-info {
    flex: 1 1 auto;
    min-width: 0;
}

.csa-folder-title,
.csa-folder-explorer .folder-name {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 750;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-folder-meta,
.csa-folder-explorer .folder-meta {
    color: var(--csa-text-muted);
    font-size: 0.76rem;
}

.csa-folder-actions,
.csa-folder-explorer .folder-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 0.5rem;
    opacity: 0;
    transition: opacity 0.18s ease;
}

.csa-folder-row:hover .csa-folder-actions,
.csa-folder-row:focus .csa-folder-actions,
.csa-folder-explorer .folder-row:hover .folder-actions,
.csa-folder-explorer .folder-row:focus .folder-actions {
    opacity: 1;
}

.csa-folder-admin {
    align-items: center;
    display: flex;
    gap: 0.45rem;
    position: absolute;
    right: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.csa-folder-admin .btn {
    background: var(--csa-surface);
}

.csa-sop-page .folder-link-search {
    align-items: center;
    color: var(--csa-primary);
    display: inline-flex;
    flex-wrap: wrap;
    font-weight: 650;
    text-decoration: none;
}

.csa-sop-page .folder-link-search:hover,
.csa-sop-page .folder-link-search:focus {
    color: var(--csa-primary-strong);
    text-decoration: underline;
}

.csa-sop-file-icon {
    flex: 0 0 auto;
    font-size: 1.45rem;
}

.csa-sop-file-name {
    max-width: 34rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-sop-table .csa-action-group {
    flex-wrap: nowrap;
}

.csa-sop-empty-table-cell {
    padding: 0 !important;
}

.csa-sop-preview-frame {
    border: 0;
    display: block;
    height: 80vh;
    width: 100%;
}

@media (max-width: 1199.98px) {
    .csa-sop-search-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .csa-sop-page .csa-page-actions,
    .csa-sop-page .csa-page-actions .btn {
        width: 100%;
    }

    .csa-sop-search-row {
        grid-template-columns: 1fr;
    }

    .csa-folder-row,
    .csa-folder-explorer .folder-row {
        padding-right: 6rem;
    }

    .csa-folder-actions,
    .csa-folder-explorer .folder-actions {
        display: none;
    }

    .csa-folder-admin {
        gap: 0.35rem;
        right: 0.65rem;
    }

    .csa-folder-admin .csa-btn-icon {
        height: 1.85rem;
        width: 1.85rem;
    }
}

.csa-pagination-shell {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.75rem;
}

.csa-pagination-shell .pagination {
    margin: 0;
}

.csa-pagination-shell .page-link {
    border-color: var(--csa-border);
    color: var(--csa-primary);
    font-weight: 650;
}

.csa-pagination-shell .page-link:hover,
.csa-pagination-shell .page-link:focus {
    background: var(--csa-primary-soft);
    border-color: var(--csa-border-strong);
    color: var(--csa-primary-strong);
}

.csa-pagination-shell .page-link:focus {
    box-shadow: var(--csa-focus-ring);
}

.csa-pagination-shell .page-item.active .page-link {
    background: var(--csa-primary);
    border-color: var(--csa-primary);
    color: #ffffff;
}

.csa-pagination-shell .page-item.active .page-link:hover,
.csa-pagination-shell .page-item.active .page-link:focus {
    background: var(--csa-primary);
    border-color: var(--csa-primary);
    color: #ffffff;
}

.csa-pagination-shell .page-item.disabled .page-link {
    background: var(--csa-surface-soft);
    border-color: var(--csa-border);
    color: var(--csa-text-muted);
}

html.theme-dark .csa-pagination-shell .page-item.active .page-link,
html.theme-dark .csa-pagination-shell .page-item.active .page-link:hover,
html.theme-dark .csa-pagination-shell .page-item.active .page-link:focus {
    color: #08111f;
}

.csa-upload-zone {
    align-items: center;
    background: var(--csa-surface);
    border: 1px dashed var(--csa-border-strong);
    border-radius: var(--csa-radius-lg);
    display: flex;
    gap: 0.85rem;
    padding: 1rem;
}

.csa-upload-zone__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-md);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.35rem;
    height: 3rem;
    justify-content: center;
    width: 3rem;
}

.csa-upload-zone__title {
    color: var(--csa-text);
    font-weight: 750;
}

.csa-upload-zone__meta {
    color: var(--csa-text-muted);
    font-size: 0.82rem;
}

.csa-media-preview {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    overflow: hidden;
}

.csa-media-preview__frame {
    align-items: center;
    background: var(--csa-surface-muted);
    color: var(--csa-text-muted);
    display: flex;
    justify-content: center;
    min-height: 190px;
}

.csa-media-preview__frame i {
    font-size: 2rem;
}

.csa-media-preview__body {
    padding: 0.85rem 1rem;
}

.csa-gallery-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.csa-gallery-item {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: var(--csa-surface-muted);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    color: var(--csa-text-muted);
    display: flex;
    justify-content: center;
}

.csa-map-shell,
.csa-chart-shell {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    overflow: hidden;
}

.csa-map-canvas {
    align-items: center;
    background:
        linear-gradient(90deg, rgba(100, 116, 139, 0.12) 1px, transparent 1px),
        linear-gradient(0deg, rgba(100, 116, 139, 0.12) 1px, transparent 1px),
        var(--csa-surface-soft);
    background-size: 32px 32px;
    color: var(--csa-text-muted);
    display: flex;
    justify-content: center;
    min-height: 260px;
}

.csa-map-pin {
    align-items: center;
    background: var(--csa-danger);
    border-radius: 999px;
    box-shadow: 0 10px 22px rgba(220, 53, 69, 0.24);
    color: #ffffff;
    display: inline-flex;
    height: 2.75rem;
    justify-content: center;
    width: 2.75rem;
}

.csa-chart-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    padding: 1rem;
}

.csa-chart-bars {
    align-items: end;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    min-height: 220px;
    padding-top: 1rem;
}

.csa-chart-bar {
    background: linear-gradient(180deg, var(--csa-info), var(--csa-primary));
    border-radius: 999px 999px 0 0;
    min-height: 32px;
}

.csa-chart-bar--35 {
    height: 35%;
}

.csa-chart-bar--50 {
    height: 50%;
}

.csa-chart-bar--65 {
    height: 65%;
}

.csa-chart-bar--80 {
    height: 80%;
}

.csa-print-surface {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-md);
    margin: 0 auto;
    max-width: 780px;
    padding: 1.25rem;
}

.csa-print-header {
    align-items: flex-start;
    border-bottom: 1px solid var(--csa-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}

.csa-print-title {
    color: var(--csa-text);
    font-size: 1.1rem;
    font-weight: 800;
}

.csa-print-meta {
    color: var(--csa-text-muted);
    font-size: 0.82rem;
}

.csa-detail-matrix {
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    display: grid;
    overflow: hidden;
}

.csa-detail-matrix__row {
    display: grid;
    grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr);
}

.csa-detail-matrix__row + .csa-detail-matrix__row {
    border-top: 1px solid var(--csa-border);
}

.csa-detail-matrix__label {
    background: var(--csa-surface-soft);
    color: var(--csa-text-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 0.75rem 0.85rem;
    text-transform: uppercase;
}

.csa-detail-matrix__value {
    color: var(--csa-text);
    font-weight: 650;
    min-width: 0;
    padding: 0.75rem 0.85rem;
}

/* Finance invoice migration */
.csa-invoice-page .invoice-muted-label,
.csa-invoice-page .invoice-field-label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-invoice-page .invoice-create-hero,
.csa-invoice-page .invoice-detail-hero,
.csa-invoice-page .receive-batch-shell {
    background: linear-gradient(180deg, var(--csa-surface-soft) 0%, var(--csa-surface) 100%);
}

.csa-invoice-page .invoice-filter-shell {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    padding: 1rem;
}

.csa-invoice-page .invoice-filter-grid {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.csa-invoice-page .invoice-filter-item {
    min-width: 0;
}

.csa-invoice-page .invoice-filter-item .form-label {
    margin-bottom: 0.45rem;
}

.csa-invoice-page .invoice-filter-item .form-control-sm,
.csa-invoice-page .invoice-filter-item .form-select-sm {
    min-height: 2.45rem;
}

.csa-invoice-page .invoice-filter-action {
    align-self: end;
    display: flex;
}

.csa-invoice-page .invoice-filter-action-group {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.csa-invoice-page .invoice-filter-action-group .btn {
    white-space: nowrap;
}

.csa-invoice-page .invoice-section-shell,
.csa-invoice-page .invoice-overview-card,
.csa-invoice-page .invoice-summary-card,
.csa-invoice-page .invoice-info-card,
.csa-invoice-page .invoice-submit-card,
.csa-invoice-page .invoice-reverse-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
}

.csa-invoice-page .invoice-section-shell,
.csa-invoice-page .invoice-overview-card,
.csa-invoice-page .invoice-submit-card,
.csa-invoice-page .invoice-reverse-card {
    padding: 1.25rem;
}

.csa-invoice-page .invoice-overview-card--compact {
    padding: 0;
}

.csa-invoice-page .invoice-detail-headerline {
    align-items: flex-start;
    background: linear-gradient(180deg, var(--csa-surface-soft) 0%, var(--csa-surface) 100%);
    border-bottom: 1px solid var(--csa-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1.15rem 1.25rem;
}

.csa-invoice-page .invoice-detail-title {
    min-width: 0;
}

.csa-invoice-page .invoice-document-number {
    color: var(--csa-text);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.csa-invoice-page .invoice-section-header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.csa-invoice-page .invoice-pill,
.csa-invoice-page .invoice-create-chip,
.csa-invoice-page .invoice-count-chip {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: 999px;
    color: var(--csa-text-muted);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 650;
    gap: 0.35rem;
    line-height: 1.2;
    padding: 0.35rem 0.7rem;
    white-space: nowrap;
}

.csa-invoice-page .invoice-helper {
    color: var(--csa-text-muted);
    font-size: 0.82rem;
}

.csa-invoice-page .invoice-source-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csa-invoice-page .invoice-source-chip {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    cursor: pointer;
    min-height: 100%;
    padding: 1rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.csa-invoice-page .invoice-source-chip:hover,
.csa-invoice-page .invoice-source-chip:focus-within {
    border-color: rgba(63, 167, 214, 0.42);
    box-shadow: var(--csa-shadow-md);
    transform: translateY(-1px);
}

.csa-invoice-page .invoice-source-chip--active {
    background: var(--csa-primary-soft);
    border-color: rgba(63, 167, 214, 0.48);
    box-shadow: var(--csa-shadow-sm);
}

.csa-invoice-page .invoice-source-chip input[type="radio"] {
    accent-color: var(--csa-primary);
    margin-top: 0.25rem;
}

.csa-invoice-page .invoice-source-chip__icon,
.csa-invoice-page .invoice-summary-icon,
.csa-invoice-page .invoice-metric-icon,
.csa-invoice-page .invoice-submit-icon,
.csa-invoice-page .invoice-reverse-icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-md);
    color: var(--csa-primary);
    display: inline-flex;
    flex-shrink: 0;
    justify-content: center;
}

.csa-invoice-page .invoice-source-chip__icon {
    font-size: 1.15rem;
    height: 2.75rem;
    width: 2.75rem;
}

.csa-invoice-page .invoice-source-chip__body {
    min-width: 0;
}

.csa-invoice-page .invoice-source-chip__title {
    color: var(--csa-text);
    font-weight: 750;
}

.csa-invoice-page .invoice-source-chip__desc {
    color: var(--csa-text-muted);
    font-size: 0.85rem;
    line-height: 1.35;
}

.csa-invoice-page .invoice-sticky-summary,
.csa-invoice-page .invoice-sticky-panel {
    position: sticky;
    top: 1rem;
}

.csa-invoice-page .invoice-sticky-summary {
    background: linear-gradient(180deg, var(--csa-primary-soft) 0%, var(--csa-surface) 100%);
    border: 1px solid rgba(63, 167, 214, 0.24);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-md);
    padding: 1.25rem;
}

.csa-invoice-page .invoice-summary-icon,
.csa-invoice-page .invoice-submit-icon,
.csa-invoice-page .invoice-reverse-icon {
    font-size: 1.25rem;
    height: 3rem;
    width: 3rem;
}

.csa-invoice-page .invoice-metric-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.csa-invoice-page .invoice-metric-item {
    align-items: center;
    border-bottom: 1px solid var(--csa-border);
    border-right: 1px solid var(--csa-border);
    display: flex;
    gap: 0.75rem;
    min-width: 0;
    padding: 1rem 1.1rem;
}

.csa-invoice-page .invoice-metric-item:nth-child(4n) {
    border-right: 0;
}

.csa-invoice-page .invoice-metric-icon {
    border-radius: var(--csa-radius-sm);
    font-size: 1rem;
    height: 2.35rem;
    width: 2.35rem;
}

.csa-invoice-page .invoice-metric-copy {
    min-width: 0;
}

.csa-invoice-page .invoice-metric-value {
    color: var(--csa-text);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.csa-invoice-page .invoice-meta-matrix {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csa-invoice-page .invoice-meta-row {
    border-right: 1px solid var(--csa-border);
    border-top: 1px solid var(--csa-border);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(7rem, 0.42fr) minmax(0, 1fr);
    min-width: 0;
    padding: 0.85rem 1.1rem;
}

.csa-invoice-page .invoice-metric-strip + .invoice-meta-matrix .invoice-meta-row:nth-child(-n + 2) {
    border-top: 0;
}

.csa-invoice-page .invoice-meta-row:nth-child(2n) {
    border-right: 0;
}

.csa-invoice-page .invoice-meta-label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-invoice-page .invoice-meta-value {
    color: var(--csa-text);
    font-weight: 750;
    line-height: 1.35;
    min-width: 0;
    overflow-wrap: anywhere;
}

.csa-invoice-page .invoice-summary-stat-grid,
.csa-invoice-page .invoice-summary-grid,
.csa-invoice-page .invoice-info-grid {
    display: grid;
    gap: 0.85rem;
}

.csa-invoice-page .invoice-summary-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

.csa-invoice-page .invoice-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin-top: 1.25rem;
}

.csa-invoice-page .invoice-info-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin-top: 1rem;
}

.csa-invoice-page .invoice-summary-stat,
.csa-invoice-page .invoice-summary-card,
.csa-invoice-page .invoice-info-card {
    padding: 0.95rem 1rem;
}

.csa-invoice-page .invoice-summary-stat--full {
    grid-column: 1 / -1;
}

.csa-invoice-page .invoice-summary-value,
.csa-invoice-page .invoice-info-value {
    color: var(--csa-text);
    font-weight: 750;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.csa-invoice-page .invoice-summary-note,
.csa-invoice-page .invoice-note {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    color: var(--csa-text-muted);
    font-size: 0.85rem;
    padding: 0.85rem 1rem;
}

.csa-invoice-page .invoice-summary-note {
    margin-top: 1rem;
}

.csa-invoice-page .invoice-table-shell {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    overflow: hidden;
}

.csa-invoice-page .invoice-line-table td,
.csa-invoice-page .invoice-line-table th,
.csa-invoice-page .invoice-journal-table td,
.csa-invoice-page .invoice-journal-table th,
.csa-invoice-page .invoice-detail-table td,
.csa-invoice-page .invoice-detail-table th {
    vertical-align: middle;
}

.csa-invoice-page .invoice-table-shell thead th,
.csa-invoice-page .invoice-detail-table thead th {
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.csa-invoice-page .invoice-table-shell tbody td,
.csa-invoice-page .invoice-detail-table tbody td {
    padding-bottom: 0.9rem;
    padding-top: 0.9rem;
}

.csa-invoice-page .invoice-reverse-card {
    background: linear-gradient(180deg, rgba(220, 53, 69, 0.08) 0%, var(--csa-surface) 100%);
    border-color: rgba(220, 53, 69, 0.24);
}

.csa-invoice-page .invoice-reverse-card--muted {
    background: linear-gradient(180deg, var(--csa-surface-soft) 0%, var(--csa-surface) 100%);
    border-color: var(--csa-border);
    box-shadow: var(--csa-shadow-sm);
}

.csa-invoice-page .invoice-reverse-icon {
    background: rgba(220, 53, 69, 0.12);
    color: var(--csa-danger);
}

.csa-invoice-page .invoice-reverse-card--muted .invoice-reverse-icon {
    background: rgba(100, 116, 139, 0.13);
    color: var(--csa-muted);
}

.csa-invoice-page .invoice-related-chip {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    color: var(--csa-text);
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 220px;
    padding: 0.8rem 0.95rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.csa-invoice-page .invoice-related-chip:hover,
.csa-invoice-page .invoice-related-chip:focus {
    border-color: rgba(63, 167, 214, 0.42);
    box-shadow: var(--csa-shadow-md);
    transform: translateY(-1px);
}

.csa-invoice-page .invoice-warning-shell {
    background: linear-gradient(180deg, rgba(220, 53, 69, 0.12) 0%, var(--csa-surface) 100%);
}

.csa-invoice-page .invoice-search-select + .select2-container {
    width: 100% !important;
}

.csa-invoice-page .invoice-search-select + .select2-container .select2-selection--single {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-md);
    box-shadow: none;
    display: flex;
    min-height: 2.9rem;
    padding-left: 0.25rem;
    padding-right: 0.4rem;
}

.csa-invoice-page .invoice-search-select + .select2-container.select2-container--focus .select2-selection--single,
.csa-invoice-page .invoice-search-select + .select2-container.select2-container--open .select2-selection--single {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-invoice-page .invoice-search-select + .select2-container .select2-selection__rendered {
    color: var(--csa-text);
    font-weight: 650;
    line-height: 2.7rem;
    padding-left: 0.6rem;
    padding-right: 2rem;
}

.csa-invoice-page .invoice-search-select + .select2-container .select2-selection__placeholder {
    color: var(--csa-text-muted);
    font-weight: 500;
}

.csa-invoice-page .invoice-search-select + .select2-container .select2-selection__arrow {
    height: 2.7rem;
    right: 0.45rem;
    top: 0;
}

.csa-invoice-page .invoice-search-select + .select2-container .select2-selection__clear {
    color: var(--csa-danger);
    margin-right: 0.35rem;
}

.invoice-select2-dropdown {
    border-color: rgba(63, 167, 214, 0.28);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-md);
    overflow: hidden;
}

.invoice-select2-dropdown .select2-search--dropdown {
    padding: 0.65rem;
}

.invoice-select2-dropdown .select2-search__field {
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    outline: none;
    padding: 0.55rem 0.75rem;
}

.invoice-select2-dropdown .select2-results__option {
    padding: 0.7rem 0.8rem;
}

.invoice-select2-dropdown .select2-results__option--highlighted[aria-selected] {
    background: var(--csa-primary);
    color: #ffffff;
}

.csa-invoice-page #reverse-form {
    scroll-margin-top: 6rem;
}

html.theme-dark .csa-invoice-page .invoice-section-shell,
html.theme-dark .csa-invoice-page .invoice-overview-card,
html.theme-dark .csa-invoice-page .invoice-summary-card,
html.theme-dark .csa-invoice-page .invoice-info-card,
html.theme-dark .csa-invoice-page .invoice-submit-card,
html.theme-dark .csa-invoice-page .invoice-reverse-card,
html.theme-dark .csa-invoice-page .invoice-related-chip,
html.theme-dark .csa-invoice-page .invoice-source-chip,
html.theme-dark .csa-invoice-page .invoice-table-shell,
html.theme-dark .csa-invoice-page .invoice-note,
html.theme-dark .csa-invoice-page .invoice-summary-note,
html.theme-dark .csa-invoice-page .invoice-filter-shell {
    background-color: var(--csa-surface);
    border-color: var(--csa-border);
}

html.theme-dark .csa-invoice-page .invoice-search-select + .select2-container .select2-selection--single,
html.theme-dark .invoice-select2-dropdown,
html.theme-dark .invoice-select2-dropdown .select2-search__field {
    background: var(--csa-surface);
    border-color: var(--csa-border);
    color: var(--csa-text);
}

html.theme-dark .csa-invoice-page .invoice-search-select + .select2-container .select2-selection__rendered,
html.theme-dark .invoice-select2-dropdown .select2-results__option {
    color: var(--csa-text);
}

html.theme-dark .csa-invoice-page .invoice-search-select + .select2-container .select2-selection__placeholder {
    color: var(--csa-text-muted);
}

html.theme-dark .invoice-select2-dropdown .select2-results__option--highlighted[aria-selected] {
    background: var(--csa-primary);
    color: #08111f;
}

.csa-bulk-bar {
    align-items: center;
    background: var(--csa-primary-soft);
    border: 1px solid rgba(63, 167, 214, 0.26);
    border-radius: var(--csa-radius-md);
    color: var(--csa-text);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.8rem 1rem;
}

.csa-bulk-bar__label {
    font-weight: 750;
}

.csa-hse-task-page .csa-hse-task-subcategory-filter + .select2-container {
    width: 100% !important;
}

.csa-hse-task-page .csa-hse-task-subcategory-filter + .select2-container .select2-selection--multiple {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    display: flex;
    min-height: 2.45rem;
    padding: 0.35rem 2rem 0.35rem 0.75rem;
    position: relative;
}

.csa-hse-task-page .csa-hse-task-subcategory-filter + .select2-container .select2-selection--multiple::after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid var(--csa-text-muted);
    content: "";
    margin-top: -2px;
    pointer-events: none;
    position: absolute;
    right: 0.85rem;
    top: 50%;
}

.csa-hse-task-page .csa-hse-task-subcategory-filter + .select2-container.select2-container--open .select2-selection--multiple::after {
    border-bottom: 5px solid var(--csa-text-muted);
    border-top: 0;
}

.csa-hse-task-page .csa-hse-task-subcategory-filter + .select2-container .select2-selection__rendered {
    display: block;
    margin: 0;
    overflow: hidden;
    padding: 0 !important;
    width: 100%;
}

.csa-hse-task-page .csa-hse-task-subcategory-filter + .select2-container .select2-selection__choice {
    display: none;
}

.csa-hse-task-page .csa-hse-task-subcategory-filter + .select2-container .select2-search--inline {
    display: inline-block;
    width: 1px;
}

.csa-hse-task-page .csa-hse-task-subcategory-filter + .select2-container .select2-search--inline .select2-search__field {
    border: 0 !important;
    margin: 0 !important;
    min-width: 1px !important;
    opacity: 0;
    padding: 0 !important;
    width: 1px !important;
}

.csa-hse-task-page .csa-hse-task-subcategory-summary {
    color: var(--csa-text);
    display: block;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}

.csa-hse-task-page .csa-hse-task-subcategory-summary.is-placeholder {
    color: var(--csa-text-muted);
}

.csa-hse-task-page .select2-container .select2-selection.is-invalid,
.csa-hse-task-page .form-control.is-invalid,
.csa-hse-task-page .form-select.is-invalid {
    border-color: var(--bs-danger) !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.12) !important;
}

.csa-hse-task-user-icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-xs);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.78rem;
    height: 1.75rem;
    justify-content: center;
    width: 1.75rem;
}

.csa-hse-task-page .csa-timeline--compact::before {
    bottom: 0.55rem;
    left: 0.43rem;
    top: 0.55rem;
}

.csa-hse-task-page .csa-timeline--compact .csa-timeline-item {
    gap: 0.5rem;
    grid-template-columns: 0.95rem minmax(0, 1fr);
    padding-bottom: 0.5rem;
}

.csa-hse-task-page .csa-timeline--compact .csa-timeline-marker {
    border-width: 2px;
    height: 0.72rem;
    margin-top: 0.5rem;
    width: 0.72rem;
}

.csa-hse-task-page .csa-timeline--compact .csa-timeline-card {
    border-radius: var(--csa-radius-sm);
    padding: 0.52rem 0.7rem;
}

.csa-hse-task-lifecycle-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.85rem;
    justify-content: space-between;
}

.csa-hse-task-lifecycle-row .csa-timeline-title {
    flex: 1 1 auto;
    min-width: 12rem;
}

.csa-hse-task-lifecycle-row .csa-timeline-meta {
    flex: 0 0 auto;
    margin-top: 0;
    white-space: nowrap;
}

.csa-hse-task-region-overview {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.csa-hse-task-region-overview-item {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 0.75rem 0.85rem;
}

.csa-hse-task-region-label {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-hse-task-region-value {
    color: var(--csa-text);
    display: block;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.2;
    margin-top: 0.2rem;
}

.csa-hse-task-region-layout {
    display: grid;
    gap: 0.85rem;
}

.csa-hse-task-region-bottom-layout {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
}

.csa-hse-task-region-chart {
    min-height: 350px;
    height: 430px;
    width: 100%;
}

.csa-hse-task-region-pie-chart {
    height: 330px;
    min-height: 300px;
}

.csa-hse-task-region-summary-list {
    display: grid;
    flex: 1;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 0;
    overflow-y: auto;
    padding-right: 0.15rem;
}

.csa-hse-task-region-summary-section {
    min-width: 0;
}

.csa-hse-task-region-summary-title {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    margin-bottom: 0.45rem;
    padding: 0.18rem 0.5rem;
    text-transform: uppercase;
}

.csa-hse-task-region-summary-title--top {
    background: rgba(64, 201, 162, 0.16);
    color: #0f7d61;
}

.csa-hse-task-region-summary-title--bottom {
    background: rgba(246, 201, 14, 0.18);
    color: #8a6300;
}

.csa-hse-task-region-summary-item {
    align-items: center;
    border-bottom: 1px dashed var(--csa-border-strong);
    display: flex;
    gap: 0.5rem;
    justify-content: space-between;
    padding: 0.45rem 0.15rem;
}

.csa-hse-task-region-summary-item:last-child {
    border-bottom: 0;
}

.csa-hse-task-region-summary-main {
    min-width: 0;
}

.csa-hse-task-region-summary-heading {
    align-items: center;
    display: flex;
    gap: 0.4rem;
    min-width: 0;
}

.csa-hse-task-region-summary-rank {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0.62rem;
    font-weight: 750;
    height: 1.1rem;
    justify-content: center;
    min-width: 1.1rem;
}

.csa-hse-task-region-summary-region {
    color: var(--csa-text);
    font-size: 0.78rem;
    font-weight: 650;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-hse-task-region-summary-metric {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    padding-left: 1.5rem;
}

.csa-hse-task-region-summary-percent {
    background: rgba(63, 167, 214, 0.14);
    border-radius: 999px;
    color: #0b6f98;
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 750;
    padding: 0.14rem 0.45rem;
}

.csa-hse-task-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.csa-hse-task-row {
    border-radius: var(--csa-radius-md);
}

.csa-hse-task-evidence-thumb {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text-muted);
    display: inline-flex;
    height: 3.75rem;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 3.75rem;
}

.csa-hse-task-evidence-thumb:hover,
.csa-hse-task-evidence-thumb:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-hse-task-evidence-thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.csa-hse-task-evidence-thumb__icon {
    align-items: center;
    background: rgba(15, 23, 42, 0.62);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.8rem;
    height: 1.5rem;
    justify-content: center;
    opacity: 0;
    position: absolute;
    transition: opacity 0.15s ease;
    width: 1.5rem;
}

.csa-hse-task-evidence-thumb:hover .csa-hse-task-evidence-thumb__icon,
.csa-hse-task-evidence-thumb:focus .csa-hse-task-evidence-thumb__icon {
    opacity: 1;
}

.csa-hse-task-photo-preview {
    max-height: 80vh;
}

.csa-hse-task-ai-spec {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    height: 100%;
    padding: 0.55rem 0.65rem;
}

.csa-hse-task-ai-spec__label {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.65rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-hse-task-ai-spec__value {
    color: var(--csa-text);
    font-size: 0.82rem;
    font-weight: 650;
}

@media (max-width: 1399.98px) {
    .csa-hse-task-region-bottom-layout {
        grid-template-columns: 1fr 1fr;
    }

    .csa-hse-task-region-summary-list {
        grid-template-columns: 1fr;
    }

    .csa-hse-task-region-pie-chart {
        height: 290px;
        min-height: 260px;
    }
}

@media (max-width: 991.98px) {
    .csa-hse-task-region-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csa-hse-task-region-bottom-layout {
        grid-template-columns: 1fr;
    }

    .csa-hse-task-region-chart {
        height: 360px;
    }
}

@media (max-width: 575.98px) {
    .csa-hse-task-region-overview {
        grid-template-columns: 1fr;
    }

    .csa-hse-task-region-chart {
        height: 320px;
        min-height: 300px;
    }

    .csa-hse-task-region-pie-chart {
        height: 250px;
        min-height: 225px;
    }
}

html.theme-dark .csa-hse-task-region-summary-title--top {
    color: #86efac;
}

html.theme-dark .csa-hse-task-region-summary-title--bottom {
    color: #facc15;
}

html.theme-dark .csa-hse-task-region-summary-percent {
    color: #7dd3fc;
}

.csa-announcement-list {
    display: grid;
    gap: 0.75rem;
}

.csa-announcement-item {
    align-items: flex-start;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    display: flex;
    gap: 0.75rem;
    padding: 0.85rem;
}

.csa-announcement-icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    height: 2.3rem;
    justify-content: center;
    width: 2.3rem;
}

.csa-banner-card {
    background: linear-gradient(135deg, var(--csa-primary), #0c5f85);
    border-radius: var(--csa-radius-lg);
    color: #ffffff;
    overflow: hidden;
    padding: 1.2rem;
}

.csa-banner-card__meta {
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.82rem;
}

.csa-dashboard-hero {
    --csa-dashboard-hero-bg: var(--csa-primary);
    --csa-dashboard-hero-border: rgba(14, 58, 96, 0.3);
    --csa-dashboard-hero-divider: rgba(255, 255, 255, 0.16);
    --csa-dashboard-hero-icon-color: var(--csa-primary);
    --csa-dashboard-hero-panel-bg: rgba(255, 255, 255, 0.1);
    --csa-dashboard-hero-panel-border: rgba(255, 255, 255, 0.18);
    background: var(--csa-dashboard-hero-bg);
    border: 1px solid var(--csa-dashboard-hero-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-md);
    color: #ffffff;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1.55fr) minmax(250px, 0.75fr);
    overflow: hidden;
    padding: 1.35rem;
}

html.theme-dark .csa-dashboard-hero,
html[data-bs-theme="dark"] .csa-dashboard-hero {
    --csa-dashboard-hero-bg: #0a2c51;
    --csa-dashboard-hero-border: rgba(148, 163, 184, 0.24);
    --csa-dashboard-hero-icon-color: #0a2c51;
    --csa-dashboard-hero-panel-bg: rgba(255, 255, 255, 0.08);
    --csa-dashboard-hero-panel-border: rgba(255, 255, 255, 0.15);
}

.csa-dashboard-hero__pill {
    align-items: center;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 750;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
    text-transform: uppercase;
}

.csa-dashboard-hero__title {
    color: #ffffff;
    font-size: clamp(1.35rem, 1.05rem + 1vw, 2rem);
    font-weight: 850;
    line-height: 1.2;
    margin: 0.7rem 0 0.6rem;
}

.csa-dashboard-hero__copy {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    line-height: 1.6;
    max-width: 42rem;
}

.csa-dashboard-hero__panel {
    background: var(--csa-dashboard-hero-panel-bg);
    border: 1px solid var(--csa-dashboard-hero-panel-border);
    border-radius: var(--csa-radius-md);
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
}

.csa-dashboard-hero__item {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
}

.csa-dashboard-hero__item + .csa-dashboard-hero__item {
    border-top: 1px solid var(--csa-dashboard-hero-divider);
    padding-top: 0.85rem;
}

.csa-dashboard-hero__item-title {
    color: #ffffff;
    font-weight: 800;
    line-height: 1.3;
}

.csa-dashboard-hero__item-text {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.82rem;
    line-height: 1.5;
    margin-top: 0.15rem;
}

.csa-dashboard-icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.csa-dashboard-icon--light {
    background: #ffffff;
    color: var(--csa-dashboard-hero-icon-color, var(--csa-primary));
}

.csa-dashboard-carousel {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    overflow: hidden;
}

.csa-dashboard-banner-slide {
    align-items: stretch;
    display: grid;
    gap: 0.9rem;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    padding: 0.9rem;
}

.csa-dashboard-banner-slide--full {
    grid-template-columns: 1fr;
}

.csa-dashboard-banner-media {
    align-items: center;
    background: var(--csa-surface-muted);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    display: flex;
    justify-content: center;
    min-width: 0;
    overflow: hidden;
    padding: 0.45rem;
}

.csa-dashboard-banner-img {
    background: #ffffff;
    border-radius: var(--csa-radius-sm);
    max-height: 20rem;
    min-height: 12rem;
    object-fit: contain;
    width: 100%;
}

.csa-dashboard-banner-caption {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.csa-dashboard-carousel .carousel-control-prev,
.csa-dashboard-carousel .carousel-control-next {
    background: rgba(14, 58, 96, 0.65);
    border-radius: 999px;
    height: 2.65rem;
    margin: 0 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2.65rem;
}

.csa-dashboard-carousel .carousel-control-prev-icon,
.csa-dashboard-carousel .carousel-control-next-icon {
    height: 1rem;
    width: 1rem;
}

.csa-dashboard-carousel .carousel-indicators {
    margin-bottom: 0.45rem;
}

.csa-dashboard-carousel .carousel-indicators [data-bs-target] {
    background-color: #ffffff;
}

.csa-dashboard-password-layout {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.15fr);
}

.csa-comment-thread {
    display: grid;
    gap: 0.75rem;
}

.csa-comment {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 0.85rem;
}

.csa-comment__meta {
    color: var(--csa-text-muted);
    font-size: 0.78rem;
    margin-bottom: 0.35rem;
}

.csa-profile-card {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    display: flex;
    gap: 1rem;
    padding: 1rem;
}

.csa-profile-card__title {
    color: var(--csa-text);
    font-size: 1rem;
    font-weight: 800;
}

.csa-profile-card__meta {
    color: var(--csa-text-muted);
    font-size: 0.84rem;
}

.csa-vendor-page {
    --csa-vendor-step-accent: var(--csa-primary);
}

.csa-vendor-edit-page {
    --csa-vendor-step-accent: var(--csa-warning);
}

.csa-vendor-loader {
    display: none;
}

.csa-loader-overlay.csa-vendor-loader[style*="display: block"] {
    display: flex !important;
}

.csa-vendor-form-page .step {
    display: none;
}

.csa-vendor-form-page .step.active {
    display: block;
}

.csa-vendor-stepper {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    display: flex;
    list-style: none;
    margin: 0 0 1rem;
    overflow: hidden;
    padding: 0;
}

.csa-vendor-stepper li {
    align-items: center;
    border-right: 1px solid var(--csa-border);
    color: var(--csa-text-muted);
    cursor: pointer;
    display: inline-flex;
    flex: 1 1 0;
    font-size: 0.9rem;
    font-weight: 700;
    gap: 0.45rem;
    justify-content: center;
    min-height: 3rem;
    padding: 0.75rem;
    text-align: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.csa-vendor-stepper li:last-child {
    border-right: 0;
}

.csa-vendor-stepper li.active {
    background: var(--csa-vendor-step-accent);
    color: #ffffff;
}

.csa-vendor-edit-page .csa-vendor-stepper li.active {
    color: #1f2937;
}

.csa-vendor-stepper li:hover:not(.active),
.csa-vendor-stepper li:focus-visible:not(.active) {
    background: var(--csa-primary-soft);
    color: var(--csa-primary);
}

.csa-vendor-edit-page .csa-vendor-stepper li:hover:not(.active),
.csa-vendor-edit-page .csa-vendor-stepper li:focus-visible:not(.active) {
    background: rgba(246, 201, 14, 0.18);
    color: #8a6300;
}

.csa-vendor-fieldset-title {
    border-bottom: 1px solid var(--csa-border);
    color: var(--csa-text);
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin: 0;
    padding-bottom: 0.6rem;
    text-transform: uppercase;
}

.csa-vendor-inline-panel {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 1rem;
}

.csa-vendor-page .new-vendor-cis {
    display: none;
}

.csa-vendor-preview-image,
.csa-vendor-logo-preview {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    object-fit: contain;
}

.csa-vendor-logo-preview {
    display: none;
    margin-top: 0.65rem;
    max-height: 6.25rem;
    max-width: 12rem;
}

.csa-vendor-preview-image {
    max-height: 3.25rem;
    max-width: 3.25rem;
    padding: 0.2rem;
}

.csa-vendor-profile-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    overflow: hidden;
}

.csa-vendor-profile-card__header {
    align-items: center;
    background: var(--csa-surface-soft);
    border-bottom: 1px solid var(--csa-border);
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1.5rem 1rem;
    text-align: center;
}

.csa-vendor-profile-card__logo {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: 999px;
    box-shadow: var(--csa-shadow-sm);
    height: 7.5rem;
    object-fit: contain;
    padding: 0.35rem;
    width: 7.5rem;
}

.csa-vendor-contact-list {
    display: grid;
    gap: 0.85rem;
}

.csa-vendor-contact-item {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    min-width: 0;
}

.csa-vendor-contact-item__icon {
    color: var(--csa-text-muted);
    flex: 0 0 auto;
    margin-top: 0.15rem;
}

.csa-vendor-contact-item__label {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.csa-vendor-contact-item__value {
    color: var(--csa-text);
    font-weight: 650;
    min-width: 0;
    overflow-wrap: anywhere;
}

.csa-vendor-detail-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csa-vendor-detail-grid--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.csa-vendor-detail-field {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    min-width: 0;
    padding: 0.8rem 0.9rem;
}

.csa-vendor-detail-field--wide {
    grid-column: 1 / -1;
}

.csa-vendor-detail-field--tall {
    min-height: 5rem;
}

.csa-vendor-detail-label {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.csa-vendor-detail-value {
    color: var(--csa-text);
    display: block;
    font-size: 0.9rem;
    font-weight: 650;
    min-width: 0;
    overflow-wrap: anywhere;
}

.csa-vendor-document-preview,
.csa-vendor-page .vendor-document-preview {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: block;
    margin-bottom: 0.75rem;
    max-height: 8.75rem;
    max-width: 13.75rem;
    object-fit: contain;
    padding: 0.25rem;
    width: 100%;
}

.csa-vendor-document-action,
.csa-vendor-page .vendor-document-action {
    align-items: center;
    display: inline-flex;
    gap: 0.35rem;
}

.csa-vendor-page .csa-data-table-shell,
.csa-vendor-page .csa-data-table-shell .table-responsive,
.csa-vendor-page .dataTables_wrapper,
.csa-vendor-page .dt-container,
.csa-vendor-page .dt-scroll,
.csa-vendor-page .dt-scroll-head,
.csa-vendor-page .dt-scroll-body {
    width: 100%;
}

.csa-vendor-page .csa-vendor-data-table,
.csa-vendor-page .csa-vendor-data-table.dataTable,
.csa-vendor-page #summaryTable.csa-vendor-data-table,
.csa-vendor-page #summaryTable.csa-vendor-data-table.dataTable {
    min-width: 1080px;
    table-layout: auto;
    width: 100% !important;
}

.csa-vendor-data-table .csa-vendor-action-cell {
    min-width: 12rem;
}

.csa-vendor-data-table .csa-vendor-action-group {
    flex-wrap: nowrap;
    justify-content: center;
    min-width: max-content;
}

.csa-vendor-page .dataTables_wrapper .dataTables_info,
.csa-vendor-page .dt-container .dt-info {
    color: var(--csa-text-muted);
    font-size: 0.88rem;
    font-weight: 600;
    padding-top: 0;
}

.csa-vendor-page .dataTables_wrapper .dataTables_paginate,
.csa-vendor-page .dt-container .dt-paging,
.csa-vendor-page .csa-vendor-pagination .dt-paging {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    padding-top: 0;
}

.csa-vendor-page .dataTables_wrapper .dataTables_paginate .pagination,
.csa-vendor-page .csa-vendor-pagination .dt-paging nav {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0;
}

.csa-vendor-page .dataTables_wrapper .dataTables_paginate span,
.csa-vendor-page .csa-vendor-pagination .dt-paging nav span {
    align-items: center;
    display: inline-flex;
    gap: 0.35rem;
}

.csa-vendor-page .dataTables_wrapper .dataTables_paginate .paginate_button,
.csa-vendor-page .dataTables_wrapper .dataTables_paginate .page-link,
.csa-vendor-page .csa-vendor-pagination .dt-paging .dt-paging-button,
.csa-vendor-page .dt-container .dt-paging .dt-paging-button {
    align-items: center;
    background: var(--csa-surface) !important;
    border: 1px solid var(--csa-border) !important;
    border-radius: var(--csa-radius-sm);
    box-shadow: var(--csa-shadow-sm);
    color: var(--csa-text) !important;
    display: inline-flex !important;
    font-weight: 700;
    height: 2.4rem;
    justify-content: center;
    line-height: 1;
    margin: 0;
    min-width: 2.4rem;
    padding: 0.5rem 0.85rem !important;
    text-decoration: none !important;
}

.csa-vendor-page .dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.csa-vendor-page .dataTables_wrapper .dataTables_paginate .page-link:hover,
.csa-vendor-page .csa-vendor-pagination .dt-paging .dt-paging-button:hover,
.csa-vendor-page .dt-container .dt-paging .dt-paging-button:hover {
    background: var(--csa-primary-soft) !important;
    border-color: rgba(63, 167, 214, 0.45) !important;
    color: var(--csa-primary) !important;
}

.csa-vendor-page .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.csa-vendor-page .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.csa-vendor-page .dataTables_wrapper .dataTables_paginate .page-item.active .page-link,
.csa-vendor-page .csa-vendor-pagination .dt-paging .dt-paging-button.current,
.csa-vendor-page .csa-vendor-pagination .dt-paging .dt-paging-button.current:hover,
.csa-vendor-page .dt-container .dt-paging .dt-paging-button.current,
.csa-vendor-page .dt-container .dt-paging .dt-paging-button.current:hover {
    background: var(--csa-primary) !important;
    border-color: var(--csa-primary) !important;
    color: #ffffff !important;
}

.csa-vendor-page .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.csa-vendor-page .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.csa-vendor-page .dataTables_wrapper .dataTables_paginate .page-item.disabled .page-link,
.csa-vendor-page .csa-vendor-pagination .dt-paging .dt-paging-button.disabled,
.csa-vendor-page .csa-vendor-pagination .dt-paging .dt-paging-button.disabled:hover,
.csa-vendor-page .dt-container .dt-paging .dt-paging-button.disabled,
.csa-vendor-page .dt-container .dt-paging .dt-paging-button.disabled:hover {
    background: var(--csa-surface-muted) !important;
    border-color: var(--csa-border) !important;
    box-shadow: none;
    color: var(--csa-text-muted) !important;
    cursor: not-allowed !important;
}

.csa-vendor-page .dataTables_wrapper .dataTables_paginate .ellipsis,
.csa-vendor-page .csa-vendor-pagination .dt-paging .ellipsis,
.csa-vendor-page .dt-container .dt-paging .ellipsis {
    align-items: center;
    color: var(--csa-text-muted);
    display: inline-flex !important;
    font-weight: 800;
    justify-content: center;
    min-width: 2rem;
}

.csa-vendor-page .dataTables_wrapper .dataTables_processing {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-md);
    color: var(--csa-text);
}

.csa-auth-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-md);
    margin: 0 auto;
    max-width: 420px;
    padding: 1.25rem;
}

body.csa-auth-page {
    background: linear-gradient(135deg, #08213d 0%, #0a2c51 48%, #0f766e 100%);
    display: block;
    min-height: 100vh;
}

.csa-auth-shell {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 2rem 1rem;
    width: 100%;
}

.csa-auth-box {
    width: min(100%, 420px);
}

.csa-auth-box--otp {
    width: min(100%, 460px);
}

.csa-auth-card--shell {
    max-width: none;
    overflow: hidden;
    padding: 0;
}

.csa-auth-card__header {
    background: var(--csa-surface-soft);
    border-bottom: 1px solid var(--csa-border);
    padding: 1.5rem 1.5rem 1rem;
    text-align: center;
}

.csa-auth-card__logo {
    filter: drop-shadow(0 2px 4px rgba(15, 23, 42, 0.14));
    height: auto;
    max-width: 180px;
    width: 100%;
}

.csa-auth-card__body {
    padding: 1.5rem;
}

.csa-auth-title {
    color: var(--csa-text);
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
}

.csa-auth-lead {
    color: var(--csa-text-muted);
    font-size: 0.94rem;
    line-height: 1.45;
    margin: 0.35rem 0 0;
}

.csa-auth-form {
    margin: 0;
}

.csa-auth-input-group .form-floating {
    min-width: 0;
}

.csa-auth-input-group .form-floating > .form-control {
    background: var(--csa-surface);
    border-color: var(--csa-border);
    border-right: 0;
    color: var(--csa-text);
}

.csa-auth-input-group .form-floating > .form-control:focus {
    border-color: var(--csa-info);
    box-shadow: none;
    color: var(--csa-text);
}

.csa-auth-input-group .form-floating > label {
    color: var(--csa-text-muted);
}

.csa-auth-input-group .input-group-text,
.csa-auth-input-group .btn {
    background: var(--csa-surface);
    border-color: var(--csa-border);
    color: var(--csa-text-muted);
}

.csa-auth-input-group .input-group-text {
    border-left: 0;
}

.csa-auth-input-group .btn {
    border-left: 0;
    min-width: 3rem;
}

.csa-auth-input-group .form-control:focus ~ .input-group-text,
.csa-auth-input-group .form-control:focus ~ .btn,
.csa-auth-input-group:focus-within .input-group-text,
.csa-auth-input-group:focus-within .btn {
    border-color: var(--csa-info);
}

.csa-auth-input-group .btn:hover,
.csa-auth-input-group .btn:focus {
    background: var(--csa-surface-soft);
    color: var(--csa-primary);
}

.csa-auth-submit {
    min-height: 2.75rem;
}

.csa-auth-link {
    color: var(--csa-text-muted);
    font-weight: 650;
    text-decoration: none;
}

.csa-auth-link:hover,
.csa-auth-link:focus {
    color: var(--csa-primary);
    text-decoration: none;
}

.csa-auth-footer {
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.82rem;
    margin-top: 1.25rem;
    text-align: center;
}

.csa-auth-recaptcha {
    transform: scale(0.95);
    transform-origin: center;
}

.csa-auth-choice-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csa-auth-choice-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.csa-auth-choice {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    color: var(--csa-text);
    cursor: pointer;
    display: flex;
    gap: 0.65rem;
    margin: 0;
    min-height: 4.875rem;
    padding: 0.75rem;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.csa-auth-choice:hover {
    background: var(--csa-primary-soft);
    border-color: var(--csa-info);
}

.csa-auth-choice__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.15rem;
    height: 2.2rem;
    justify-content: center;
    width: 2.2rem;
}

.csa-auth-choice[data-channel="whatsapp"] .csa-auth-choice__icon {
    background: rgba(64, 201, 162, 0.16);
    color: #198754;
}

.csa-auth-choice__content {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    line-height: 1.2;
    min-width: 0;
}

.csa-auth-choice__title {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 750;
}

.csa-auth-choice__caption {
    color: var(--csa-text-muted);
    font-size: 0.78rem;
}

.btn-check:checked + .csa-auth-choice {
    background: var(--csa-primary-soft);
    border-color: var(--csa-primary);
    box-shadow: var(--csa-focus-ring);
}

.btn-check:checked + .csa-auth-choice[data-channel="whatsapp"] {
    background: rgba(64, 201, 162, 0.12);
    border-color: var(--csa-success);
}

.btn-check:focus-visible + .csa-auth-choice {
    outline: 2px solid var(--csa-info);
    outline-offset: 2px;
}

.csa-auth-choice-hint {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text-muted);
    font-size: 0.84rem;
    line-height: 1.45;
    padding: 0.65rem 0.75rem;
}

.csa-auth-code-input {
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: 0.45rem;
    padding-left: calc(1rem + 0.45rem);
    text-align: center;
}

.csa-auth-policy-card {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 0.9rem 1rem;
}

.csa-auth-policy-title {
    color: var(--csa-text);
    font-size: 0.92rem;
    font-weight: 800;
    margin-bottom: 0.4rem;
}

.csa-auth-policy-list {
    color: var(--csa-text-muted);
    font-size: 0.84rem;
    margin: 0;
    padding-left: 1.1rem;
}

.csa-auth-policy-list li + li {
    margin-top: 0.35rem;
}

.csa-auth-countdown {
    font-variant-numeric: tabular-nums;
}

html.theme-dark body.csa-auth-page,
html[data-bs-theme="dark"] body.csa-auth-page {
    background: linear-gradient(135deg, #020617 0%, #08213d 52%, #064e3b 100%);
}

html.theme-dark .csa-auth-choice[data-channel="whatsapp"] .csa-auth-choice__icon,
html[data-bs-theme="dark"] .csa-auth-choice[data-channel="whatsapp"] .csa-auth-choice__icon {
    background: rgba(52, 211, 153, 0.16);
    color: #86efac;
}

@media (max-width: 575.98px) {
    .csa-auth-shell {
        align-items: flex-start;
        padding: 1rem;
    }

    .csa-auth-card__body {
        padding: 1.25rem;
    }

    .csa-auth-choice-grid {
        grid-template-columns: 1fr;
    }

    .csa-auth-code-input {
        font-size: 1.35rem;
        letter-spacing: 0.28rem;
        padding-left: calc(1rem + 0.28rem);
    }
}

.csa-schedule-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-left: 4px solid var(--csa-info);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    padding: 0.9rem;
}

.csa-schedule-card__time {
    color: var(--csa-primary);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-schedule-card__title {
    color: var(--csa-text);
    font-weight: 750;
    margin-top: 0.15rem;
}

.csa-meeting-room-card {
    min-height: 100%;
}

.csa-meeting-room-card__media {
    background: var(--csa-surface-muted);
    min-height: 13.75rem;
    overflow: hidden;
    position: relative;
}

.csa-meeting-room-card__media > img {
    display: block;
    height: 13.75rem;
    object-fit: cover;
    opacity: 0.96;
    width: 100%;
}

.csa-meeting-room-card__placeholder {
    align-items: center;
    color: var(--csa-text-muted);
    display: flex;
    font-size: 2rem;
    height: 13.75rem;
    justify-content: center;
}

.csa-meeting-room-card__overlay {
    background: linear-gradient(to top, rgba(15, 23, 42, 0.78), rgba(15, 23, 42, 0));
    bottom: 0;
    left: 0;
    padding: 3rem 1rem 1rem;
    position: absolute;
    right: 0;
}

.csa-meeting-room-card__title {
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
    overflow-wrap: anywhere;
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.5);
}

.csa-meeting-room-card__actions {
    display: flex;
    gap: 0.4rem;
    position: absolute;
    right: 0.75rem;
    top: 0.75rem;
    z-index: 2;
}

.csa-meeting-room-card__action {
    border-radius: 999px;
    box-shadow: 0 0.35rem 0.9rem rgba(15, 23, 42, 0.16);
}

.csa-meeting-room-card__schedule {
    max-height: 16rem;
    overflow-x: hidden;
    overflow-y: auto;
}

.table.csa-meeting-room-card__table {
    table-layout: fixed;
    width: 100%;
}

.table.csa-meeting-room-card__table thead th,
.table.csa-meeting-room-card__table tbody td {
    font-size: 0.76rem;
    line-height: 1.2;
    padding: 0.55rem 0.6rem;
}

.table.csa-meeting-room-card__table thead th:nth-child(1),
.table.csa-meeting-room-card__table tbody td:nth-child(1) {
    width: 25%;
}

.table.csa-meeting-room-card__table thead th:nth-child(2),
.table.csa-meeting-room-card__table tbody td:nth-child(2) {
    width: 43%;
}

.table.csa-meeting-room-card__table thead th:nth-child(3),
.table.csa-meeting-room-card__table tbody td:nth-child(3) {
    width: 32%;
}

.csa-meeting-room-card__user {
    color: var(--csa-text);
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-meeting-room-card__table .csa-avatar--sm {
    font-size: 0.68rem;
    height: 1.55rem;
    width: 1.55rem;
}

.csa-meeting-room-card__table .csa-status {
    --csa-status-truncate-width: 100%;
    font-size: 0.72rem;
    max-width: 100%;
    padding: 0.32rem 0.48rem;
}

.csa-meeting-room-card__empty {
    align-items: center;
    color: var(--csa-text-muted);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    justify-content: center;
    min-height: 7rem;
    text-align: center;
}

.csa-meeting-room-card__empty i {
    font-size: 1.35rem;
    opacity: 0.7;
}

.csa-meeting-modal-list {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    min-height: 12.5rem;
    overflow: hidden;
}

.csa-meeting-request-group + .csa-meeting-request-group {
    margin-top: 1rem;
}

.table.csa-meeting-request-table {
    min-width: 980px;
}

.csa-member-picker__list {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    height: 11.25rem;
    overflow-y: auto;
    padding: 0.5rem;
}

.csa-member-picker__item {
    border-bottom: 1px solid var(--csa-border);
    margin: 0;
    padding: 0.35rem 0.25rem;
}

.csa-member-picker__item:last-child {
    border-bottom: 0;
}

.csa-member-picker__check,
.csa-member-picker__label {
    cursor: pointer;
}

.csa-member-picker__label {
    color: var(--csa-text);
    display: block;
    font-size: 0.86rem;
    padding-left: 0.5rem;
}

.csa-member-picker__summary {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    margin-top: 0.5rem;
    padding: 0.55rem 0.65rem;
}

.csa-member-picker__summary-label {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.csa-room-photo-preview {
    background: var(--csa-surface-muted);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    min-height: 11.25rem;
    overflow: hidden;
}

.csa-room-photo-preview img {
    display: block;
    height: 11.25rem;
    object-fit: cover;
    width: 100%;
}

.csa-meeting-page .table-container {
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    max-height: 65vh;
    overflow-y: auto;
}

.csa-meeting-page .table-container::-webkit-scrollbar,
.csa-meeting-room-card__schedule::-webkit-scrollbar,
.csa-member-picker__list::-webkit-scrollbar {
    height: 0.4rem;
    width: 0.4rem;
}

.csa-meeting-page .table-container::-webkit-scrollbar-track,
.csa-meeting-room-card__schedule::-webkit-scrollbar-track,
.csa-member-picker__list::-webkit-scrollbar-track {
    background: transparent;
}

.csa-meeting-page .table-container::-webkit-scrollbar-thumb,
.csa-meeting-room-card__schedule::-webkit-scrollbar-thumb,
.csa-member-picker__list::-webkit-scrollbar-thumb {
    background: var(--csa-border-strong);
    border-radius: 999px;
}

.csa-meeting-page .custom-table {
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.875rem;
    width: 100%;
}

.csa-meeting-page .custom-table th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.csa-meeting-page .custom-table td {
    color: var(--csa-text);
}

.csa-meeting-page .custom-table .col-id {
    color: var(--csa-text-muted);
    text-align: center;
    width: 5%;
}

.csa-meeting-page .custom-table .col-pic {
    font-weight: 700;
    width: 15%;
}

.csa-meeting-page .custom-table .col-attendance {
    width: 20%;
}

.csa-meeting-page .custom-table .col-title {
    width: 20%;
}

.csa-meeting-page .custom-table .col-remark {
    width: 15%;
}

.csa-meeting-page .custom-table .col-start,
.csa-meeting-page .custom-table .col-end {
    font-family: var(--bs-font-monospace);
    white-space: nowrap;
    width: 12%;
}

.csa-meeting-page .attendance-cell {
    max-width: 200px;
}

.csa-meeting-page .attendance-content {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.85rem;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-meeting-page .date-header td {
    background: var(--csa-surface-muted);
    border-bottom: 1px solid var(--csa-border);
    border-top: 1px solid var(--csa-border);
    color: var(--csa-text);
    font-size: 0.9rem;
    font-weight: 750;
    padding: 0.6rem 0.9rem;
}

.csa-confirm-card {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
    text-align: center;
}

.csa-confirm-card__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 1.75rem;
    height: 4rem;
    justify-content: center;
    width: 4rem;
}

.csa-confirm-card__icon--danger {
    background: rgba(220, 53, 69, 0.1);
    color: var(--csa-danger);
}

.csa-confirm-card__title {
    color: var(--csa-text);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
    margin: 0;
}

.csa-confirm-card__body {
    color: var(--csa-text-muted);
    font-size: 0.9rem;
    line-height: 1.45;
    margin: 0.35rem 0 0;
}

.csa-confirm-modal__content {
    background: var(--csa-surface);
    border: 0;
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-md);
    overflow: hidden;
}

.csa-confirm-modal__body {
    background: var(--csa-surface);
    padding: 1.25rem 1.25rem 0.75rem;
}

.csa-confirm-modal__footer {
    background: var(--csa-surface);
    border-top: 1px solid var(--csa-border);
    gap: 0.5rem;
    justify-content: center;
    padding: 0.9rem 1.25rem 1.1rem;
}

html.theme-dark .csa-status--open,
html.theme-dark .csa-status--info {
    --csa-status-color: #93c5fd;
}

html.theme-dark .csa-modal-form__icon--warning {
    color: #facc15;
}

html.theme-dark .csa-status--approved,
html.theme-dark .csa-status--go,
html.theme-dark .csa-status--success {
    --csa-status-color: #86efac;
}

html.theme-dark .csa-status--pending,
html.theme-dark .csa-status--warning {
    --csa-status-color: #facc15;
}

html.theme-dark .csa-status--rejected,
html.theme-dark .csa-status--danger {
    --csa-status-color: #fca5a5;
}

html.theme-dark .csa-status--draft,
html.theme-dark .csa-status--muted {
    --csa-status-color: #cbd5e1;
}

/* Talenta Sync operational dashboard */
.csa-talenta-sync-shell {
    --csa-talenta-stage-line: rgba(63, 167, 214, 0.34);
    --csa-talenta-soft-shadow: 0 16px 34px rgba(15, 23, 42, 0.1);
}

.csa-talenta-sync-shell code {
    color: var(--csa-primary);
    overflow-wrap: anywhere;
    white-space: normal;
}

.csa-talenta-sync-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.2rem;
    scrollbar-width: thin;
}

.csa-talenta-sync-shell .nav-pills .nav-link {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: 999px;
    color: var(--csa-text-muted);
    display: inline-flex;
    font-weight: 700;
    min-height: 2.35rem;
    padding: 0.45rem 0.8rem;
    white-space: nowrap;
}

.csa-talenta-sync-shell .nav-pills .nav-link:hover,
.csa-talenta-sync-shell .nav-pills .nav-link:focus {
    background: var(--csa-primary-soft);
    border-color: var(--csa-border-strong);
    color: var(--csa-primary);
}

.csa-talenta-sync-shell .nav-pills .nav-link.active {
    background: var(--csa-primary);
    border-color: var(--csa-primary);
    color: #ffffff;
}

.csa-talenta-sync-summary-link {
    color: inherit;
    display: block;
    height: 100%;
    min-width: 0;
    text-decoration: none;
}

.csa-talenta-sync-summary-link .csa-stat-card {
    height: 100%;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.csa-talenta-sync-summary-link:hover .csa-stat-card,
.csa-talenta-sync-summary-link:focus-visible .csa-stat-card {
    border-color: var(--csa-border-strong);
    box-shadow: var(--csa-talenta-soft-shadow);
    transform: translateY(-2px);
}

.csa-talenta-sync-summary-link:focus-visible {
    border-radius: var(--csa-radius-sm);
    box-shadow: var(--csa-focus-ring);
    outline: 0;
}

.csa-talenta-sync-summary {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.csa-talenta-sync-summary__item {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 0.9rem 1rem;
}

.csa-talenta-sync-summary__label,
.csa-talenta-sync-stage__label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.csa-talenta-sync-summary__value {
    color: var(--csa-text);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
    margin-top: 0.22rem;
    overflow-wrap: anywhere;
}

.csa-talenta-sync-stages {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.csa-talenta-sync-stage {
    background: linear-gradient(180deg, var(--csa-surface) 0%, var(--csa-surface-soft) 100%);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    min-height: 166px;
    padding: 0.85rem 0.9rem 0.95rem;
    position: relative;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.csa-talenta-sync-stage--clickable {
    cursor: pointer;
}

.csa-talenta-sync-stage--clickable:hover,
.csa-talenta-sync-stage--clickable:focus-visible {
    border-color: rgba(63, 167, 214, 0.42);
    box-shadow: var(--csa-talenta-soft-shadow);
    outline: 0;
    transform: translateY(-2px);
}

.csa-talenta-sync-stage::before {
    background: var(--csa-talenta-stage-line);
    content: "";
    height: 2px;
    left: calc(50% + 1.25rem);
    position: absolute;
    right: calc(-50% + 1.25rem);
    top: 2.55rem;
}

.csa-talenta-sync-stage:nth-child(4)::before,
.csa-talenta-sync-stage:last-child::before {
    display: none;
}

.csa-talenta-sync-stage__top {
    align-items: flex-start;
    display: flex;
    gap: 0.7rem;
    margin-bottom: 0.75rem;
    position: relative;
    z-index: 1;
}

.csa-talenta-sync-stage__dot {
    align-items: center;
    background: var(--csa-surface);
    border: 2px solid var(--csa-border-strong);
    border-radius: 999px;
    color: var(--csa-text-muted);
    display: inline-flex;
    flex: 0 0 2.4rem;
    font-size: 0.82rem;
    font-weight: 800;
    height: 2.4rem;
    justify-content: center;
    width: 2.4rem;
}

.csa-talenta-sync-stage__meta {
    min-width: 0;
    padding-top: 0.05rem;
}

.csa-talenta-sync-stage__label {
    line-height: 1;
    margin-bottom: 0.25rem;
}

.csa-talenta-sync-stage__title {
    color: var(--csa-text);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.22;
    margin: 0;
    overflow-wrap: anywhere;
}

.csa-talenta-sync-stage__desc {
    color: var(--csa-text-muted);
    font-size: 0.8rem;
    line-height: 1.45;
    margin: 0;
    overflow-wrap: anywhere;
    padding-left: 3.1rem;
}

.csa-talenta-sync-stage--active::before {
    background: rgba(10, 44, 81, 0.42);
}

.csa-talenta-sync-stage--active .csa-talenta-sync-stage__dot {
    background: var(--csa-primary);
    border-color: var(--csa-primary);
    box-shadow: 0 0 0 6px var(--csa-primary-soft);
    color: #ffffff;
}

.csa-talenta-sync-stage--active .csa-talenta-sync-stage__label,
.csa-talenta-sync-stage--active .csa-talenta-sync-stage__title {
    color: var(--csa-primary);
}

.csa-talenta-sync-stage--next .csa-talenta-sync-stage__dot {
    border-style: dashed;
}

.csa-talenta-sync-form-grid {
    align-items: end;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.csa-talenta-sync-queue-form {
    border-left: 4px solid var(--csa-primary);
}

.csa-talenta-sync-inline-filter {
    align-items: end;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(0, 1.6fr) minmax(128px, 0.55fr) minmax(170px, 0.75fr);
}

.csa-talenta-sync-panel + .csa-talenta-sync-panel {
    margin-top: 1rem;
}

.csa-talenta-sync-history-layout {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.48fr) minmax(320px, 0.9fr);
}

.csa-talenta-sync-history-layout > div {
    min-width: 0;
}

.csa-talenta-sync-side-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    min-width: 0;
    overflow: hidden;
}

.csa-talenta-sync-side-card__body {
    padding: 0 1rem 1rem;
}

.csa-talenta-sync-side-card--queue .csa-section-header {
    margin: 0;
    padding: 1rem 1rem 0.85rem;
}

.csa-talenta-sync-side-card--queue .csa-data-table-shell {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.csa-talenta-sync-side-card--queue .table-responsive {
    max-height: 540px;
    overflow: auto;
}

.csa-talenta-sync-side-card--queue .csa-talenta-sync-table td,
.csa-talenta-sync-side-card--queue .csa-talenta-sync-table th {
    white-space: normal;
}

.csa-talenta-sync-side-card--queue .csa-pagination-shell {
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    margin: 0;
}

.csa-talenta-sync-history-scroll {
    display: grid;
    gap: 0.85rem;
    max-height: 720px;
    overflow: auto;
    padding: 0 1rem 1rem;
}

.csa-talenta-sync-history-card {
    background: linear-gradient(180deg, var(--csa-surface) 0%, var(--csa-surface-soft) 100%);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    padding: 0.95rem 1rem;
}

.csa-talenta-sync-history-card__top {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.csa-talenta-sync-history-card__queue {
    color: var(--csa-text);
    font-size: 1rem;
    font-weight: 800;
}

.csa-talenta-sync-history-card__time {
    color: var(--csa-text-muted);
    font-size: 0.82rem;
    margin-top: 0.18rem;
}

.csa-talenta-sync-history-card__meta {
    color: var(--csa-text-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.9rem;
    font-size: 0.83rem;
    margin-top: 0.8rem;
}

.csa-talenta-sync-history-card__remark {
    border-top: 1px solid var(--csa-border);
    color: var(--csa-text);
    font-size: 0.87rem;
    line-height: 1.45;
    margin-top: 0.85rem;
    overflow-wrap: anywhere;
    padding-top: 0.75rem;
}

.csa-talenta-sync-auto-filter__hint {
    color: var(--csa-text-muted);
    font-size: 0.82rem;
    margin-top: 0.65rem;
}

.csa-talenta-sync-pager {
    background: var(--csa-surface-soft);
    border-radius: var(--csa-radius-md);
}

.table.csa-talenta-sync-table {
    color: var(--csa-text);
}

.table.csa-talenta-sync-table td,
.table.csa-talenta-sync-table th {
    vertical-align: middle;
    white-space: nowrap;
}

.table.csa-talenta-sync-table thead th {
    background: var(--csa-surface-soft);
}

.table.csa-talenta-sync-table tbody td {
    border-color: var(--csa-border);
}

.csa-talenta-sync-table__heading,
.csa-talenta-sync-table__subheading {
    display: block;
    line-height: 1.08;
}

.csa-talenta-sync-table__heading {
    color: var(--csa-text);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.csa-talenta-sync-table__subheading {
    color: var(--csa-text-muted);
    font-size: 0.7rem;
    font-weight: 700;
    margin-top: 0.2rem;
    text-transform: uppercase;
}

.table.csa-talenta-sync-table td.text-wrap {
    line-height: 1.45;
    min-width: 240px;
    max-width: 360px;
    overflow-wrap: anywhere;
    white-space: normal;
}

.csa-talenta-sync-normalized-text {
    color: var(--csa-danger);
    font-weight: 700;
}

html.theme-dark .csa-talenta-sync-shell,
html[data-bs-theme="dark"] .csa-talenta-sync-shell {
    --csa-talenta-stage-line: rgba(96, 165, 250, 0.36);
    --csa-talenta-soft-shadow: 0 16px 34px rgba(0, 0, 0, 0.3);
}

html.theme-dark .csa-talenta-sync-shell .nav-pills .nav-link.active,
html[data-bs-theme="dark"] .csa-talenta-sync-shell .nav-pills .nav-link.active,
html.theme-dark .csa-talenta-sync-stage--active .csa-talenta-sync-stage__dot,
html[data-bs-theme="dark"] .csa-talenta-sync-stage--active .csa-talenta-sync-stage__dot {
    color: #08111f;
}

html.theme-dark .csa-talenta-sync-stage,
html[data-bs-theme="dark"] .csa-talenta-sync-stage,
html.theme-dark .csa-talenta-sync-history-card,
html[data-bs-theme="dark"] .csa-talenta-sync-history-card {
    background: linear-gradient(180deg, var(--csa-surface) 0%, rgba(31, 41, 55, 0.86) 100%);
}

html.theme-dark .csa-talenta-sync-stage--active::before,
html[data-bs-theme="dark"] .csa-talenta-sync-stage--active::before {
    background: rgba(96, 165, 250, 0.46);
}

@media (max-width: 1399.98px) {
    .csa-talenta-sync-stages {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .csa-talenta-sync-stage:nth-child(4)::before {
        display: block;
    }

    .csa-talenta-sync-stage:nth-child(3)::before,
    .csa-talenta-sync-stage:nth-child(6)::before {
        display: none;
    }
}

@media (max-width: 1199.98px) {
    .csa-talenta-sync-history-layout {
        grid-template-columns: 1fr;
    }

    .csa-talenta-sync-side-card--queue .table-responsive,
    .csa-talenta-sync-history-scroll {
        max-height: 460px;
    }
}

@media (max-width: 991.98px) {
    .csa-talenta-sync-inline-filter {
        grid-template-columns: 1fr;
    }

    .csa-talenta-sync-stages {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csa-talenta-sync-stage::before,
    .csa-talenta-sync-stage:nth-child(3)::before,
    .csa-talenta-sync-stage:nth-child(4)::before,
    .csa-talenta-sync-stage:nth-child(6)::before,
    .csa-talenta-sync-stage:last-child::before {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .csa-talenta-sync-stage {
        min-height: auto;
    }

    .csa-talenta-sync-stage__desc {
        padding-left: 0;
    }
}

@media (max-width: 575.98px) {
    .csa-talenta-sync-stages,
    .csa-talenta-sync-summary {
        grid-template-columns: 1fr;
    }

    .csa-talenta-sync-form-grid {
        grid-template-columns: 1fr;
    }

    .csa-talenta-sync-history-card__top {
        flex-direction: column;
    }
}

/* SIP route group */
.csa-sip-page {
    --csa-sip-surface: var(--csa-surface);
    --csa-sip-surface-soft: var(--csa-surface-soft);
    --csa-sip-border: var(--csa-border);
    --csa-sip-border-strong: var(--csa-border-strong);
    --csa-sip-text: var(--csa-text);
    --csa-sip-muted: var(--csa-text-muted);
    --csa-sip-accent: var(--csa-primary);
    --csa-sip-summary: #1f2937;
    --csa-sip-summary-ink: #ffffff;
}

.csa-sip-page .csa-sip-card,
.csa-sip-page .csa-sip-section-card,
.csa-sip-page .csa-sip-snapshot-card,
.csa-sip-page .csa-sip-status-card,
.csa-sip-page .csa-sip-toolbar-panel {
    background: var(--csa-sip-surface);
    border: 1px solid var(--csa-sip-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
}

.csa-sip-page .csa-sip-card,
.csa-sip-page .csa-sip-section-card,
.csa-sip-page .csa-sip-snapshot-card,
.csa-sip-page .csa-sip-status-card {
    padding: 1.25rem;
}

.csa-sip-page .csa-sip-card.csa-sip-form-section {
    overflow: visible;
}

.csa-sip-page .csa-sip-form-card {
    padding: 0;
}

.csa-sip-page .csa-sip-form-card__header {
    align-items: flex-start;
    background: var(--csa-primary);
    border-radius: var(--csa-radius-md) var(--csa-radius-md) 0 0;
    color: #ffffff;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem 1.15rem;
}

.csa-sip-page .csa-sip-form-card__heading {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    min-width: 0;
}

.csa-sip-page .csa-sip-form-card__step {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: var(--csa-radius-sm);
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.84rem;
    font-weight: 800;
    height: 1.85rem;
    justify-content: center;
    width: 1.85rem;
}

.csa-sip-page .csa-sip-form-card__title {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
    margin: 0;
}

.csa-sip-page .csa-sip-form-card__lead {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.84rem;
    line-height: 1.45;
    margin: 0.18rem 0 0;
}

.csa-sip-page .csa-sip-form-card__actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.csa-sip-page .csa-sip-form-card__body {
    padding: 1.25rem;
}

.csa-sip-page .csa-sip-form-subsection {
    background: var(--csa-sip-surface);
    border: 1px solid var(--csa-sip-border);
    border-radius: var(--csa-radius-md);
    padding: 1rem;
}

.csa-sip-page .csa-sip-form-subsection + .csa-sip-form-subsection {
    margin-top: 1rem;
}

.csa-sip-page .csa-sip-form-subsection__title {
    color: var(--csa-sip-text);
    font-size: 0.95rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
}

.csa-sip-page .csa-sip-form-subsection__lead {
    color: var(--csa-sip-muted);
    font-size: 0.82rem;
    margin: 0 0 1rem;
}

.csa-sip-page .csa-sip-form-section .csa-form-section__body {
    padding: 0;
}

.csa-sip-page .csa-sip-section-label {
    align-items: center;
    color: var(--csa-sip-muted);
    display: flex;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    margin-bottom: 1.25rem;
    text-transform: uppercase;
}

.csa-sip-page .csa-sip-section-label::after {
    background: var(--csa-sip-border);
    content: "";
    flex: 1 1 auto;
    height: 1px;
    margin-left: 1rem;
}

.csa-sip-page .csa-sip-field-label,
.csa-sip-page .csa-sip-status-label,
.csa-sip-page .csa-sip-snapshot-label,
.csa-sip-page .csa-sip-tab-item__label {
    color: var(--csa-sip-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.csa-sip-page .csa-sip-input-group {
    align-items: center;
    background: var(--csa-sip-surface);
    border: 1px solid var(--csa-sip-border-strong);
    border-radius: var(--csa-radius-sm);
    display: flex;
    min-height: 2.45rem;
    padding: 0 0.75rem;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.csa-sip-page .csa-sip-input-group:not(.is-disabled):focus-within {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-sip-page .csa-sip-input-group.is-disabled,
.csa-sip-page .csa-sip-input-group.bg-light {
    background: var(--csa-sip-surface-soft) !important;
}

.csa-sip-page .csa-sip-input-group.align-items-start {
    align-items: flex-start;
}

.csa-sip-page .csa-sip-input-group > i {
    color: var(--csa-sip-muted);
    flex: 0 0 auto;
    font-size: 0.95rem;
}

.csa-sip-page .csa-sip-input-group .form-control,
.csa-sip-page .csa-sip-input-group .form-select,
.csa-sip-page .csa-sip-input-group textarea {
    background: transparent;
    border: 0;
    color: var(--csa-sip-text);
    min-width: 0;
    padding: 0.6rem 0.5rem;
}

.csa-sip-page .csa-sip-input-group .form-control:focus,
.csa-sip-page .csa-sip-input-group .form-select:focus,
.csa-sip-page .csa-sip-input-group textarea:focus {
    box-shadow: none;
}

.csa-sip-page .csa-sip-input-group .select2-container {
    flex: 1 1 auto;
    min-width: 0;
    width: 100% !important;
}

.csa-sip-page .csa-sip-input-group .select2-container--default .select2-selection--single {
    align-items: center;
    background: transparent;
    border: 0;
    display: flex;
    min-height: 2.35rem;
}

.csa-sip-page .csa-sip-input-group .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--csa-sip-text);
    line-height: 1.2;
    padding-left: 0.5rem;
    padding-right: 1.75rem;
}

.csa-sip-page .csa-sip-input-group .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--csa-sip-muted);
}

.csa-sip-page .csa-sip-input-group .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 0.25rem;
}

.csa-sip-page .csa-sip-summary-card {
    background: var(--csa-sip-summary);
    border-radius: var(--csa-radius-md);
    color: var(--csa-sip-summary-ink);
    overflow: hidden;
    padding: 1.5rem;
}

.csa-sip-page .csa-sip-summary-card__label {
    font-size: 0.82rem;
    opacity: 0.76;
}

.csa-sip-page .csa-sip-summary-card__value {
    color: var(--csa-sip-summary-ink);
    font-size: 1.85rem;
    line-height: 1.15;
}

.csa-sip-page .csa-sip-meta-box,
.csa-sip-page .csa-sip-selection-hint,
.csa-sip-page .csa-sip-empty-state,
.csa-sip-page .csa-sip-helper-box,
.csa-sip-page .csa-sip-workflow-preview-empty {
    background: var(--csa-sip-surface-soft);
    border: 1px dashed var(--csa-sip-border-strong);
    border-radius: var(--csa-radius-md);
    padding: 0.85rem 1rem;
}

.csa-sip-page .csa-sip-helper-box {
    background: rgba(64, 201, 162, 0.1);
    border-style: solid;
    color: #0f7d61;
}

.csa-sip-page .csa-sip-meta-label {
    color: var(--csa-sip-muted);
    display: block;
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.csa-sip-page .csa-sip-meta-value {
    color: var(--csa-sip-text);
    display: block;
    font-size: 0.88rem;
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.csa-sip-page .csa-sip-field--invalid {
    border-color: var(--csa-danger);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.12);
}

.csa-sip-page .csa-sip-field-error {
    color: var(--csa-danger);
    display: block;
    font-size: 0.76rem;
    margin-top: 0.35rem;
}

.csa-sip-page .csa-sip-sticky {
    top: 1.5rem;
}

.csa-sip-page .csa-sip-search-select + .select2-container {
    min-width: 0;
    width: 100% !important;
}

.csa-sip-page .csa-sip-search-select + .select2-container .select2-selection--single {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    display: flex;
    min-height: calc(1.5em + 0.75rem + 2px);
}

.csa-sip-page .csa-sip-search-select.form-select-sm + .select2-container .select2-selection--single {
    font-size: 0.875rem;
    min-height: calc(1.5em + 0.5rem + 2px);
}

.csa-sip-page .csa-sip-search-select + .select2-container .select2-selection--single .select2-selection__rendered {
    color: var(--csa-sip-text);
    line-height: 1.2;
    padding-left: 0.75rem;
    padding-right: 2rem;
    width: 100%;
}

.csa-sip-page .csa-sip-search-select + .select2-container .select2-selection--single .select2-selection__placeholder {
    color: var(--csa-sip-muted);
}

.csa-sip-page .csa-sip-search-select + .select2-container .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 0.25rem;
}

.csa-sip-page .csa-sip-input-group .csa-sip-search-select + .select2-container .select2-selection--single {
    background: transparent;
    border: 0;
    min-height: 2.35rem;
}

.csa-sip-page .csa-sip-input-group .csa-sip-search-select + .select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 0.5rem;
}

.csa-sip-page .csa-sip-po-customer-select + .select2-container .select2-selection--single {
    height: auto;
    min-height: 2.35rem;
    padding-bottom: 0.2rem;
    padding-top: 0.2rem;
}

.csa-sip-page .csa-sip-po-customer-select + .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 1.3;
    overflow: visible;
    overflow-wrap: anywhere;
    padding-bottom: 0.15rem;
    padding-top: 0.15rem;
    text-overflow: clip;
    white-space: normal;
}

.csa-sip-page .csa-sip-po-customer-select + .select2-container .select2-selection--single .select2-selection__arrow {
    height: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
}

.csa-sip-page .csa-sip-po-customer-select + .select2-container .select2-selection--single .select2-selection__clear {
    align-self: flex-start;
    color: var(--csa-danger);
    margin-right: 0.35rem;
}

.csa-sip-select2-dropdown {
    background: var(--csa-surface);
    border-color: var(--csa-border-strong);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-md);
    color: var(--csa-text);
    overflow: hidden;
}

.csa-sip-select2-dropdown .select2-search--dropdown {
    padding: 0.6rem;
}

.csa-sip-select2-dropdown .select2-search__field {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    outline: 0;
    padding: 0.45rem 0.65rem;
}

.csa-sip-select2-dropdown .select2-results__option {
    line-height: 1.35;
    overflow-wrap: anywhere;
    padding: 0.62rem 0.75rem;
    white-space: normal;
}

.csa-sip-select2-dropdown .select2-results__option--highlighted[aria-selected] {
    background: var(--csa-primary);
    color: #ffffff;
}

.csa-sip-list-page .csa-sip-filter-select + .select2-container {
    width: 100% !important;
}

.csa-sip-list-page .csa-sip-filter-select + .select2-container .select2-selection--single {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    display: flex;
    min-height: calc(1.5em + 0.75rem + 2px);
}

.csa-sip-list-page .csa-sip-stat-card--clickable,
.csa-sip-list-page .csa-stat-card[role="button"] {
    cursor: pointer;
}

.csa-sip-list-page .csa-sip-stat-card--clickable:hover,
.csa-sip-list-page .csa-sip-stat-card--clickable:focus {
    box-shadow: var(--csa-shadow-md);
    transform: translateY(-1px);
}

.csa-sip-list-page .csa-stat-card.is-active {
    box-shadow: 0 0 0 2px rgba(63, 167, 214, 0.28), var(--csa-shadow-md);
}

.csa-sip-list-page .csa-sip-code {
    display: inline-flex;
    max-width: max-content;
}

.csa-sip-list-page .csa-sip-table {
    min-width: 1120px;
}

.csa-sip-list-page .csa-sip-col--sip {
    min-width: 210px;
}

.csa-sip-list-page .csa-sip-col--project {
    min-width: 220px;
}

.csa-sip-list-page .csa-sip-date {
    font-size: 0.72rem;
}

.csa-sip-list-page .csa-sip-waiting-text {
    font-size: 0.72rem;
    line-height: 1.25;
}

.csa-sip-list-page .csa-sip-site-name {
    max-width: 12rem;
}

.csa-sip-list-page .csa-sip-muted-line,
.csa-sip-list-page .csa-sip-empty-value {
    color: var(--csa-sip-muted);
    font-size: 0.76rem;
    line-height: 1.25;
}

.csa-sip-list-page .csa-sip-strong-value {
    color: var(--csa-sip-text);
    font-weight: 700;
}

.csa-sip-list-page .csa-sip-empty-value {
    font-weight: 600;
}

.csa-sip-list-page .csa-sip-reference-list {
    min-width: 12rem;
}

.csa-sip-list-page .csa-sip-reference-line {
    align-items: baseline;
    display: grid;
    gap: 0.45rem;
    grid-template-columns: 4.75rem minmax(0, 1fr);
}

.csa-sip-list-page .csa-sip-reference-label {
    color: var(--csa-sip-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-sip-list-page .csa-sip-reference-line > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-sip-list-page .csa-sip-action-col {
    background: var(--csa-sip-surface);
    box-shadow: -8px 0 14px rgba(15, 23, 42, 0.08);
    min-width: 132px;
    position: sticky;
    right: 0;
    z-index: 2;
}

.csa-sip-list-page .table.csa-data-table thead .csa-sip-action-col {
    background: var(--csa-sip-surface-soft);
    z-index: 3;
}

.csa-sip-list-page .table.csa-data-table tbody tr:hover .csa-sip-action-col {
    background: var(--csa-sip-surface);
}

.csa-sip-list-page .csa-sip-row-actions {
    min-width: max-content;
}

html.theme-dark .csa-sip-list-page .csa-sip-action-col {
    box-shadow: -8px 0 14px rgba(0, 0, 0, 0.28);
}

@media (max-width: 767.98px) {
    .csa-sip-list-page .csa-sip-table {
        min-width: 1020px;
    }

    .csa-sip-list-page .csa-sip-col--sip {
        min-width: 190px;
    }

    .csa-sip-list-page .csa-sip-col--project {
        min-width: 190px;
    }
}

.csa-sip-from-rab-page .csa-sip-toolbar-panel {
    padding: 1rem;
}

.csa-sip-from-rab-page .csa-sip-toolbar-actions,
.csa-sip-from-rab-page .csa-sip-page-nav-actions,
.csa-sip-from-rab-page .csa-sip-stat-pill-list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.csa-sip-from-rab-page .csa-sip-rab-option-card {
    background: var(--csa-sip-surface);
    border: 1px solid var(--csa-sip-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    color: var(--csa-sip-text);
    padding: 1rem;
    text-align: left;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    width: 100%;
}

.csa-sip-from-rab-page .csa-sip-rab-option-card:hover,
.csa-sip-from-rab-page .csa-sip-rab-option-card:focus,
.csa-sip-from-rab-page .csa-sip-rab-option-card.is-active {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
    color: var(--csa-sip-text);
    transform: translateY(-1px);
}

.csa-sip-from-rab-page .csa-sip-rab-option-card__header {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 0.9rem;
}

.csa-sip-from-rab-page .csa-sip-rab-option-card__badge,
.csa-sip-from-rab-page .csa-sip-stat-pill {
    align-items: center;
    background: var(--csa-primary-soft);
    border: 1px solid rgba(10, 44, 81, 0.1);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 700;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
}

.csa-sip-from-rab-page .csa-sip-stat-pill {
    background: var(--csa-sip-surface-soft);
    color: var(--csa-sip-text);
}

.csa-sip-from-rab-page .csa-sip-rab-option-card__index,
.csa-sip-from-rab-page .csa-sip-rab-option-card__subtitle {
    color: var(--csa-sip-muted);
    font-size: 0.82rem;
}

.csa-sip-from-rab-page .csa-sip-rab-option-card__title {
    color: var(--csa-sip-text);
    font-size: 1rem;
    font-weight: 750;
    margin-bottom: 0.35rem;
}

.csa-sip-from-rab-page .csa-sip-rab-option-card__notes,
.csa-sip-from-rab-page .csa-sip-snapshot-grid,
.csa-sip-from-rab-page .csa-sip-workflow-timeline,
.csa-sip-from-rab-page .csa-sip-drwf-preview__list {
    display: grid;
    gap: 0.65rem;
}

.csa-sip-from-rab-page .csa-sip-rab-option-card__note {
    background: var(--csa-sip-surface-soft);
    border: 1px solid var(--csa-sip-border);
    border-radius: var(--csa-radius-sm);
    padding: 0.65rem 0.75rem;
}

.csa-sip-from-rab-page .csa-sip-rab-option-card__note-label {
    color: var(--csa-sip-muted);
    display: block;
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.csa-sip-from-rab-page .csa-sip-rab-option-card__note-value {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--csa-sip-text);
    display: -webkit-box;
    font-size: 0.82rem;
    line-height: 1.45;
    overflow: hidden;
}

.csa-sip-from-rab-page .csa-sip-empty-state {
    text-align: center;
}

.csa-sip-from-rab-page .csa-sip-empty-state i {
    color: var(--csa-sip-muted);
    font-size: 2.25rem;
}

.csa-sip-from-rab-page .csa-sip-page-footer {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 1.25rem;
}

.csa-sip-from-rab-page .csa-sip-workflow-preview-panel {
    max-height: 320px;
    overflow-y: auto;
    width: 100%;
}

.csa-sip-from-rab-page .csa-sip-workflow-timeline__item {
    align-items: start;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 24px minmax(0, 1fr);
}

.csa-sip-from-rab-page .csa-sip-workflow-timeline__marker-wrap {
    min-height: 100%;
    position: relative;
}

.csa-sip-from-rab-page .csa-sip-workflow-timeline__marker-wrap::after {
    background: var(--csa-sip-border);
    bottom: -10px;
    content: "";
    left: 11px;
    position: absolute;
    top: 24px;
    width: 2px;
}

.csa-sip-from-rab-page .csa-sip-workflow-timeline__item:last-child .csa-sip-workflow-timeline__marker-wrap::after {
    display: none;
}

.csa-sip-from-rab-page .csa-sip-workflow-timeline__marker {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 0.7rem;
    font-weight: 800;
    height: 22px;
    justify-content: center;
    width: 22px;
}

.csa-sip-from-rab-page .csa-sip-workflow-timeline__content {
    border-bottom: 1px solid var(--csa-sip-border);
    min-width: 0;
    padding-bottom: 0.5rem;
}

.csa-sip-from-rab-page .csa-sip-workflow-timeline__item:last-child .csa-sip-workflow-timeline__content {
    border-bottom: 0;
    padding-bottom: 0;
}

.csa-sip-from-rab-page .csa-sip-workflow-step__title {
    color: var(--csa-sip-text);
    font-size: 0.86rem;
}

.csa-sip-from-rab-page .csa-sip-workflow-step__subtitle,
.csa-sip-from-rab-page .csa-sip-workflow-step__meta-code {
    background: var(--csa-primary-soft);
    border: 1px solid rgba(10, 44, 81, 0.12);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 0.68rem;
    line-height: 1.2;
    padding: 0.12rem 0.4rem;
}

.csa-sip-from-rab-page .csa-sip-workflow-step__meta {
    color: var(--csa-sip-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.74rem;
    gap: 0.35rem;
    margin-top: 0.2rem;
}

.csa-sip-detail-page {
    --csa-sip-hero-start: #f1f5f9;
    --csa-sip-hero-end: #e2e8f0;
    --csa-sip-hero-ink: #223246;
    --csa-sip-hero-muted: rgba(34, 50, 70, 0.72);
    --csa-sip-accent: #1d4ed8;
}

.csa-sip-detail-page .csa-sip-page-subtitle,
.csa-sip-detail-page .csa-sip-section-subtitle,
.csa-sip-detail-page .csa-sip-snapshot-subtitle {
    color: var(--csa-sip-muted);
    font-size: 0.86rem;
}

.csa-sip-detail-page .csa-sip-hero-card {
    background: linear-gradient(180deg, var(--csa-sip-hero-start), var(--csa-sip-hero-end));
    border: 1px solid var(--csa-sip-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-md);
    color: var(--csa-sip-hero-ink);
    overflow: hidden;
    padding: 1.25rem;
    position: relative;
}

.csa-sip-detail-page .csa-sip-hero__stack {
    display: grid;
    gap: 0.9rem;
}

.csa-sip-detail-page .csa-sip-hero__header-grid {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.5fr);
}

.csa-sip-detail-page .csa-sip-hero__meta-shell {
    border-left: 1px solid rgba(100, 116, 139, 0.24);
    min-width: 0;
    padding-left: 1rem;
}

.csa-sip-detail-page .csa-sip-hero__label,
.csa-sip-detail-page .csa-sip-meta-label,
.csa-sip-detail-page .csa-sip-hero__detail-term {
    color: var(--csa-sip-hero-muted);
}

.csa-sip-detail-page .csa-sip-hero__value {
    color: var(--csa-sip-hero-ink);
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.2;
}

.csa-sip-detail-page .csa-sip-hero__meta {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.csa-sip-detail-page .csa-sip-hero__detail-panel {
    background: rgba(255, 255, 255, 0.52);
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: var(--csa-radius-md);
    padding: 0.85rem 1rem;
}

.csa-sip-detail-page .csa-sip-hero__detail-groups {
    display: grid;
    gap: 0;
    grid-template-columns: minmax(180px, 0.9fr) minmax(220px, 1fr) minmax(320px, 1.5fr);
}

.csa-sip-detail-page .csa-sip-hero__detail-group {
    border-left: 1px solid rgba(100, 116, 139, 0.24);
    min-width: 0;
    padding: 0 1rem;
}

.csa-sip-detail-page .csa-sip-hero__detail-group:first-child {
    border-left: 0;
    padding-left: 0;
}

.csa-sip-detail-page .csa-sip-hero__detail-group-title {
    color: var(--csa-sip-hero-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 0.55rem;
    text-transform: uppercase;
}

.csa-sip-detail-page .csa-sip-hero__detail-list {
    display: grid;
    gap: 0.55rem;
    margin: 0;
}

.csa-sip-detail-page .csa-sip-hero__detail-group:nth-child(3) .csa-sip-hero__detail-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csa-sip-detail-page .csa-sip-hero__detail-term,
.csa-sip-detail-page .csa-sip-hero__detail-desc {
    margin: 0;
}

.csa-sip-detail-page .csa-sip-hero__detail-term {
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.csa-sip-detail-page .csa-sip-hero__detail-desc,
.csa-sip-detail-page .csa-sip-meta-value {
    color: var(--csa-sip-hero-ink);
    font-weight: 650;
    overflow-wrap: anywhere;
}

.csa-sip-detail-page .csa-sip-section-header,
.csa-sip-detail-page .csa-sip-snapshot-header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.csa-sip-detail-page .csa-sip-section-title,
.csa-sip-detail-page .csa-sip-snapshot-title,
.csa-sip-detail-page .csa-sip-status-title,
.csa-sip-detail-page .csa-sip-tab-card-title {
    color: var(--csa-sip-text);
    font-size: 1rem;
    font-weight: 800;
}

.csa-sip-detail-page .csa-sip-tab-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.csa-sip-detail-page .csa-sip-tab-item {
    border-bottom: 1px dashed var(--csa-sip-border);
    padding-bottom: 0.75rem;
}

.csa-sip-detail-page .csa-sip-tab-item__value,
.csa-sip-detail-page .csa-sip-status-value,
.csa-sip-detail-page .csa-sip-workflow-approver__name {
    color: var(--csa-sip-text);
    font-weight: 700;
}

.csa-sip-detail-page .csa-sip-table-modern thead th {
    background: var(--csa-sip-surface-soft);
    border-bottom: 1px solid var(--csa-sip-border);
    color: var(--csa-sip-muted);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.csa-sip-detail-page .csa-sip-table-modern tbody td {
    color: var(--csa-sip-text);
    vertical-align: middle;
    white-space: nowrap;
}

.csa-sip-detail-page .csa-sip-table-modern .csa-sip-text-wrap-cell {
    min-width: 220px;
    white-space: normal;
}

.csa-sip-detail-page .csa-sip-status-card {
    height: 100%;
}

.csa-sip-detail-page .csa-sip-status-badge {
    margin: 0.7rem 0 1rem;
}

.csa-sip-detail-page .csa-sip-status-list {
    display: grid;
    gap: 0.65rem;
}

.csa-sip-detail-page .csa-sip-status-row {
    align-items: center;
    border-top: 1px dashed var(--csa-sip-border);
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding-top: 0.55rem;
}

.csa-sip-detail-page .csa-sip-status-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.csa-sip-detail-page .csa-sip-workflow-row-current td {
    background: rgba(63, 167, 214, 0.08);
}

.csa-sip-detail-page .csa-sip-workflow-approver__meta,
.csa-sip-detail-page .csa-sip-activity-form-note,
.csa-sip-detail-page .csa-sip-file-preview-hint,
.csa-sip-detail-page .csa-sip-drwf-preview__copy,
.csa-sip-detail-page .csa-sip-drwf-preview__meta,
.csa-sip-detail-page .csa-sip-drwf-preview__empty,
.csa-sip-detail-page .csa-sip-deviation-impact__copy {
    color: var(--csa-sip-muted);
    font-size: 0.78rem;
}

.csa-sip-detail-page .csa-sip-drwf-preview,
.csa-sip-detail-page .csa-sip-deviation-impact-card {
    background: var(--csa-sip-surface-soft);
    border: 1px solid var(--csa-sip-border);
    border-radius: var(--csa-radius-md);
    margin-top: 0.75rem;
    padding: 0.85rem;
}

.csa-sip-detail-page .csa-sip-drwf-preview__head,
.csa-sip-detail-page .csa-sip-drwf-preview__top,
.csa-sip-detail-page .csa-sip-deviation-impact__header {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
}

.csa-sip-detail-page .csa-sip-drwf-preview__title,
.csa-sip-detail-page .csa-sip-deviation-impact__title {
    color: var(--csa-sip-text);
    font-weight: 800;
}

.csa-sip-detail-page .csa-sip-drwf-preview__item {
    align-items: start;
    border-top: 1px dashed var(--csa-sip-border);
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 30px minmax(0, 1fr);
    padding-top: 0.55rem;
}

.csa-sip-detail-page .csa-sip-drwf-preview__item:first-child {
    border-top: 0;
    padding-top: 0;
}

.csa-sip-detail-page .csa-sip-drwf-preview__mark {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 800;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.csa-sip-detail-page .csa-sip-drwf-preview__type,
.csa-sip-detail-page .csa-sip-drwf-preview__source,
.csa-sip-detail-page .csa-sip-drwf-preview__code,
.csa-sip-detail-page .csa-sip-drwf-preview__count,
.csa-sip-detail-page .csa-sip-soft-badge {
    background: var(--csa-sip-surface);
    border: 1px solid var(--csa-sip-border);
    border-radius: 999px;
    color: var(--csa-sip-text);
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 0.18rem 0.45rem;
}

.csa-sip-detail-page .csa-sip-deviation-impact__meta,
.csa-sip-detail-page .csa-sip-deviation-impact__metrics,
.csa-sip-detail-page .csa-sip-activity-form-grid {
    display: grid;
    gap: 0.65rem;
}

.csa-sip-detail-page .csa-sip-deviation-impact__meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.csa-sip-detail-page .csa-sip-deviation-impact__metrics {
    grid-template-columns: repeat(5, minmax(120px, 1fr));
}

.csa-sip-detail-page .csa-sip-deviation-impact__metric {
    background: var(--csa-sip-surface);
    border: 1px solid var(--csa-sip-border);
    border-radius: var(--csa-radius-sm);
    min-height: 64px;
    padding: 0.65rem;
}

.csa-sip-detail-page .csa-sip-deviation-impact__metric.is-strong {
    background: rgba(100, 116, 139, 0.08);
}

.csa-sip-detail-page .csa-sip-deviation-impact__metric-label {
    color: var(--csa-sip-muted);
    display: block;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.csa-sip-detail-page .csa-sip-deviation-impact__metric-value {
    color: var(--csa-sip-text);
    font-size: 0.88rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.csa-sip-detail-page .csa-sip-deviation-impact__metric-value.is-positive {
    color: #0f7d61;
}

.csa-sip-detail-page .csa-sip-deviation-impact__metric-value.is-negative {
    color: #b42335;
}

.csa-sip-detail-page .csa-sip-activity-form-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.csa-sip-detail-page .csa-sip-activity-form-grid .csa-sip-grid-span-2 {
    grid-column: span 2;
}

.csa-sip-detail-page .csa-sip-activity-form-grid .csa-sip-grid-span-3 {
    grid-column: span 3;
}

.csa-sip-detail-page .csa-sip-activity-form-grid .csa-sip-grid-span-4 {
    grid-column: span 4;
}

.csa-sip-detail-page .csa-sip-activity-form-grid .csa-sip-grid-span-12 {
    grid-column: span 12;
}

.csa-sip-detail-page .csa-sip-file-link {
    color: var(--csa-sip-accent);
    display: inline-block;
    max-width: 15rem;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
    vertical-align: bottom;
    white-space: nowrap;
}

.csa-sip-detail-page .csa-sip-file-link:hover {
    text-decoration: underline;
}

.csa-sip-file-modal .modal-dialog {
    max-width: min(1280px, calc(100vw - 1.5rem));
}

.csa-sip-file-modal .csa-modal-form {
    height: min(88vh, 900px);
}

.csa-sip-file-modal .csa-modal-form__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.csa-sip-file-modal .csa-sip-file-preview-shell {
    display: flex;
    flex-direction: column;
    min-height: min(72vh, 720px);
    padding: 0.75rem;
}

.csa-sip-file-modal .csa-sip-file-preview-shell--compact {
    min-height: 220px;
}

.csa-sip-detail-page .csa-sip-file-preview-frame {
    background: var(--csa-surface);
    border: 1px solid var(--csa-sip-border);
    border-radius: var(--csa-radius-sm);
    display: block;
    flex: 1 1 auto;
    height: calc(100vh - 230px);
    max-height: 74vh;
    min-height: 420px;
    width: 100%;
}

.csa-sip-file-modal .csa-sip-file-preview-fallback {
    align-items: center;
    background: var(--csa-sip-surface-soft);
    border: 1px dashed var(--csa-sip-border-strong);
    border-radius: var(--csa-radius-md);
    color: var(--csa-sip-muted);
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
    min-height: 420px;
    padding: 2rem;
    text-align: center;
}

.csa-sip-file-modal .csa-sip-file-preview-shell--compact .csa-sip-file-preview-fallback {
    min-height: 180px;
}

.csa-sip-file-modal .csa-sip-file-preview-fallback.d-none {
    display: none !important;
}

.csa-sip-file-modal .csa-sip-file-preview-fallback__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-md);
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 2rem;
    height: 4rem;
    justify-content: center;
    margin-bottom: 1rem;
    width: 4rem;
}

.csa-sip-file-modal .csa-sip-file-preview-fallback__title {
    color: var(--csa-sip-text);
    font-weight: 800;
    margin-bottom: 0.35rem;
}

.csa-sip-file-modal .csa-sip-file-preview-fallback__copy {
    margin: 0;
    max-width: 30rem;
}

.csa-sip-detail-page .csa-sip-soft-alert {
    background: var(--csa-sip-surface-soft);
    border-color: var(--csa-sip-border) !important;
    color: var(--csa-sip-text);
}

html.theme-dark .csa-sip-page .csa-sip-helper-box {
    color: #86efac;
}

html.theme-dark .csa-sip-detail-page {
    --csa-sip-hero-start: #1f2937;
    --csa-sip-hero-end: #111827;
    --csa-sip-hero-ink: #f8fafc;
    --csa-sip-hero-muted: rgba(226, 232, 240, 0.76);
}

html.theme-dark .csa-sip-detail-page .csa-sip-hero__detail-panel {
    background: rgba(15, 23, 42, 0.44);
}

@media (max-width: 991.98px) {
    .csa-sip-page .csa-sip-sticky {
        position: static !important;
        top: auto;
    }

    .csa-sip-page .csa-sip-form-card__header {
        flex-direction: column;
    }

    .csa-sip-page .csa-sip-form-card__actions,
    .csa-sip-page .csa-sip-form-card__actions .btn {
        width: 100%;
    }

    .csa-sip-detail-page .csa-sip-hero__header-grid,
    .csa-sip-detail-page .csa-sip-hero__detail-groups {
        grid-template-columns: 1fr;
    }

    .csa-sip-detail-page .csa-sip-hero__meta-shell,
    .csa-sip-detail-page .csa-sip-hero__detail-group,
    .csa-sip-detail-page .csa-sip-hero__detail-group:first-child {
        border-left: 0;
        padding-left: 0;
    }

    .csa-sip-detail-page .csa-sip-hero__meta-shell,
    .csa-sip-detail-page .csa-sip-hero__detail-group + .csa-sip-hero__detail-group {
        border-top: 1px solid rgba(100, 116, 139, 0.24);
        padding-top: 0.75rem;
    }

    .csa-sip-detail-page .csa-sip-hero__meta,
    .csa-sip-detail-page .csa-sip-hero__detail-group:nth-child(3) .csa-sip-hero__detail-list {
        grid-template-columns: 1fr;
    }

    .csa-sip-detail-page .csa-sip-deviation-impact__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csa-sip-detail-page .csa-sip-activity-form-grid .csa-sip-grid-span-2,
    .csa-sip-detail-page .csa-sip-activity-form-grid .csa-sip-grid-span-3,
    .csa-sip-detail-page .csa-sip-activity-form-grid .csa-sip-grid-span-4 {
        grid-column: span 12;
    }
}

@media (max-width: 575.98px) {
    .csa-sip-detail-page .csa-sip-deviation-impact__metrics {
        grid-template-columns: 1fr;
    }

    .csa-sip-file-modal .csa-sip-file-preview-shell,
    .csa-sip-file-modal .csa-sip-file-preview-frame,
    .csa-sip-file-modal .csa-sip-file-preview-fallback {
        min-height: 55vh;
    }

    .csa-sip-file-modal .csa-sip-file-preview-frame {
        height: 55vh;
    }

    .csa-sip-from-rab-page .csa-sip-page-footer {
        align-items: stretch;
        flex-direction: column;
    }
}

html.theme-dark .csa-menu-node-icon {
    border-color: rgba(88, 166, 255, 0.2);
}

html.theme-dark .csa-menu-group--main {
    --csa-menu-group-color: #93c5fd;
}

html.theme-dark .csa-menu-group--dashboard {
    --csa-menu-group-color: #7dd3fc;
}

html.theme-dark .csa-menu-group--hr,
html.theme-dark .csa-menu-picker__selection--success {
    --csa-menu-group-color: #86efac;
    color: #86efac;
}

html.theme-dark .csa-menu-group--configuration {
    --csa-menu-group-color: #facc15;
}

html.theme-dark .csa-menu-group--internal {
    --csa-menu-group-color: #cbd5e1;
}

html.theme-dark .csa-menu-group--business {
    --csa-menu-group-color: #c4b5fd;
}

html.theme-dark .csa-menu-group--prime {
    --csa-menu-group-bg: rgba(203, 213, 225, 0.12);
    --csa-menu-group-border: rgba(203, 213, 225, 0.24);
    --csa-menu-group-color: #e5e7eb;
}

html.theme-dark .csa-menu-picker,
html.theme-dark .csa-menu-picker__list {
    background: var(--csa-surface);
}

html.theme-dark .csa-menu-select--locked {
    background-color: var(--csa-surface-muted) !important;
    color: var(--csa-text-muted);
}

html.theme-dark .csa-field .form-control,
html.theme-dark .csa-field .form-select {
    background-color: var(--csa-surface-soft);
    color: var(--csa-text);
}

html.theme-dark .csa-dashboard-carousel,
html.theme-dark .csa-dashboard-banner-media {
    background: var(--csa-surface);
    border-color: var(--csa-border);
}

.csa-rmb-tabs {
    min-width: min(100%, 21rem);
}

.csa-rmb-tabs.nav-pills {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: 999px;
    box-shadow: var(--csa-shadow-sm);
    display: inline-flex;
    gap: 0.25rem;
    padding: 0.25rem;
}

.csa-rmb-filter-panel {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 1rem;
}

.csa-rmb-summary-panel {
    background: var(--csa-primary);
    border-radius: var(--csa-radius-md);
    color: #ffffff;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem;
}

.csa-rmb-summary-panel__label {
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-rmb-summary-panel__value {
    color: #ffffff;
    font-size: clamp(1.25rem, 2.2vw, 1.75rem);
    font-weight: 800;
    line-height: 1.2;
    margin: 0.15rem 0 0;
}

.csa-rmb-info-panel {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 1rem;
}

.csa-rmb-input {
    border-color: var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    min-height: 2.45rem;
}

.csa-rmb-input:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-rmb-textarea {
    resize: none;
}

.csa-rmb-entry-row {
    background: var(--csa-surface-soft);
    border-bottom: 2px solid rgba(63, 167, 214, 0.32);
}

.csa-rmb-budget-chip {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: 999px;
    color: var(--csa-text);
    display: inline-flex;
    flex-wrap: wrap;
    font-size: 0.82rem;
    font-weight: 750;
    gap: 0.35rem;
    padding: 0.45rem 0.75rem;
}

.csa-rmb-total-row {
    background: var(--csa-surface-soft);
}

.csa-rmb-total-row td {
    border-top: 1px dashed var(--csa-border-strong) !important;
}

.csa-rmb-amount-card {
    background: linear-gradient(90deg, var(--csa-surface-soft), var(--csa-surface));
    border: 1px solid var(--csa-border);
    border-left: 4px solid var(--csa-success);
    border-radius: var(--csa-radius-md);
    padding: 1rem;
}

.csa-rmb-detail-overview {
    align-items: stretch;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}

.csa-rmb-detail-main {
    display: grid;
    gap: 0.9rem;
    min-width: 0;
}

.csa-rmb-doc-head {
    align-items: flex-start;
    display: flex;
    gap: 0.85rem;
    min-width: 0;
}

.csa-rmb-doc-icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border: 1px solid rgba(63, 167, 214, 0.22);
    border-radius: var(--csa-radius-md);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.35rem;
    height: 3rem;
    justify-content: center;
    width: 3rem;
}

.csa-rmb-doc-title {
    color: var(--csa-text);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3;
    margin: 0.25rem 0 0;
}

.csa-rmb-doc-subtitle {
    color: var(--csa-text-muted);
    font-size: 0.84rem;
    font-weight: 650;
    margin-top: 0.2rem;
}

.csa-rmb-detail-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csa-rmb-detail-item {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    min-width: 0;
    padding: 0.85rem;
}

.csa-rmb-detail-item--wide {
    grid-column: 1 / -1;
}

.csa-rmb-detail-label {
    color: var(--csa-text-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.csa-rmb-detail-value {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 750;
    line-height: 1.45;
    min-width: 0;
    overflow-wrap: anywhere;
}

.csa-rmb-detail-desc {
    font-size: 0.92rem;
    font-weight: 650;
}

.csa-rmb-amount-card--detail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.csa-rmb-amount-card--detail .csa-stat-card__value {
    font-size: clamp(1.45rem, 2.8vw, 2rem);
}

.csa-rmb-document-frame {
    background: var(--csa-surface-soft);
    border: 0;
    min-height: 75vh;
    width: 100%;
}

.csa-rmb-file-tag {
    font-size: 0.7rem;
}

.csa-rmb-truncate-lg {
    max-width: min(100%, 46rem);
}

.csa-rmb-compose .select2-container--bootstrap-5 {
    width: 100% !important;
}

.csa-rmb-compose .select2-container--bootstrap-5 .select2-selection {
    align-items: center !important;
    background-color: var(--csa-surface) !important;
    border: 1px solid var(--csa-border-strong) !important;
    border-radius: var(--csa-radius-sm) !important;
    box-shadow: var(--csa-shadow-sm);
    display: flex !important;
    min-height: 2.45rem !important;
    padding-left: 0.75rem !important;
    padding-right: 0.5rem !important;
}

.csa-rmb-compose .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: var(--csa-text) !important;
    flex-grow: 1;
    font-size: 0.9rem !important;
    font-weight: 650 !important;
    line-height: normal !important;
    margin: 0 !important;
    padding: 0 !important;
}

.csa-rmb-compose .select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder {
    color: var(--csa-text-muted) !important;
    font-weight: 400 !important;
    line-height: normal !important;
}

.csa-rmb-compose .select2-container--bootstrap-5 .select2-selection__clear {
    color: var(--csa-danger) !important;
    cursor: pointer;
    float: none !important;
    font-size: 1.15rem !important;
    line-height: 1 !important;
    margin-right: 0.5rem !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 10;
}

.csa-rmb-compose .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
    margin-top: 0 !important;
    position: static !important;
}

.csa-rmb-compose .select2-container--bootstrap-5.select2-container--open .select2-selection,
.csa-rmb-compose .select2-container--bootstrap-5 .select2-selection--single:focus {
    border-color: var(--csa-info) !important;
    box-shadow: var(--csa-focus-ring) !important;
}

.csa-rmb-compose .select2-container--bootstrap-5 .select2-dropdown {
    border-color: var(--csa-info) !important;
    border-radius: var(--csa-radius-sm) !important;
    overflow: hidden;
    z-index: 9999;
}

.csa-rmb-compose .select2-container--bootstrap-5 .select2-results__options {
    max-height: 250px !important;
    overflow-y: auto !important;
}

html.theme-dark .csa-rmb-summary-panel {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
}

html.theme-dark .csa-rmb-entry-row,
html.theme-dark .csa-rmb-total-row,
html.theme-dark .csa-rmb-info-panel,
html.theme-dark .csa-rmb-detail-item,
html.theme-dark .csa-rmb-amount-card {
    background: var(--csa-surface-soft);
}

@keyframes csa-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes csa-skeleton {
    0% {
        background-position: 220% 0;
    }

    100% {
        background-position: -220% 0;
    }
}

@media (max-width: 991.98px) {
    .csa-invoice-page .invoice-sticky-summary,
    .csa-invoice-page .invoice-sticky-panel {
        position: static;
    }

    .csa-invoice-page .invoice-metric-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csa-invoice-page .invoice-metric-item:nth-child(2n) {
        border-right: 0;
    }

    .csa-invoice-page .invoice-metric-item:nth-child(4n) {
        border-right: 0;
    }

    .csa-dashboard-hero,
    .csa-dashboard-banner-slide,
    .csa-dashboard-password-layout {
        grid-template-columns: 1fr;
    }

    .csa-dashboard-banner-img {
        min-height: 10rem;
    }

    .csa-catalog-layout {
        grid-template-columns: 1fr;
    }

    .csa-catalog-sidebar {
        position: static;
    }

    .csa-catalog-nav {
        max-height: none;
    }

    .csa-catalog-nav__list {
        display: flex;
        flex-wrap: nowrap;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 0.65rem;
    }

    .csa-catalog-nav__link {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .csa-catalog-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .csa-catalog-summary__item + .csa-catalog-summary__item {
        border-left: 1px solid var(--csa-border);
        border-top: 0;
    }

    .csa-grid--3,
    .csa-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csa-section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .csa-control-panel__row {
        grid-template-columns: auto minmax(6.5rem, auto) minmax(260px, 1fr);
    }

    .csa-control-panel__row .btn[type="submit"] {
        grid-column: 1 / -1;
        justify-self: end;
    }
}

@media (max-width: 767.98px) {
    .csa-invoice-page .invoice-filter-grid,
    .csa-invoice-page .invoice-source-grid,
    .csa-invoice-page .invoice-metric-strip,
    .csa-invoice-page .invoice-meta-matrix,
    .csa-invoice-page .invoice-summary-grid,
    .csa-invoice-page .invoice-summary-stat-grid,
    .csa-invoice-page .invoice-info-grid {
        grid-template-columns: 1fr;
    }

    .csa-invoice-page .invoice-detail-headerline {
        flex-direction: column;
        padding: 1rem;
    }

    .csa-invoice-page .invoice-metric-item,
    .csa-invoice-page .invoice-meta-row {
        border-right: 0;
    }

    .csa-invoice-page .invoice-meta-row {
        grid-template-columns: 1fr;
        gap: 0.3rem;
        padding: 0.85rem 1rem;
    }

    .csa-invoice-page .invoice-metric-strip + .invoice-meta-matrix .invoice-meta-row:nth-child(2) {
        border-top: 1px solid var(--csa-border);
    }

    .csa-invoice-page .invoice-filter-action-group {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .csa-invoice-page .invoice-related-chip {
        min-width: 100%;
    }

    .csa-dashboard-hero {
        padding: 1rem;
    }

    .csa-dashboard-hero__panel {
        padding: 0.85rem;
    }

    .csa-dashboard-carousel .carousel-control-prev,
    .csa-dashboard-carousel .carousel-control-next {
        height: 2.25rem;
        width: 2.25rem;
    }

    .csa-catalog-summary {
        grid-template-columns: 1fr;
    }

    .csa-catalog-summary__item + .csa-catalog-summary__item {
        border-left: 0;
        border-top: 1px solid var(--csa-border);
    }

    .csa-page-header {
        padding: 1rem;
    }

    .csa-page-title {
        font-size: 1.25rem;
    }

    .csa-grid--2,
    .csa-grid--3,
    .csa-grid--4 {
        grid-template-columns: 1fr;
    }

    .csa-stat-grid,
    .csa-filter-grid {
        grid-template-columns: 1fr;
    }

    .csa-stat-grid--compact-row {
        display: grid;
        justify-content: stretch;
    }

    .csa-stat-grid--compact-row > * {
        min-width: 0;
    }

    .csa-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .csa-toolbar__main,
    .csa-toolbar__actions {
        width: 100%;
    }

    .csa-toolbar__actions .btn {
        flex: 1 1 auto;
    }

    .csa-control-panel__row {
        grid-template-columns: 1fr;
    }

    .csa-control-panel__row .btn,
    .csa-control-panel__row .form-select,
    .csa-control-panel__row .input-group {
        width: 100%;
    }

    .csa-control-panel__row .btn[type="submit"] {
        justify-self: stretch;
    }

    .csa-card__footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .csa-card__footer .btn {
        width: 100%;
    }

    .csa-card__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .csa-card__header > .csa-action-group {
        justify-content: flex-start !important;
        width: 100%;
    }

    .csa-card__header > .csa-action-group .btn {
        flex: 1 1 auto;
    }

    .csa-modal-form__header {
        padding: 0.9rem;
    }

    .csa-modal-form__heading {
        gap: 0.65rem;
    }

    .csa-modal-form__icon {
        height: 2.35rem;
        width: 2.35rem;
    }

    .csa-modal-form__body,
    .csa-modal-form__section {
        padding: 0.9rem;
    }

    .csa-modal-form__footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .csa-modal-form__footer .btn {
        width: 100%;
    }

    .csa-confirm-modal__footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .csa-confirm-modal__footer .btn {
        width: 100%;
    }

    .csa-info-row {
        grid-template-columns: 1fr;
    }

    .csa-upload-zone,
    .csa-profile-card,
    .csa-print-header,
    .csa-announcement-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .csa-vendor-stepper {
        flex-direction: column;
    }

    .csa-vendor-stepper li {
        border-bottom: 1px solid var(--csa-border);
        border-right: 0;
        justify-content: flex-start;
        text-align: left;
    }

    .csa-vendor-stepper li:last-child {
        border-bottom: 0;
    }

    .csa-vendor-detail-grid,
    .csa-vendor-detail-grid--compact {
        grid-template-columns: 1fr;
    }

    .csa-vendor-page .dataTables_wrapper .dataTables_paginate,
    .csa-vendor-page .dt-container .dt-paging,
    .csa-vendor-page .csa-vendor-pagination .dt-paging {
        justify-content: center;
        margin-top: 0.35rem;
    }

    .csa-vendor-page .dataTables_wrapper .dataTables_paginate .paginate_button,
    .csa-vendor-page .dataTables_wrapper .dataTables_paginate .page-link,
    .csa-vendor-page .csa-vendor-pagination .dt-paging .dt-paging-button,
    .csa-vendor-page .dt-container .dt-paging .dt-paging-button {
        height: 2.15rem;
        min-width: 2.15rem;
        padding: 0.45rem 0.7rem !important;
    }

    .csa-detail-matrix__row {
        grid-template-columns: 1fr;
    }

    .csa-menu-tree__row {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
    }

    .csa-menu-tree__users {
        min-width: 0;
        text-align: left;
    }

    .csa-access-role-select {
        min-width: min(100%, 10.5rem);
    }

    .csa-access-layout {
        grid-template-columns: 1fr;
    }

    .csa-access-table-shell {
        max-height: none;
    }

    .csa-icon-picker__menu {
        min-width: min(20rem, calc(100vw - 2rem));
    }

    .csa-pagination-shell,
    .csa-bulk-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .csa-pagination-shell .pagination {
        flex-wrap: wrap;
    }

    .csa-rmb-summary-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .csa-rmb-detail-overview {
        grid-template-columns: 1fr;
    }

    .csa-rmb-detail-grid {
        grid-template-columns: 1fr;
    }

    .csa-rmb-detail-item--wide {
        grid-column: auto;
    }

    .csa-rmb-summary-panel .btn,
    .csa-rmb-summary-panel .csa-action-group .btn {
        width: 100%;
    }
}


/* Cash advance migration patterns */

/* Cash advance form surfaces */
    .csa-advance-form-page {
        --csa-advance-primary: #0a2c51;
        --csa-advance-text: #111827;
        --csa-advance-muted: #64748b;
        --csa-advance-border: #dbe3ef;
        --csa-advance-soft: #f8fafc;
        --csa-advance-soft-blue: #eff6ff;
        --csa-advance-soft-green: #ecfdf5;
        --csa-advance-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    }

    .csa-advance-form-page .csa-advance-shell {
        margin: 0 auto;
        max-width: 1320px;
    }

    .csa-advance-form-page .csa-advance-hero,
    .csa-advance-form-page .csa-advance-section {
        background: #ffffff;
        border: 1px solid var(--csa-advance-border);
        border-radius: 0.5rem;
        box-shadow: var(--csa-advance-shadow);
    }

    .csa-advance-form-page .csa-advance-hero {
        overflow: hidden;
    }

    .csa-advance-form-page .csa-advance-hero-main {
        background:
            linear-gradient(135deg, rgba(10, 44, 81, 0.08), rgba(13, 110, 253, 0.05)),
            #ffffff;
        padding: 1.25rem;
    }

    .csa-advance-form-page .csa-advance-hero-title {
        color: var(--csa-advance-text);
        font-size: clamp(1.35rem, 2vw, 1.95rem);
        font-weight: 800;
        line-height: 1.15;
        margin: 0;
    }

    .csa-advance-form-page .csa-advance-overline,
    .csa-advance-form-page .csa-advance-label,
    .csa-advance-form-page .csa-advance-kv-label {
        color: var(--csa-advance-muted);
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    .csa-advance-form-page .csa-advance-chip {
        align-items: center;
        background: rgba(255, 255, 255, 0.9);
        border: 1px solid rgba(203, 213, 225, 0.95);
        border-radius: 999px;
        color: #475569;
        display: inline-flex;
        font-size: 0.88rem;
        font-weight: 600;
        gap: 0.45rem;
        min-height: 2.15rem;
        padding: 0.38rem 0.8rem;
    }

    .csa-advance-form-page .csa-advance-hero-metrics {
        border-top: 1px solid rgba(219, 227, 239, 0.9);
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .csa-advance-form-page .csa-advance-metric {
        border-right: 1px solid rgba(219, 227, 239, 0.9);
        min-width: 0;
        padding: 1rem 1.25rem;
    }

    .csa-advance-form-page .csa-advance-metric:last-child {
        border-right: 0;
    }

    .csa-advance-form-page .csa-advance-metric-value {
        color: var(--csa-advance-text);
        font-size: 1.15rem;
        font-weight: 800;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .csa-advance-form-page .csa-advance-section {
        margin-top: 1rem;
    }

    .csa-advance-form-page .csa-advance-section-header {
        align-items: center;
        border-bottom: 1px solid rgba(219, 227, 239, 0.9);
        display: flex;
        gap: 0.85rem;
        justify-content: space-between;
        padding: 1rem 1.25rem;
    }

    .csa-advance-form-page .csa-advance-section-title-wrap {
        align-items: center;
        display: flex;
        gap: 0.8rem;
        min-width: 0;
    }

    .csa-advance-form-page .csa-advance-section-icon {
        align-items: center;
        background: var(--csa-advance-soft-blue);
        border: 1px solid #dbeafe;
        border-radius: 0.5rem;
        color: #2563eb;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 1.05rem;
        height: 2.65rem;
        justify-content: center;
        width: 2.65rem;
    }

    .csa-advance-form-page .csa-advance-section-title {
        color: var(--csa-advance-text);
        font-size: 1.05rem;
        font-weight: 800;
        margin: 0;
    }

    .csa-advance-form-page .csa-advance-section-body {
        padding: 1.25rem;
    }

    .csa-advance-form-page .csa-advance-side-panel {
        background: var(--csa-advance-soft);
        border: 1px solid rgba(219, 227, 239, 0.95);
        border-radius: 0.5rem;
        height: 100%;
        padding: 1rem;
    }

    .csa-advance-form-page .csa-advance-kv-list {
        display: grid;
        gap: 0.85rem;
    }

    .csa-advance-form-page .csa-advance-kv-item {
        border-bottom: 1px dashed rgba(203, 213, 225, 0.95);
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        padding-bottom: 0.85rem;
    }

    .csa-advance-form-page .csa-advance-kv-item:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .csa-advance-form-page .csa-advance-kv-value {
        color: var(--csa-advance-text);
        font-weight: 700;
        max-width: 62%;
        overflow-wrap: anywhere;
        text-align: right;
    }

    .csa-advance-form-page .csa-advance-total-pill {
        background: var(--csa-advance-soft-green);
        border: 1px solid #bbf7d0;
        border-radius: 0.5rem;
        color: #166534;
        min-width: 210px;
        padding: 0.6rem 0.8rem;
        text-align: right;
    }

    .csa-advance-form-page .csa-advance-detail-fieldset {
        background: var(--csa-advance-soft);
        border: 1px solid rgba(219, 227, 239, 0.95);
        border-radius: 0.5rem;
        padding: 1rem;
    }

    .csa-advance-form-page .csa-advance-field-note {
        color: var(--csa-advance-muted);
        font-size: 0.82rem;
    }

    .csa-advance-form-page .csa-advance-workflow-grid {
        display: grid;
        gap: 0.75rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csa-advance-form-page .csa-advance-workflow-step {
        align-items: flex-start;
        background: #ffffff;
        border: 1px solid var(--csa-advance-border);
        border-radius: 0.5rem;
        display: flex;
        gap: 0.75rem;
        min-width: 0;
        padding: 0.85rem;
    }

    .csa-advance-form-page .csa-advance-workflow-index {
        align-items: center;
        background: var(--csa-advance-soft-blue);
        border-radius: 999px;
        color: #2563eb;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 0.78rem;
        font-weight: 800;
        height: 1.75rem;
        justify-content: center;
        width: 1.75rem;
    }

    .csa-advance-form-page .csa-advance-submit-card,
    .csa-advance-form-page .csa-advance-workflow-panel {
        background: #ffffff;
        border: 1px solid var(--csa-advance-border);
        border-radius: 0.5rem;
        padding: 1rem;
    }

    .csa-advance-form-page .csa-advance-submit-card {
        height: 100%;
    }

    .csa-advance-form-page .csa-advance-submit-card-head {
        align-items: center;
        display: flex;
        gap: 0.75rem;
        margin-bottom: 0.9rem;
    }

    .csa-advance-form-page .csa-advance-submit-card-icon {
        align-items: center;
        background: var(--csa-advance-soft-blue);
        border: 1px solid #dbeafe;
        border-radius: 0.5rem;
        color: #2563eb;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 1rem;
        height: 2.35rem;
        justify-content: center;
        width: 2.35rem;
    }

    .csa-advance-form-page .csa-advance-submit-card-title {
        color: var(--csa-advance-text);
        font-weight: 800;
        margin: 0;
    }

    .csa-advance-form-page .csa-advance-submit-card-subtitle {
        color: var(--csa-advance-muted);
        font-size: 0.84rem;
        line-height: 1.4;
    }

    .csa-advance-form-page .csa-advance-submit-total-box {
        background: rgba(13, 110, 253, 0.08);
        border: 1px solid rgba(13, 110, 253, 0.18);
        border-radius: 0.5rem;
        padding: 1rem;
    }

    .csa-advance-form-page .csa-advance-submit-checklist {
        display: grid;
        gap: 0.7rem;
    }

    .csa-advance-form-page .csa-advance-submit-check {
        align-items: flex-start;
        display: flex;
        gap: 0.65rem;
    }

    .csa-advance-form-page .csa-advance-submit-check-icon {
        align-items: center;
        background: var(--csa-advance-soft-green);
        border: 1px solid #bbf7d0;
        border-radius: 999px;
        color: #15803d;
        display: inline-flex;
        flex: 0 0 auto;
        height: 1.65rem;
        justify-content: center;
        width: 1.65rem;
    }

    .csa-advance-form-page .csa-advance-submit-check-icon.warning {
        background: #fffbeb;
        border-color: #fde68a;
        color: #b45309;
    }

    .csa-advance-form-page .csa-advance-submit-panel {
        background: linear-gradient(180deg, #ffffff, var(--csa-advance-soft));
        border: 1px solid var(--csa-advance-border);
        border-radius: 0.5rem;
        height: 100%;
        padding: 1rem;
    }

    .csa-advance-form-page .csa-advance-submit-total {
        color: var(--csa-advance-primary);
        font-size: clamp(1.55rem, 2vw, 2rem);
        font-weight: 800;
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .csa-advance-form-page .csa-advance-sticky {
        position: sticky;
        top: 1rem;
    }

    .csa-advance-form-page .min-w-0 {
        min-width: 0;
    }

    .csa-advance-form-page #advancementForm .form-label {
        margin-bottom: 0.45rem;
    }

    .csa-advance-form-page #advancementForm .form-control,
    .csa-advance-form-page #advancementForm .form-select {
        border-color: #cbd5e1;
        border-radius: 0.5rem;
        min-height: 2.65rem;
    }

    .csa-advance-form-page #advancementForm textarea.form-control {
        min-height: auto;
    }

    .csa-advance-form-page #advancementForm .form-control:focus,
    .csa-advance-form-page #advancementForm .form-select:focus {
        border-color: #0d6efd;
        box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12);
    }

    .csa-advance-form-page #advancementForm .form-control[readonly],
    .csa-advance-form-page #advancementForm .form-control:disabled,
    .csa-advance-form-page #advancementForm .form-select:disabled {
        background-color: #f1f5f9;
        color: #475569;
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input {
        cursor: pointer;
        border-color: #cbd5e1;
        border-radius: 0.5rem;
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
        transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
        padding-right: 3rem;
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input:hover,
    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container:hover .select2-selection--single {
        border-color: #9ec5fe;
        box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.08);
        background: linear-gradient(180deg, #ffffff 0%, #eef5ff 100%);
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input:focus,
    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container--focus .select2-selection--single,
    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container--open .select2-selection--single {
        border-color: #0d6efd;
        box-shadow: 0 0 0 0.22rem rgba(13, 110, 253, 0.14);
        background: #ffffff;
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input:disabled,
    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container--disabled .select2-selection--single {
        cursor: not-allowed;
        background: #f8fafc;
        border-color: #dbe4f0;
        box-shadow: none;
        opacity: 0.82;
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container {
        width: 100% !important;
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container .select2-selection--single {
        min-height: calc(1.5em + 0.75rem + 2px);
        border: 1px solid #cbd5e1;
        border-radius: 0.5rem;
        display: flex;
        align-items: center;
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
        transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
        cursor: pointer;
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container .select2-selection__rendered {
        line-height: normal;
        padding-left: 0.9rem;
        padding-right: 3.25rem;
        color: #0f172a;
        font-weight: 500;
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container .select2-selection__placeholder {
        color: #64748b;
        font-weight: 400;
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input.is-invalid,
    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container .select2-selection--single.is-invalid {
        border-color: #dc3545;
        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.12);
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container .select2-selection__arrow {
        height: 100%;
        width: 2.85rem;
        right: 0;
        top: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-left: 1px solid #dbe4f0;
        background: linear-gradient(180deg, #f8fafc 0%, #eef5ff 100%);
        border-top-right-radius: 0.5rem;
        border-bottom-right-radius: 0.5rem;
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container .select2-selection__arrow b {
        border-color: #1d4ed8 transparent transparent transparent;
        border-style: solid;
        border-width: 6px 5px 0 5px;
        margin-left: 0;
        margin-top: 0;
        transition: transform 0.18s ease;
    }

    .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container--open .select2-selection__arrow b {
        transform: rotate(180deg);
    }

    .advancement-select-dropdown {
        border: 1px solid #cbd5e1;
        border-radius: 0.5rem;
        overflow: hidden;
        box-shadow: 0 18px 36px rgba(15, 23, 42, 0.14);
    }

    .advancement-select-dropdown .select2-search--dropdown {
        padding: 0.75rem;
        background: #f8fafc;
        border-bottom: 1px solid #e2e8f0;
    }

    .advancement-select-dropdown .select2-search__field {
        border: 1px solid #cbd5e1;
        border-radius: 0.5rem;
        padding: 0.55rem 0.75rem;
    }

    .advancement-select-dropdown .select2-search__field:focus {
        border-color: #0d6efd;
        box-shadow: 0 0 0 0.18rem rgba(13, 110, 253, 0.12);
        outline: none;
    }

    .advancement-requestor-dropdown .select2-results > .select2-results__options {
        max-height: min(18rem, 45vh);
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-color: #cbd5e1 #f1f5f9;
        scrollbar-width: thin;
    }

    .advancement-pr-dropdown .select2-results > .select2-results__options {
        max-height: min(16rem, 42vh);
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-color: #cbd5e1 #f1f5f9;
        scrollbar-width: thin;
    }

    .advancement-requestor-dropdown .select2-results > .select2-results__options::-webkit-scrollbar {
        width: 0.55rem;
    }

    .advancement-pr-dropdown .select2-results > .select2-results__options::-webkit-scrollbar {
        width: 0.55rem;
    }

    .advancement-requestor-dropdown .select2-results > .select2-results__options::-webkit-scrollbar-track {
        background: #f1f5f9;
    }

    .advancement-pr-dropdown .select2-results > .select2-results__options::-webkit-scrollbar-track {
        background: #f1f5f9;
    }

    .advancement-requestor-dropdown .select2-results > .select2-results__options::-webkit-scrollbar-thumb {
        background: #cbd5e1;
        border-radius: 999px;
    }

    .advancement-pr-dropdown .select2-results > .select2-results__options::-webkit-scrollbar-thumb {
        background: #cbd5e1;
        border-radius: 999px;
    }

    .advancement-select-dropdown .select2-results__option {
        padding: 0.7rem 0.9rem;
        transition: background-color 0.15s ease, color 0.15s ease;
    }

    .advancement-select-dropdown .select2-results__option--highlighted[aria-selected] {
        background: #eef5ff;
        color: #0d6efd;
    }

    .csa-advance-requestor-option {
        display: grid;
        gap: 0.18rem;
        min-width: 0;
    }

    .csa-advance-requestor-option__name {
        color: #0f172a;
        font-weight: 750;
        overflow-wrap: anywhere;
    }

    .csa-advance-requestor-option__meta {
        color: #64748b;
        font-size: 0.82rem;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .csa-advance-requestor-option__status {
        color: #b42318;
        font-size: 0.8rem;
        font-weight: 700;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .csa-advance-requestor-option--blocked {
        background: rgba(220, 53, 69, 0.08);
        border: 1px solid rgba(220, 53, 69, 0.18);
        border-radius: 0.45rem;
        margin: -0.2rem -0.25rem;
        padding: 0.45rem 0.55rem;
    }

    .csa-advance-requestor-option--blocked .csa-advance-requestor-option__name {
        color: #991b1b;
    }

    @media (max-width: 991.98px) {
        .csa-advance-form-page .csa-advance-hero-metrics {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .csa-advance-form-page .csa-advance-metric:nth-child(2) {
            border-right: 0;
        }

        .csa-advance-form-page .csa-advance-metric:nth-child(n + 3) {
            border-top: 1px solid rgba(219, 227, 239, 0.9);
        }

        .csa-advance-form-page .csa-advance-sticky {
            position: static;
            top: auto;
        }
    }

    @media (max-width: 575.98px) {
        .csa-advance-form-page .csa-advance-hero-main,
        .csa-advance-form-page .csa-advance-section-header,
        .csa-advance-form-page .csa-advance-section-body {
            padding: 1rem;
        }

        .csa-advance-form-page .csa-advance-hero-metrics,
        .csa-advance-form-page .csa-advance-workflow-grid {
            grid-template-columns: 1fr;
        }

        .csa-advance-form-page .csa-advance-metric {
            border-right: 0;
            border-top: 1px solid rgba(219, 227, 239, 0.9);
        }

        .csa-advance-form-page .csa-advance-metric:first-child {
            border-top: 0;
        }

        .csa-advance-form-page .csa-advance-section-header,
        .csa-advance-form-page .csa-advance-kv-item {
            align-items: flex-start;
            flex-direction: column;
        }

        .csa-advance-form-page .csa-advance-kv-value {
            max-width: 100%;
            text-align: left;
        }

        .csa-advance-form-page .csa-advance-total-pill {
            width: 100%;
        }
    }

    html.theme-dark .csa-advance-form-page {
        --csa-advance-text: #e5e7eb;
        --csa-advance-muted: #94a3b8;
        --csa-advance-border: #334155;
        --csa-advance-soft: #0f172a;
        --csa-advance-soft-blue: rgba(37, 99, 235, 0.18);
        --csa-advance-soft-green: rgba(22, 101, 52, 0.18);
        --csa-advance-shadow: 0 14px 34px rgba(2, 6, 23, 0.35);
    }

    html.theme-dark .csa-advance-form-page .csa-advance-hero,
    html.theme-dark .csa-advance-form-page .csa-advance-section,
    html.theme-dark .csa-advance-form-page .csa-advance-submit-card,
    html.theme-dark .csa-advance-form-page .csa-advance-workflow-panel,
    html.theme-dark .csa-advance-form-page .csa-advance-workflow-step {
        background: #111827;
        border-color: #334155;
    }

    html.theme-dark .csa-advance-form-page .csa-advance-hero-main,
    html.theme-dark .csa-advance-form-page .csa-advance-submit-panel {
        background:
            linear-gradient(135deg, rgba(37, 99, 235, 0.18), rgba(20, 184, 166, 0.08)),
            #111827;
    }

    html.theme-dark .csa-advance-form-page .csa-advance-chip,
    html.theme-dark .csa-advance-form-page .csa-advance-side-panel,
    html.theme-dark .csa-advance-form-page .csa-advance-detail-fieldset,
    html.theme-dark .csa-advance-form-page .csa-advance-section-icon,
    html.theme-dark .csa-advance-form-page .csa-advance-submit-card-icon,
    html.theme-dark .csa-advance-form-page .csa-advance-total-pill {
        background: #0f172a;
        border-color: #334155;
        color: #e5e7eb;
    }

    html.theme-dark .csa-advance-form-page .csa-advance-submit-total-box {
        background: rgba(37, 99, 235, 0.16);
        border-color: rgba(96, 165, 250, 0.25);
    }

    html.theme-dark .csa-advance-form-page .csa-advance-submit-check-icon {
        background: rgba(22, 101, 52, 0.2);
        border-color: rgba(34, 197, 94, 0.35);
        color: #86efac;
    }

    html.theme-dark .csa-advance-form-page .csa-advance-submit-check-icon.warning {
        background: rgba(180, 83, 9, 0.18);
        border-color: rgba(251, 191, 36, 0.32);
        color: #fcd34d;
    }

    html.theme-dark .csa-advance-form-page .csa-advance-submit-total,
    html.theme-dark .csa-advance-form-page .csa-advance-total-pill {
        color: #bfdbfe;
    }

    html.theme-dark .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container .select2-selection__rendered {
        color: #e5e7eb;
    }

    html.theme-dark .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container .select2-selection__placeholder {
        color: #94a3b8;
    }

    html.theme-dark .csa-advance-form-page #advancementForm .adv-dropdown-input.is-invalid,
    html.theme-dark .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container .select2-selection--single.is-invalid {
        border-color: #f87171;
        box-shadow: 0 0 0 0.2rem rgba(248, 113, 113, 0.16);
    }

    html.theme-dark .csa-advance-form-page #advancementForm .adv-dropdown-input + .select2-container .select2-selection__arrow {
        background: #0f172a;
        border-left-color: #334155;
    }

    html.theme-dark .csa-advance-requestor-option__name {
        color: #e5e7eb;
    }

    html.theme-dark .csa-advance-requestor-option__meta {
        color: #94a3b8;
    }

    html.theme-dark .csa-advance-requestor-option__status {
        color: #fca5a5;
    }

    html.theme-dark .csa-advance-requestor-option--blocked {
        background: rgba(248, 113, 113, 0.12);
        border-color: rgba(248, 113, 113, 0.28);
    }

    html.theme-dark .csa-advance-requestor-option--blocked .csa-advance-requestor-option__name {
        color: #fecaca;
    }

    html.theme-dark .advancement-requestor-dropdown .select2-results > .select2-results__options {
        scrollbar-color: #475569 #0f172a;
    }

    html.theme-dark .advancement-requestor-dropdown .select2-results > .select2-results__options::-webkit-scrollbar-track {
        background: #0f172a;
    }

    html.theme-dark .advancement-requestor-dropdown .select2-results > .select2-results__options::-webkit-scrollbar-thumb {
        background: #475569;
    }

/* Cash advance detail surfaces */
    .csa-advance-detail-page {
        --csa-advance-text: #1f2937;
        --csa-advance-muted: #64748b;
        --csa-advance-border: #dbe3ef;
        --csa-advance-soft: #f8fafc;
        --csa-advance-soft-blue: #eff6ff;
        --csa-advance-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
    }

    .csa-advance-detail-page .row > [class*="col"],
    .csa-advance-detail-page .d-grid {
        min-width: 0;
    }

    .csa-advance-detail-page .csa-advance-hero-card,
    .csa-advance-detail-page .csa-advance-panel,
    .csa-advance-detail-page .csa-advance-summary-card,
    .csa-advance-detail-page .csa-advance-doc-card,
    .csa-advance-detail-page .csa-advance-kv-card,
    .csa-advance-detail-page .csa-advance-workflow-card {
        border: 1px solid var(--csa-advance-border);
        box-shadow: var(--csa-advance-shadow);
    }

    .csa-advance-detail-page .csa-advance-hero-card {
        background:
            radial-gradient(circle at top right, rgba(59, 130, 246, 0.12), transparent 28%),
            linear-gradient(135deg, #ffffff 0%, #f8fbff 55%, #f8fafc 100%);
        overflow: hidden;
    }

    .csa-advance-detail-page .csa-advance-panel,
    .csa-advance-detail-page .csa-advance-summary-card,
    .csa-advance-detail-page .csa-advance-doc-card,
    .csa-advance-detail-page .csa-advance-kv-card,
    .csa-advance-detail-page .csa-advance-workflow-card {
        background: #fff;
        border-radius: 1rem;
        min-width: 0;
    }

    .csa-advance-detail-page .csa-advance-overline {
        color: var(--csa-advance-muted);
        font-size: 0.76rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .csa-advance-detail-page .csa-advance-inline-chip {
        align-items: center;
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(203, 213, 225, 0.95);
        border-radius: 999px;
        color: var(--csa-advance-muted);
        display: inline-flex;
        font-size: 0.86rem;
        font-weight: 500;
        padding: 0.45rem 0.85rem;
    }

    .csa-advance-detail-page .csa-advance-description {
        color: var(--csa-advance-text);
        line-height: 1.65;
        white-space: pre-line;
    }

    .csa-advance-detail-page .csa-advance-total-box {
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(203, 213, 225, 0.95);
        border-radius: 1rem;
        min-width: 280px;
        padding: 1.15rem 1.25rem;
    }

    .csa-advance-detail-page .csa-advance-total-number {
        color: var(--csa-advance-text);
        font-size: clamp(1.9rem, 3vw, 2.7rem);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.05;
    }

    .csa-advance-detail-page .csa-advance-summary-card,
    .csa-advance-detail-page .csa-advance-kv-card {
        height: 100%;
        padding: 1rem;
    }

    .csa-advance-detail-page .csa-advance-summary-icon {
        align-items: center;
        background: var(--csa-advance-soft-blue);
        border-radius: 0.95rem;
        color: #2563eb;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 1.1rem;
        height: 2.75rem;
        justify-content: center;
        width: 2.75rem;
    }

    .csa-advance-detail-page .csa-advance-summary-label,
    .csa-advance-detail-page .csa-advance-kv-label {
        color: var(--csa-advance-muted);
        font-size: 0.76rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    .csa-advance-detail-page .csa-advance-summary-value,
    .csa-advance-detail-page .csa-advance-kv-value {
        color: var(--csa-advance-text);
        font-weight: 700;
        overflow-wrap: anywhere;
    }

    .csa-advance-detail-page .csa-advance-summary-meta {
        color: var(--csa-advance-muted);
        font-size: 0.87rem;
        margin-top: 0.2rem;
    }

    .csa-advance-detail-page .csa-advance-kv-list {
        display: grid;
        gap: 0.8rem;
    }

    .csa-advance-detail-page .csa-advance-kv-item {
        border-bottom: 1px dashed rgba(203, 213, 225, 0.95);
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        padding-bottom: 0.8rem;
    }

    .csa-advance-detail-page .csa-advance-kv-item:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .csa-advance-detail-page .csa-advance-kv-value {
        max-width: 62%;
        text-align: right;
    }

    .csa-advance-detail-page .card-header.csa-advance-panel-header {
        background: transparent;
        border-bottom: 1px solid rgba(219, 227, 239, 0.85);
        padding: 1.2rem 1.25rem 0.9rem;
    }

    .csa-advance-detail-page .csa-advance-doc-card {
        background: var(--csa-advance-soft);
        max-width: 100%;
        padding: 1rem;
    }

    .csa-advance-detail-page .csa-advance-detail-scroll {
        max-height: 460px;
        overflow: auto;
    }

    .csa-advance-detail-page .csa-advance-detail-table {
        min-width: 1180px;
    }

    .csa-advance-detail-page .csa-advance-detail-table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
    }

    .csa-advance-detail-page .csa-advance-detail-table th,
    .csa-advance-detail-page .csa-advance-detail-table td {
        white-space: nowrap;
    }

    .csa-advance-detail-page .csa-advance-muted {
        color: var(--csa-advance-muted);
    }

    .csa-advance-detail-page .csa-advance-note {
        color: var(--csa-advance-muted);
        font-size: 0.9rem;
    }

    .csa-advance-detail-page .csa-advance-workflow-grid {
        align-items: stretch;
        display: grid;
        gap: 0.75rem;
        grid-template-columns: repeat(auto-fit, minmax(190px, 240px));
        justify-content: start;
    }

    .csa-advance-detail-page .csa-advance-workflow-card {
        border-radius: 0.85rem;
        min-width: 0;
        padding: 0.85rem;
    }

    .csa-advance-detail-page .csa-advance-workflow-top {
        align-items: flex-start;
        display: flex;
        gap: 0.7rem;
        justify-content: space-between;
    }

    .csa-advance-detail-page .csa-advance-workflow-main {
        min-width: 0;
    }

    .csa-advance-detail-page .csa-advance-workflow-title {
        color: var(--csa-advance-muted);
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.25;
        text-transform: uppercase;
    }

    .csa-advance-detail-page .csa-advance-workflow-user {
        color: var(--csa-advance-text);
        font-size: 0.95rem;
        font-weight: 700;
        line-height: 1.35;
        margin-top: 0.25rem;
        overflow-wrap: anywhere;
    }

    .csa-advance-detail-page .csa-advance-workflow-step {
        align-items: center;
        background: var(--csa-advance-soft-blue);
        border: 1px solid #bfdbfe;
        border-radius: 999px;
        color: #1d4ed8;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 0.72rem;
        font-weight: 700;
        line-height: 1;
        padding: 0.32rem 0.52rem;
        white-space: nowrap;
    }

    .csa-advance-detail-page .csa-advance-workflow-status {
        margin-top: 0.7rem;
    }

    .csa-advance-detail-page .csa-advance-workflow-remark {
        color: var(--csa-advance-muted);
        font-size: 0.82rem;
        line-height: 1.45;
        margin-top: 0.55rem;
        overflow-wrap: anywhere;
    }

    .csa-advance-detail-page .csa-advance-file-link {
        align-items: center;
        box-sizing: border-box;
        display: flex;
        gap: 0.4rem;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        text-align: left;
        white-space: normal;
        width: 100%;
    }

    .csa-advance-detail-page .csa-advance-file-name {
        display: block;
        flex: 1 1 auto;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .csa-advance-detail-page .csa-advance-section-tabs {
        gap: 0.5rem;
    }

    .csa-advance-detail-page .csa-advance-section-tabs .nav-link {
        background: var(--csa-advance-soft);
        border: 1px solid var(--csa-advance-border);
        border-radius: 999px;
        color: var(--csa-advance-muted);
        font-size: 0.875rem;
        font-weight: 600;
        padding: 0.4rem 0.9rem;
    }

    .csa-advance-detail-page .csa-advance-section-tabs .nav-link.active {
        background: #0d6efd;
        border-color: #0d6efd;
        box-shadow: 0 8px 20px rgba(13, 110, 253, 0.18);
        color: #fff;
    }

    .csa-advance-detail-page .csa-advance-sticky {
        position: sticky;
        top: 1.5rem;
    }

    @media (max-width: 991.98px) {
        .csa-advance-detail-page .csa-advance-total-box {
            min-width: 100%;
        }

        .csa-advance-detail-page .csa-advance-sticky {
            position: static;
            top: auto;
        }
    }

    @media (max-width: 575.98px) {
        .csa-advance-detail-page .csa-advance-workflow-grid {
            grid-template-columns: minmax(0, 1fr);
        }

        .csa-advance-detail-page .csa-advance-kv-item {
            flex-direction: column;
        }

        .csa-advance-detail-page .csa-advance-kv-value {
            max-width: 100%;
            text-align: left;
        }
    }

    @media print {
        @page {
            margin: 10mm;
            size: A4 landscape;
        }

        .csa-advance-detail-page .container-fluid,
        .csa-advance-detail-page .col-12,
        .csa-advance-detail-page .col-xl-11 {
            max-width: 100% !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
            width: 100% !important;
        }

        .csa-advance-detail-page .csa-advance-hero-card,
        .csa-advance-detail-page .csa-advance-panel,
        .csa-advance-detail-page .csa-advance-summary-card,
        .csa-advance-detail-page .csa-advance-doc-card,
        .csa-advance-detail-page .csa-advance-kv-card,
        .csa-advance-detail-page .csa-advance-workflow-card {
            background: #fff !important;
            box-shadow: none !important;
        }

        .csa-advance-detail-page .csa-advance-sticky {
            position: static;
            top: auto;
        }

        .csa-advance-detail-page .card-body {
            padding: 0.75rem !important;
        }

        .csa-advance-detail-page .table-responsive,
        .csa-advance-detail-page .csa-advance-detail-scroll {
            max-height: none !important;
            overflow: visible !important;
        }

        .csa-advance-detail-page .csa-advance-detail-table {
            font-size: 0.62rem;
            min-width: 0 !important;
            table-layout: fixed;
            width: 100% !important;
        }

        .csa-advance-detail-page .csa-advance-detail-table thead th {
            position: static;
        }

        .csa-advance-detail-page .csa-advance-detail-table th,
        .csa-advance-detail-page .csa-advance-detail-table td {
            overflow-wrap: anywhere;
            padding: 0.3rem 0.2rem !important;
            white-space: normal !important;
        }

        .csa-advance-detail-page .csa-advance-detail-table th.text-end,
        .csa-advance-detail-page .csa-advance-detail-table td.text-end {
            white-space: nowrap !important;
        }

        .csa-advance-detail-page .csa-advance-detail-table th:first-child,
        .csa-advance-detail-page .csa-advance-detail-table td:first-child {
            width: 4%;
        }

        .csa-advance-detail-page .csa-advance-detail-table th:nth-last-child(3),
        .csa-advance-detail-page .csa-advance-detail-table td:nth-last-child(3) {
            width: 13%;
        }

        .csa-advance-detail-page .csa-advance-detail-table th:nth-last-child(2),
        .csa-advance-detail-page .csa-advance-detail-table td:nth-last-child(2),
        .csa-advance-detail-page .csa-advance-detail-table th:last-child,
        .csa-advance-detail-page .csa-advance-detail-table td:last-child {
            width: 12%;
        }
    }

/* Cash advance settlement surfaces */
    .csa-advance-settlement-page {
        --csa-settlement-bg: #f5f7fb;
        --csa-settlement-text: #172033;
        --csa-settlement-muted: #64748b;
        --csa-settlement-border: #d8e1ed;
        --csa-settlement-soft: #f8fafc;
        --csa-settlement-blue: #2563eb;
        --csa-settlement-green: #15803d;
        --csa-settlement-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
        background: var(--csa-settlement-bg);
        color: var(--csa-settlement-text);
        min-height: calc(100vh - 57px);
    }

    .csa-example-panel.csa-advance-settlement-page {
        min-height: 0;
    }

    .csa-advance-settlement-page .settle-shell {
        max-width: 1420px;
        margin: 0 auto;
    }

    .csa-advance-settlement-page #advSettlementForm {
        display: flex;
        flex-direction: column;
    }

    .csa-advance-settlement-page .settle-command,
    .csa-advance-settlement-page .settle-panel,
    .csa-advance-settlement-page .settle-summary-card {
        background: #fff;
        border: 1px solid var(--csa-settlement-border);
        border-radius: 8px;
        box-shadow: var(--csa-settlement-shadow);
    }

    .csa-advance-settlement-page .settle-panel {
        min-width: 0;
    }

    .csa-advance-settlement-page .settle-command {
        align-items: center;
        display: grid;
        gap: 1rem;
        grid-template-columns: minmax(0, 1fr) auto;
        margin-bottom: 0.8rem;
        padding: 0.95rem 1rem;
    }

    .csa-advance-settlement-page .settle-title-row {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 0.55rem;
        min-width: 0;
    }

    .csa-advance-settlement-page .settle-title {
        color: var(--csa-settlement-text);
        font-size: 1.22rem;
        font-weight: 800;
        line-height: 1.2;
        margin: 0;
        overflow-wrap: anywhere;
    }

    .csa-advance-settlement-page .settle-meta-line {
        align-items: center;
        color: var(--csa-settlement-muted);
        display: flex;
        flex-wrap: wrap;
        font-size: 0.86rem;
        gap: 0.45rem 0.75rem;
        margin-top: 0.35rem;
    }

    .csa-advance-settlement-page .settle-meta-line span {
        align-items: center;
        display: inline-flex;
        gap: 0.35rem;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .csa-advance-settlement-page .settle-actions {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        justify-content: flex-end;
    }

    .csa-advance-settlement-page .settle-badge {
        border-radius: 6px;
        font-size: 0.76rem;
        font-weight: 800;
        padding: 0.42rem 0.58rem;
    }

    .csa-advance-settlement-page .settle-summary-strip {
        display: grid;
        gap: 0.65rem;
        grid-template-columns: 1.45fr 1fr 0.75fr 0.95fr 0.95fr;
        margin-bottom: 0.8rem;
    }

    .csa-advance-settlement-page .settle-summary-card {
        box-shadow: none;
        min-height: 78px;
        padding: 0.85rem 0.95rem;
    }

    .csa-advance-settlement-page .settle-label {
        color: var(--csa-settlement-muted);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .csa-advance-settlement-page .settle-summary-value {
        color: var(--csa-settlement-text);
        font-size: 1rem;
        font-weight: 800;
        line-height: 1.22;
        margin-top: 0.28rem;
        overflow-wrap: anywhere;
    }

    .csa-advance-settlement-page .settle-summary-total {
        color: var(--csa-settlement-green);
        font-size: 1.35rem;
    }

    .csa-advance-settlement-page .settle-summary-note {
        color: var(--csa-settlement-muted);
        font-size: 0.8rem;
        margin-top: 0.2rem;
        overflow-wrap: anywhere;
    }

    .csa-advance-settlement-page .settle-workspace {
        align-items: stretch;
        display: grid;
        gap: 0.8rem;
        grid-template-columns: minmax(0, 1fr) 330px;
        margin-bottom: 0.8rem;
        order: 40;
    }

    .csa-advance-settlement-page .settle-panel-header {
        align-items: center;
        border-bottom: 1px solid var(--csa-settlement-border);
        display: flex;
        gap: 0.75rem;
        justify-content: space-between;
        min-height: 50px;
        padding: 0.75rem 0.95rem;
    }

    .csa-advance-settlement-page .settle-panel-title {
        color: var(--csa-settlement-text);
        font-size: 0.95rem;
        font-weight: 800;
        margin: 0;
    }

    .csa-advance-settlement-page .settle-panel-note {
        color: var(--csa-settlement-muted);
        font-size: 0.8rem;
        margin: 0.18rem 0 0;
    }

    .csa-advance-settlement-page .settle-panel-body {
        padding: 0.95rem;
    }

    .csa-advance-settlement-page .settle-form-grid {
        display: grid;
        gap: 0.75rem;
        grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
        min-width: 0;
    }

    .csa-advance-settlement-page .settle-form-grid > * {
        min-width: 0;
    }

    .csa-advance-settlement-page .settle-field-wide {
        grid-column: 1 / -1;
    }

    .csa-advance-settlement-page .form-label {
        color: #334155;
        font-size: 0.8rem;
        font-weight: 800;
        margin-bottom: 0.28rem;
    }

    .csa-advance-settlement-page .required-mark {
        color: #dc2626;
        font-weight: 900;
        margin-left: 0.16rem;
    }

    .csa-advance-settlement-page .form-control,
    .csa-advance-settlement-page .form-select {
        border-color: #cbd5e1;
        border-radius: 6px;
        font-size: 0.9rem;
        min-width: 0;
        min-height: 38px;
    }

    .csa-advance-settlement-page .form-control:disabled,
    .csa-advance-settlement-page .form-control[readonly],
    .csa-advance-settlement-page .form-select:disabled {
        background: #dbe3ee;
        border-color: #94a3b8;
        color: #334155;
        opacity: 1;
    }

    .csa-advance-settlement-page textarea.form-control {
        min-height: 78px;
    }

    .csa-advance-settlement-page .form-control:focus,
    .csa-advance-settlement-page .form-select:focus {
        border-color: #93c5fd;
        box-shadow: 0 0 0 0.16rem rgba(37, 99, 235, 0.12);
    }

    .csa-advance-settlement-page .settle-review-list {
        display: grid;
        gap: 0.6rem;
    }

    .csa-advance-settlement-page .settle-review-item {
        border-bottom: 1px dashed #cbd5e1;
        display: grid;
        gap: 0.2rem;
        padding-bottom: 0.6rem;
    }

    .csa-advance-settlement-page .settle-review-item:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .csa-advance-settlement-page .settle-review-value {
        color: var(--csa-settlement-text);
        font-weight: 800;
        overflow-wrap: anywhere;
    }

    .csa-advance-settlement-page .settle-alert {
        border-radius: 8px;
        margin-bottom: 0.8rem;
    }

    .csa-advance-settlement-page .settle-detail-panel {
        border-top: 3px solid var(--csa-settlement-blue);
        overflow: hidden;
        margin-bottom: 0.8rem;
        order: 30;
    }

    .csa-advance-settlement-page .settle-auto-category {
        align-items: center;
        background: #f8fafc;
        border: 1px solid var(--csa-settlement-border);
        border-radius: 6px;
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
        max-width: 100%;
        min-width: 0;
        padding: 0.55rem 0.65rem;
    }

    .csa-advance-settlement-page .settle-auto-category-value {
        color: #0f172a;
        font-weight: 900;
        overflow-wrap: anywhere;
    }

    .csa-advance-settlement-page .settle-dynamic-hidden {
        display: none !important;
    }

    .csa-advance-settlement-page .settle-detail-header {
        background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    }

    .csa-advance-settlement-page .settle-detail-meta {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
        justify-content: flex-end;
    }

    .csa-advance-settlement-page .settle-detail-pill {
        align-items: center;
        background: var(--csa-settlement-soft);
        border: 1px solid var(--csa-settlement-border);
        border-radius: 999px;
        color: #334155;
        display: inline-flex;
        font-size: 0.78rem;
        font-weight: 800;
        gap: 0.35rem;
        min-height: 30px;
        padding: 0.28rem 0.68rem;
        white-space: nowrap;
    }

    .csa-advance-settlement-page .settle-detail-ledger {
        background: #fbfdff;
        border-bottom: 1px solid var(--csa-settlement-border);
        display: grid;
        gap: 0.6rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 0.75rem 0.95rem;
    }

    .csa-advance-settlement-page .settle-ledger-stat {
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        min-height: 62px;
        padding: 0.65rem 0.75rem;
    }

    .csa-advance-settlement-page .settle-ledger-value {
        color: var(--csa-settlement-text);
        font-size: 0.98rem;
        font-weight: 800;
        margin-top: 0.18rem;
        overflow-wrap: anywhere;
    }

    .csa-advance-settlement-page .settle-table-wrap {
        overflow-x: auto;
    }

    .csa-advance-settlement-page .settle-table {
        min-width: 1120px;
    }

    .csa-advance-settlement-page .settle-table-rfp {
        min-width: 1350px;
    }

    .csa-advance-settlement-page .settle-table-jv {
        min-width: 1280px;
    }

    .csa-advance-settlement-page .settle-table tbody tr:last-child td {
        border-bottom: 0;
    }

    .csa-advance-settlement-page .settle-table tbody tr.is-unselected {
        background: var(--csa-surface-soft);
        opacity: 0.62;
    }

    .csa-advance-settlement-page .settle-row-number {
        align-items: center;
        background: #eef2f7;
        border-radius: 999px;
        color: #475569;
        display: inline-flex;
        font-size: 0.78rem;
        font-weight: 800;
        height: 28px;
        justify-content: center;
        width: 28px;
    }

    .csa-advance-settlement-page .settle-row-toggle {
        height: 18px;
        width: 18px;
    }

    .csa-advance-settlement-page .settle-row-title {
        color: var(--csa-settlement-text);
        font-weight: 800;
        max-width: 340px;
        overflow-wrap: anywhere;
    }

    .csa-advance-settlement-page .settle-row-note {
        color: var(--csa-settlement-muted);
        font-size: 0.8rem;
        margin-top: 0.1rem;
        max-width: 380px;
        overflow-wrap: anywhere;
    }

    .csa-advance-settlement-page .settle-ref {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 6px;
        color: #334155;
        display: inline-block;
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        font-size: 0.84rem;
        overflow-wrap: anywhere;
        padding: 0.16rem 0.4rem;
    }

    .csa-advance-settlement-page .settle-amount-input {
        min-width: 140px;
    }

    .csa-advance-settlement-page .settle-amount-hint {
        align-items: center;
        color: #64748b;
        display: inline-flex;
        font-size: 0.75rem;
        font-weight: 700;
        gap: 0.3rem;
        justify-content: flex-end;
        margin-top: 0.28rem;
        white-space: nowrap;
    }

    .csa-advance-settlement-page .settle-amount-hint:empty {
        display: none;
    }

    .csa-advance-settlement-page .settle-amount-hint.is-balanced {
        color: #166534;
    }

    .csa-advance-settlement-page .settle-coa-input {
        min-width: 128px;
    }

    .csa-advance-settlement-page .settle-coa-select {
        min-width: 210px;
        width: 100%;
    }

    .csa-advance-settlement-page .settle-coa-select + .select2-container {
        min-width: 210px;
        width: 100% !important;
    }

    .csa-advance-settlement-page .settle-form-grid .settle-coa-select + .select2-container {
        min-width: 0;
    }

    .csa-advance-settlement-page .settle-coa-select + .select2-container .select2-selection--single {
        border-color: #bfd0e4;
        min-height: 38px;
    }

    .csa-advance-settlement-page .settle-coa-select + .select2-container .select2-selection__rendered {
        color: #172033;
        line-height: 36px;
        padding-left: 0.75rem;
        padding-right: 2rem;
    }

    .csa-advance-settlement-page .settle-coa-select + .select2-container .select2-selection__arrow {
        min-height: 36px;
    }

    .csa-advance-settlement-page .settle-coa-select + .select2-container--disabled .select2-selection--single {
        background: #dbe3ee;
        border-color: #94a3b8;
        opacity: 1;
    }

    .settle-coa-select-dropdown .select2-results__option {
        font-size: 0.88rem;
    }

    .csa-advance-settlement-page .settle-input-cell .form-control {
        background: #fff;
        border-color: #bfd0e4;
        min-height: 34px;
    }

    .csa-advance-settlement-page .settle-input-cell .form-control:focus {
        background: #fff;
        border-color: #60a5fa;
    }

    .csa-advance-settlement-page .settle-amount-input[readonly] {
        background: #dbe3ee;
        border-color: #94a3b8;
        color: #334155;
        cursor: not-allowed;
    }

    .csa-advance-settlement-page .settle-money {
        color: #172033;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .csa-advance-settlement-page .settle-budget-value {
        color: #166534;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .csa-advance-settlement-page .settle-budget-value.is-status,
    .csa-advance-settlement-page .settle-budget-value.is-muted {
        align-items: center;
        border: 1px solid #bbf7d0;
        border-radius: 999px;
        display: inline-flex;
        font-size: 0.76rem;
        justify-content: center;
        min-height: 26px;
        min-width: 94px;
        padding: 0.18rem 0.56rem;
    }

    .csa-advance-settlement-page .settle-budget-value.is-jv {
        background: #ecfdf5;
        border-color: #bbf7d0;
        color: #166534;
    }

    .csa-advance-settlement-page .settle-budget-value.is-rc {
        background: #fff7ed;
        border-color: #fed7aa;
        color: #9a3412;
    }

    .csa-advance-settlement-page .settle-budget-value.is-rfp {
        background: #eff6ff;
        border-color: #bfdbfe;
        color: #1d4ed8;
    }

    .csa-advance-settlement-page .settle-budget-value.is-muted {
        background: #f8fafc;
        border-color: #cbd5e1;
        color: #64748b;
    }

    .csa-advance-settlement-page .settle-budget-value.is-danger {
        color: #b91c1c;
    }

    @media (max-width: 1399.98px) {
        .csa-advance-settlement-page .settle-form-grid {
            grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
        }

        .csa-advance-settlement-page .settle-field-attachment {
            grid-column: span 2;
        }
    }

    @media (max-width: 1199.98px) {
        .csa-advance-settlement-page .settle-summary-strip {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .csa-advance-settlement-page .settle-workspace {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 767.98px) {
        .csa-advance-settlement-page .settle-command {
            align-items: stretch;
            grid-template-columns: 1fr;
        }

        .csa-advance-settlement-page .settle-command {
            display: grid;
        }

        .csa-advance-settlement-page .settle-actions,
        .csa-advance-settlement-page .settle-actions .btn,
        .csa-advance-settlement-page .settle-actions a {
            width: 100%;
        }

        .csa-advance-settlement-page .settle-summary-strip,
        .csa-advance-settlement-page .settle-form-grid {
            grid-template-columns: 1fr;
        }

        .csa-advance-settlement-page .settle-detail-ledger {
            grid-template-columns: 1fr;
        }

        .csa-advance-settlement-page .settle-field-attachment {
            grid-column: auto;
        }

        .csa-advance-settlement-page .settle-panel-header {
            align-items: flex-start;
            flex-direction: column;
        }

        .csa-advance-settlement-page .settle-detail-meta {
            justify-content: flex-start;
        }
    }

/* Implementation and mitra progress pages */
.csa-implementation-list-page .min-w-0,
.csa-mitra-list-page .min-w-0 {
    min-width: 0;
}

.csa-implementation-list-page .csa-implementation-site-name,
.csa-mitra-list-page .csa-mitra-site-name {
    max-width: 200px;
}

.csa-implementation-list-page .csa-implementation-operator-name,
.csa-mitra-list-page .csa-mitra-operator-name {
    max-width: 150px;
}

.csa-implementation-list-page .csa-implementation-region,
.csa-mitra-list-page .csa-mitra-region {
    font-size: 0.75rem;
}

.csa-implementation-list-page .csa-implementation-toolbar-form,
.csa-mitra-list-page .csa-mitra-toolbar-form {
    min-width: 0;
}

.csa-implementation-list-page .csa-implementation-table {
    min-width: 1180px;
}

.csa-implementation-list-page .csa-implementation-product-name {
    max-width: 230px;
}

.csa-implementation-list-page .csa-implementation-table .csa-action-group {
    flex-wrap: nowrap;
}

.csa-implementation-list-page .csa-implementation-import-preview {
    max-height: 500px;
}

.csa-implementation-list-page .csa-implementation-progress {
    height: 10px;
}

.csa-implementation-list-page .csa-implementation-progress-shell {
    background-color: var(--csa-surface);
}

.csa-implementation-list-page .csa-implementation-latest-time,
.csa-implementation-list-page .csa-implementation-region {
    font-size: 0.75rem;
}

.csa-implementation-list-page .csa-implementation-site-cell {
    width: 90px;
}

.csa-implementation-list-page .csa-implementation-milestone-cell {
    min-width: 220px;
}

.csa-implementation-list-page .csa-control-panel__row,
.csa-mitra-list-page .csa-control-panel__row {
    grid-template-columns: minmax(0, 1fr);
}

.csa-initially-hidden {
    display: none;
}

.csa-clickable {
    cursor: pointer;
}

.csa-min-w-0 {
    min-width: 0;
}

.csa-max-w-100 {
    max-width: 100%;
}

.csa-line-relaxed {
    line-height: 1.6;
}

.csa-text-2xs {
    font-size: 0.6rem;
}

.csa-text-xs {
    font-size: 0.65rem;
}

.csa-text-sm {
    font-size: 0.75rem;
}

.csa-table-sm-text {
    font-size: 0.82rem;
}

.csa-handler-list {
    height: 200px;
    overflow-y: auto;
    position: relative;
}

.csa-document-action {
    border-radius: var(--csa-radius-xs);
    height: 30px;
    width: 32px;
}

.csa-document-note {
    font-size: 0.65rem;
}

.csa-document-file-list {
    max-height: 100px;
    overflow-y: auto;
}

.csa-document-file-button {
    border-radius: var(--csa-radius-xs);
    font-size: 0.6rem;
}

.csa-milestone-mitra-col {
    width: 34%;
}

.csa-pdf-modal-dialog {
    height: 90vh;
}

.csa-image-preview-large {
    max-height: 90vh;
}

.csa-ai-spec-label {
    font-size: 0.65rem;
}

.csa-avatar--xs {
    height: 24px;
    width: 24px;
}

.csa-stat-box {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    height: 100%;
    padding: 1rem;
    text-align: center;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.csa-col-signature-prepared {
    width: 38.6%;
}

.csa-col-signature-checked {
    width: 30.3%;
}

.csa-col-signature-approved {
    width: 31.1%;
}

.csa-stat-box:hover {
    border-color: var(--csa-border-strong);
    transform: translateY(-2px);
}

.csa-stat-box--danger {
    background: rgba(220, 53, 69, 0.08);
    border-color: rgba(220, 53, 69, 0.22);
}

.csa-stat-box--success {
    background: rgba(64, 201, 162, 0.12);
    border-color: rgba(64, 201, 162, 0.28);
}

.csa-stat-value {
    font-size: 1.1rem;
    font-weight: 800;
    margin-top: 0.25rem;
}

.csa-implementation-detail-page .form-control-plaintext-custom {
    background: transparent;
    border: solid transparent;
    border-width: 1px 0;
    color: var(--csa-text);
    display: block;
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.5;
    margin-bottom: 0;
    padding: 0.375rem 0;
    width: 100%;
}

.csa-implementation-detail-page .bg-readonly {
    background: transparent;
    border: 0;
    font-weight: 650;
    padding-left: 0;
}

.csa-implementation-detail-page .info-value {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 650;
}

.csa-implementation-detail-page .item-checkbox {
    cursor: pointer;
    height: 1.2rem;
    width: 1.2rem;
}

.csa-implementation-detail-page .table-disabled {
    background: var(--csa-surface-soft);
    color: var(--csa-text-muted);
}

/* Implementation task sync page */
.csa-sync-task-page {
    background: var(--csa-surface-soft);
}

.csa-sync-task-page .csa-sync-container {
    margin: auto;
}

.csa-sync-task-page .csa-sync-hero {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);
    min-height: 120px;
}

.csa-sync-task-page .csa-sync-hero-kicker {
    font-size: 0.75rem;
}

.csa-sync-task-page .csa-sync-online-dot {
    font-size: 0.5rem;
}

.csa-sync-task-page .csa-sync-task-count {
    letter-spacing: 0;
    line-height: 1;
}

.csa-sync-task-page .csa-sync-task-found {
    font-size: 0.7rem;
}

.csa-sync-task-page .csa-sync-eyebrow {
    font-size: 0.6rem;
    letter-spacing: 0.5px;
}

.csa-sync-task-page .csa-sync-value-text {
    font-size: 0.85rem;
    letter-spacing: 0.5px;
}

.csa-sync-task-page .csa-sync-evidence-title {
    max-width: 250px;
}

.csa-sync-task-page .csa-sync-modal-img {
    max-height: 70vh;
}

.csa-sync-task-page .task-item {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    margin-bottom: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.csa-sync-task-page .status-success .task-icon {
    background: #e8f5e9;
    color: #2e7d32;
}

.csa-sync-task-page .status-primary .task-icon {
    background: #e3f2fd;
    color: #0a2c51;
}

.csa-sync-task-page .status-warning .task-icon {
    background: #fff8e1;
    color: #f9a825;
}

.csa-sync-task-page .status-danger .task-icon {
    background: #ffebee;
    color: #c62828;
}

.csa-sync-task-page .task-trigger {
    align-items: center;
    cursor: pointer;
    display: flex;
    padding: 18px 24px;
    user-select: none;
}

.csa-sync-task-page .task-icon {
    align-items: center;
    border-radius: var(--csa-radius-sm);
    display: flex;
    flex: 0 0 auto;
    font-size: 1.2rem;
    height: 45px;
    justify-content: center;
    margin-right: 20px;
    width: 45px;
}

.csa-sync-task-page .task-info {
    flex-grow: 1;
    min-width: 0;
}

.csa-sync-task-page .task-title {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 700;
}

.csa-sync-task-page .task-meta {
    color: var(--csa-text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.75rem;
    gap: 0.5rem 0.95rem;
}

.csa-sync-task-page .checklist-content {
    background: var(--csa-surface-soft);
    border-top: 1px solid var(--csa-border);
    display: none;
    padding: 24px;
}

.csa-sync-task-page .audit-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.csa-sync-task-page .audit-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    display: flex;
    min-height: 140px;
    overflow: hidden;
    position: relative;
    transition: all 0.2s ease;
}

.csa-sync-task-page .audit-card.selected-rti {
    border-color: #3b82f6;
    border-left: 8px solid #3b82f6;
}

.csa-sync-task-page .audit-card.selected-task {
    border-color: #10b981;
    border-right: 8px solid #10b981;
}

.csa-sync-task-page .audit-info,
.csa-sync-task-page .audit-evidence {
    cursor: pointer;
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px;
    position: relative;
}

.csa-sync-task-page .audit-info {
    background: var(--csa-surface);
    border-right: 1px dashed var(--csa-border);
}

.csa-sync-task-page .audit-info.is-readonly,
.csa-sync-task-page .audit-evidence.is-readonly {
    cursor: default;
}

.csa-sync-task-page .audit-info.is-readonly {
    background: var(--csa-surface-soft);
}

.csa-sync-task-page .radio-box {
    position: absolute;
    right: 15px;
    top: 15px;
    z-index: 10;
}

.csa-sync-task-page .sync-radio {
    cursor: pointer;
    transform: scale(1.4);
}

.csa-sync-task-page .img-frame {
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    height: 75px;
    margin-bottom: 5px;
    overflow: hidden;
    width: 75px;
}

.csa-sync-task-page .img-frame img {
    cursor: zoom-in;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.csa-sync-task-page .spec-label {
    color: var(--csa-text-muted);
    font-size: 0.65rem;
    font-weight: 800;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.csa-sync-task-page .rti-tag,
.csa-sync-task-page .task-tag {
    align-self: flex-start;
    border-radius: var(--csa-radius-xs);
    font-size: 0.65rem;
    padding: 2px 8px;
}

.csa-sync-task-page .rti-tag {
    background: #e0f2fe;
    color: #0369a1;
}

.csa-sync-task-page .task-tag {
    background: #dcfce7;
    color: #15803d;
}

.csa-sync-task-page .no-evidence {
    background: #fff1f2;
    border: 1px dashed #fda4af;
    border-radius: var(--csa-radius-sm);
    color: #e11d48;
    font-size: 0.75rem;
    padding: 15px;
    text-align: center;
    width: 100%;
}

.csa-sync-task-page .chevron-rotate {
    transition: transform 0.3s ease;
}

.csa-sync-task-page .ai-queue-card {
    background: var(--csa-surface);
    border: 1px dashed var(--csa-border-strong);
    border-radius: var(--csa-radius-md);
    padding: 16px 20px;
}

.csa-sync-task-page .ai-queue-item {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-left: 4px solid #94a3b8;
    border-radius: var(--csa-radius-sm);
    padding: 10px 12px;
}

.csa-sync-task-page .ai-queue-item.status-pending {
    border-left-color: #f59e0b;
}

.csa-sync-task-page .ai-queue-item.status-processing {
    border-left-color: #0d6efd;
}

.csa-sync-task-page .ai-queue-item.status-completed {
    border-left-color: #10b981;
}

.csa-sync-task-page .ai-queue-item.status-failed {
    border-left-color: #ef4444;
}

.csa-sync-task-page .ai-queue-progress {
    background: var(--csa-surface-muted);
    border-radius: 999px;
    height: 6px;
    overflow: hidden;
    width: 100%;
}

.csa-sync-task-page .ai-queue-progress-bar {
    background: linear-gradient(90deg, #0ea5e9 0%, #22c55e 100%);
    height: 100%;
    transition: width 0.4s ease;
    width: 0;
}

.csa-sync-task-page .ai-queue-list {
    max-height: 260px;
    overflow-y: auto;
    padding-right: 4px;
}

html.theme-dark .csa-sync-task-page {
    color: #e5e7eb;
}

html.theme-dark .csa-sync-task-page .task-item,
html.theme-dark .csa-sync-task-page .audit-card,
html.theme-dark .csa-sync-task-page .ai-queue-card,
html.theme-dark .csa-sync-task-page .ai-queue-item {
    background: #111827;
    border-color: #334155;
}

html.theme-dark .csa-sync-task-page .task-title {
    color: #f8fafc;
}

html.theme-dark .csa-sync-task-page .task-meta,
html.theme-dark .csa-sync-task-page .spec-label {
    color: #94a3b8;
}

html.theme-dark .csa-sync-task-page .checklist-content {
    background: #0b1220;
    border-top-color: #334155;
}

html.theme-dark .csa-sync-task-page .audit-info {
    background: #111827;
    border-right-color: #334155;
}

html.theme-dark .csa-sync-task-page .audit-evidence {
    background: #0f172a;
}

html.theme-dark .csa-sync-task-page .audit-info.is-readonly {
    background: #0f172a;
}

html.theme-dark .csa-sync-task-page .img-frame {
    background: #0b1220;
    border-color: #334155;
}

html.theme-dark .csa-sync-task-page .rti-tag {
    background: rgba(14, 165, 233, 0.2);
    color: #7dd3fc;
}

html.theme-dark .csa-sync-task-page .task-tag {
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
}

html.theme-dark .csa-sync-task-page .no-evidence {
    background: rgba(127, 29, 29, 0.25);
    border-color: rgba(248, 113, 113, 0.55);
    color: #fecaca;
}

html.theme-dark .csa-sync-task-page .ai-queue-progress {
    background: #334155;
}

html.theme-dark .csa-sync-task-page .dropdown-menu {
    background: #111827;
    border: 1px solid #334155 !important;
}

html.theme-dark .csa-sync-task-page .dropdown-item {
    color: #e2e8f0;
}

html.theme-dark .csa-sync-task-page .dropdown-item:hover,
html.theme-dark .csa-sync-task-page .dropdown-item:focus {
    background: #1f2937;
    color: #ffffff;
}

html.theme-dark .csa-sync-task-page .dropdown-divider {
    border-color: #334155;
}

html.theme-dark .csa-sync-task-page .form-check-input {
    background-color: #111827;
    border-color: #64748b;
}

html.theme-dark .csa-sync-task-page .btn-outline-secondary {
    border-color: #64748b;
    color: #cbd5e1;
}

html.theme-dark .csa-sync-task-page .btn-outline-secondary:hover {
    background: #334155;
    border-color: #64748b;
    color: #f8fafc;
}

html.theme-dark .csa-sync-modal .modal-body,
html.theme-dark .csa-sync-modal .modal-footer {
    background: #0f172a !important;
}

html.theme-dark .csa-sync-modal .card-clean,
html.theme-dark .csa-sync-modal .p-2.border.rounded.bg-white,
html.theme-dark .csa-sync-modal .p-2.border.rounded.bg-white.h-100 {
    background: #111827 !important;
    border-color: #334155 !important;
}

html.theme-dark .csa-sync-modal .btn.btn-light {
    background: #1f2937;
    border-color: #475569;
    color: #e5e7eb;
}

@media (min-width: 768px) {
    .csa-implementation-list-page .csa-control-panel__row,
    .csa-mitra-list-page .csa-control-panel__row {
        grid-template-columns: auto minmax(280px, 1fr);
    }
}

@media (min-width: 1200px) {
    .csa-implementation-list-page .csa-filter-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
}

.csa-camera-preview {
    background: #000;
    border-radius: var(--csa-radius-md);
    width: 100%;
}

.csa-camera-result {
    border-radius: var(--csa-radius-md);
    margin-top: 0.65rem;
    max-width: 100%;
}

.csa-doc-thumb {
    height: 40px;
    object-fit: cover;
    width: 40px;
}

.csa-doc-icon {
    width: 32px;
}

.csa-table-file-name {
    max-width: 100px;
}

.csa-document-frame {
    border: 0;
    height: 100%;
    width: 100%;
}

.csa-pdf-viewer-frame {
    border: 0;
    height: 70vh;
    width: 100%;
}

.csa-mitra-qty-col {
    width: 60px;
}

.csa-mitra-detail-page .detail-shell {
    max-width: 1680px;
}

.csa-mitra-detail-page .section-toolbar {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 0 0.25rem;
}

.csa-mitra-detail-page .section-title {
    align-items: center;
    color: var(--csa-text);
    display: flex;
    font-size: 1rem;
    font-weight: 800;
    gap: 0.5rem;
    margin: 0;
}

.csa-mitra-detail-page .section-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.csa-mitra-detail-page .sticky-sidebar {
    position: sticky;
    top: 1.5rem;
    z-index: 1020;
}

.csa-mitra-detail-page .card-clean {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    margin-bottom: 1.5rem;
    min-width: 0;
    overflow: hidden;
}

.csa-mitra-detail-page .card-header-clean {
    background: var(--csa-surface-soft);
    border-bottom: 1px solid var(--csa-border);
    color: var(--csa-text);
    font-weight: 750;
    padding: 1rem 1.25rem;
}

.csa-implementation-detail-page .assigned-team-card .card-header-clean {
    padding: 0.9rem 1rem;
}

.csa-implementation-detail-page .assigned-team-title {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    min-width: 0;
}

.csa-implementation-detail-page .assigned-team-title i {
    color: var(--csa-primary);
}

.csa-implementation-detail-page .assigned-team-list {
    display: grid;
    gap: 0.65rem;
}

.csa-implementation-detail-page .assigned-team-item {
    align-items: flex-start;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    display: flex;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.75rem;
}

.csa-implementation-detail-page .assigned-team-icon {
    align-items: center;
    background: rgba(13, 110, 253, 0.08);
    border-radius: var(--csa-radius-md);
    color: var(--csa-primary);
    display: flex;
    flex: 0 0 2.1rem;
    font-size: 1rem;
    height: 2.1rem;
    justify-content: center;
    width: 2.1rem;
}

.csa-implementation-detail-page .assigned-team-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.csa-implementation-detail-page .assigned-team-label {
    color: var(--csa-text-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    margin-bottom: 0.15rem;
    text-transform: uppercase;
}

.csa-implementation-detail-page .assigned-team-value {
    color: var(--csa-text);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.csa-implementation-detail-page .assigned-team-tabs {
    gap: 0.35rem;
}

.csa-implementation-detail-page .assigned-team-tabs .nav-link {
    border-radius: var(--csa-radius-md);
    color: var(--csa-text-muted);
    font-size: 0.76rem;
    font-weight: 800;
    padding: 0.35rem 0.55rem;
}

.csa-implementation-detail-page .assigned-team-tabs .nav-link.active {
    background: var(--csa-primary);
    color: #fff;
}

.csa-implementation-detail-page .assigned-team-picker {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 0.75rem;
}

.csa-implementation-detail-page .assigned-team-picker .handler-list-container {
    max-height: 16rem;
    overflow-y: auto;
    padding-right: 0.25rem;
    scrollbar-gutter: stable;
}

.csa-implementation-detail-page .assigned-team-picker .handler-item {
    min-width: 0;
}

.csa-implementation-detail-page .assigned-team-picker .form-check-label {
    overflow-wrap: anywhere;
}

.csa-mitra-detail-page .timeline {
    padding-left: 2rem;
    position: relative;
}

.csa-mitra-detail-page .timeline::before {
    background: var(--csa-border);
    bottom: 0;
    content: "";
    left: 0.75rem;
    position: absolute;
    top: 0;
    width: 2px;
}

.csa-mitra-detail-page .timeline-item {
    margin-bottom: 1.35rem;
    position: relative;
}

.csa-mitra-detail-page .timeline-marker {
    align-items: center;
    background: var(--csa-surface);
    border: 3px solid var(--csa-info);
    border-radius: 999px;
    color: var(--csa-info);
    display: flex;
    font-size: 0.75rem;
    font-weight: 800;
    height: 1.5rem;
    justify-content: center;
    left: -2rem;
    line-height: 1;
    position: absolute;
    top: 0.25rem;
    width: 1.5rem;
    z-index: 1;
}

.csa-mitra-detail-page .timeline-marker.success {
    border-color: var(--csa-success);
    color: var(--csa-success);
}

.csa-mitra-detail-page .timeline-marker.danger {
    border-color: var(--csa-danger);
    color: var(--csa-danger);
}

.csa-mitra-detail-page .timeline-marker.warning {
    border-color: var(--csa-warning);
    color: var(--csa-warning);
}

.csa-mitra-detail-page .timeline-marker.secondary {
    border-color: var(--csa-muted);
    color: var(--csa-muted);
}

.csa-mitra-detail-page .label-meta {
    color: var(--csa-text-muted);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.csa-mitra-detail-page .value-meta {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.csa-mitra-detail-page .qty-actual-input::-webkit-outer-spin-button,
.csa-mitra-detail-page .qty-actual-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.csa-mitra-detail-page .qty-actual-input {
    -moz-appearance: textfield;
    appearance: textfield;
}

.csa-mitra-detail-page .img-thumbnail {
    border-color: var(--csa-border-strong);
    cursor: zoom-in;
    height: 40px;
    object-fit: cover;
    transition: transform 0.2s ease, border-color 0.2s ease;
    width: 40px;
}

.csa-mitra-detail-page .img-thumbnail:hover {
    border-color: var(--csa-info);
    transform: scale(1.08);
}

.csa-mitra-detail-page .milestone-items-table-wrap {
    background: var(--csa-surface);
    border-top: 1px solid var(--csa-border);
}

.csa-mitra-detail-page .milestone-items-table {
    border-collapse: separate;
    border-spacing: 0;
}

.csa-mitra-detail-page .milestone-items-table thead th {
    background: var(--csa-surface-soft);
    border-color: var(--csa-border);
    color: var(--csa-text-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 0.72rem 1rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.csa-mitra-detail-page .milestone-items-table tbody tr.milestone-item-data-row > td {
    border-color: var(--csa-border);
    padding: 0.85rem 1rem;
    vertical-align: middle;
}

.csa-mitra-detail-page .milestone-items-table tbody tr.milestone-item-data-row:hover > td {
    background: rgba(63, 167, 214, 0.05);
}

.csa-mitra-detail-page .milestone-item-category {
    color: var(--csa-text-muted);
    font-size: 0.8rem;
}

.csa-mitra-detail-page .milestone-item-name {
    color: var(--csa-text);
    font-size: 0.84rem;
    font-weight: 750;
    line-height: 1.35;
}

.csa-mitra-detail-page .milestone-item-status {
    font-size: 0.72rem;
    font-weight: 750;
    padding: 0.38rem 0.62rem;
}

.csa-mitra-detail-page .evidence-cell {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-width: 0;
}

.csa-mitra-detail-page .evidence-cell .bulk-input {
    max-width: 320px;
    min-width: min(100%, 220px);
}

.csa-mitra-detail-page .evidence-value {
    color: var(--csa-text);
    font-size: 0.8rem;
    line-height: 1.35;
    max-width: 260px;
}

.csa-mitra-detail-page .evidence-empty,
.csa-mitra-detail-page .evidence-attached {
    align-items: center;
    color: var(--csa-text-muted);
    display: inline-flex;
    font-size: 0.78rem;
    gap: 0.35rem;
    line-height: 1.2;
}

.csa-mitra-detail-page .evidence-preview-btn {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: 999px;
    color: var(--csa-text);
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 750;
    gap: 0.35rem;
    line-height: 1.2;
    padding: 0.34rem 0.65rem;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.csa-mitra-detail-page .evidence-preview-btn:hover {
    background: var(--csa-surface-soft);
    border-color: var(--csa-muted);
    color: var(--csa-text);
    text-decoration: none;
}

.csa-mitra-detail-page .evidence-preview-btn.image {
    background: rgba(64, 201, 162, 0.12);
    border-color: rgba(64, 201, 162, 0.32);
    color: #137a4b;
}

.csa-mitra-detail-page .evidence-preview-btn.pdf {
    background: rgba(220, 53, 69, 0.08);
    border-color: rgba(220, 53, 69, 0.28);
    color: #b42318;
}

.csa-mitra-detail-page .evidence-preview-btn.download {
    background: rgba(63, 167, 214, 0.12);
    border-color: rgba(63, 167, 214, 0.3);
    color: var(--csa-primary);
}

.csa-mitra-detail-page .csa-mitra-clickable {
    cursor: pointer;
}

.csa-mitra-detail-page .milestone-toggle-handle {
    gap: 0.85rem;
}

.csa-mitra-detail-page .milestone-summary {
    flex: 1 1 520px;
    min-width: 0;
}

.csa-mitra-detail-page .milestone-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.csa-mitra-detail-page .milestone-meta-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.csa-mitra-detail-page .milestone-meta-row > .d-flex,
.csa-mitra-detail-page .milestone-meta-row > span.d-flex {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    min-height: 32px;
    padding: 0.32rem 0.55rem;
}

.csa-mitra-detail-page .milestone-meta-row > span.text-muted {
    display: none;
}

.csa-implementation-detail-page .milestone-approval-flow-wrap {
    background: var(--csa-surface);
}

.csa-implementation-detail-page .milestone-approval-flow-panel {
    margin: 0;
}

.csa-implementation-detail-page .milestone-item-row {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    gap: 0.85rem;
    margin-bottom: 0.85rem !important;
    padding: 0.85rem;
}

.csa-implementation-detail-page .milestone-item-main {
    min-width: 0;
}

.csa-implementation-detail-page .milestone-item-support {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin-top: 0.75rem;
}

.csa-implementation-detail-page .milestone-item-panel {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    min-width: 0;
    padding: 0.65rem 0.75rem;
}

.csa-implementation-detail-page .milestone-item-panel-title {
    color: var(--csa-text-muted);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.csa-implementation-detail-page .milestone-item-side {
    min-width: 150px;
}

.csa-implementation-detail-page .milestone-item-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.csa-mitra-detail-page .document-card {
    border: 1px solid var(--csa-border) !important;
    border-radius: var(--csa-radius-md) !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.csa-mitra-detail-page .document-card:hover {
    border-color: var(--csa-border-strong) !important;
    box-shadow: var(--csa-shadow-sm) !important;
}

.csa-mitra-detail-page .csa-mitra-doc-status,
.csa-mitra-detail-page .csa-mitra-doc-date,
.csa-mitra-detail-page .csa-mitra-file-link {
    font-size: 0.7rem;
}

.csa-mitra-detail-page .file-list-container {
    max-height: 120px;
    overflow-y: auto;
}

.csa-mitra-detail-page .file-list-container::-webkit-scrollbar {
    width: 4px;
}

.csa-mitra-detail-page .file-list-container::-webkit-scrollbar-track {
    background: var(--csa-surface-soft);
}

.csa-mitra-detail-page .file-list-container::-webkit-scrollbar-thumb {
    background: var(--csa-border-strong);
    border-radius: 999px;
}

.csa-mitra-detail-page .approval-flow-panel {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 0.65rem 0.75rem;
}

.csa-mitra-detail-page .approval-flow-title {
    color: var(--csa-text-muted);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.csa-mitra-detail-page .approval-flow {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.35rem;
}

.csa-mitra-detail-page .approval-flow-step {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: 999px;
    color: var(--csa-text);
    display: inline-flex;
    font-size: 0.66rem;
    gap: 0.25rem;
    line-height: 1.2;
    max-width: min(100%, 260px);
    padding: 0.22rem 0.5rem;
    white-space: normal;
    word-break: break-word;
}

.csa-mitra-detail-page .approval-flow-step-index {
    align-items: center;
    background: rgba(0, 0, 0, 0.08);
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.58rem;
    font-weight: 800;
    height: 1rem;
    justify-content: center;
    line-height: 1;
    width: 1rem;
}

.csa-mitra-detail-page .approval-flow-status-icon {
    font-size: 0.68rem;
    line-height: 1;
}

.csa-mitra-detail-page .approval-flow-step.approved {
    background: rgba(64, 201, 162, 0.16);
    border-color: rgba(64, 201, 162, 0.32);
    color: #0f5132;
}

.csa-mitra-detail-page .approval-flow-step.waiting {
    background: rgba(246, 201, 14, 0.18);
    border-color: rgba(246, 201, 14, 0.32);
    color: #664d03;
}

.csa-mitra-detail-page .approval-flow-step.rejected {
    background: rgba(220, 53, 69, 0.12);
    border-color: rgba(220, 53, 69, 0.28);
    color: #842029;
}

.csa-mitra-detail-page .approval-flow-step.pending {
    background: rgba(100, 116, 139, 0.13);
    border-color: rgba(100, 116, 139, 0.22);
    color: #41464b;
}

.csa-mitra-detail-page .approval-flow-arrow {
    color: var(--csa-text-muted);
    font-size: 0.8rem;
}

.csa-mitra-detail-page .milestone-item-approval-row > td {
    background: var(--csa-surface) !important;
    border-top: 0;
    padding: 0 0.75rem 0.75rem;
}

.csa-mitra-detail-page .transition-icon {
    transition: transform 0.3s ease;
}

.csa-mitra-detail-page [aria-expanded="true"] .transition-icon {
    transform: rotate(90deg);
}

.csa-mitra-rfp-table {
    font-size: 0.8rem;
}

.csa-document-preview-image {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
    max-height: 75vh;
}

.csa-document-preview-frame {
    border: 0;
    display: block;
    height: 75vh;
    width: 100%;
}

html.theme-dark .csa-mitra-detail-page .card-clean,
html.theme-dark .csa-mitra-detail-page .card-header-clean,
html.theme-dark .csa-mitra-detail-page .milestone-items-table-wrap,
html.theme-dark .csa-mitra-detail-page .milestone-item-approval-row > td,
html.theme-dark .csa-implementation-detail-page .milestone-approval-flow-wrap,
html.theme-dark .csa-implementation-detail-page .milestone-item-row {
    background: var(--csa-dark-surface);
    border-color: var(--csa-dark-border);
}

html.theme-dark .csa-mitra-detail-page .card-header-clean,
html.theme-dark .csa-mitra-detail-page .milestone-items-table thead th,
html.theme-dark .csa-mitra-detail-page .milestone-meta-row > .d-flex,
html.theme-dark .csa-mitra-detail-page .milestone-meta-row > span.d-flex,
html.theme-dark .csa-mitra-detail-page .document-card,
html.theme-dark .csa-mitra-detail-page .approval-flow-panel,
html.theme-dark .csa-mitra-detail-page .approval-flow-step,
html.theme-dark .csa-implementation-detail-page .milestone-item-panel,
html.theme-dark .csa-implementation-detail-page .assigned-team-item,
html.theme-dark .csa-implementation-detail-page .assigned-team-picker {
    background: var(--csa-dark-surface-soft) !important;
    border-color: var(--csa-dark-border) !important;
}

html.theme-dark .csa-implementation-detail-page .assigned-team-icon {
    background: rgba(96, 165, 250, 0.14);
    color: #93c5fd;
}

html.theme-dark .csa-mitra-detail-page .section-title,
html.theme-dark .csa-mitra-detail-page .value-meta,
html.theme-dark .csa-mitra-detail-page .milestone-item-name,
html.theme-dark .csa-mitra-detail-page .evidence-value,
html.theme-dark .csa-mitra-detail-page .fw-bold.text-dark,
html.theme-dark .csa-mitra-detail-page .sticky-sidebar h5 {
    color: var(--csa-dark-text) !important;
}

html.theme-dark .csa-mitra-detail-page .label-meta,
html.theme-dark .csa-mitra-detail-page .milestone-item-category,
html.theme-dark .csa-mitra-detail-page .evidence-empty,
html.theme-dark .csa-mitra-detail-page .evidence-attached,
html.theme-dark .csa-mitra-detail-page .approval-flow-title,
html.theme-dark .csa-mitra-detail-page .approval-flow-arrow,
html.theme-dark .csa-implementation-detail-page .milestone-item-panel-title,
html.theme-dark .csa-implementation-detail-page .assigned-team-label,
html.theme-dark .csa-implementation-detail-page .assigned-team-tabs .nav-link {
    color: var(--csa-dark-muted);
}

html.theme-dark .csa-implementation-detail-page .assigned-team-value {
    color: var(--csa-dark-text);
}

html.theme-dark .csa-implementation-detail-page .assigned-team-tabs .nav-link.active {
    background: #2563eb;
    color: #fff;
}

html.theme-dark .csa-mitra-detail-page .timeline::before {
    background: var(--csa-dark-border);
}

html.theme-dark .csa-mitra-detail-page .timeline-marker {
    background: var(--csa-dark-surface);
}

html.theme-dark .csa-mitra-detail-page .milestone-items-table tbody tr.milestone-item-data-row > td {
    background: var(--csa-dark-surface);
    border-color: var(--csa-dark-border);
}

html.theme-dark .csa-mitra-detail-page .milestone-items-table tbody tr.milestone-item-data-row:hover > td {
    background: var(--csa-dark-surface-soft);
}

html.theme-dark .csa-mitra-detail-page .evidence-preview-btn {
    background: var(--csa-dark-surface-soft);
    border-color: var(--csa-dark-border);
    color: var(--csa-dark-text);
}

html.theme-dark .csa-mitra-detail-page .approval-flow-step.approved {
    background: rgba(34, 197, 94, 0.15) !important;
    border-color: rgba(34, 197, 94, 0.35) !important;
    color: #86efac;
}

html.theme-dark .csa-mitra-detail-page .approval-flow-step.waiting {
    background: rgba(245, 158, 11, 0.18) !important;
    border-color: rgba(245, 158, 11, 0.35) !important;
    color: #fcd34d;
}

html.theme-dark .csa-mitra-detail-page .approval-flow-step.rejected {
    background: rgba(239, 68, 68, 0.16) !important;
    border-color: rgba(239, 68, 68, 0.35) !important;
    color: #fca5a5;
}

html.theme-dark .csa-mitra-detail-page .approval-flow-step.pending {
    color: var(--csa-dark-muted);
}

html.theme-dark .csa-mitra-detail-page .approval-flow-step-index {
    background: rgba(255, 255, 255, 0.12);
}

@media (max-width: 991.98px) {
    .csa-mitra-detail-page .milestone-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .csa-implementation-detail-page .milestone-item-row {
        align-items: stretch !important;
        flex-direction: column;
    }

    .csa-implementation-detail-page .milestone-item-side {
        align-items: flex-start !important;
        min-width: 0;
    }

    .csa-implementation-detail-page .milestone-item-actions {
        justify-content: flex-start;
    }
}

/* Implementation BAWP document workbench */
.csa-document-workbench-page {
    background: #eef2f7;
}

    .csa-document-workbench-page .bawp-toolbar {
        margin-bottom: 1.5rem;
    }

    .csa-document-workbench-page .bawp-helper {
        border: 1px solid #d7e3f3;
        background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
        border-radius: 1rem;
        padding: 1rem 1.15rem;
        color: #425466;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    }

    .csa-document-workbench-page .bawp-paper-shell {
        overflow-x: auto;
        padding-bottom: 1rem;
    }

    .csa-document-workbench-page .bawp-paper {
        width: min(100%, 210mm);
        margin: 0 auto;
        background: #ffffff;
        color: #111827;
        border: 1px solid #dbe4ee;
        border-radius: 1rem;
        box-shadow: 0 20px 45px rgba(15, 23, 42, 0.08);
        padding: 10mm 10mm 12mm;
        font-family: Calibri, "Segoe UI", Arial, sans-serif;
        font-size: 9pt;
    }

    .csa-document-workbench-page .bawp-doc-header {
        position: relative;
        min-height: 88px;
        margin-bottom: 0.5rem;
        padding-bottom: 0.3rem;
    }

    .csa-document-workbench-page .bawp-doc-brand {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        max-width: 110px;
    }

    .csa-document-workbench-page .bawp-doc-brand img {
        display: block;
        width: 100%;
        max-width: 92px;
        height: auto;
    }

    .csa-document-workbench-page .bawp-doc-heading {
        position: relative;
        z-index: 1;
        text-align: center;
        padding-top: 0.4rem;
    }

    .csa-document-workbench-page .bawp-doc-code {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 0;
        text-align: right;
        font-size: 15px;
        color: #0f172a;
        margin-bottom: 0;
        line-height: 1.1;
        width: 250px;
    }

    .csa-document-workbench-page .bawp-doc-title {
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        margin: 0 0 0.1rem 0;
    }

    .csa-document-workbench-page .bawp-doc-subtitle {
        font-size: 0.93rem;
        font-weight: 700;
        letter-spacing: 0.01em;
        margin-bottom: 0;
    }

    @media (max-width: 768px) {
        .csa-document-workbench-page .bawp-doc-header {
            min-height: 0;
            padding-top: 0;
        }

        .csa-document-workbench-page .bawp-doc-brand {
            position: static;
            max-width: 110px;
            margin-bottom: 0.5rem;
        }

        .csa-document-workbench-page .bawp-doc-heading {
            padding-top: 0;
        }

        .csa-document-workbench-page .bawp-doc-code {
            position: static;
            text-align: left;
            width: auto;
            margin-top: 0.5rem;
        }
    }

    .csa-document-workbench-page .bawp-row {
        display: grid;
        grid-template-columns: 185px 12px minmax(0, 1fr);
        gap: 0.6rem;
        align-items: center;
        margin-bottom: 0.12rem;
        font-size: inherit;
    }

    .csa-document-workbench-page .bawp-row-label {
        font-weight: 400;
    }

    .csa-document-workbench-page .bawp-row-sep {
        text-align: center;
    }

    .csa-document-workbench-page .bawp-doc-paragraph {
        font-size: inherit;
        line-height: 1.15;
        text-align: justify;
        margin: 0;
    }

    .csa-document-workbench-page .bawp-inline-field {
        display: inline-flex;
        vertical-align: middle;
        margin: 0 0.15rem;
    }

    .csa-document-workbench-page .bawp-input,
    .csa-document-workbench-page .bawp-table-input,
    .csa-document-workbench-page .bawp-days-input,
    .csa-document-workbench-page .bawp-sign-input {
        width: 100%;
        border-radius: 0.5rem;
        border: 1px solid #cbd5e1;
        background: #ffffff;
        color: #0f172a;
        padding: 0.4rem 0.7rem;
        font-size: inherit;
        font-family: inherit;
        line-height: 1.3;
        transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
    }

    .csa-document-workbench-page .bawp-input:focus,
    .csa-document-workbench-page .bawp-table-input:focus,
    .csa-document-workbench-page .bawp-days-input:focus,
    .csa-document-workbench-page .bawp-sign-input:focus {
        outline: none;
        border-color: #3b82f6;
        box-shadow: 0 0 0 0.18rem rgba(59, 130, 246, 0.12);
    }

    .csa-document-workbench-page .bawp-input.uppercase,
    .csa-document-workbench-page .bawp-sign-input.uppercase {
        text-transform: uppercase;
        font-weight: 700;
        letter-spacing: 0.02em;
    }

    .csa-document-workbench-page .bawp-input.auto {
        background: #effaf2;
        border-color: #b7dec2;
    }

    .csa-document-workbench-page .bawp-input.highlight {
        min-width: 92px;
        background: #fff1a8;
        border-color: #e8cc4d;
    }

    .csa-document-workbench-page .bawp-input[readonly],
    .csa-document-workbench-page .bawp-table-input[readonly],
    .csa-document-workbench-page .bawp-sign-input[readonly] {
        background: #eef3f8;
        border-color: #cbd5e1;
        color: #334155;
        cursor: default;
        pointer-events: none;
    }

    .csa-document-workbench-page .bawp-input.inline-short {
        width: 90px;
    }

    .csa-document-workbench-page .bawp-input.inline-medium {
        width: 135px;
    }

    .csa-document-workbench-page .bawp-input.inline-long {
        width: 190px;
    }

    .csa-document-workbench-page .bawp-section-lead {
        font-size: inherit;
        line-height: 1.15;
        margin: 0 0 0.3rem;
    }

    .csa-document-workbench-page .bawp-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 0.45rem;
        font-size: inherit;
    }

    .csa-document-workbench-page .bawp-table th,
    .csa-document-workbench-page .bawp-table td {
        border: 1px solid #111827;
        padding: 0.22rem 0.32rem;
        vertical-align: middle;
    }

    .csa-document-workbench-page .bawp-table th {
        text-align: center;
        font-weight: 700;
    }

    .csa-document-workbench-page .bawp-table td:first-child {
        width: 38%;
    }

    .csa-document-workbench-page .bawp-table td:nth-child(2),
    .csa-document-workbench-page .bawp-table td:nth-child(3),
    .csa-document-workbench-page .bawp-table td:nth-child(4) {
        width: 20.66%;
    }

    .csa-document-workbench-page .bawp-table-input {
        min-height: 30px;
    }

    .csa-document-workbench-page .bawp-summary-table td:first-child {
        width: 72%;
        font-weight: 700;
    }

    .csa-document-workbench-page .bawp-summary-cell {
        display: flex;
        align-items: center;
        gap: 0.35rem;
        flex-wrap: wrap;
    }

    .csa-document-workbench-page .bawp-summary-cell .bawp-days-input {
        max-width: 120px;
    }

    .csa-document-workbench-page .bawp-days-input {
        max-width: 120px;
        text-align: center;
        font-weight: 700;
        appearance: textfield;
        -moz-appearance: textfield;
    }

    .csa-document-workbench-page .bawp-days-input::-webkit-outer-spin-button,
    .csa-document-workbench-page .bawp-days-input::-webkit-inner-spin-button {
        margin: 0;
        -webkit-appearance: none;
    }

    .csa-document-workbench-page .bawp-days-text {
        white-space: nowrap;
    }

    .csa-document-workbench-page .bawp-reason-row {
        display: grid;
        grid-template-columns: 28px minmax(0, 1fr) 18px 140px auto;
        gap: 0.45rem;
        align-items: center;
        margin-bottom: 0.18rem;
        font-size: inherit;
    }

    .csa-document-workbench-page .bawp-reason-row.sub {
        padding-left: 1.65rem;
    }

    .csa-document-workbench-page .bawp-reason-prefix {
        text-align: right;
        white-space: nowrap;
    }

    .csa-document-workbench-page .bawp-reason-label {
        min-width: 0;
    }

    .csa-document-workbench-page .bawp-reason-label-inline {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        flex-wrap: wrap;
    }

    .csa-document-workbench-page .bawp-reason-colon {
        text-align: center;
        white-space: nowrap;
    }

    .csa-document-workbench-page .bawp-reason-label-input {
        width: 100%;
        border: none;
        border-bottom: 2px dotted #1e293b;
        border-radius: 0;
        background: transparent;
        color: #0f172a;
        padding: 0.05rem 0.15rem 0.18rem;
        font-size: inherit;
        line-height: 1.25;
    }

    .csa-document-workbench-page .bawp-reason-label-input:focus {
        outline: none;
        border-bottom-color: #2563eb;
        box-shadow: none;
    }

    .csa-document-workbench-page .bawp-reason-label-input::placeholder {
        color: #334155;
        opacity: 1;
    }

    .csa-document-workbench-page .bawp-reason-hours-input {
        width: 76px;
        border: none;
        border-bottom: 2px dotted #1e293b;
        border-radius: 0;
        background: transparent;
        color: #0f172a;
        padding: 0.05rem 0.15rem 0.18rem;
        text-align: center;
        font-size: inherit;
        line-height: 1.25;
    }

    .csa-document-workbench-page .bawp-reason-hours-input:focus {
        outline: none;
        border-bottom-color: #2563eb;
        box-shadow: none;
    }

    .csa-document-workbench-page .bawp-reason-hours-input::placeholder {
        color: #334155;
        opacity: 1;
    }

    .csa-document-workbench-page .bawp-signature-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 0.55rem;
        font-size: inherit;
    }

    .csa-document-workbench-page .bawp-signature-table td {
        width: 50%;
        vertical-align: top;
        padding: 0.35rem 0;
        border: none;
    }

    .csa-document-workbench-page .bawp-signature-block {
        width: min(74%, 290px);
        margin: 0 auto;
    }

    .csa-document-workbench-page .bawp-signature-head {
        text-align: center;
        margin-bottom: 0.05rem;
    }

    .csa-document-workbench-page .bawp-signature-company {
        text-align: center;
        font-weight: 700;
        letter-spacing: 0.02em;
        margin-bottom: 0.1rem;
    }

    .csa-document-workbench-page .bawp-signature-space {
        height: 56px;
    }

    .csa-document-workbench-page .bawp-sign-row {
        display: grid;
        grid-template-columns: 72px 12px minmax(0, 1fr);
        gap: 0.35rem;
        align-items: center;
        margin-bottom: 0.2rem;
    }

    .csa-document-workbench-page .bawp-footnotes {
        margin-top: 0.5rem;
        padding-top: 0.35rem;
        border-top: 1px dashed #cbd5e1;
        font-size: 0.72rem;
        color: #475569;
    }

    .csa-document-workbench-page .bawp-footnotes p {
        margin-bottom: 0.25rem;
    }

    @media (max-width: 991.98px) {
        .csa-document-workbench-page .bawp-paper {
            padding: 1.15rem;
            min-width: 860px;
        }

        .csa-document-workbench-page .bawp-row {
            grid-template-columns: 165px 12px minmax(0, 1fr);
        }
    }

    @media print {
        @page {
            size: A4;
            margin: 7mm 8mm 8mm 8mm;
        }
    .csa-document-workbench-page {
        background: #ffffff !important;
    }
        .csa-document-workbench-page .container-fluid {
            padding: 0 !important;
            margin: 0 !important;
        }
        .csa-document-workbench-page .bawp-toolbar,
        .csa-document-workbench-page .bawp-helper {
            display: none !important;
        }

        .csa-document-workbench-page .bawp-paper-shell {
            overflow: visible !important;
        }

        .csa-document-workbench-page .bawp-paper {
            width: auto;
            margin: 0;
            border: none;
            border-radius: 0;
            box-shadow: none;
            padding: 0;
        }

        .csa-document-workbench-page .bawp-input,
        .csa-document-workbench-page .bawp-table-input,
        .csa-document-workbench-page .bawp-days-input,
        .csa-document-workbench-page .bawp-sign-input {
            -webkit-print-color-adjust: exact;
            print-color-adjust: exact;
        }
    }

/* Implementation Final BOQ document workbench */
.csa-document-workbench-page {
    background: #eef2f7;
}

    .csa-document-workbench-page .fboq-toolbar {
        margin-bottom: 1.5rem;
    }

    .csa-document-workbench-page .fboq-export-mode {
        width: 180px;
    }

    .csa-document-workbench-page .fboq-helper {
        border: 1px solid #d7e3f3;
        background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
        border-radius: 1rem;
        padding: 1rem 1.15rem;
        color: #425466;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    }

    .csa-document-workbench-page .fboq-paper-shell {
        overflow-x: auto;
        padding-bottom: 1rem;
    }

    .csa-document-workbench-page .fboq-paper {
        width: min(100%, 210mm);
        margin: 0 auto;
        background: #ffffff;
        color: #111827;
        border: 1px solid #dbe4ee;
        border-radius: 1rem;
        box-shadow: 0 20px 45px rgba(15, 23, 42, 0.08);
        padding: 11mm 10mm 12mm;
        font-family: Calibri, "Segoe UI", Arial, sans-serif;
        font-size: 9pt;
    }

    .csa-document-workbench-page .fboq-doc-header {
        display: grid;
        grid-template-columns: 235px minmax(0, 1fr);
        gap: 0.45rem 0.55rem;
        align-items: start;
        margin-bottom: 0.8rem;
    }

    .csa-document-workbench-page .fboq-doc-brand {
        display: flex;
        align-items: flex-start;
    }

    .csa-document-workbench-page .fboq-doc-brand img {
        display: block;
        width: 100%;
        max-width: 230px;
        height: auto;
        object-fit: contain;
    }

    .csa-document-workbench-page .fboq-doc-heading {
        min-width: 0;
        padding-top: 0.15rem;
    }

    .csa-document-workbench-page .fboq-doc-code {
        text-align: right;
        font-size: 11px;
        color: #475569;
        margin-bottom: 0.2rem;
    }

    .csa-document-workbench-page .fboq-doc-title {
        text-align: left;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        line-height: 1.2;
        margin-bottom: 0.6rem;
    }

    .csa-document-workbench-page .fboq-meta-grid {
        display: grid;
        grid-template-columns: 120px 10px minmax(0, 1fr);
        gap: 0.45rem 0.65rem;
        margin-bottom: 1rem;
        align-items: center;
    }

    .csa-document-workbench-page .fboq-meta-grid label {
        font-weight: 400;
    }

    .csa-document-workbench-page .fboq-meta-sep {
        text-align: center;
    }

    .csa-document-workbench-page .fboq-input,
    .csa-document-workbench-page .fboq-textarea {
        width: 100%;
        border-radius: 0.55rem;
        border: 1px solid #cbd5e1;
        background: #ffffff;
        color: #0f172a;
        padding: 0.42rem 0.7rem;
        font-size: inherit;
        font-family: inherit;
        line-height: 1.35;
        transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
    }

    .csa-document-workbench-page .fboq-input:focus,
    .csa-document-workbench-page .fboq-textarea:focus {
        outline: none;
        border-color: #3b82f6;
        box-shadow: 0 0 0 0.18rem rgba(59, 130, 246, 0.12);
    }

    .csa-document-workbench-page .fboq-input[readonly],
    .csa-document-workbench-page .fboq-textarea[readonly] {
        background: #eff4f9;
        border-color: #d6e0ea;
        color: #334155;
        cursor: default;
        pointer-events: none;
    }

    .csa-document-workbench-page .fboq-textarea {
        min-height: 58px;
        resize: vertical;
    }

    .csa-document-workbench-page .fboq-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 0.55rem;
        font-size: inherit;
    }

    .csa-document-workbench-page .fboq-table th,
    .csa-document-workbench-page .fboq-table td {
        border: 1px solid #111827;
        padding: 0.18rem 0.28rem;
        vertical-align: middle;
    }

    .csa-document-workbench-page .fboq-table th {
        text-align: center;
        font-weight: 700;
        background: #4c94d8;
        color: #0f172a;
        line-height: 1.05;
        vertical-align: middle;
    }

    .csa-document-workbench-page .fboq-table th:nth-child(1),
    .csa-document-workbench-page .fboq-table td:nth-child(1) {
        width: 42px;
        text-align: center;
        vertical-align: middle;
    }

    .csa-document-workbench-page .fboq-table th:nth-child(2),
    .csa-document-workbench-page .fboq-table td:nth-child(2) {
        width: 33%;
    }

    .csa-document-workbench-page .fboq-table th:nth-child(3),
    .csa-document-workbench-page .fboq-table td:nth-child(3) {
        width: 8%;
    }

    .csa-document-workbench-page .fboq-table th:nth-child(4),
    .csa-document-workbench-page .fboq-table td:nth-child(4) {
        width: 13%;
    }

    .csa-document-workbench-page .fboq-table th:nth-child(5),
    .csa-document-workbench-page .fboq-table td:nth-child(5),
    .csa-document-workbench-page .fboq-table th:nth-child(6),
    .csa-document-workbench-page .fboq-table td:nth-child(6) {
        width: 12%;
    }

    .csa-document-workbench-page .fboq-table th:nth-child(7),
    .csa-document-workbench-page .fboq-table td:nth-child(7) {
        width: 22%;
    }

    .csa-document-workbench-page .fboq-row-number {
        font-weight: 400;
        line-height: 1;
    }

    .csa-document-workbench-page .fboq-footnote {
        font-size: 11px;
        color: #475569;
        margin-top: 0.4rem;
    }

    .csa-document-workbench-page .fboq-cell-input,
    .csa-document-workbench-page .fboq-cell-textarea,
    .csa-document-workbench-page .fboq-cell-static {
        width: 100%;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #0f172a;
        padding: 0.12rem 0.16rem;
        font-size: inherit;
        font-family: inherit;
        line-height: 1.2;
        box-shadow: none;
    }

    .csa-document-workbench-page .fboq-cell-input:focus,
    .csa-document-workbench-page .fboq-cell-textarea:focus {
        outline: none;
        background: #eef6ff;
        box-shadow: inset 0 0 0 1px #86b6f6;
    }

    .csa-document-workbench-page .fboq-cell-input[readonly],
    .csa-document-workbench-page .fboq-cell-textarea[readonly] {
        background: transparent;
        color: #0f172a;
        pointer-events: none;
    }

    .csa-document-workbench-page .fboq-cell-textarea {
        min-height: 42px;
        resize: none;
        overflow: hidden;
    }

    .csa-document-workbench-page .fboq-cell-static {
        min-height: 24px;
        display: flex;
        align-items: center;
    }

    .csa-document-workbench-page .fboq-table tbody tr {
        height: 22px;
    }

    .csa-document-workbench-page .fboq-signature-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 1.2rem;
        font-size: 11px;
    }

    .csa-document-workbench-page .fboq-signature-table td {
        border: 1px solid #111827;
        padding: 0.28rem 0.4rem;
        vertical-align: top;
    }

    .csa-document-workbench-page .fboq-signature-company {
        min-height: 28px;
    }

    .csa-document-workbench-page .fboq-signature-company.center {
        text-align: center;
    }

    .csa-document-workbench-page .fboq-signature-space {
        height: 82px;
    }

    @media (max-width: 992px) {
        .csa-document-workbench-page .fboq-doc-header {
            grid-template-columns: 1fr;
        }

        .csa-document-workbench-page .fboq-doc-brand {
            justify-content: center;
        }

        .csa-document-workbench-page .fboq-meta-grid {
            grid-template-columns: 1fr;
        }

        .csa-document-workbench-page .fboq-meta-sep {
            display: none;
        }

        .csa-document-workbench-page .fboq-export-mode {
            width: 100%;
        }

        .csa-document-workbench-page .fboq-signature-space {
            height: 56px;
        }
    }

    @media print {
        .csa-document-workbench-page {
            background: #ffffff;
        }

        .csa-document-workbench-page .fboq-toolbar,
        .csa-document-workbench-page .fboq-helper,
        .csa-document-workbench-page .fboq-warning {
            display: none !important;
        }

        .csa-document-workbench-page .fboq-paper {
            width: 100%;
            margin: 0;
            border: none;
            border-radius: 0;
            box-shadow: none;
            padding: 0;
        }

        .csa-document-workbench-page .fboq-input,
        .csa-document-workbench-page .fboq-textarea {
            -webkit-print-color-adjust: exact;
            print-color-adjust: exact;
        }
    }

/* Implementation dashboard */
    .implementation-dashboard {
        --impl-border: rgba(17, 24, 39, 0.11);
        --impl-surface: #ffffff;
        --impl-surface-soft: #f7f9fc;
        --impl-surface-strong: #eef3f8;
        --impl-muted: #64748b;
        --impl-heading: #111827;
        --impl-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
        --impl-shadow-soft: 0 10px 24px rgba(15, 23, 42, 0.06);
        width: min(100%, 1800px);
        margin: 0 auto;
        padding: 1.25rem 1.25rem 2rem !important;
        color: var(--bs-body-color);
    }

    html[data-bs-theme="dark"] .implementation-dashboard {
        --impl-border: rgba(148, 163, 184, 0.2);
        --impl-surface: #111827;
        --impl-surface-soft: #172033;
        --impl-surface-strong: #1f2937;
        --impl-muted: #aab4c3;
        --impl-heading: #f8fafc;
        --impl-shadow: 0 16px 36px rgba(0, 0, 0, 0.32);
        --impl-shadow-soft: 0 10px 24px rgba(0, 0, 0, 0.22);
    }

    .dashboard-header,
    .dashboard-filter,
    .dashboard-panel,
    .dashboard-kpi-card,
    .dashboard-milestone-card {
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background: var(--impl-surface);
        box-shadow: var(--impl-shadow-soft);
    }

    .dashboard-header {
        position: relative;
        overflow: hidden;
        padding: 1.15rem;
        background:
            linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(20, 184, 166, 0.08) 50%, rgba(245, 158, 11, 0.08)),
            var(--impl-surface);
        box-shadow: var(--impl-shadow);
    }

    .dashboard-header::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 4px;
        background: linear-gradient(90deg, #2563eb, #0f766e 42%, #f59e0b 72%, #dc2626);
    }

    .dashboard-eyebrow,
    .dashboard-filter .form-label,
    .dashboard-section-kicker {
        margin-bottom: 0.35rem;
        color: var(--impl-muted);
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .dashboard-title {
        margin: 0;
        color: var(--impl-heading);
        font-size: 1.48rem;
        font-weight: 800;
        line-height: 1.15;
    }

    .dashboard-subtitle {
        margin: 0.45rem 0 0;
        color: var(--impl-muted);
        font-size: 0.92rem;
    }

    .implementation-dashboard .min-w-0 {
        min-width: 0;
    }

    .dashboard-header-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.55rem;
    }

    .dashboard-meta-pill,
    .dashboard-filter-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        min-height: 2.25rem;
        max-width: 100%;
        padding: 0.45rem 0.7rem;
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background: var(--impl-surface-soft);
        color: var(--impl-muted);
        font-size: 0.82rem;
        font-weight: 650;
    }

    .dashboard-meta-pill span,
    .dashboard-filter-chip span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .dashboard-filter {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0)),
            var(--impl-surface);
    }

    html[data-bs-theme="dark"] .dashboard-filter {
        background: var(--impl-surface);
    }

    .dashboard-filter-body {
        padding: 1rem;
    }

    .dashboard-filter .input-group-text,
    .dashboard-filter .form-control,
    .dashboard-filter .form-select {
        min-height: 2.62rem;
        border-color: var(--impl-border);
        border-radius: 0.5rem;
        box-shadow: none;
    }

    .dashboard-filter .input-group-text {
        color: var(--impl-muted);
        background: var(--impl-surface-soft);
    }

    .dashboard-filter .input-group>.input-group-text {
        border-radius: 0.5rem 0 0 0.5rem;
    }

    .dashboard-filter .input-group>.form-select {
        border-radius: 0 0.5rem 0.5rem 0;
    }

    .dashboard-filter .input-group>.form-control {
        border-radius: 0 0.5rem 0.5rem 0;
    }

    .dashboard-filter .form-control:focus,
    .dashboard-filter .form-select:focus {
        border-color: rgba(13, 110, 253, 0.45);
        box-shadow: 0 0 0 0.22rem rgba(13, 110, 253, 0.12);
    }

    .dashboard-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .dashboard-actions .btn,
    .dashboard-header-actions .btn {
        min-height: 2.35rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        border-radius: 0.5rem;
        font-weight: 700;
        white-space: nowrap;
    }

    .dashboard-filter-summary {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.45rem;
    }

    .dashboard-section-heading {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 1rem;
        margin: 1.2rem 0 0.8rem;
    }

    .dashboard-section-title {
        margin: 0;
        color: var(--impl-heading);
        font-size: 1.05rem;
        font-weight: 800;
    }

    .dashboard-command-shell {
        position: relative;
        overflow: hidden;
        padding: 1rem;
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background:
            linear-gradient(180deg, rgba(37, 99, 235, 0.06), rgba(255, 255, 255, 0) 44%),
            var(--impl-surface);
        box-shadow: var(--impl-shadow);
    }

    html[data-bs-theme="dark"] .dashboard-command-shell {
        background:
            linear-gradient(180deg, rgba(37, 99, 235, 0.12), rgba(17, 24, 39, 0) 44%),
            var(--impl-surface);
    }

    .dashboard-command-shell::before {
        content: "";
        position: absolute;
        top: 4.05rem;
        right: 1.2rem;
        left: 1.2rem;
        height: 2px;
        background: linear-gradient(90deg, rgba(37, 99, 235, 0.32), rgba(15, 118, 110, 0.28), rgba(245, 158, 11, 0.3), rgba(220, 38, 38, 0.26));
        opacity: 0.8;
    }

    .dashboard-kpi-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 0.9rem;
    }

    .dashboard-pipeline-grid {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: repeat(7, minmax(142px, 1fr));
        gap: 0.85rem;
    }

    .dashboard-kpi-card,
    .dashboard-pipeline-card,
    .dashboard-milestone-card {
        position: relative;
        min-height: 166px;
        padding: 0.95rem;
        overflow: hidden;
        transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
    }

    .dashboard-kpi-card::before,
    .dashboard-pipeline-card::before,
    .dashboard-milestone-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 3px;
        background: var(--tone-color, #64748b);
    }

    .dashboard-kpi-card:hover,
    .dashboard-pipeline-card:hover,
    .dashboard-milestone-card:hover {
        border-color: var(--tone-border, var(--impl-border));
        box-shadow: var(--impl-shadow);
        transform: translateY(-1px);
    }

    .dashboard-pipeline-card {
        min-height: 184px;
        padding: 0.9rem;
        background:
            linear-gradient(180deg, var(--tone-soft, rgba(100, 116, 139, 0.08)), rgba(255, 255, 255, 0) 42%),
            var(--impl-surface);
    }

    html[data-bs-theme="dark"] .dashboard-pipeline-card {
        background:
            linear-gradient(180deg, var(--tone-soft, rgba(100, 116, 139, 0.12)), rgba(17, 24, 39, 0) 42%),
            var(--impl-surface);
    }

    .dashboard-pipeline-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.7rem;
        margin-bottom: 0.8rem;
    }

    .dashboard-stage-number {
        width: 1.85rem;
        height: 1.85rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.5rem;
        color: #fff;
        background: var(--tone-color, #64748b);
        font-size: 0.76rem;
        font-weight: 850;
        box-shadow: 0 8px 18px var(--tone-soft, rgba(100, 116, 139, 0.18));
    }

    .dashboard-pipeline-main {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.65rem;
        margin-top: 0.75rem;
    }

    .dashboard-pipeline-metric {
        min-width: 0;
    }

    .dashboard-pipeline-status {
        margin-top: 0.2rem;
        color: var(--impl-muted);
        font-size: 0.74rem;
        font-weight: 700;
    }

    .dashboard-pipeline-arrow {
        position: absolute;
        top: 3.16rem;
        right: -0.92rem;
        z-index: 2;
        width: 1.15rem;
        height: 1.15rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--impl-border);
        border-radius: 999px;
        background: var(--impl-surface);
        color: var(--tone-color, #64748b);
        font-size: 0.75rem;
        box-shadow: var(--impl-shadow-soft);
    }

    .dashboard-pipeline-card:last-child .dashboard-pipeline-arrow {
        display: none;
    }

    .dashboard-executive-shell {
        position: relative;
        overflow: hidden;
        padding: 1rem;
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background:
            linear-gradient(135deg, rgba(37, 99, 235, 0.07), rgba(15, 118, 110, 0.05) 46%, rgba(245, 158, 11, 0.06)),
            var(--impl-surface);
        box-shadow: var(--impl-shadow);
    }

    html[data-bs-theme="dark"] .dashboard-executive-shell {
        background:
            linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(15, 118, 110, 0.09) 46%, rgba(245, 158, 11, 0.08)),
            var(--impl-surface);
    }

    .dashboard-executive-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.9rem;
    }

    .dashboard-executive-primary,
    .dashboard-readiness-card,
    .dashboard-executive-card,
    .dashboard-sow-card,
    .dashboard-stage-pie-card,
    .dashboard-stage-mix {
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background: var(--impl-surface);
        box-shadow: var(--impl-shadow-soft);
    }

    .dashboard-executive-primary {
        min-height: 0;
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(170px, 0.65fr) minmax(260px, 1fr);
        align-items: center;
        padding: 1rem;
        gap: 1rem;
    }

    .dashboard-readiness-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.9rem;
    }

    .dashboard-readiness-card {
        min-height: 142px;
        padding: 0.9rem;
        background:
            linear-gradient(180deg, var(--tone-soft, rgba(100, 116, 139, 0.08)), rgba(255, 255, 255, 0) 48%),
            var(--impl-surface);
    }

    html[data-bs-theme="dark"] .dashboard-readiness-card {
        background:
            linear-gradient(180deg, var(--tone-soft, rgba(100, 116, 139, 0.12)), rgba(17, 24, 39, 0) 48%),
            var(--impl-surface);
    }

    .dashboard-readiness-body {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.85rem;
        margin-top: 0.75rem;
    }

    .dashboard-readiness-value {
        color: var(--tone-color, #2563eb);
        font-size: 2.35rem;
        font-weight: 850;
        line-height: 1;
    }

    .dashboard-readiness-value span {
        color: var(--impl-muted);
        font-size: 0.92rem;
        font-weight: 800;
    }

    .dashboard-readiness-card .dashboard-ring {
        width: 4.8rem;
        height: 4.8rem;
    }

    .dashboard-readiness-card .dashboard-ring::after {
        width: 3.45rem;
        height: 3.45rem;
    }

    .dashboard-readiness-card .dashboard-ring span {
        font-size: 0.92rem;
    }

    .dashboard-executive-primary-head,
    .dashboard-executive-card-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.85rem;
    }

    .dashboard-executive-label {
        color: var(--impl-muted);
        font-size: 0.74rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .dashboard-executive-title {
        margin-top: 0.25rem;
        color: var(--impl-heading);
        font-size: 1.02rem;
        font-weight: 850;
        line-height: 1.2;
    }

    .dashboard-executive-description {
        margin-top: 0.28rem;
        color: var(--impl-muted);
        font-size: 0.78rem;
        font-weight: 650;
        line-height: 1.25;
    }

    .dashboard-executive-total {
        color: var(--tone-color, #2563eb);
        font-size: 3rem;
        font-weight: 850;
        line-height: 1;
    }

    .dashboard-executive-note {
        margin-top: 0.35rem;
        color: var(--impl-muted);
        font-size: 0.8rem;
        font-weight: 650;
    }

    .dashboard-executive-primary .dashboard-ring {
        width: 6rem;
        height: 6rem;
    }

    .dashboard-executive-primary .dashboard-ring::after {
        width: 4.35rem;
        height: 4.35rem;
    }

    .dashboard-executive-primary .dashboard-ring span {
        font-size: 1rem;
    }

    .dashboard-executive-details {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .dashboard-executive-detail {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.65rem 0.75rem;
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background: var(--impl-surface-soft);
        color: var(--impl-muted);
        font-size: 0.8rem;
        font-weight: 700;
    }

    .dashboard-executive-detail strong {
        color: var(--impl-heading);
        font-weight: 850;
        white-space: nowrap;
    }

    .dashboard-executive-secondary {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.9rem;
    }

    .dashboard-executive-card {
        min-height: 138px;
        padding: 0.9rem;
        background:
            linear-gradient(180deg, var(--tone-soft, rgba(100, 116, 139, 0.08)), rgba(255, 255, 255, 0) 46%),
            var(--impl-surface);
    }

    html[data-bs-theme="dark"] .dashboard-executive-card {
        background:
            linear-gradient(180deg, var(--tone-soft, rgba(100, 116, 139, 0.12)), rgba(17, 24, 39, 0) 46%),
            var(--impl-surface);
    }

    .dashboard-executive-card-value {
        margin-top: 1rem;
        color: var(--tone-color, #475569);
        font-size: 2.1rem;
        font-weight: 850;
        line-height: 1;
    }

    .dashboard-executive-card-value.has-inline-amount {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 0.4rem 0.7rem;
    }

    .dashboard-executive-card-value span {
        color: var(--impl-muted);
        font-size: 0.92rem;
        font-weight: 800;
    }

    .dashboard-executive-card-value .dashboard-executive-count-ratio {
        color: var(--tone-color, #475569);
        font-size: inherit;
        font-weight: inherit;
    }

    .dashboard-executive-card-value .dashboard-executive-inline-amount {
        color: var(--impl-heading);
        font-size: 1rem;
        font-weight: 850;
        white-space: nowrap;
    }

    .dashboard-operational-card {
        min-height: 206px;
    }

    .dashboard-operational-card .dashboard-progress {
        margin-top: 0.7rem;
    }

    .dashboard-operational-breakdown {
        display: grid;
        gap: 0.45rem;
        max-height: 8.4rem;
        margin-top: 0.8rem;
        overflow-y: auto;
        padding-right: 0.15rem;
    }

    .dashboard-operational-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.6rem;
        min-height: 2.05rem;
        padding: 0.45rem 0.55rem;
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background: var(--impl-surface-soft);
        color: var(--impl-muted);
        font-size: 0.76rem;
        font-weight: 750;
    }

    .dashboard-operational-row span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .dashboard-operational-meta {
        min-width: 0;
        display: grid;
        gap: 0.12rem;
    }

    .dashboard-operational-meta small,
    .dashboard-operational-amount {
        color: var(--impl-muted);
        font-size: 0.69rem;
        font-weight: 750;
        line-height: 1.25;
    }

    .dashboard-operational-meta small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .dashboard-operational-amount {
        margin-top: 0.32rem;
    }

    .dashboard-operational-amount strong {
        color: var(--impl-heading);
        font-weight: 850;
    }

    .dashboard-operational-row strong {
        color: var(--impl-heading);
        font-weight: 850;
        white-space: nowrap;
    }

    .dashboard-operational-row.is-empty strong {
        color: var(--impl-muted);
    }

    .dashboard-quality-row {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.9rem;
    }

    .dashboard-quality-card {
        min-height: 286px;
    }

    .dashboard-quality-total {
        color: var(--tone-color, #475569);
        font-size: 2.15rem;
        font-weight: 850;
        line-height: 1;
    }

    .dashboard-quality-summary {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.5rem;
        margin-top: 0.8rem;
    }

    .dashboard-quality-severity {
        min-width: 0;
        padding: 0.55rem;
        border: 1px solid var(--quality-border);
        border-radius: 0.5rem;
        background: var(--quality-soft);
    }

    .dashboard-quality-severity span {
        display: block;
        color: var(--quality-color);
        font-size: 0.68rem;
        font-weight: 850;
        text-transform: uppercase;
    }

    .dashboard-quality-severity strong {
        display: block;
        margin-top: 0.2rem;
        color: var(--impl-heading);
        font-size: 1.25rem;
        font-weight: 850;
        line-height: 1;
    }

    .dashboard-quality-groups {
        display: grid;
        gap: 0.7rem;
        margin-top: 0.85rem;
    }

    .dashboard-quality-group-title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.6rem;
        margin-bottom: 0.4rem;
        color: var(--quality-color);
        font-size: 0.72rem;
        font-weight: 850;
        text-transform: uppercase;
    }

    .dashboard-quality-group-title strong {
        color: var(--impl-heading);
        white-space: nowrap;
    }

    .dashboard-quality-items {
        display: grid;
        gap: 0.35rem;
    }

    .dashboard-quality-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.6rem;
        min-height: 1.95rem;
        padding: 0.42rem 0.52rem;
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background: var(--impl-surface-soft);
        color: var(--impl-muted);
        font-size: 0.76rem;
        font-weight: 700;
    }

    .dashboard-quality-item span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .dashboard-quality-item strong {
        color: var(--impl-heading);
        font-weight: 850;
        white-space: nowrap;
    }

    .dashboard-quality-empty {
        color: var(--impl-muted);
        font-size: 0.76rem;
        font-weight: 700;
    }

    .dashboard-quality-notes {
        display: grid;
        gap: 0.35rem;
        margin-top: 0.85rem;
        padding-top: 0.75rem;
        border-top: 1px solid var(--impl-border);
        color: var(--impl-muted);
        font-size: 0.72rem;
        line-height: 1.35;
    }

    .dashboard-quality-notes strong {
        color: var(--impl-heading);
        font-size: 0.72rem;
        text-transform: uppercase;
    }

    .quality-critical {
        --quality-color: #dc2626;
        --quality-soft: rgba(220, 38, 38, 0.1);
        --quality-border: rgba(220, 38, 38, 0.22);
    }

    .quality-major {
        --quality-color: #d97706;
        --quality-soft: rgba(245, 158, 11, 0.12);
        --quality-border: rgba(245, 158, 11, 0.26);
    }

    .quality-minor {
        --quality-color: #475569;
        --quality-soft: rgba(71, 85, 105, 0.1);
        --quality-border: rgba(71, 85, 105, 0.2);
    }

    .dashboard-sow-stage-row {
        grid-column: 1 / -1;
        display: grid;
        gap: 0.9rem;
    }

    .dashboard-sow-overview-row {
        display: grid;
        grid-template-columns: minmax(250px, 0.62fr) repeat(2, minmax(320px, 1fr));
        gap: 0.9rem;
        align-items: stretch;
    }

    .dashboard-sow-card,
    .dashboard-stage-pie-card,
    .dashboard-stage-mix {
        padding: 0.95rem;
    }

    .dashboard-stage-pie-card {
        position: relative;
        min-height: 258px;
        display: grid;
        grid-template-rows: auto minmax(208px, 1fr);
        overflow: hidden;
        isolation: isolate;
        background:
            linear-gradient(135deg, var(--pie-soft, rgba(96, 165, 250, 0.1)), rgba(255, 255, 255, 0) 62%),
            var(--impl-surface);
    }

    html[data-bs-theme="dark"] .dashboard-stage-pie-card {
        background:
            linear-gradient(135deg, var(--pie-soft-dark, rgba(96, 165, 250, 0.14)), rgba(17, 24, 39, 0) 62%),
            var(--impl-surface);
    }

    .dashboard-stage-pie-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 3px;
        background: var(--pie-color, #2563eb);
    }

    .dashboard-stage-pie-card.pie-rfi {
        --pie-color: #3b82f6;
        --pie-soft: rgba(147, 197, 253, 0.16);
        --pie-soft-dark: rgba(96, 165, 250, 0.16);
    }

    .dashboard-stage-pie-card.pie-cip {
        --pie-color: #14b8a6;
        --pie-soft: rgba(153, 246, 228, 0.18);
        --pie-soft-dark: rgba(45, 212, 191, 0.15);
    }

    .dashboard-stage-pie-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.85rem;
    }

    .dashboard-stage-pie-title {
        color: var(--pie-color, #1f4b83);
        font-size: 1.05rem;
        font-weight: 850;
        line-height: 1.15;
        text-transform: uppercase;
    }

    .dashboard-stage-pie-total {
        display: inline-flex;
        align-items: center;
        min-height: 1.8rem;
        padding: 0.32rem 0.55rem;
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background: var(--impl-surface-soft);
        color: var(--impl-heading);
        font-size: 0.75rem;
        font-weight: 850;
        white-space: nowrap;
    }

    .dashboard-stage-pie-chart {
        position: relative;
        z-index: 1;
        min-height: 208px;
        width: 100%;
        margin-top: 0.25rem;
    }

    .dashboard-stage-pie-empty {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 208px;
        color: var(--impl-muted);
        font-size: 0.78rem;
        font-weight: 700;
    }

    .dashboard-sow-values {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0.75rem;
        margin-top: 0.8rem;
    }

    .dashboard-sow-value {
        min-width: 0;
        padding: 0.75rem;
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background: var(--impl-surface-soft);
    }

    .dashboard-sow-value span {
        display: block;
        color: var(--impl-muted);
        font-size: 0.72rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .dashboard-sow-value strong {
        display: block;
        margin-top: 0.25rem;
        color: var(--impl-heading);
        font-size: 1.75rem;
        font-weight: 850;
        line-height: 1;
    }

    .dashboard-stage-mix-grid {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.8rem;
        margin-top: 0.8rem;
    }

    .dashboard-stage-mix-item {
        min-width: 0;
    }

    .dashboard-stage-mix-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        margin-bottom: 0.4rem;
        color: var(--impl-muted);
        font-size: 0.9rem;
        font-weight: 700;
    }

    .dashboard-stage-mix-meta span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .dashboard-stage-mix-meta strong {
        color: var(--impl-heading);
        font-size: 1.35rem;
        font-weight: 850;
        line-height: 1;
    }

    .dashboard-kpi-head,
    .dashboard-milestone-head {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        min-width: 0;
    }

    .dashboard-icon,
    .dashboard-step {
        width: 2.35rem;
        height: 2.35rem;
        border-radius: 0.5rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        color: var(--tone-color, #64748b);
        background: var(--tone-soft, rgba(100, 116, 139, 0.1));
        box-shadow: inset 0 0 0 1px var(--tone-border, rgba(100, 116, 139, 0.18));
    }

    .dashboard-kpi-label,
    .dashboard-milestone-title {
        min-width: 0;
        color: var(--impl-heading);
        font-size: 0.91rem;
        font-weight: 800;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .dashboard-kpi-body {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-top: 0.95rem;
    }

    .dashboard-kpi-value {
        color: var(--tone-color, #475569);
        font-size: 1.95rem;
        font-weight: 850;
        line-height: 1;
    }

    .dashboard-kpi-subtitle {
        margin-top: 0.25rem;
        color: var(--impl-muted);
        font-size: 0.76rem;
    }

    .dashboard-ring {
        position: relative;
        width: 4rem;
        height: 4rem;
        border-radius: 50%;
        display: grid;
        place-items: center;
        flex: 0 0 auto;
        background: conic-gradient(var(--tone-color, #64748b) var(--angle), var(--bs-tertiary-bg) 0);
    }

    .dashboard-pipeline-card .dashboard-ring {
        width: 3.25rem;
        height: 3.25rem;
    }

    .dashboard-ring::after {
        content: "";
        position: absolute;
        width: 2.85rem;
        height: 2.85rem;
        border-radius: 50%;
        background: var(--impl-surface);
    }

    .dashboard-pipeline-card .dashboard-ring::after {
        width: 2.28rem;
        height: 2.28rem;
    }

    .dashboard-ring span {
        position: relative;
        z-index: 1;
        color: var(--tone-color, #475569);
        font-size: 0.82rem;
        font-weight: 850;
    }

    .dashboard-progress {
        height: 0.42rem;
        margin-top: 0.85rem;
        border-radius: 999px;
        background: var(--bs-tertiary-bg);
    }

    .dashboard-progress .progress-bar {
        border-radius: inherit;
        background: var(--tone-color, #64748b);
    }

    .dashboard-card-detail {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.6rem;
        margin-top: 0.75rem;
        padding-top: 0.7rem;
        border-top: 1px solid var(--impl-border);
        color: var(--impl-muted);
        font-size: 0.79rem;
    }

    .dashboard-pipeline-card .dashboard-card-detail {
        margin-top: 0.65rem;
        padding-top: 0.55rem;
        font-size: 0.74rem;
    }

    .dashboard-card-detail strong {
        color: var(--impl-heading);
        font-weight: 800;
        white-space: nowrap;
    }

    .tone-blue {
        --tone-color: #2563eb;
        --tone-soft: rgba(37, 99, 235, 0.11);
        --tone-border: rgba(37, 99, 235, 0.2);
    }

    .tone-green {
        --tone-color: #15803d;
        --tone-soft: rgba(21, 128, 61, 0.12);
        --tone-border: rgba(21, 128, 61, 0.22);
    }

    .tone-olive {
        --tone-color: #6f8f1f;
        --tone-soft: rgba(111, 143, 31, 0.13);
        --tone-border: rgba(111, 143, 31, 0.24);
    }

    .tone-teal {
        --tone-color: #0f766e;
        --tone-soft: rgba(15, 118, 110, 0.12);
        --tone-border: rgba(15, 118, 110, 0.22);
    }

    .tone-emerald {
        --tone-color: #059669;
        --tone-soft: rgba(5, 150, 105, 0.12);
        --tone-border: rgba(5, 150, 105, 0.22);
    }

    .tone-amber {
        --tone-color: #d97706;
        --tone-soft: rgba(217, 119, 6, 0.12);
        --tone-border: rgba(217, 119, 6, 0.22);
    }

    .tone-slate {
        --tone-color: #475569;
        --tone-soft: rgba(71, 85, 105, 0.12);
        --tone-border: rgba(71, 85, 105, 0.22);
    }

    .tone-danger {
        --tone-color: #dc2626;
        --tone-soft: rgba(220, 38, 38, 0.11);
        --tone-border: rgba(220, 38, 38, 0.22);
    }

    .dashboard-milestone-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
        gap: 0.9rem;
    }

    .dashboard-milestone-card {
        --tone-color: #15803d;
        --tone-soft: rgba(21, 128, 61, 0.1);
        --tone-border: rgba(21, 128, 61, 0.2);
        min-height: 148px;
        background:
            linear-gradient(135deg, var(--tone-soft), rgba(15, 118, 110, 0.05) 46%, rgba(255, 255, 255, 0) 76%),
            var(--impl-surface);
    }

    .dashboard-milestone-card.is-over-sla {
        --tone-color: #ea580c;
        --tone-soft: rgba(234, 88, 12, 0.11);
        --tone-border: rgba(234, 88, 12, 0.24);
    }

    html[data-bs-theme="dark"] .dashboard-milestone-card {
        background:
            linear-gradient(135deg, var(--tone-soft), rgba(15, 118, 110, 0.1) 46%, rgba(17, 24, 39, 0) 76%),
            var(--impl-surface);
    }

    .dashboard-step {
        width: auto;
        min-width: 2.15rem;
        height: 2rem;
        padding: 0 0.55rem;
        color: var(--tone-color);
        background: var(--tone-soft);
        box-shadow: inset 0 0 0 1px var(--tone-border);
        font-weight: 850;
    }

    .dashboard-duration {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 0.75rem;
        margin-top: 1rem;
        padding: 0.75rem;
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background: rgba(255, 255, 255, 0.54);
    }

    html[data-bs-theme="dark"] .dashboard-duration {
        background: rgba(15, 23, 42, 0.24);
    }

    .dashboard-duration-value {
        color: var(--tone-color);
        font-size: 1.85rem;
        font-weight: 850;
        line-height: 1;
    }

    .dashboard-duration-label,
    .dashboard-next-label {
        color: var(--impl-muted);
        font-size: 0.76rem;
        line-height: 1.25;
    }

    .dashboard-sample-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        min-height: 2rem;
        padding: 0.35rem 0.55rem;
        border: 1px solid var(--tone-border);
        border-radius: 0.5rem;
        background: var(--tone-soft);
        color: var(--impl-heading);
        font-size: 0.76rem;
        font-weight: 800;
        white-space: nowrap;
    }

    .dashboard-sample-chip.is-muted {
        border-color: var(--impl-border);
        background: var(--impl-surface-soft);
        color: var(--impl-muted);
    }

    .dashboard-panel {
        padding: 1rem;
        box-shadow: var(--impl-shadow);
    }

    .dashboard-panel-header {
        display: flex;
        align-items: start;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 0.9rem;
    }

    .dashboard-panel-title {
        margin: 0;
        color: var(--impl-heading);
        font-size: 1.05rem;
        font-weight: 800;
    }

    .dashboard-aging-legend {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.45rem;
    }

    .dashboard-legend-item {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        color: var(--impl-muted);
        font-size: 0.78rem;
        font-weight: 650;
    }

    .dashboard-legend-dot {
        width: 0.55rem;
        height: 0.55rem;
        border-radius: 999px;
        background: var(--legend-color);
    }

    .dashboard-legend-dot--healthy {
        --legend-color: #16a34a;
    }

    .dashboard-legend-dot--warning {
        --legend-color: #f59e0b;
    }

    .dashboard-legend-dot--critical {
        --legend-color: #dc2626;
    }

    .dashboard-chart {
        display: grid;
        gap: 0.75rem;
    }

    .dashboard-risk-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .dashboard-progress-track {
        height: 0.52rem;
        border-radius: 999px;
        background: var(--bs-body-bg);
    }

    .dashboard-progress-track .progress-bar {
        min-width: var(--bar-min-width);
        border-radius: inherit;
        background: var(--bar-color);
    }

    .dashboard-risk-card {
        min-height: 228px;
        display: flex;
        flex-direction: column;
        gap: 0.85rem;
        padding: 0.95rem;
        border: 1px solid var(--impl-border);
        border-radius: 0.5rem;
        background:
            linear-gradient(135deg, rgba(37, 99, 235, 0.06), rgba(255, 255, 255, 0) 58%),
            var(--impl-surface);
        box-shadow: var(--impl-shadow-soft);
    }

    html[data-bs-theme="dark"] .dashboard-risk-card {
        background:
            linear-gradient(135deg, rgba(37, 99, 235, 0.1), rgba(17, 24, 39, 0) 58%),
            var(--impl-surface);
    }

    .dashboard-risk-card-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.75rem;
    }

    .dashboard-risk-stage {
        color: var(--impl-heading);
        font-size: 1rem;
        font-weight: 850;
        line-height: 1.15;
    }

    .dashboard-risk-total {
        color: var(--impl-muted);
        font-size: 0.76rem;
        font-weight: 700;
    }

    .dashboard-risk-total strong {
        color: var(--impl-heading);
        font-weight: 850;
    }

    .dashboard-risk-status {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        min-height: 2rem;
        padding: 0.35rem 0.55rem;
        border: 1px solid var(--risk-border);
        border-radius: 0.5rem;
        background: var(--risk-soft);
        color: var(--risk-color);
        font-size: 0.76rem;
        font-weight: 850;
        white-space: nowrap;
    }

    .dashboard-risk-buckets {
        display: grid;
        gap: 0.55rem;
    }

    .dashboard-risk-bucket {
        padding: 0.65rem;
        border: 1px solid var(--risk-border);
        border-radius: 0.5rem;
        background: var(--risk-soft);
    }

    .dashboard-risk-bucket-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        margin-bottom: 0.45rem;
        color: var(--impl-heading);
        font-size: 0.78rem;
        font-weight: 800;
    }

    .dashboard-risk-bucket-meta span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .dashboard-risk-bucket-meta strong {
        color: var(--risk-color);
        font-weight: 850;
        white-space: nowrap;
    }

    .dashboard-risk-bucket-count {
        margin-top: 0.28rem;
        color: var(--impl-muted);
        font-size: 0.72rem;
        font-weight: 700;
        text-align: right;
    }

    .dashboard-risk-bucket .dashboard-progress-track {
        background: rgba(255, 255, 255, 0.74);
    }

    html[data-bs-theme="dark"] .dashboard-risk-bucket .dashboard-progress-track {
        background: rgba(15, 23, 42, 0.34);
    }

    .dashboard-risk-no-date {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-top: auto;
        padding-top: 0.65rem;
        border-top: 1px solid var(--impl-border);
        color: var(--impl-muted);
        font-size: 0.78rem;
        font-weight: 700;
    }

    .dashboard-risk-no-date strong {
        color: var(--impl-heading);
        font-weight: 850;
        white-space: nowrap;
    }

    .risk-healthy {
        --risk-color: #16a34a;
        --risk-soft: rgba(22, 163, 74, 0.1);
        --risk-border: rgba(22, 163, 74, 0.22);
    }

    .risk-watch {
        --risk-color: #d97706;
        --risk-soft: rgba(245, 158, 11, 0.12);
        --risk-border: rgba(245, 158, 11, 0.26);
    }

    .risk-critical {
        --risk-color: #dc2626;
        --risk-soft: rgba(220, 38, 38, 0.1);
        --risk-border: rgba(220, 38, 38, 0.22);
    }

    .dashboard-state {
        min-height: 116px;
        border: 1px dashed var(--impl-border);
        border-radius: 0.5rem;
        display: grid;
        grid-column: 1 / -1;
        place-items: center;
        padding: 1.1rem;
        color: var(--impl-muted);
        background: var(--impl-surface-soft);
        text-align: center;
    }

    .dashboard-state.is-error {
        color: var(--bs-danger);
        background: rgba(var(--bs-danger-rgb), 0.08);
        border-color: rgba(var(--bs-danger-rgb), 0.26);
    }

    .dashboard-state-icon {
        display: block;
        margin-bottom: 0.35rem;
        font-size: 1.25rem;
    }

    .dashboard-detail-link {
        appearance: none;
        border: 0;
        border-radius: 0.35rem;
        padding: 0;
        background: transparent;
        color: inherit;
        font: inherit;
        line-height: inherit;
        text-align: inherit;
        text-decoration: none;
        cursor: pointer;
    }

    .dashboard-detail-link:hover,
    .dashboard-detail-link:focus {
        color: var(--tone-color, var(--bs-primary));
        text-decoration: none;
    }

    .dashboard-detail-link:focus-visible {
        outline: 0.16rem solid rgba(13, 110, 253, 0.32);
        outline-offset: 0.12rem;
    }

    .dashboard-detail-page {
        display: grid;
        min-height: min(72vh, 720px);
        grid-template-rows: auto auto minmax(0, 1fr) auto;
        gap: 0.75rem;
        padding: 1rem;
    }

    .dashboard-detail-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 0.85rem 1rem;
        border: 1px solid var(--csa-border);
        border-radius: var(--csa-radius-md);
        background: var(--csa-surface);
        box-shadow: var(--csa-shadow-sm);
    }

    .dashboard-detail-title {
        margin: 0;
        color: var(--csa-text);
        font-size: 0.98rem;
        font-weight: 850;
    }

    .dashboard-detail-subtitle {
        margin-top: 0.22rem;
        color: var(--csa-text-muted);
        font-size: 0.8rem;
        font-weight: 650;
    }

    .dashboard-detail-controls {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0.75rem;
        padding: 0.75rem;
        border: 1px solid var(--csa-border);
        border-radius: var(--csa-radius-lg);
        background: var(--csa-surface);
        box-shadow: var(--csa-shadow-sm);
    }

    .dashboard-detail-filter {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.5rem;
        width: 100%;
    }

    .dashboard-detail-filter-field {
        display: grid;
        gap: 0.22rem;
        min-width: 9.75rem;
        margin: 0;
    }

    .dashboard-detail-filter-field span {
        color: var(--csa-text-muted);
        font-size: 0.68rem;
        font-weight: 800;
        line-height: 1;
        text-transform: uppercase;
    }

    .dashboard-detail-filter-field .form-select {
        min-height: 1.95rem;
    }

    .dashboard-detail-search {
        width: min(100%, 22rem);
    }

    .dashboard-detail-per-page {
        width: auto;
        min-width: 7.6rem;
    }

    .dashboard-detail-pagination {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.65rem;
    }

    .dashboard-detail-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.75rem;
        border: 1px solid var(--csa-border);
        border-radius: var(--csa-radius-md);
        background: var(--csa-surface);
    }

    .dashboard-detail-count {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.45rem;
        color: var(--csa-text-muted);
        font-size: 0.78rem;
        font-weight: 700;
        white-space: nowrap;
    }

    .dashboard-detail-count span {
        display: inline-flex;
        align-items: center;
        min-height: 1.9rem;
        padding: 0.28rem 0.55rem;
        border: 1px solid var(--csa-border);
        border-radius: 999px;
        background: var(--csa-surface-soft);
    }

    .dashboard-detail-filter .btn,
    .dashboard-detail-pagination .page-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.32rem;
        min-height: 1.95rem;
    }

    .dashboard-detail-table-wrap {
        min-height: 280px;
        max-height: min(58vh, 600px);
        overflow: auto;
        border: 1px solid var(--csa-border);
        border-radius: var(--csa-radius-lg);
        background: var(--csa-surface);
        box-shadow: var(--csa-shadow-sm);
    }

    .table.csa-data-table.dashboard-detail-table {
        color: var(--csa-text);
        min-width: 1080px;
        font-size: 0.82rem;
    }

    .table.csa-data-table.dashboard-detail-table.is-fixed {
        table-layout: fixed;
        min-width: var(--detail-table-min-width, 1080px);
    }

    .table.csa-data-table.dashboard-detail-table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        border-bottom: 1px solid var(--csa-border);
        background: var(--csa-surface-soft);
        color: var(--csa-text-muted);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        text-transform: uppercase;
    }

    .table.csa-data-table.dashboard-detail-table.is-fixed thead th {
        white-space: nowrap;
    }

    .table.csa-data-table.dashboard-detail-table.is-fixed thead th.detail-head-wrap {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .table.csa-data-table.dashboard-detail-table tbody td {
        padding: 0.85rem 0.75rem;
        border-color: var(--csa-border);
        vertical-align: middle;
        line-height: 1.35;
    }

    .dashboard-detail-table .detail-cell-primary,
    .dashboard-detail-table .detail-cell-secondary {
        display: block;
        min-width: 0;
    }

    .dashboard-detail-table .detail-cell-primary {
        font-weight: 700;
        overflow-wrap: anywhere;
    }

    .dashboard-detail-table .detail-cell-secondary {
        margin-top: 0.18rem;
        color: var(--csa-text-muted);
        font-size: 0.78rem;
        overflow-wrap: anywhere;
    }

    .dashboard-detail-table .detail-cell-wrap {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .dashboard-detail-table .detail-cell-nowrap,
    .dashboard-detail-table .detail-cell-date,
    .dashboard-detail-table .detail-cell-number,
    .dashboard-detail-table .detail-cell-action {
        white-space: nowrap;
    }

    .dashboard-detail-table .detail-cell-date-stack {
        display: grid;
        gap: 0.14rem;
        white-space: nowrap;
    }

    .dashboard-detail-total {
        flex: 0 0 auto;
        padding: 0.45rem 0.65rem;
        font-size: 0.76rem;
        font-weight: 800;
    }

    .implementation-detail-page {
        max-width: 1800px;
    }

    .implementation-detail-page .dashboard-detail-page {
        display: grid;
        gap: 0.75rem;
        min-height: 0;
        padding: 0;
    }

    .implementation-detail-page .dashboard-detail-head {
        display: none;
    }

    .implementation-detail-page .dashboard-detail-controls {
        padding: 1rem;
        border-width: 1px;
        border-radius: var(--csa-radius-lg);
        background: var(--csa-surface);
    }

    .implementation-detail-page .dashboard-detail-footer {
        padding: 0.75rem;
        border-width: 1px;
        border-radius: var(--csa-radius-md);
        background: var(--csa-surface);
    }

    .implementation-detail-page .dashboard-detail-filter {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
        gap: 1rem;
        align-items: end;
    }

    .implementation-detail-page .dashboard-detail-filter-field {
        display: grid;
        gap: 0.45rem;
        min-width: 0;
        margin: 0;
    }

    .implementation-detail-page .dashboard-detail-filter-field span {
        color: var(--csa-text-muted);
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 1.2;
        text-transform: uppercase;
    }

    .implementation-detail-page .dashboard-detail-filter-field .form-select,
    .implementation-detail-page .dashboard-detail-search .form-control,
    .implementation-detail-page .dashboard-detail-search .input-group-text,
    .implementation-detail-page .dashboard-detail-per-page {
        min-height: 2.65rem;
    }

    .implementation-detail-page .dashboard-detail-filter-field .form-select,
    .implementation-detail-page .dashboard-detail-search .form-control,
    .implementation-detail-page .dashboard-detail-search .input-group-text,
    .implementation-detail-page .dashboard-detail-per-page,
    .implementation-detail-page .dashboard-detail-filter-action .btn {
        border-radius: 0.75rem;
    }

    .implementation-detail-page .dashboard-detail-search {
        width: auto;
        min-width: 0;
    }

    .implementation-detail-page .dashboard-detail-per-page {
        width: auto;
        min-width: 8rem;
    }

    .implementation-detail-page .dashboard-detail-filter-action {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        align-self: end;
    }

    .implementation-detail-page .dashboard-detail-filter-action .btn {
        min-height: 2.65rem;
        padding-left: 1rem;
        padding-right: 1rem;
        white-space: nowrap;
    }

    .implementation-detail-page .dashboard-detail-filter-action .btn,
    .implementation-detail-page .dashboard-detail-pagination .page-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
    }

    .implementation-detail-page .dashboard-detail-table-wrap {
        min-height: 360px;
        max-height: none;
        overflow: auto;
        border: 1px solid var(--csa-border);
        border-radius: var(--csa-radius-lg);
        background: var(--csa-surface);
        box-shadow: var(--csa-shadow-sm);
    }

    .implementation-detail-page .dashboard-detail-table {
        font-size: 0.875rem;
    }

    .implementation-detail-page .dashboard-detail-table thead th {
        padding: 0.75rem;
    }

    .implementation-detail-page .dashboard-detail-table tbody td {
        padding: 0.75rem;
    }

    .dashboard-quality-detail-wrap {
        overflow-x: auto;
    }

    .dashboard-quality-detail-table {
        table-layout: fixed;
        min-width: var(--detail-table-min-width, 1920px);
    }

    .dashboard-quality-detail-table thead th {
        white-space: nowrap;
    }

    .dashboard-quality-detail-table thead th.quality-milestone-head {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .dashboard-quality-detail-table tbody td {
        line-height: 1.35;
    }

    .dashboard-quality-detail-table .quality-cell-primary,
    .dashboard-quality-detail-table .quality-cell-secondary {
        display: block;
        min-width: 0;
    }

    .dashboard-quality-detail-table .quality-cell-primary {
        font-weight: 700;
        overflow-wrap: anywhere;
    }

    .dashboard-quality-detail-table .quality-cell-secondary {
        margin-top: 0.18rem;
        color: var(--csa-text-muted);
        font-size: 0.78rem;
        overflow-wrap: anywhere;
    }

    .dashboard-quality-detail-table .quality-cell-date,
    .dashboard-quality-detail-table .quality-cell-stage,
    .dashboard-quality-detail-table .quality-cell-severity {
        white-space: nowrap;
    }

    .dashboard-quality-detail-table .quality-cell-note,
    .dashboard-quality-detail-table .quality-cell-value,
    .dashboard-quality-detail-table .quality-cell-finding {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .dashboard-table-col--56 {
        width: 56px;
    }

    .dashboard-table-col--100 {
        width: 100px;
    }

    .dashboard-table-col--110 {
        width: 110px;
    }

    .dashboard-table-col--120 {
        width: 120px;
    }

    .dashboard-table-col--130 {
        width: 130px;
    }

    .dashboard-table-col--140 {
        width: 140px;
    }

    .dashboard-table-col--150 {
        width: 150px;
    }

    .dashboard-table-col--160 {
        width: 160px;
    }

    .dashboard-table-col--180 {
        width: 180px;
    }

    .dashboard-table-col--220 {
        width: 220px;
    }

    .dashboard-table-col--240 {
        width: 240px;
    }

    .dashboard-table-col--250 {
        width: 250px;
    }

    .dashboard-table-col--260 {
        width: 260px;
    }

    .dashboard-table-col--280 {
        width: 280px;
    }

    .dashboard-table-col--290 {
        width: 290px;
    }

    .dashboard-table-col--300 {
        width: 300px;
    }

    .dashboard-table-col--330 {
        width: 330px;
    }

    .dashboard-table-col--360 {
        width: 360px;
    }

    .dashboard-table-col--480 {
        width: 480px;
    }

    html[data-bs-theme="dark"] .implementation-detail-page .dashboard-detail-controls,
    html[data-bs-theme="dark"] .implementation-detail-page .dashboard-detail-footer,
    html[data-bs-theme="dark"] .implementation-detail-page .dashboard-detail-table-wrap {
        background: transparent;
    }

    html[data-bs-theme="dark"] .implementation-detail-page .dashboard-detail-table tbody td,
    html[data-bs-theme="dark"] .implementation-detail-page .dashboard-detail-table thead th,
    html[data-bs-theme="dark"] .implementation-detail-page .dashboard-detail-controls,
    html[data-bs-theme="dark"] .implementation-detail-page .dashboard-detail-footer {
        border-color: rgba(148, 163, 184, 0.22);
    }

    @media (max-width: 1399.98px) {
        .dashboard-kpi-grid {
            grid-template-columns: repeat(auto-fit, minmax(188px, 1fr));
        }

        .dashboard-command-shell {
            overflow-x: auto;
        }

        .dashboard-pipeline-grid {
            min-width: 1060px;
        }

        .dashboard-executive-grid {
            grid-template-columns: 1fr;
        }

        .dashboard-executive-secondary {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 991.98px) {
        .dashboard-header-actions,
        .dashboard-filter-summary,
        .dashboard-aging-legend {
            justify-content: flex-start;
        }

        .dashboard-risk-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .dashboard-executive-primary,
        .dashboard-readiness-grid,
        .dashboard-quality-row,
        .dashboard-sow-stage-row,
        .dashboard-sow-overview-row {
            grid-template-columns: 1fr;
        }

    }

    @media (max-width: 575.98px) {
        .implementation-dashboard {
            padding-left: 0.75rem !important;
            padding-right: 0.75rem !important;
        }

        .dashboard-title {
            font-size: 1.35rem;
        }

        .dashboard-actions .btn,
        .dashboard-header-actions .btn,
        .dashboard-meta-pill {
            width: 100%;
        }

        .dashboard-command-shell {
            padding: 0.75rem;
        }

        .dashboard-command-shell::before,
        .dashboard-pipeline-arrow {
            display: none;
        }

        .dashboard-pipeline-grid {
            min-width: 0;
            grid-template-columns: 1fr;
        }

        .dashboard-executive-shell {
            padding: 0.75rem;
        }

        .dashboard-executive-primary,
        .dashboard-readiness-grid,
        .dashboard-executive-secondary,
        .dashboard-executive-details,
        .dashboard-quality-row,
        .dashboard-quality-summary,
        .dashboard-sow-stage-row,
        .dashboard-sow-overview-row,
        .dashboard-sow-values,
        .dashboard-stage-mix-grid {
            grid-template-columns: 1fr;
        }

        .dashboard-executive-primary-head,
        .dashboard-executive-card-head,
        .dashboard-stage-pie-head {
            align-items: stretch;
            flex-direction: column;
        }

        .dashboard-section-heading,
        .dashboard-panel-header,
        .dashboard-duration {
            align-items: stretch;
            flex-direction: column;
        }

        .dashboard-risk-grid {
            grid-template-columns: 1fr;
        }

        .dashboard-detail-page {
            min-height: auto;
            padding: 0.75rem;
        }

        .dashboard-detail-head,
        .dashboard-detail-controls,
        .dashboard-detail-footer,
        .dashboard-detail-filter,
        .dashboard-detail-pagination {
            align-items: stretch;
            flex-direction: column;
        }

        .dashboard-detail-filter,
        .dashboard-detail-filter-field,
        .dashboard-detail-search,
        .dashboard-detail-per-page,
        .dashboard-detail-filter .btn {
            width: 100%;
        }

        .dashboard-detail-table-wrap {
            min-height: 240px;
        }

        .dashboard-detail-pagination {
            justify-content: flex-start;
            overflow-x: auto;
            width: 100%;
        }

        .dashboard-detail-pagination .pagination {
            flex-wrap: nowrap;
        }

        .implementation-detail-page .dashboard-detail-footer,
        .implementation-detail-page .dashboard-detail-filter-action,
        .implementation-detail-page .dashboard-detail-pagination {
            align-items: stretch;
            flex-direction: column;
        }

        .implementation-detail-page .dashboard-detail-filter,
        .implementation-detail-page .dashboard-detail-filter-field,
        .implementation-detail-page .dashboard-detail-search,
        .implementation-detail-page .dashboard-detail-per-page,
        .implementation-detail-page .dashboard-detail-filter-action,
        .implementation-detail-page .dashboard-detail-filter-action .btn,
        .implementation-detail-page .dashboard-detail-pagination {
            width: 100%;
        }
    }


/* Work Order route migration */

/* Source: app/Views/work_order/index.php */

    #CreateWoModal .modal-dialog {
        max-width: min(1120px, calc(100vw - 1rem));
        max-height: calc(100vh - 1rem);
    }

    #CreateWoModal .modal-content {
        overflow: hidden;
        max-height: calc(100vh - 1rem);
        border: 0;
        border-radius: 0.8rem;
        box-shadow: 0 1.25rem 3.5rem rgba(33, 37, 41, 0.22);
    }

    #CreateWoModal [data-wo-create-form] {
        display: flex;
        flex-direction: column;
        min-height: 0;
        max-height: calc(100vh - 1rem);
    }

    .wo-create-header {
        flex: 0 0 auto;
        align-items: center;
        gap: 1rem;
        padding: 1rem 1.25rem;
        background: #fff;
        border-bottom: 1px solid rgba(222, 226, 230, 0.9);
    }

    .wo-create-heading {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        min-width: 0;
    }

    .wo-create-heading__icon {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 2.35rem;
        height: 2.35rem;
        border-radius: 0.6rem;
        color: #0d6efd;
        background: #e7f1ff;
    }

    .wo-create-heading__title {
        color: #212529;
        font-size: 1.05rem;
        font-weight: 700;
        line-height: 1.2;
    }

    .wo-create-heading__subtitle {
        color: #6c757d;
        font-size: 0.82rem;
        line-height: 1.25;
    }

    .wo-create-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        padding: 1rem;
        background: #f6f7f9;
    }

    .wo-create-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
        gap: 1rem;
        align-items: start;
    }

    .wo-create-panel {
        min-width: 0;
        padding: 1rem;
        border: 1px solid rgba(222, 226, 230, 0.95);
        border-radius: 0.7rem;
        background: #fff;
    }

    .wo-create-panel + .wo-create-panel {
        margin-top: 1rem;
    }

    .wo-create-panel__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-bottom: 0.85rem;
    }

    .wo-create-panel__title {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        color: #343a40;
        font-size: 0.86rem;
        font-weight: 700;
    }

    .wo-create-panel__title i {
        color: #0d6efd;
    }

    .wo-create-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        min-height: 1.55rem;
        padding: 0.25rem 0.55rem;
        border: 1px solid rgba(13, 110, 253, 0.18);
        border-radius: 999px;
        color: #0d6efd;
        background: rgba(13, 110, 253, 0.07);
        font-size: 0.72rem;
        font-weight: 700;
        white-space: nowrap;
    }

    .wo-create-field-grid {
        display: grid;
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
        gap: 0.85rem;
    }

    .wo-rab-info {
        margin-top: 0.75rem;
        padding: 0.8rem;
        border: 1px solid rgba(222, 226, 230, 0.95);
        border-radius: 0.65rem;
        background: #f8f9fa;
    }

    .wo-rab-info__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-bottom: 0.7rem;
    }

    .wo-rab-info__title {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        color: #343a40;
        font-size: 0.82rem;
        font-weight: 800;
    }

    .wo-rab-info__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem 0.85rem;
    }

    .wo-rab-info__item {
        min-width: 0;
    }

    .wo-rab-info__item--full {
        grid-column: 1 / -1;
    }

    .wo-rab-info__label {
        color: #6c757d;
        font-size: 0.68rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .wo-rab-info__value {
        min-width: 0;
        color: #212529;
        font-size: 0.86rem;
        font-weight: 700;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .wo-create-alert-stack {
        display: grid;
        gap: 0.65rem;
        margin-bottom: 1rem;
    }

    .wo-create-alert {
        border-radius: 0.65rem;
    }

    .wo-pr-checklist {
        min-height: 9rem;
        max-height: 17rem;
        overflow-y: auto;
        border: 1px solid rgba(222, 226, 230, 0.95);
        border-radius: 0.65rem;
        background: #fff;
    }

    .wo-pr-checklist__empty {
        display: flex;
        min-height: 9rem;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        padding: 1rem;
        color: #6c757d;
        text-align: center;
    }

    .wo-pr-checklist__toolbar {
        position: sticky;
        top: 0;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.6rem 0.75rem;
        border-bottom: 1px solid rgba(222, 226, 230, 0.9);
        background: #f8f9fa;
    }

    .wo-pr-check-item {
        display: flex;
        gap: 0.65rem;
        padding: 0.7rem 0.75rem;
        border-bottom: 1px solid rgba(222, 226, 230, 0.72);
        cursor: pointer;
    }

    .wo-pr-check-item:last-child {
        border-bottom: 0;
    }

    .wo-pr-check-item:hover {
        background: #f8fbff;
    }

    .wo-pr-check-item .form-check-input {
        margin-top: 0.2rem;
        flex: 0 0 auto;
    }

    .wo-pr-check-item__body {
        min-width: 0;
        flex: 1 1 auto;
    }

    .wo-pr-check-item__title {
        color: #212529;
        font-size: 0.9rem;
        font-weight: 700;
        line-height: 1.25;
        word-break: break-word;
    }

    .wo-pr-check-item__meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
        margin-top: 0.35rem;
    }

    .wo-pr-check-item__details {
        display: grid;
        gap: 0.2rem;
        margin-top: 0.45rem;
        color: #6c757d;
        font-size: 0.76rem;
        line-height: 1.25;
    }

    .wo-pr-check-item__details strong {
        color: #495057;
    }

    .wo-import-panel {
        margin-top: 0.75rem;
        padding: 0.8rem;
        border: 1px solid rgba(13, 110, 253, 0.2);
        border-radius: 0.65rem;
        background: #f8fbff;
    }

    .wo-import-panel__meta {
        display: grid;
        gap: 0.25rem;
        color: #6c757d;
        font-size: 0.78rem;
    }

    .wo-import-panel__meta strong {
        color: #343a40;
    }

    .wo-import-compare {
        margin-top: 0.75rem;
        margin-bottom: 0.75rem;
        padding: 0.75rem;
        border: 1px solid rgba(222, 226, 230, 0.95);
        border-radius: 0.55rem;
        background: #fff;
    }

    .wo-import-compare__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-bottom: 0.6rem;
    }

    .wo-import-compare__title {
        color: #343a40;
        font-size: 0.78rem;
        font-weight: 800;
    }

    .wo-import-compare__table {
        display: grid;
        grid-template-columns: minmax(80px, 0.7fr) minmax(0, 1fr) minmax(0, 1fr);
        overflow: hidden;
        border: 1px solid rgba(222, 226, 230, 0.85);
        border-radius: 0.45rem;
    }

    .wo-import-compare__cell {
        min-width: 0;
        padding: 0.45rem 0.55rem;
        border-bottom: 1px solid rgba(222, 226, 230, 0.75);
        color: #343a40;
        font-size: 0.76rem;
        overflow-wrap: anywhere;
    }

    .wo-import-compare__cell:nth-last-child(-n + 3) {
        border-bottom: 0;
    }

    .wo-import-compare__cell--head {
        background: #f8f9fa;
        color: #6c757d;
        font-size: 0.68rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .wo-import-compare__cell--label {
        font-weight: 800;
    }

    .wo-import-compare__issues {
        margin-top: 0.55rem;
        color: #842029;
        font-size: 0.76rem;
    }

    .csa-wo-milestone-mode {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .csa-wo-milestone-mode .btn {
        min-height: 2.25rem;
        font-size: 0.82rem;
        font-weight: 700;
        white-space: normal;
    }

    .csa-wo-custom-milestones {
        margin-top: 0.75rem;
        padding: 0.8rem;
        border: 1px solid rgba(13, 110, 253, 0.2);
        border-radius: 0.65rem;
        background: #f8fbff;
    }

    .csa-wo-custom-milestones__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-bottom: 0.65rem;
    }

    .csa-wo-custom-milestones__title {
        color: #343a40;
        font-size: 0.78rem;
        font-weight: 800;
    }

    .csa-wo-custom-milestones__list {
        display: grid;
        gap: 0.55rem;
        margin-bottom: 0.7rem;
    }

    .csa-wo-custom-milestones__row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(96px, 0.35fr) 2rem;
        gap: 0.55rem;
        align-items: end;
    }

    .csa-wo-custom-milestones__field {
        min-width: 0;
    }

    .csa-wo-custom-milestones__remove {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        padding: 0;
        border-radius: 0.45rem;
    }

    .wo-pr-snapshot {
        overflow: hidden;
        border: 1px solid rgba(206, 212, 218, 0.95);
        border-radius: 0.7rem;
        background: #fff;
    }

    .wo-pr-snapshot__header {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.75rem 0.9rem;
        background: #f8f9fa;
        border-bottom: 1px solid rgba(222, 226, 230, 0.9);
    }

    .wo-pr-snapshot__identity {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        min-width: 0;
    }

    .wo-pr-snapshot__icon {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 1.85rem;
        height: 1.85rem;
        border-radius: 0.45rem;
        color: #0d6efd;
        background: #e7f1ff;
    }

    .csa-work-order-page .min-w-0 {
        min-width: 0;
    }

    .wo-summary-row {
        cursor: pointer;
    }

    .wo-summary-row[aria-expanded="true"] {
        background: rgba(13, 110, 253, 0.04);
    }

    .wo-row-number {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
    }

    .wo-row-toggle-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.3rem;
        height: 1.3rem;
        border-radius: 999px;
        color: #0d6efd;
        background: rgba(13, 110, 253, 0.08);
    }

    .wo-row-toggle-icon i {
        font-size: 0.75rem;
        line-height: 1;
        transition: transform 0.18s ease;
    }

    .wo-summary-row[aria-expanded="true"] .wo-row-toggle-icon i {
        transform: rotate(180deg);
    }

    .wo-row-detail-shell {
        min-width: 880px;
    }

    .wo-row-detail-card {
        width: 100%;
        max-width: 100%;
    }

    .wo-row-detail-table-wrap {
        width: 100%;
        overflow-x: auto;
        overflow-y: visible;
    }

    .wo-row-detail-table {
        width: max-content;
        min-width: 100%;
        max-width: none;
        table-layout: auto;
    }

    .wo-row-detail-table th,
    .wo-row-detail-table td {
        vertical-align: middle;
    }

    .wo-row-detail-table th {
        white-space: nowrap;
    }

    .wo-row-detail-stack {
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
        line-height: 1.3;
    }

    .wo-row-detail-meta-value {
        overflow-wrap: anywhere;
    }

    .wo-row-detail-link {
        color: #0d6efd;
        transition: color 0.2s ease, text-decoration 0.2s ease;
    }

    .wo-row-detail-link:hover {
        color: #0a58ca;
        text-decoration: underline !important;
    }

    .wo-action-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.8rem;
        height: 1.8rem;
        padding: 0;
        border-radius: 0.45rem;
        line-height: 1;
        vertical-align: middle;
    }

    .wo-action-btn i {
        font-size: 0.85rem;
        line-height: 1;
    }

    .wo-action-btn:disabled,
    .wo-action-btn.disabled {
        cursor: not-allowed;
        opacity: 0.55;
    }

    .wo-pr-snapshot__body {
        padding: 0.9rem;
    }

    .wo-pr-snapshot__copy {
        min-width: 0;
    }

    .wo-pr-snapshot__grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.65rem 1rem;
    }

    .wo-pr-snapshot__item {
        min-width: 0;
        padding: 0 0 0 0.65rem;
        border-left: 2px solid rgba(13, 110, 253, 0.16);
    }

    .wo-pr-snapshot__full {
        grid-column: 1 / -1;
    }

    .wo-pr-snapshot-label {
        color: #6c757d;
        font-size: 0.68rem;
        font-weight: 700;
        line-height: 1.15;
        text-transform: uppercase;
    }

    .wo-pr-snapshot-value {
        color: #212529;
        font-size: 0.86rem;
        font-weight: 600;
        line-height: 1.25;
        word-break: break-word;
    }

    .wo-pr-snapshot-muted {
        color: #6c757d;
        font-size: 0.82rem;
        line-height: 1.25;
        word-break: break-word;
    }

    .wo-margin-preview {
        min-height: 78px;
        padding: 0.75rem;
        border: 1px solid rgba(25, 135, 84, 0.28);
        border-radius: 0.65rem;
        background: rgba(25, 135, 84, 0.07);
    }

    .wo-margin-preview__percent {
        color: #198754;
        font-size: 1.35rem;
        font-weight: 700;
        line-height: 1.1;
    }

    .wo-margin-preview__amount {
        color: #6c757d;
        font-size: 0.78rem;
        line-height: 1.2;
    }

    .wo-finance-stack {
        display: grid;
        gap: 0.85rem;
    }

    .wo-finance-tile {
        min-width: 0;
        padding: 0.75rem;
        border: 1px solid rgba(222, 226, 230, 0.95);
        border-radius: 0.65rem;
        background: #fbfcfe;
    }

    .wo-finance-tile .form-control {
        min-height: 2.65rem;
        font-size: 1rem;
        font-weight: 700;
    }

    .wo-finance-tile--input {
        border-color: rgba(13, 110, 253, 0.22);
        background: #f8fbff;
    }

    .wo-create-footer {
        flex: 0 0 auto;
        padding: 0.9rem 1.25rem;
        background: #fff;
        border-top: 1px solid rgba(222, 226, 230, 0.9);
    }

    #CreateWoModal .select2-container {
        width: 100% !important;
    }

    #CreateWoModal .select2-container--default .select2-selection--single {
        display: flex;
        align-items: center;
        min-height: calc(2.25rem + 2px);
        padding: 0.375rem 2.25rem 0.375rem 0.75rem;
        border: var(--bs-border-width) solid var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        background-color: var(--bs-body-bg);
    }

    #CreateWoModal .select2-container--default .select2-selection--single .select2-selection__rendered {
        width: 100%;
        padding: 0;
        color: var(--bs-body-color);
        line-height: 1.5;
    }

    #CreateWoModal .select2-container--default .select2-selection--single .select2-selection__placeholder {
        color: var(--bs-secondary-color);
    }

    #CreateWoModal .select2-container--default .select2-selection--single .select2-selection__arrow {
        top: 0;
        right: 0.75rem;
        width: 1rem;
        height: 100%;
    }

    #CreateWoModal .select2-container--default.select2-container--focus .select2-selection--single,
    #CreateWoModal .select2-container--default.select2-container--open .select2-selection--single {
        border-color: #86b7fe;
        outline: 0;
        box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    }

    #CreateWoModal .select2-container--default .select2-selection--multiple {
        min-height: calc(2.25rem + 2px);
        padding: 0.2rem 0.35rem;
        border: var(--bs-border-width) solid var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        background-color: var(--bs-body-bg);
    }

    #CreateWoModal .select2-container--default .select2-selection--multiple .select2-selection__choice {
        margin-top: 0.42rem;
        border-color: rgba(13, 110, 253, 0.18);
        background: rgba(13, 110, 253, 0.08);
        color: var(--bs-body-color);
    }

    #CreateWoModal .select2-container--default .select2-selection--multiple .select2-search__field {
        min-height: 1.8rem;
    }

    @media (max-width: 767.98px) {

        .wo-create-grid,
        .wo-create-field-grid {
            grid-template-columns: 1fr;
        }

        .wo-pr-snapshot__grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 575.98px) {
        .wo-rab-info__grid,
        .wo-pr-snapshot__grid {
            grid-template-columns: 1fr;
        }

        .wo-row-detail-shell {
            min-width: 760px;
        }

        .csa-wo-milestone-mode,
        .csa-wo-custom-milestones__row {
            grid-template-columns: 1fr;
        }

        .csa-wo-custom-milestones__remove {
            width: 100%;
        }
    }

    html.theme-dark .wo-pr-snapshot {
        background: var(--bs-body-bg);
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-summary-row[aria-expanded="true"] {
        background: rgba(13, 110, 253, 0.12);
    }

    html.theme-dark .wo-row-toggle-icon {
        background: rgba(13, 110, 253, 0.18);
    }

    html.theme-dark .wo-row-detail-shell {
        background-color: var(--bs-tertiary-bg) !important;
        border-color: var(--bs-border-color) !important;
    }

    html.theme-dark .wo-row-detail-shell .text-dark {
        color: var(--bs-body-color) !important;
    }

    html.theme-dark .wo-row-detail-card {
        background: var(--bs-body-bg);
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-row-detail-table thead {
        background: var(--bs-tertiary-bg) !important;
    }

    html.theme-dark #CreateWoModal .modal-content,
    html.theme-dark .wo-create-header,
    html.theme-dark .wo-create-panel,
    html.theme-dark .wo-create-footer {
        background: var(--bs-body-bg);
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-create-body {
        background: var(--bs-tertiary-bg);
    }

    html.theme-dark .wo-create-heading__title,
    html.theme-dark .wo-create-panel__title {
        color: var(--bs-body-color);
    }

    html.theme-dark .wo-create-heading__subtitle {
        color: var(--bs-secondary-color);
    }

    html.theme-dark .wo-finance-tile {
        background: var(--bs-tertiary-bg);
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-rab-info {
        background: var(--bs-tertiary-bg);
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-rab-info__title,
    html.theme-dark .wo-rab-info__value {
        color: var(--bs-body-color);
    }

    html.theme-dark .wo-rab-info__label {
        color: var(--bs-secondary-color);
    }

    html.theme-dark .wo-pr-checklist {
        background: var(--bs-body-bg);
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-pr-checklist__toolbar {
        background: var(--bs-tertiary-bg);
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-pr-check-item {
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-pr-check-item:hover {
        background: var(--bs-tertiary-bg);
    }

    html.theme-dark .wo-pr-check-item__title {
        color: var(--bs-body-color);
    }

    html.theme-dark .wo-pr-check-item__details,
    html.theme-dark .wo-pr-check-item__details strong {
        color: var(--bs-secondary-color);
    }

    html.theme-dark .wo-import-panel {
        background: var(--bs-tertiary-bg);
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-import-panel__meta,
    html.theme-dark .wo-import-panel__meta strong {
        color: var(--bs-secondary-color);
    }

    html.theme-dark .wo-import-compare {
        background: var(--bs-body-bg);
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-import-compare__title,
    html.theme-dark .wo-import-compare__cell {
        color: var(--bs-body-color);
    }

    html.theme-dark .wo-import-compare__cell {
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-import-compare__cell--head {
        background: var(--bs-tertiary-bg);
        color: var(--bs-secondary-color);
    }

    html.theme-dark .wo-import-compare__issues {
        color: #f1aeb5;
    }

    html.theme-dark .csa-wo-custom-milestones {
        background: rgba(13, 110, 253, 0.08);
        border-color: rgba(13, 110, 253, 0.28);
    }

    html.theme-dark .csa-wo-custom-milestones__title {
        color: var(--bs-body-color);
    }

    html.theme-dark .wo-pr-snapshot__header {
        background: var(--bs-tertiary-bg);
        border-color: var(--bs-border-color);
    }

    html.theme-dark .wo-pr-snapshot__item {
        border-left-color: rgba(13, 110, 253, 0.35);
    }

    html.theme-dark .wo-pr-snapshot-label,
    html.theme-dark .wo-pr-snapshot-muted {
        color: var(--bs-secondary-color);
    }

    html.theme-dark .wo-pr-snapshot-value {
        color: var(--bs-body-color);
    }

    html.theme-dark .wo-margin-preview {
        background: rgba(25, 135, 84, 0.16);
        border-color: rgba(25, 135, 84, 0.36);
    }

    html.theme-dark .wo-margin-preview__amount {
        color: var(--bs-secondary-color);
    }

/* Source: app/Views/work_order/detail.php */

    .wo-detail-page {
        color: #0f172a;
    }

    .wo-detail-card {
        border: 1px solid #e2e8f0;
        border-radius: 0.5rem;
        box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.06);
    }

    .wo-detail-page .min-w-0 {
        min-width: 0;
    }

    .wo-detail-header {
        background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    }

    .wo-detail-icon {
        width: 2.75rem;
        height: 2.75rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.5rem;
        color: #0d6efd;
        background: #e7f1ff;
        flex: 0 0 auto;
    }

    .wo-detail-title {
        font-size: 1.35rem;
        line-height: 1.25;
        word-break: break-word;
    }

    .wo-detail-subtitle {
        color: #64748b;
        line-height: 1.45;
        word-break: break-word;
    }

    .wo-detail-metrics {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .wo-detail-metric {
        min-width: 0;
        padding: 0.85rem;
        border: 1px solid #e2e8f0;
        border-radius: 0.5rem;
        background: rgba(255, 255, 255, 0.82);
    }

    .wo-detail-label {
        margin-bottom: 0.3rem;
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .wo-detail-value {
        color: #0f172a;
        font-weight: 700;
        line-height: 1.35;
        word-break: break-word;
    }

    .wo-detail-muted {
        color: #64748b;
        line-height: 1.45;
        word-break: break-word;
    }

    .wo-info-list {
        display: grid;
        gap: 0.95rem;
    }

    .wo-info-item {
        padding-bottom: 0.95rem;
        border-bottom: 1px solid #eef2f7;
    }

    .wo-info-item:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .wo-section-title {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin: 0;
        color: #0f172a;
        font-size: 0.95rem;
        font-weight: 700;
    }

    .wo-section-title i {
        color: #0d6efd;
    }

    .wo-detail-table-wrap {
        border: 1px solid var(--wo-border);
        border-radius: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        background: #ffffff;
    }

    .wo-detail-table {
        min-width: 1260px;
    }

    .wo-detail-table td,
    .wo-detail-table th {
        white-space: normal;
        vertical-align: middle;
    }

    .wo-detail-table thead th {
        padding: 0.8rem 0.9rem;
        color: #64748b;
        background: #f8fafc;
        border-bottom: 1px solid #dbe4ef;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .wo-detail-table tbody td {
        padding: 0.85rem 0.9rem;
        color: #334155;
        border-color: #eef2f7;
        border-bottom: 1px solid #eef2f7;
    }

    .wo-detail-table tbody tr:hover td {
        background: #f8fbff;
    }

    .wo-release-amount-field {
        display: inline-flex;
        align-items: stretch;
        width: min(100%, 11.75rem);
        min-width: 10.5rem;
        overflow: hidden;
        border: 1px solid #cbd5e1;
        border-radius: 0.5rem;
        background: #ffffff;
        box-shadow: 0 0.35rem 0.9rem rgba(15, 23, 42, 0.06);
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .wo-release-amount-field:focus-within {
        border-color: #60a5fa;
        box-shadow: 0 0 0 0.2rem rgba(96, 165, 250, 0.22);
    }

    .wo-release-amount-field.is-invalid {
        border-color: #ef4444;
        box-shadow: 0 0 0 0.18rem rgba(239, 68, 68, 0.16);
    }

    .wo-release-amount-prefix {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 2.6rem;
        min-height: 2.15rem;
        padding: 0 0.55rem;
        color: #64748b;
        border-right: 1px solid #e2e8f0;
        background: #f8fafc;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.04em;
    }

    .wo-release-amount-input.form-control {
        min-width: 0;
        height: 2.15rem;
        padding: 0.35rem 0.65rem;
        border: 0;
        border-radius: 0;
        color: #0f172a;
        background: transparent;
        box-shadow: none;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
    }

    .wo-release-amount-input.form-control:focus {
        background: transparent;
        box-shadow: none;
    }

    .wo-release-amount-input.form-control.is-invalid,
    .wo-release-amount-input.form-control:invalid {
        box-shadow: none;
    }

    .wo-detail-ref {
        color: #0a58ca;
        font-weight: 700;
    }

    .wo-detail-strong {
        color: #0f172a;
        font-weight: 700;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .wo-detail-table th:last-child,
    .wo-detail-table td:last-child {
        min-width: 150px;
        white-space: nowrap;
    }

    .wo-detail-select-col {
        width: 3.25rem;
        text-align: center;
        white-space: nowrap !important;
    }

    .wo-wrap {
        white-space: normal;
        word-break: break-word;
        line-height: 1.45;
    }

    .wo-empty-state {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        min-height: 9rem;
        color: #64748b;
    }

    .wo-empty-state i {
        color: #94a3b8;
        font-size: 2rem;
    }

    @media (max-width: 1199.98px) {
        .wo-detail-metrics {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 575.98px) {
        .wo-detail-metrics {
            grid-template-columns: 1fr;
        }

        .wo-detail-title {
            font-size: 1.12rem;
        }

        .wo-detail-header .card-body,
        .wo-detail-card .card-body,
        .wo-detail-card .card-header {
            padding: 1rem !important;
        }
    }

    html.theme-dark .wo-detail-page {
        color: var(--csa-dark-text);
    }

    html.theme-dark .wo-detail-card,
    html.theme-dark .wo-detail-metric {
        background: var(--csa-dark-surface) !important;
        border-color: var(--csa-dark-border) !important;
    }

    html.theme-dark .wo-detail-header {
        background: linear-gradient(135deg, var(--csa-dark-surface) 0%, #172033 100%);
    }

    html.theme-dark .wo-detail-icon {
        color: #93c5fd;
        background: rgba(59, 130, 246, 0.16);
    }

    html.theme-dark .wo-detail-title,
    html.theme-dark .wo-detail-value,
    html.theme-dark .wo-section-title {
        color: var(--csa-dark-text);
    }

    html.theme-dark .wo-detail-label,
    html.theme-dark .wo-detail-muted,
    html.theme-dark .wo-empty-state {
        color: var(--csa-dark-muted);
    }

    html.theme-dark .wo-info-item,
    html.theme-dark .wo-detail-table thead th,
    html.theme-dark .wo-detail-table tbody td {
        border-color: var(--csa-dark-border);
    }

    html.theme-dark .wo-detail-table thead th {
        color: var(--csa-dark-muted);
        background: var(--csa-dark-surface-soft);
    }

    html.theme-dark .wo-detail-table tbody td {
        color: var(--csa-dark-text);
    }

    .wo-detail-page {
        --wo-ink: #0f172a;
        --wo-muted: #64748b;
        --wo-border: #e2e8f0;
        --wo-border-soft: #edf2f7;
        --wo-soft: #f8fafc;
        --wo-panel: #ffffff;
        --wo-accent: #2563eb;
        --wo-accent-soft: #dbeafe;
        --wo-green: #16a34a;
        --wo-amber: #d97706;
        --wo-red: #dc2626;
    }

    .wo-detail-header {
        position: relative;
        overflow: hidden;
        background: linear-gradient(135deg, #ffffff 0%, #f5f9ff 54%, #eef7f1 100%);
    }

    .wo-detail-header::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background:
            linear-gradient(90deg, rgba(37, 99, 235, 0.08), transparent 38%),
            linear-gradient(180deg, transparent, rgba(15, 23, 42, 0.025));
    }

    .wo-detail-header > .card-body {
        position: relative;
        z-index: 1;
    }

    .wo-hero-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
        gap: 1.25rem;
        align-items: start;
    }

    .wo-hero-actions {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 0.85rem;
    }

    .wo-money-panel {
        padding: 1rem;
        border: 1px solid rgba(37, 99, 235, 0.16);
        border-radius: 0.5rem;
        background: rgba(255, 255, 255, 0.78);
    }

    .wo-money-label {
        margin-bottom: 0.3rem;
        color: var(--wo-muted);
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .wo-money-value {
        color: var(--wo-ink);
        font-size: 1.55rem;
        font-weight: 800;
        line-height: 1.15;
        word-break: break-word;
    }

    .wo-progress-track {
        overflow: hidden;
        height: 0.55rem;
        border-radius: 999px;
        background: #e5e7eb;
    }

    .wo-progress-bar {
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, var(--wo-accent), var(--wo-green));
    }

    .wo-detail-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wo-detail-metric--accent {
        border-color: rgba(37, 99, 235, 0.2);
        background: rgba(219, 234, 254, 0.48);
    }

    .wo-detail-metric--good {
        border-color: rgba(22, 163, 74, 0.2);
        background: rgba(220, 252, 231, 0.52);
    }

    .wo-detail-metric--warn {
        border-color: rgba(217, 119, 6, 0.22);
        background: rgba(254, 243, 199, 0.46);
    }

    .wo-subvalue {
        color: var(--wo-muted);
        font-size: 0.82rem;
        line-height: 1.45;
        word-break: break-word;
    }

    .wo-fact-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.85rem;
    }

    .wo-fact {
        min-width: 0;
        padding: 0.85rem;
        border: 1px solid var(--wo-border-soft);
        border-radius: 0.5rem;
        background: var(--wo-soft);
    }

    .wo-section-subtitle {
        margin: 0.25rem 0 0;
        color: var(--wo-muted);
        font-size: 0.86rem;
        line-height: 1.45;
    }

    .wo-status-strip {
        display: flex;
        overflow: hidden;
        height: 0.45rem;
        border-radius: 999px;
        background: #e5e7eb;
    }

    .wo-status-strip span {
        min-width: 0.35rem;
    }

    .wo-status-strip .status-success {
        background: var(--wo-green);
    }

    .wo-status-strip .status-warning {
        background: var(--wo-amber);
    }

    .wo-status-strip .status-danger {
        background: var(--wo-red);
    }

    .wo-status-strip .status-info {
        background: #0891b2;
    }

    .wo-status-strip .status-muted {
        background: #94a3b8;
    }

    .wo-milestone-list {
        display: grid;
        gap: 0.75rem;
    }

    .wo-milestone-item {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 0.85rem;
        align-items: start;
        padding: 0.9rem;
        border: 1px solid var(--wo-border-soft);
        border-radius: 0.5rem;
        background: #fff;
    }

    .wo-milestone-step {
        width: 2.25rem;
        height: 2.25rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.5rem;
        color: var(--wo-accent);
        background: var(--wo-accent-soft);
        font-weight: 800;
        line-height: 1;
    }

    .wo-milestone-name {
        color: var(--wo-ink);
        font-weight: 700;
        line-height: 1.35;
        word-break: break-word;
    }

    .wo-milestone-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem 0.75rem;
        margin-top: 0.35rem;
        color: var(--wo-muted);
        font-size: 0.82rem;
        line-height: 1.35;
    }

    .wo-milestone-amount {
        min-width: 8.5rem;
        text-align: right;
    }

    .wo-detail-table--snapshot {
        min-width: 860px;
    }

    .wo-tab-nav {
        gap: 0.45rem;
        border-bottom: 0;
    }

    .wo-tab-nav .nav-link {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        border: 1px solid #dbe4ef;
        border-radius: 999px;
        background: #ffffff;
        color: #475569;
        font-size: 0.78rem;
        font-weight: 700;
    }

    .wo-tab-nav .nav-link.active {
        color: #0a58ca;
        border-color: #bfd7ff;
        background: #e7f1ff;
    }

    .wo-total-row td {
        border-bottom: 0;
        background: #f8fafc;
        color: var(--wo-ink);
        font-weight: 800;
    }

    @media (max-width: 1199.98px) {
        .wo-hero-grid {
            grid-template-columns: 1fr;
        }

        .wo-hero-actions {
            justify-content: flex-start;
        }

        .wo-fact-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 767.98px) {
        .wo-detail-metrics,
        .wo-fact-grid {
            grid-template-columns: 1fr;
        }

        .wo-milestone-item {
            grid-template-columns: auto minmax(0, 1fr);
        }

        .wo-milestone-amount {
            grid-column: 1 / -1;
            min-width: 0;
            text-align: left;
        }
    }

    html.theme-dark .wo-detail-page {
        --wo-ink: var(--csa-dark-text);
        --wo-muted: var(--csa-dark-muted);
        --wo-border: var(--csa-dark-border);
        --wo-border-soft: var(--csa-dark-border);
        --wo-soft: var(--csa-dark-surface-soft);
        --wo-panel: var(--csa-dark-surface);
        --wo-accent-soft: rgba(59, 130, 246, 0.16);
    }

    html.theme-dark .wo-money-panel,
    html.theme-dark .wo-fact,
    html.theme-dark .wo-milestone-item,
    html.theme-dark .wo-detail-table-wrap {
        background: var(--csa-dark-surface) !important;
        border-color: var(--csa-dark-border) !important;
    }

    html.theme-dark .wo-detail-card .card-header {
        background: var(--csa-dark-surface) !important;
        border-color: var(--csa-dark-border);
    }

    html.theme-dark .wo-detail-header .badge.bg-light {
        background: var(--csa-dark-surface-soft) !important;
        color: var(--csa-dark-muted) !important;
        border-color: var(--csa-dark-border) !important;
    }

    html.theme-dark .wo-detail-header {
        background: linear-gradient(135deg, var(--csa-dark-surface) 0%, #172033 58%, #13251e 100%);
    }

    html.theme-dark .wo-money-value,
    html.theme-dark .wo-milestone-name,
    html.theme-dark .wo-detail-strong {
        color: var(--csa-dark-text);
    }

    html.theme-dark .wo-money-label,
    html.theme-dark .wo-subvalue,
    html.theme-dark .wo-section-subtitle,
    html.theme-dark .wo-milestone-meta {
        color: var(--csa-dark-muted);
    }

    html.theme-dark .wo-total-row td {
        background: var(--csa-dark-surface-soft);
        color: var(--csa-dark-text);
    }

    html.theme-dark .wo-detail-table tbody tr:hover td {
        background: var(--csa-dark-surface-soft);
    }

    html.theme-dark .wo-release-amount-field {
        background: var(--csa-dark-surface);
        border-color: var(--csa-dark-border);
        box-shadow: none;
    }

    html.theme-dark .wo-release-amount-field:focus-within {
        border-color: rgba(147, 197, 253, 0.58);
        box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.22);
    }

    html.theme-dark .wo-release-amount-field.is-invalid {
        border-color: rgba(248, 113, 113, 0.78);
        box-shadow: 0 0 0 0.18rem rgba(248, 113, 113, 0.2);
    }

    html.theme-dark .wo-release-amount-prefix {
        color: var(--csa-dark-muted);
        border-color: var(--csa-dark-border);
        background: var(--csa-dark-surface-soft);
    }

    html.theme-dark .wo-release-amount-input.form-control {
        color: var(--csa-dark-text);
    }

    html.theme-dark .wo-detail-ref {
        color: #93c5fd;
    }

    html.theme-dark .wo-tab-nav .nav-link {
        background: var(--csa-dark-surface);
        border-color: var(--csa-dark-border);
        color: var(--csa-dark-muted);
    }

    html.theme-dark .wo-tab-nav .nav-link.active {
        background: rgba(59, 130, 246, 0.16);
        border-color: rgba(147, 197, 253, 0.35);
        color: #93c5fd;
    }

    html.theme-dark .wo-progress-track,
    html.theme-dark .wo-status-strip {
        background: #334155;
    }

.wo-progress-bar {
    width: var(--csa-progress-value, 0%);
}

.wo-status-strip > span {
    width: var(--csa-segment-width, 0%);
}

.csa-table-col--location {
    max-width: 260px;
    min-width: 160px;
}

/* Payment Mitra dashboard and table migration */
.csa-payment-mitra-table .card-outline.card-primary {
    border-top: 3px solid var(--csa-primary);
}

.csa-payment-mitra-table .summary-card-link {
    color: inherit;
    display: block;
    min-height: 100%;
    text-decoration: none;
}

.csa-payment-mitra-table .summary-card-link:hover {
    color: inherit;
}

.csa-payment-mitra-table .summary-card-link:focus-visible {
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-focus-ring);
    outline: 0;
}

.csa-payment-mitra-table .summary-value--money {
    font-size: 1.02rem;
    line-height: 1.35;
}

.csa-payment-mitra-table .po-async-placeholder {
    background: var(--csa-surface-soft);
    border: 1px dashed rgba(100, 116, 139, 0.35);
    border-radius: var(--csa-radius-md);
}

.csa-payment-mitra-table .po-async-placeholder--table {
    min-height: 240px;
}

.csa-payment-mitra-table .po-async-placeholder-line {
    border-radius: 999px;
    min-height: 0.9rem;
}

.csa-payment-mitra-table .po-filter-toolbar {
    row-gap: 1rem;
}

.csa-payment-mitra-table .po-filter-label {
    color: var(--csa-text-muted);
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-payment-mitra-table .po-filter-label--date {
    letter-spacing: 0;
    text-transform: none;
}

.csa-payment-mitra-table .po-column-filter {
    border-color: var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
}

.csa-payment-mitra-table .po-column-filter:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-payment-mitra-table .po-filter-select + .select2-container {
    width: 100% !important;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--single,
.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple {
    align-items: center;
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    display: flex;
    min-height: calc(2.1rem + 2px);
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--single {
    padding-left: 0.1rem;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple {
    padding: 0.15rem 0.45rem;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: normal;
    padding-left: 0.35rem;
    padding-right: 1.75rem;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--single .select2-selection__placeholder,
.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple .select2-search__field::placeholder {
    color: var(--csa-text-muted);
    opacity: 1;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 0.35rem;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple .select2-selection__rendered {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0;
    width: 100%;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple .select2-selection__choice {
    align-items: center;
    background: var(--csa-primary-soft);
    border: 1px solid rgba(63, 167, 214, 0.22);
    border-radius: 999px;
    display: inline-flex;
    line-height: 1.2;
    margin-right: 0;
    margin-top: 0.15rem;
    padding: 0.2rem 0.7rem 0.2rem 1.35rem;
    position: relative;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple .select2-selection__choice__remove {
    background: transparent;
    border: 0;
    color: var(--csa-text-muted);
    font-size: 0.95rem;
    left: 0.45rem;
    line-height: 1;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: var(--csa-danger);
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple .select2-selection__choice__display {
    padding-left: 0;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple .select2-search--inline {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple .select2-search__field {
    margin-left: 0;
    margin-top: 0;
    min-height: 1.35rem;
}

.csa-payment-mitra-table .po-filter-select + .select2-container .select2-selection--multiple .select2-search--inline:first-child:last-child .select2-search__field {
    width: 100% !important;
}

.csa-payment-mitra-table .po-meta-stack,
.csa-payment-mitra-table .rfp-detail-stack {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    line-height: 1.35;
}

.csa-payment-mitra-table .cursor-pointer {
    cursor: pointer;
}

.csa-payment-mitra-table .po-detail-table-wrap,
.csa-payment-mitra-table .csa-payment-mitra-table__responsive,
.csa-payment-mitra-table .csa-payment-mitra-detail__responsive {
    overflow-x: auto;
    overflow-y: visible;
    width: 100%;
}

.csa-payment-mitra-table .po-detail-card {
    max-width: 100%;
    width: 100%;
}

.csa-payment-mitra-table .po-detail-table {
    max-width: none;
    min-width: 100%;
    table-layout: auto;
    width: max-content;
}

.csa-payment-mitra-table .po-detail-table .rfp-col-reference,
.csa-payment-mitra-table .po-detail-table .rfp-col-date,
.csa-payment-mitra-table .po-detail-table .rfp-col-status-category,
.csa-payment-mitra-table .po-detail-table .rfp-col-payment {
    max-width: none;
    min-width: 0;
    width: 1%;
}

.csa-payment-mitra-table .rfp-detail-icon-row {
    align-items: flex-start;
    display: flex;
    gap: 0.45rem;
    line-height: 1.35;
    white-space: normal;
}

.csa-payment-mitra-table .rfp-detail-symbol {
    color: var(--csa-text-muted);
    flex: 0 0 0.95rem;
    font-size: 0.72rem;
    line-height: 1.35;
    margin-top: 0.08rem;
    text-align: center;
    width: 0.95rem;
}

.csa-payment-mitra-table .po-status-category-stack {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.csa-payment-mitra-table .po-status-category-stack .csa-status {
    max-width: 100%;
    white-space: normal;
    width: fit-content;
}

.csa-payment-mitra-table .po-status-category-amount {
    font-size: 0.78rem;
    line-height: 1.3;
}

.csa-payment-mitra-table .po-detail-table .rfp-col-payment {
    min-width: 120px;
}

.csa-payment-mitra-table .po-detail-table .rfp-col-status-category,
.csa-payment-mitra-table .po-detail-table .rfp-col-aging {
    min-width: 150px;
}

.csa-payment-mitra-table .po-detail-table .rfp-col-description {
    font-size: 0.72rem;
    line-height: 1.3;
    max-width: 280px;
    min-width: 280px;
    white-space: normal;
    width: 280px;
}

.csa-payment-mitra-dashboard {
    --po-rfp-border: rgba(15, 23, 42, 0.08);
    --po-rfp-card-bg: rgba(255, 255, 255, 0.92);
    --po-rfp-muted: var(--csa-text-muted);
    --po-rfp-overlay: rgba(248, 250, 252, 0.72);
}

html.theme-dark .csa-payment-mitra-dashboard,
html[data-bs-theme="dark"] .csa-payment-mitra-dashboard {
    --po-rfp-border: rgba(148, 163, 184, 0.14);
    --po-rfp-card-bg: rgba(15, 23, 42, 0.84);
    --po-rfp-muted: #94a3b8;
    --po-rfp-overlay: rgba(15, 23, 42, 0.64);
}

.csa-payment-mitra-dashboard .po-rfp-shell {
    position: relative;
}

.csa-payment-mitra-dashboard .po-rfp-shell.is-loading .po-rfp-content {
    opacity: 0.34;
    pointer-events: none;
    user-select: none;
}

.csa-payment-mitra-dashboard .po-rfp-loading {
    align-items: center;
    background: var(--po-rfp-overlay);
    border-radius: var(--csa-radius-lg);
    display: none;
    inset: 0;
    justify-content: center;
    position: absolute;
    z-index: 20;
}

.csa-payment-mitra-dashboard .po-rfp-shell.is-loading .po-rfp-loading {
    display: flex;
}

.csa-payment-mitra-dashboard .po-rfp-loading-card,
.csa-payment-mitra-dashboard .po-rfp-filter-card,
.csa-payment-mitra-dashboard .po-rfp-panel,
.csa-payment-mitra-dashboard .po-rfp-kpi-card {
    background: var(--po-rfp-card-bg);
    border: 1px solid var(--po-rfp-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
}

.csa-payment-mitra-dashboard .po-rfp-loading-card {
    backdrop-filter: blur(3px);
    min-width: min(100%, 320px);
}

.csa-payment-mitra-dashboard .po-rfp-hero {
    background:
        linear-gradient(135deg, rgba(63, 167, 214, 0.14), rgba(64, 201, 162, 0.08)),
        var(--csa-surface);
    overflow: hidden;
}

.csa-payment-mitra-dashboard .po-rfp-badge {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 750;
    gap: 0.45rem;
    letter-spacing: 0.04em;
    padding: 0.45rem 0.85rem;
    text-transform: uppercase;
}

.csa-payment-mitra-dashboard .po-rfp-filter-label,
.csa-payment-mitra-dashboard .po-rfp-subtle,
.csa-payment-mitra-dashboard .po-rfp-panel-kicker,
.csa-payment-mitra-dashboard .po-rfp-mitra-label,
.csa-payment-mitra-dashboard .po-rfp-mitra-copy {
    color: var(--po-rfp-muted);
}

.csa-payment-mitra-dashboard .po-rfp-filter-card .form-control,
.csa-payment-mitra-dashboard .po-rfp-filter-card .form-select {
    border-color: var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    min-height: 44px;
}

.csa-payment-mitra-dashboard .po-rfp-filter-card .form-control:focus,
.csa-payment-mitra-dashboard .po-rfp-filter-card .form-select:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-payment-mitra-dashboard .po-rfp-filter-actions {
    flex-wrap: wrap;
}

.csa-payment-mitra-dashboard .po-rfp-kpi-card {
    overflow: hidden;
    position: relative;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.csa-payment-mitra-dashboard .po-rfp-kpi-card:hover {
    box-shadow: var(--csa-shadow-md);
    transform: translateY(-2px);
}

.csa-payment-mitra-dashboard .po-rfp-kpi-icon {
    align-items: center;
    background: rgba(63, 167, 214, 0.12);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.1rem;
    height: 2.75rem;
    justify-content: center;
    width: 2.75rem;
}

.csa-payment-mitra-dashboard .po-rfp-kpi-value {
    color: var(--csa-text);
    font-size: clamp(1.2rem, 1.6vw, 1.85rem);
    font-weight: 800;
    line-height: 1.15;
}

.csa-payment-mitra-dashboard .po-rfp-kpi-sky,
.csa-payment-mitra-dashboard .po-rfp-kpi-cyan {
    border-left: 4px solid var(--csa-info);
}

.csa-payment-mitra-dashboard .po-rfp-kpi-indigo,
.csa-payment-mitra-dashboard .po-rfp-kpi-slate {
    border-left: 4px solid var(--csa-primary);
}

.csa-payment-mitra-dashboard .po-rfp-kpi-rose {
    border-left: 4px solid var(--csa-danger);
}

.csa-payment-mitra-dashboard .po-rfp-kpi-emerald {
    border-left: 4px solid var(--csa-success);
}

.csa-payment-mitra-dashboard .po-rfp-kpi-amber {
    border-left: 4px solid var(--csa-warning);
}

.csa-payment-mitra-dashboard .po-rfp-panel .card-body,
.csa-payment-mitra-dashboard .po-rfp-mitra-panel .card-body {
    padding: 1.25rem;
}

.csa-payment-mitra-dashboard .po-rfp-panel-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.csa-payment-mitra-dashboard .po-rfp-panel-kicker {
    letter-spacing: 0.05em;
}

.csa-payment-mitra-dashboard .po-rfp-panel-badge {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    color: var(--csa-text-muted);
}

.csa-payment-mitra-dashboard .po-rfp-chart,
.csa-payment-mitra-dashboard .po-rfp-chart-empty {
    min-height: 330px;
}

.csa-payment-mitra-dashboard .po-rfp-chart-empty {
    align-items: center;
    display: flex;
    justify-content: center;
    text-align: center;
}

.csa-payment-mitra-dashboard .po-rfp-mitra-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.csa-payment-mitra-dashboard .po-rfp-mitra-card {
    background: var(--po-rfp-card-bg);
    border: 1px solid var(--po-rfp-border);
    border-left: 4px solid var(--csa-info);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    min-height: 150px;
    overflow: hidden;
    padding: 1rem 1.05rem;
    position: relative;
}

.csa-payment-mitra-dashboard .po-rfp-mitra-card-link {
    color: inherit;
    display: block;
    text-decoration: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.csa-payment-mitra-dashboard .po-rfp-mitra-card-link:hover {
    border-color: rgba(63, 167, 214, 0.4);
    box-shadow: var(--csa-shadow-md);
    color: inherit;
    transform: translateY(-2px);
}

.csa-payment-mitra-dashboard .po-rfp-mitra-card-link:focus-visible {
    box-shadow: var(--csa-shadow-md), var(--csa-focus-ring);
    outline: 0;
}

.csa-payment-mitra-dashboard .po-rfp-mitra-card-header {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.csa-payment-mitra-dashboard .po-rfp-mitra-label {
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.csa-payment-mitra-dashboard .po-rfp-mitra-name {
    color: var(--csa-text);
    font-size: 0.98rem;
    font-weight: 750;
    line-height: 1.35;
    margin-top: 0.25rem;
    overflow-wrap: anywhere;
}

.csa-payment-mitra-dashboard .po-rfp-mitra-value {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.csa-payment-mitra-dashboard .po-rfp-mitra-copy {
    font-size: 0.78rem;
    line-height: 1.3;
    margin-top: 0.15rem;
}

.csa-payment-mitra-dashboard .po-rfp-mitra-empty {
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px dashed var(--csa-border);
    border-radius: var(--csa-radius-md);
    color: var(--csa-text-muted);
    display: flex;
    justify-content: center;
    min-height: 150px;
    padding: 1.5rem;
    text-align: center;
}

@media (max-width: 768px) {
    .csa-payment-mitra-table .po-detail-table .rfp-col-description {
        max-width: 240px;
        min-width: 240px;
        width: 240px;
    }

    .csa-payment-mitra-dashboard .po-rfp-chart,
    .csa-payment-mitra-dashboard .po-rfp-chart-empty {
        min-height: 280px;
    }

    .csa-payment-mitra-dashboard .po-rfp-panel .card-body,
    .csa-payment-mitra-dashboard .po-rfp-filter-card .card-body,
    .csa-payment-mitra-dashboard .po-rfp-mitra-panel .card-body {
        padding: 1rem;
    }
}

/* PO Customer route migration */
.csa-po-customer-list-page .container-fluid,
.csa-po-customer-entry-page .container-fluid {
    max-width: 1600px;
}

.csa-po-customer-list-page .csa-section-body {
    min-width: 0;
}

.csa-po-customer-list-page .po-column-filter,
.csa-po-customer-list-page .po-column-filter.form-select,
.csa-po-customer-list-page .po-column-filter.form-control {
    background-color: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
}

.csa-po-customer-list-page .po-column-filter:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-po-customer-list-page .po-filter-label,
.csa-po-customer-entry-page .po-label {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.csa-po-customer-list-page .po-customer-search-select + .select2-container {
    width: 100% !important;
}

.csa-po-customer-list-page .po-customer-search-select + .select2-container .select2-selection--single {
    align-items: center;
    background-color: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    display: flex;
    min-height: calc(1.5em + 0.5rem + 2px);
}

.csa-po-customer-list-page .po-customer-search-select + .select2-container.select2-container--focus .select2-selection--single,
.csa-po-customer-list-page .po-customer-search-select + .select2-container.select2-container--open .select2-selection--single {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-po-customer-list-page .po-customer-search-select + .select2-container .select2-selection__rendered {
    color: var(--csa-text);
    line-height: calc(1.5em + 0.45rem);
    padding-left: 0.75rem;
    padding-right: 1.8rem;
}

.csa-po-customer-list-page .po-customer-search-select + .select2-container .select2-selection__placeholder {
    color: var(--csa-text-muted);
}

.csa-po-customer-list-page .po-customer-search-select + .select2-container .select2-selection__arrow {
    height: calc(1.5em + 0.5rem);
    right: 0.35rem;
    top: 0;
}

.csa-po-customer-list-page .po-customer-search-select + .select2-container .select2-selection__clear {
    color: var(--csa-danger);
    margin-right: 0.35rem;
}

.po-customer-select2-dropdown {
    background: var(--csa-surface);
    border-color: var(--csa-border-strong);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-md);
    color: var(--csa-text);
    overflow: hidden;
}

.po-customer-select2-dropdown .select2-search--dropdown {
    padding: 0.6rem;
}

.po-customer-select2-dropdown .select2-search__field {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    outline: 0;
    padding: 0.45rem 0.65rem;
}

.po-customer-select2-dropdown .select2-results__option {
    padding: 0.62rem 0.75rem;
}

.po-customer-select2-dropdown .select2-results__option--highlighted[aria-selected] {
    background: var(--csa-primary);
    color: #ffffff;
}

.csa-po-customer-list-page .po-filter-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    height: 100%;
    padding: 0.85rem;
}

.csa-po-customer-list-page .po-filter-card__head {
    align-items: center;
    display: flex;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

.csa-po-customer-list-page .po-filter-card__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    height: 2.1rem;
    justify-content: center;
    width: 2.1rem;
}

.csa-po-customer-list-page .po-filter-card__title {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.2;
}

.csa-po-customer-list-page .po-filter-card__meta {
    color: var(--csa-text-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.csa-po-customer-list-page .po-filter-choice-grid {
    display: grid;
    gap: 0.65rem;
}

.csa-po-customer-list-page .po-filter-choice-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csa-po-customer-list-page .po-filter-choice-grid--data-check {
    grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
}

.csa-po-customer-list-page .po-filter-option-card {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    cursor: pointer;
    display: grid;
    gap: 0.2rem;
    min-height: 4.15rem;
    padding: 0.7rem 0.75rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.csa-po-customer-list-page .po-filter-option-card:hover {
    border-color: rgba(63, 167, 214, 0.45);
    box-shadow: var(--csa-shadow-sm);
    transform: translateY(-1px);
}

.csa-po-customer-list-page .po-filter-card-input:focus-visible + .po-filter-option-card {
    box-shadow: var(--csa-focus-ring);
}

.csa-po-customer-list-page .po-filter-card-input:checked + .po-filter-option-card {
    background: var(--csa-primary-soft);
    border-color: rgba(10, 44, 81, 0.35);
    box-shadow: inset 0 0 0 1px rgba(10, 44, 81, 0.16);
}

.csa-po-customer-list-page .po-filter-option-card__title {
    color: var(--csa-text);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.2;
}

.csa-po-customer-list-page .po-filter-option-card__count {
    color: var(--csa-primary);
    font-size: 1.1rem;
    font-weight: 850;
    line-height: 1.1;
}

.csa-po-customer-list-page .po-filter-option-card__text {
    color: var(--csa-text-muted);
    font-size: 0.74rem;
    line-height: 1.25;
}

.csa-po-customer-list-page .po-list-table {
    min-width: 980px;
}

.csa-po-customer-list-page .po-list-table-shell {
    border-color: var(--csa-border-strong);
    border-radius: var(--csa-radius-lg);
    margin: 1rem;
}

.csa-po-customer-list-page .po-list-table-shell .table-responsive {
    border-radius: inherit;
}

.csa-po-customer-list-page .po-list-table thead th:first-child {
    border-top-left-radius: calc(var(--csa-radius-lg) - 1px);
}

.csa-po-customer-list-page .po-list-table thead th:last-child {
    border-top-right-radius: calc(var(--csa-radius-lg) - 1px);
}

.csa-po-customer-list-page .po-list-table td:nth-child(5) {
    font-variant-numeric: tabular-nums;
}

.csa-po-customer-list-page .po-list-table td:nth-child(6),
.csa-po-customer-list-page .po-list-table td:nth-child(7),
.csa-po-customer-list-page .po-list-table td:nth-child(8) {
    white-space: nowrap;
}

.csa-po-customer-list-page .po-duplicate-panel {
    background: var(--csa-surface-soft);
    border-bottom: 1px solid var(--csa-border);
    border-top: 1px solid var(--csa-border);
}

@media (max-width: 767.98px) {
    .csa-po-customer-list-page .po-filter-choice-grid--2,
    .csa-po-customer-list-page .po-filter-choice-grid--data-check {
        grid-template-columns: 1fr;
    }

    .csa-po-customer-list-page .po-list-table-shell {
        margin: 0.75rem;
    }
}

.csa-po-customer-entry-page .po-customer-page,
.csa-po-customer-entry-page .po-non-sip-page {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
}

.csa-po-customer-entry-page .po-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-sm);
    min-width: 0;
    overflow: hidden;
}

.csa-po-customer-entry-page .po-card-header,
.csa-po-customer-entry-page .po-card-head {
    align-items: center;
    background: var(--csa-primary);
    color: #ffffff;
    display: flex;
    gap: 0.75rem;
    padding: 0.95rem 1.1rem;
}

.csa-po-customer-entry-page .po-card-header h6,
.csa-po-customer-entry-page .po-card-head h6 {
    line-height: 1.3;
}

.csa-po-customer-entry-page .po-card-header .badge-step,
.csa-po-customer-entry-page .po-step {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border-radius: var(--csa-radius-sm);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.84rem;
    font-weight: 750;
    height: 1.75rem;
    justify-content: center;
    width: 1.75rem;
}

.csa-po-customer-entry-page .po-input,
.csa-po-customer-entry-page .po-input.form-control,
.csa-po-customer-entry-page .po-input.form-select {
    background-color: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    min-height: 2.625rem;
}

.csa-po-customer-entry-page .po-input:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-po-customer-entry-page .po-input:disabled,
.csa-po-customer-entry-page .po-input[readonly],
.csa-po-customer-entry-page .form-control:disabled,
.csa-po-customer-entry-page .form-control[readonly],
.csa-po-customer-entry-page .form-select:disabled,
.csa-po-customer-entry-page input:disabled,
.csa-po-customer-entry-page input[readonly],
.csa-po-customer-entry-page select:disabled,
.csa-po-customer-entry-page textarea:disabled,
.csa-po-customer-entry-page textarea[readonly] {
    background-color: var(--csa-surface-muted) !important;
    border-color: var(--csa-border-strong) !important;
    color: var(--csa-text-muted) !important;
    cursor: not-allowed;
    opacity: 1 !important;
}

.csa-po-customer-entry-page .select2-container .select2-selection--single {
    align-items: center !important;
    background-color: var(--csa-surface) !important;
    border: 1px solid var(--csa-border-strong) !important;
    border-radius: var(--csa-radius-sm) !important;
    display: flex !important;
    min-height: 2.625rem;
    padding-left: 0.45rem;
}

.csa-po-customer-entry-page .select2-container .select2-selection--single .select2-selection__rendered {
    color: var(--csa-text) !important;
    line-height: normal !important;
    padding-left: 0.2rem !important;
}

.csa-po-customer-entry-page .select2-container .select2-selection--multiple {
    align-items: center !important;
    background-color: var(--csa-surface) !important;
    border: 1px solid var(--csa-border-strong) !important;
    border-radius: var(--csa-radius-sm) !important;
    display: flex !important;
    min-height: 2.625rem;
    padding: 0.25rem 0.45rem;
}

.csa-po-customer-entry-page .select2-container .select2-selection--multiple .select2-selection__rendered {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    max-width: 100%;
    min-width: 0;
    padding: 0 !important;
}

.csa-po-customer-entry-page .select2-container--default .select2-selection--multiple .select2-selection__choice {
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-xs);
    color: var(--csa-text);
    display: inline-flex;
    margin: 0;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding-right: 0.45rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-po-customer-entry-page .select2-container--default .select2-selection--multiple .select2-selection__choice__display {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-po-customer-entry-page .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    flex: 0 0 auto;
    margin-right: 0.35rem;
}

.csa-po-customer-entry-page .select2-container .select2-selection--multiple .select2-search--inline {
    flex: 1 1 8rem;
    min-width: 8rem;
}

.csa-po-customer-entry-page .select2-container .select2-selection--multiple .select2-search__field {
    margin: 0;
    min-height: 1.5rem;
    width: 100% !important;
}

.csa-po-customer-entry-page .select2-container--default.select2-container--disabled .select2-selection--single {
    background: var(--csa-surface-muted) !important;
    border-color: var(--csa-border-strong) !important;
    cursor: not-allowed !important;
}

.csa-po-customer-entry-page .select2-container--default.select2-container--disabled .select2-selection--multiple {
    background: var(--csa-surface-muted) !important;
    border-color: var(--csa-border-strong) !important;
    cursor: not-allowed !important;
}

.csa-po-customer-entry-page .select2-container--default.select2-container--disabled .select2-selection__rendered {
    color: var(--csa-text-muted) !important;
}

.csa-po-customer-entry-page .po-select-wrap {
    min-width: 0;
}

.csa-po-customer-entry-page .po-select-wrap .select2-container {
    max-width: 100%;
    width: 100% !important;
}

.csa-po-customer-entry-page .po-select-wrap .select2-selection--single .select2-selection__rendered {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-po-customer-entry-page .po-reset-btn {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    height: 2.625rem;
    justify-content: center;
    min-width: 2.625rem;
    padding: 0 0.65rem;
}

.csa-po-customer-entry-page .po-table {
    color: var(--csa-text);
}

.csa-po-customer-entry-page .po-table thead th {
    background: var(--csa-surface-soft);
    border-bottom: 1px solid var(--csa-border);
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding-bottom: 0.75rem;
    padding-top: 0.75rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.csa-po-customer-entry-page .po-table td {
    border-color: var(--csa-border);
    vertical-align: middle;
}

.csa-po-customer-entry-page .po-items-table th:nth-child(2),
.csa-po-customer-entry-page .po-items-table td:nth-child(2) {
    min-width: 280px;
}

.csa-po-customer-entry-page .po-col-sip,
.csa-po-customer-entry-page .po-col-amount,
.csa-po-customer-entry-page .po-col-estimate,
.csa-po-customer-entry-page .po-col-unit,
.csa-po-customer-entry-page .po-col-total {
    width: 16%;
}

.csa-po-customer-entry-page .po-col-rab,
.csa-po-customer-entry-page .po-col-term {
    width: 14%;
}

.csa-po-customer-entry-page .po-col-action {
    width: 7%;
}

.csa-po-customer-entry-page .po-col-qty {
    width: 12%;
}

.csa-po-customer-entry-page .po-col-uom {
    width: 10%;
}

.csa-po-customer-entry-page .po-col-percent {
    width: 20%;
}

.csa-po-customer-entry-page .po-col-period-index {
    width: 9%;
}

.csa-po-customer-entry-page .po-col-period-detail {
    width: 36%;
}

.csa-po-customer-entry-page .po-col-period-month {
    width: 22%;
}

.csa-po-customer-entry-page .po-col-period-amount {
    width: 33%;
}

.csa-po-customer-entry-page .po-item-description {
    line-height: 1.35;
    white-space: pre-wrap;
}

.csa-po-customer-entry-page .po-analysis-state,
.csa-po-customer-entry-page .po-hint {
    font-size: 0.8rem;
}

.csa-po-customer-entry-page .po-hint.is-warning {
    color: #8a6300;
}

.csa-po-customer-entry-page .po-hint.is-danger {
    color: var(--csa-danger);
}

.csa-po-customer-entry-page .po-hint.is-success {
    color: #0f7d61;
}

.csa-po-customer-entry-page .summary-pill {
    background: rgba(64, 201, 162, 0.16);
    border: 1px solid rgba(64, 201, 162, 0.28);
    border-radius: 999px;
    color: #0f7d61;
    font-size: 0.8rem;
    font-weight: 750;
    padding: 0.4rem 0.8rem;
}

.csa-po-customer-entry-page .top-total-badge {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    font-weight: 750;
    padding: 0.45rem 0.75rem;
}

.csa-po-customer-entry-page .top-total-badge.invalid {
    background: rgba(220, 53, 69, 0.12);
    border-color: rgba(220, 53, 69, 0.24);
    color: var(--csa-danger);
}

.csa-po-customer-entry-page .doc-box {
    background: var(--csa-surface-soft);
    border: 1px dashed var(--csa-border-strong);
    border-radius: var(--csa-radius-md);
    padding: 1rem;
}

.csa-po-customer-document-preview-modal .modal-dialog {
    max-width: min(1320px, calc(100vw - 2rem));
}

.csa-po-customer-document-preview-modal .csa-modal-form {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - 2rem);
    min-height: 0;
}

.csa-po-customer-document-preview-modal .csa-modal-form__body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0.75rem;
}

.csa-po-customer-document-preview-modal .po-customer-document-preview-shell {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0;
}

.csa-po-customer-entry-page .doc-preview-frame,
.csa-po-customer-document-preview-modal .doc-preview-frame {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    min-height: 70vh;
    width: 100%;
}

.csa-po-customer-document-preview-modal .doc-preview-frame {
    border: 0;
    border-radius: 0;
    display: block;
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
}

@media (max-width: 575.98px) {
    .csa-po-customer-document-preview-modal .modal-dialog {
        margin: 0.5rem;
        max-width: calc(100vw - 1rem);
    }

    .csa-po-customer-document-preview-modal .csa-modal-form {
        height: calc(100dvh - 1rem);
    }
}

.csa-po-customer-entry-page .po-empty {
    color: var(--csa-text-muted);
    font-size: 0.9rem;
    padding: 1.1rem;
    text-align: center;
}

.csa-po-customer-entry-page .po-footer {
    background: var(--csa-primary);
    border: 1px solid rgba(10, 44, 81, 0.2);
    border-radius: var(--csa-radius-md);
    color: #ffffff;
    justify-content: space-between;
    padding: 1rem 1.25rem;
}

.csa-po-customer-entry-page #addDetailRow:disabled,
.csa-po-customer-entry-page #submitButton:disabled {
    cursor: not-allowed;
}

html.theme-dark .csa-po-customer-entry-page .po-hint.is-warning {
    color: #fbbf24;
}

html.theme-dark .csa-po-customer-entry-page .po-hint.is-success,
html.theme-dark .csa-po-customer-entry-page .summary-pill {
    color: #6ee7b7;
}

html.theme-dark .csa-po-customer-entry-page .summary-pill {
    background: rgba(52, 211, 153, 0.14);
    border-color: rgba(52, 211, 153, 0.28);
}

html.theme-dark .csa-po-customer-entry-page .po-footer {
    border-color: var(--csa-border-strong);
}

html.theme-dark .csa-po-customer-entry-page .po-footer .text-white-50 {
    color: rgba(255, 255, 255, 0.72) !important;
}

/* RTI document migration */
.csa-rti-document-page .container-fluid,
.csa-po-customer-form-page .container-fluid {
    max-width: 1600px;
}

.csa-rti-document-page .document-summary-shell {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    margin-bottom: 1rem;
    padding: 1rem;
}

.csa-rti-document-page .document-summary-layout {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(0, 1fr);
}

.csa-rti-document-page .document-summary-section {
    min-width: 0;
}

.csa-rti-document-page .document-summary-section + .document-summary-section {
    border-top: 1px solid var(--csa-border);
    padding-top: 0.85rem;
}

.csa-rti-document-page .document-summary-section-title {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.csa-rti-document-page .document-summary-section-subtitle {
    color: var(--csa-text-muted);
    font-size: 0.78rem;
}

.csa-rti-document-page .document-summary-card-grid {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: minmax(0, 1fr);
}

.csa-rti-document-page .document-summary-card-col {
    display: flex;
    min-width: 0;
}

.csa-rti-document-page .summary-card {
    padding: 0.72rem 0.8rem;
    position: relative;
    width: 100%;
}

.csa-rti-document-page .summary-card .csa-stat-card__top {
    align-items: flex-start;
}

.csa-rti-document-page .summary-copy,
.csa-rti-document-page .summary-metric {
    min-width: 0;
}

.csa-rti-document-page .summary-value {
    font-size: 1.22rem;
}

.csa-rti-document-page .summary-subvalue {
    color: var(--csa-text-muted);
    font-size: 0.68rem;
    font-weight: 750;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.csa-rti-document-page .summary-label {
    color: var(--csa-text);
    font-size: 0.73rem;
    font-weight: 750;
    line-height: 1.2;
    margin-top: 0.25rem;
    overflow-wrap: anywhere;
}

.csa-rti-document-page .summary-card--active::after {
    background: var(--csa-stat-accent);
    border-radius: 999px;
    content: "";
    height: 0.42rem;
    opacity: 0.75;
    position: absolute;
    right: 0.55rem;
    top: 0.5rem;
    width: 0.42rem;
}

.csa-rti-document-page .document-record-badge {
    align-items: center;
    background: var(--csa-primary-soft);
    border: 1px solid rgba(10, 44, 81, 0.14);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 750;
    gap: 0.35rem;
    padding: 0.38rem 0.7rem;
}

.csa-rti-document-page .document-filter-panel {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    margin-top: 0.85rem;
    padding: 0.85rem;
}

.csa-rti-document-page .po-filter-label,
.csa-po-customer-form-page .po-customer-detail-label,
.csa-po-customer-form-page .po-customer-form-label,
.csa-po-customer-form-page .po-customer-panel-kicker {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-rti-document-page .po-column-filter,
.csa-rti-document-page .po-column-filter.form-select,
.csa-rti-document-page .po-column-filter.form-control,
.csa-po-customer-form-page .po-customer-form-input,
.csa-po-customer-form-page .po-customer-form-input.form-select,
.csa-po-customer-form-page .po-customer-form-input.form-control,
.csa-po-customer-form-page .po-customer-detail-input {
    background-color: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    min-height: 2.55rem;
}

.csa-rti-document-page .po-column-filter:focus,
.csa-po-customer-form-page .po-customer-form-input:focus,
.csa-po-customer-form-page .po-customer-detail-input:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-rti-document-page .document-per-page-group {
    width: auto;
}

.csa-rti-document-page .document-per-page-select {
    width: 5rem;
}

.csa-rti-document-page .po-percent-filter-group .form-control,
.csa-rti-document-page .po-percent-filter-group .input-group-text {
    min-height: calc(1.5em + 0.5rem + 2px);
}

.csa-rti-document-page #filterCollapse .choices {
    width: 100%;
}

.csa-rti-document-page #filterCollapse .choices__inner {
    background-color: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    min-height: 2rem;
    padding: 0.16rem 0.4rem;
}

.csa-rti-document-page #filterCollapse .choices.is-focused .choices__inner,
.csa-rti-document-page #filterCollapse .choices.is-open .choices__inner {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-rti-document-page #filterCollapse .choices__list--dropdown,
.csa-rti-document-page #filterCollapse .choices__list[aria-expanded] {
    z-index: 1055;
}

.csa-rti-document-page .document-active-filters {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.75rem;
}

.csa-rti-document-page .document-filter-chip {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: 999px;
    color: var(--csa-text);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 750;
    gap: 0.3rem;
    line-height: 1.2;
    max-width: 100%;
    padding: 0.24rem 0.55rem;
}

.csa-rti-document-page .document-filter-chip__label {
    color: var(--csa-text-muted);
}

.csa-rti-document-page .document-filter-chip__value {
    min-width: 0;
    overflow-wrap: anywhere;
}

.csa-rti-document-page .document-filter-chip--reset {
    color: var(--csa-danger);
    text-decoration: none;
}

.csa-rti-document-page .document-table-wrap {
    overflow: auto;
}

.csa-rti-document-page .document-table {
    font-size: 0.78rem;
    min-width: 1040px;
}

.csa-rti-document-page .document-table > :not(caption) > * > * {
    padding: 0.5rem 0.6rem;
}

.csa-rti-document-page .document-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.csa-rti-document-page .document-table tbody td {
    vertical-align: top;
}

.csa-rti-document-page .document-table tbody td:first-child,
.csa-rti-document-page .document-table tbody td:last-child {
    vertical-align: middle;
}

.csa-rti-document-page .document-table tbody tr:hover {
    box-shadow: inset 3px 0 0 var(--csa-info);
}

.csa-rti-document-page .document-cell-wrap {
    line-height: 1.28;
    white-space: normal;
}

.csa-rti-document-page .document-cell-label {
    color: var(--csa-text-muted);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-rti-document-page .document-combo-cell {
    max-width: 210px;
    min-width: 145px;
}

.csa-rti-document-page .document-site {
    font-weight: 650;
    max-width: 220px;
    min-width: 150px;
}

.csa-rti-document-page .document-project-header {
    max-width: 240px;
    min-width: 170px;
}

.csa-rti-document-page .document-review-summary-cell {
    max-width: 190px;
    min-width: 150px;
}

.csa-rti-document-page .document-review-stack,
.csa-rti-document-page .document-info-stack,
.csa-rti-document-page .document-money-stack {
    display: flex;
    flex-direction: column;
}

.csa-rti-document-page .document-review-stack {
    gap: 0.22rem;
}

.csa-rti-document-page .document-info-stack {
    gap: 0.18rem;
}

.csa-rti-document-page .document-money-stack {
    gap: 0.08rem;
}

.csa-rti-document-page .document-review-row {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.csa-rti-document-page .document-review-value,
.csa-rti-document-page .document-inline-code,
.csa-rti-document-page .document-mini-badge {
    overflow-wrap: anywhere;
    white-space: normal;
}

.csa-rti-document-page .document-code-list {
    display: grid;
    gap: 0.22rem;
}

.csa-rti-document-page .document-code-item {
    align-items: baseline;
    display: grid;
    gap: 0.35rem;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    min-width: 0;
}

.csa-rti-document-page .document-code-key {
    color: var(--csa-text-muted);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-rti-document-page .document-inline-code {
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-xs);
    color: var(--csa-text);
    display: inline-flex;
    font-family: var(--bs-font-monospace);
    font-size: 0.68rem;
    font-weight: 750;
    max-width: 100%;
    padding: 0.14rem 0.4rem;
    width: fit-content;
}

.csa-rti-document-page .document-code-item:first-child .document-inline-code {
    background: var(--csa-primary-soft);
    border-color: rgba(10, 44, 81, 0.18);
    color: var(--csa-primary);
}

.csa-rti-document-page .document-mini-badge {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 750;
    gap: 0.28rem;
    max-width: 100%;
    padding: 0.2rem 0.48rem;
    width: fit-content;
}

.csa-rti-document-page .document-mini-badge--project {
    background: var(--csa-primary-soft);
    border-color: rgba(10, 44, 81, 0.14);
    color: var(--csa-primary);
}

.csa-rti-document-page .document-mini-badge--region,
.csa-rti-document-page .document-mini-badge--termin-muted {
    background: rgba(100, 116, 139, 0.12);
    border-color: rgba(100, 116, 139, 0.22);
    color: var(--csa-muted);
}

.csa-rti-document-page .document-mini-badge--on-review,
.csa-rti-document-page .document-mini-badge--waiting {
    background: rgba(246, 201, 14, 0.18);
    border-color: rgba(246, 201, 14, 0.32);
    color: #8a6300;
}

.csa-rti-document-page .document-mini-badge--termin,
.csa-rti-document-page .document-mini-badge--approve {
    background: rgba(64, 201, 162, 0.16);
    border-color: rgba(64, 201, 162, 0.28);
    color: #0f7d61;
}

.csa-rti-document-page .document-mini-badge--revision {
    background: rgba(220, 53, 69, 0.12);
    border-color: rgba(220, 53, 69, 0.24);
    color: var(--csa-danger);
}

.csa-rti-document-page .document-empty-text {
    color: var(--csa-text-muted);
    display: inline-flex;
    font-size: 0.72rem;
    font-style: italic;
    min-height: 1.25rem;
}

.csa-rti-document-page .document-empty-state {
    align-items: center;
    color: var(--csa-text-muted);
    display: inline-flex;
    font-weight: 650;
    gap: 0.45rem;
    padding: 0.9rem 1rem;
}

.csa-rti-document-page .document-amount {
    color: var(--csa-text);
    font-weight: 750;
}

.csa-rti-document-page .document-action-btn {
    align-items: center;
    background: var(--csa-primary-soft);
    display: inline-flex;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.csa-rti-document-page .document-action-btn:hover {
    background: var(--csa-primary);
    color: #ffffff;
}

.csa-po-customer-form-page .po-customer-page {
    min-width: 0;
}

.csa-po-customer-form-page .po-customer-shell {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-lg);
    box-shadow: var(--csa-shadow-sm);
    min-width: 0;
    overflow: hidden;
}

.csa-po-customer-form-page .po-customer-shell-head {
    background: var(--csa-primary);
    color: #ffffff;
    padding: 1rem 1.15rem;
}

.csa-po-customer-form-page .po-customer-step {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border-radius: var(--csa-radius-sm);
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0.84rem;
    font-weight: 750;
    height: 1.75rem;
    justify-content: center;
    width: 1.75rem;
}

.csa-po-customer-form-page .po-customer-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.csa-po-customer-form-page .po-customer-chip {
    align-items: center;
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 650;
    gap: 0.4rem;
    padding: 0.28rem 0.66rem;
}

.csa-po-customer-form-page .po-customer-shell-body {
    background: var(--csa-surface-soft);
    padding: 1rem;
}

.csa-po-customer-form-page .po-customer-form-panel,
.csa-po-customer-form-page .po-customer-detail-card,
.csa-po-customer-form-page .po-customer-history-item,
.csa-po-customer-form-page .po-customer-milestone-summary,
.csa-po-customer-form-page .po-customer-milestone-item,
.csa-po-customer-form-page .po-customer-document-card {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
}

.csa-po-customer-form-page .po-customer-form-panel,
.csa-po-customer-form-page .po-customer-detail-card {
    overflow: hidden;
}

.csa-po-customer-form-page .po-customer-panel-head {
    align-items: flex-start;
    background: var(--csa-surface);
    border-bottom: 1px solid var(--csa-border);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.95rem 1.1rem;
}

.csa-po-customer-form-page .po-customer-panel-body {
    padding: 1rem 1.1rem 1.1rem;
}

.csa-po-customer-form-page .po-customer-section-title {
    color: var(--csa-text);
    font-size: 0.95rem;
    font-weight: 750;
    margin-bottom: 0;
}

.csa-po-customer-form-page .po-customer-panel-subtext,
.csa-po-customer-form-page .po-customer-page-subtitle {
    color: var(--csa-text-muted);
    font-size: 0.86rem;
}

.csa-po-customer-form-page .po-customer-page-kicker {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.csa-po-customer-form-page .po-customer-page-subtitle {
    color: rgba(255, 255, 255, 0.82);
    margin-top: 0.45rem;
    max-width: 800px;
}

.csa-po-customer-form-page .po-customer-panel-badge {
    align-items: center;
    background: var(--csa-surface-muted);
    border: 1px solid var(--csa-border);
    border-radius: 999px;
    color: var(--csa-text);
    display: inline-flex;
    font-size: 0.74rem;
    font-weight: 750;
    padding: 0.28rem 0.7rem;
}

.csa-po-customer-form-page .po-customer-panel-badge--accent {
    background: var(--csa-primary-soft);
    border-color: rgba(10, 44, 81, 0.14);
    color: var(--csa-primary);
}

.csa-po-customer-form-page .po-customer-form-input[disabled],
.csa-po-customer-form-page .po-customer-form-input:disabled,
.csa-po-customer-form-page .po-customer-readonly[disabled],
.csa-po-customer-form-page .po-customer-readonly[readonly],
.csa-po-customer-form-page .po-customer-detail-input[disabled],
.csa-po-customer-form-page .po-customer-detail-input[readonly] {
    background-color: var(--csa-surface-muted) !important;
    color: var(--csa-text-muted) !important;
    cursor: not-allowed;
    opacity: 1;
}

.csa-po-customer-form-page .po-customer-page-note,
.csa-po-customer-form-page .po-customer-lock-note {
    border-radius: var(--csa-radius-md);
}

.csa-po-customer-form-page .po-customer-lock-note {
    align-items: flex-start;
    background: var(--csa-surface-soft);
    border: 1px dashed var(--csa-border-strong);
    color: var(--csa-text-muted);
    display: flex;
    font-size: 0.86rem;
    gap: 0.55rem;
    line-height: 1.45;
    padding: 0.75rem 0.9rem;
}

.csa-po-customer-form-page .po-customer-lock-note i {
    color: var(--csa-primary);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.csa-po-customer-form-page .po-customer-existing-file,
.csa-po-customer-form-page .po-customer-file-preview {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    margin-top: 0.6rem;
    overflow: hidden;
}

.csa-po-customer-form-page .po-customer-existing-file {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.75rem 0.9rem;
}

.csa-po-customer-form-page .po-customer-existing-file__meta {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    min-width: 0;
    width: 100%;
}

.csa-po-customer-form-page .po-customer-existing-file__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    display: inline-flex;
    flex-shrink: 0;
    height: 2.35rem;
    justify-content: center;
    width: 2.35rem;
}

.csa-po-customer-form-page .po-customer-existing-file__label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.csa-po-customer-form-page .po-customer-existing-file__name {
    color: var(--csa-text);
    font-size: 0.9rem;
    font-weight: 650;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}

.csa-po-customer-form-page .po-customer-existing-file__name-link {
    color: inherit;
    text-decoration: none;
}

.csa-po-customer-form-page .po-customer-existing-file__name-link:hover {
    color: var(--csa-primary);
    text-decoration: underline;
}

.csa-po-customer-form-page .po-customer-existing-file__actions,
.csa-po-customer-form-page .po-customer-action-bar__right {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.csa-po-customer-form-page .po-customer-file-preview__head {
    align-items: center;
    background: var(--csa-surface-soft);
    border-bottom: 1px solid var(--csa-border);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.65rem 0.75rem;
}

.csa-po-customer-form-page .po-customer-file-preview__title {
    align-items: center;
    color: var(--csa-text);
    display: flex;
    font-size: 0.84rem;
    font-weight: 750;
    gap: 0.5rem;
    min-width: 0;
}

.csa-po-customer-form-page .po-customer-file-preview__name {
    overflow-wrap: anywhere;
    white-space: normal;
}

.csa-po-customer-form-page .po-customer-file-preview__body,
.csa-po-customer-form-page .po-customer-file-preview__empty {
    min-height: 180px;
}

.csa-po-customer-form-page .po-customer-file-preview__body {
    background: var(--csa-surface-soft);
}

.csa-po-customer-form-page .po-customer-file-preview__image {
    background: var(--csa-surface);
    display: block;
    max-height: 360px;
    object-fit: contain;
    width: 100%;
}

.csa-po-customer-form-page .po-customer-file-preview__frame {
    background: var(--csa-surface);
    border: 0;
    display: block;
    height: 360px;
    width: 100%;
}

.csa-po-customer-form-page .po-customer-file-preview__empty {
    align-items: center;
    color: var(--csa-text-muted);
    display: flex;
    font-size: 0.85rem;
    justify-content: center;
    padding: 1.2rem;
    text-align: center;
}

.csa-po-customer-form-page .po-customer-action-bar {
    align-items: center;
    background: var(--csa-surface);
    border-top: 1px solid var(--csa-border);
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding: 1rem 1.15rem;
}

.csa-po-customer-form-page .po-customer-action-bar__right {
    justify-content: flex-end;
    width: 100%;
}

.csa-po-customer-form-page .po-customer-history-list,
.csa-po-customer-form-page .po-customer-milestone-list,
.csa-po-customer-form-page .po-customer-document-files {
    display: flex;
    flex-direction: column;
}

.csa-po-customer-form-page .po-customer-history-list {
    gap: 0.75rem;
}

.csa-po-customer-form-page .po-customer-history-scroll {
    max-height: min(70vh, 760px);
    overflow-y: auto;
    padding-right: 0.3rem;
}

.csa-po-customer-form-page .po-customer-history-item,
.csa-po-customer-form-page .po-customer-milestone-summary,
.csa-po-customer-form-page .po-customer-milestone-item,
.csa-po-customer-form-page .po-customer-document-card {
    padding: 0.85rem 0.95rem;
}

.csa-po-customer-form-page .po-customer-history-meta,
.csa-po-customer-form-page .po-customer-milestone-meta {
    color: var(--csa-text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.82rem;
    gap: 0.55rem;
}

.csa-po-customer-form-page .po-customer-history-remark {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text-muted);
    font-size: 0.86rem;
    line-height: 1.45;
    margin-top: 0.65rem;
    padding: 0.7rem 0.8rem;
}

.csa-po-customer-form-page .po-customer-milestone-link {
    color: inherit;
    display: block;
    text-decoration: none;
}

.csa-po-customer-form-page .po-customer-milestone-link:hover .po-customer-shell,
.csa-po-customer-form-page .po-customer-milestone-link:focus .po-customer-shell {
    border-color: var(--csa-border-strong);
    box-shadow: var(--csa-shadow-md);
}

.csa-po-customer-form-page .po-customer-milestone-list {
    gap: 0.7rem;
    max-height: 520px;
    overflow-y: auto;
    padding-right: 0.25rem;
}

.csa-po-customer-form-page .po-customer-milestone-item {
    align-items: flex-start;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 30px minmax(0, 1fr);
}

.csa-po-customer-form-page .po-customer-milestone-marker {
    align-items: center;
    background: var(--csa-surface);
    border: 2px solid var(--csa-warning);
    border-radius: 999px;
    color: #8a6300;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.csa-po-customer-form-page .po-customer-milestone-marker.is-approved {
    border-color: var(--csa-success);
    color: #0f7d61;
}

.csa-po-customer-form-page .po-customer-milestone-marker.is-rejected {
    border-color: var(--csa-danger);
    color: var(--csa-danger);
}

.csa-po-customer-form-page .po-customer-milestone-meta {
    font-size: 0.8rem;
    gap: 0.45rem 0.65rem;
    margin-top: 0.45rem;
}

.csa-po-customer-form-page .po-customer-milestone-meta span {
    align-items: center;
    display: inline-flex;
    gap: 0.25rem;
}

.csa-po-customer-form-page .po-customer-document-grid {
    align-content: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.csa-po-customer-form-page .po-customer-document-scroll {
    max-height: 520px;
    overflow-y: auto;
    padding-right: 0.25rem;
}

.csa-po-customer-form-page .po-customer-document-files {
    gap: 0.35rem;
    margin-top: 0.65rem;
}

.csa-po-customer-form-page .po-customer-document-file {
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-primary);
    display: inline-flex;
    font-size: 0.76rem;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.4rem 0.5rem;
    text-decoration: none;
}

.csa-po-customer-form-page .po-customer-document-file:hover {
    background: var(--csa-surface);
    border-color: var(--csa-border-strong);
    color: var(--csa-primary-strong);
}

@media (min-width: 576px) {
    .csa-rti-document-page .document-summary-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .csa-rti-document-page .document-summary-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csa-rti-document-page .document-summary-section + .document-summary-section {
        border-top: 0;
        padding-top: 0;
    }
}

@media (min-width: 1200px) {
    .csa-rti-document-page .document-summary-layout {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .csa-rti-document-page .document-summary-section + .document-summary-section {
        border-left: 1px solid var(--csa-border);
        padding-left: 0.85rem;
    }

    .csa-po-customer-form-page .po-customer-history-sidebar {
        position: sticky;
        top: 1rem;
    }
}

@media (max-width: 767.98px) {
    .csa-po-customer-form-page .po-customer-shell-body {
        padding: 0.85rem;
    }

    .csa-po-customer-form-page .po-customer-history-scroll {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }

    .csa-po-customer-form-page .po-customer-panel-head,
    .csa-po-customer-form-page .po-customer-panel-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .csa-po-customer-form-page .po-customer-action-bar,
    .csa-po-customer-form-page .po-customer-action-bar__right {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Finance RFP route migration */
.csa-rfp-page .rfp-money {
    font-variant-numeric: tabular-nums;
}

.csa-rfp-choice-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csa-rfp-option-card {
    color: inherit;
    min-height: 100%;
    text-decoration: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.csa-rfp-option-card:hover,
.csa-rfp-option-card:focus {
    border-color: var(--csa-border-strong);
    box-shadow: var(--csa-shadow-md);
    color: inherit;
    text-decoration: none;
    transform: translateY(-2px);
}

.csa-rfp-option-card:focus-visible {
    box-shadow: var(--csa-focus-ring), var(--csa-shadow-md);
    outline: 0;
}

.csa-rfp-option-card__body {
    align-items: flex-start;
    display: grid;
    gap: 1rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1.15rem;
}

.csa-rfp-option-card__icon {
    align-items: center;
    background: var(--csa-primary-soft);
    border-radius: 999px;
    color: var(--csa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.35rem;
    height: 3.1rem;
    justify-content: center;
    width: 3.1rem;
}

.csa-rfp-option-card--non-project .csa-rfp-option-card__icon {
    background: rgba(64, 201, 162, 0.16);
    color: #0f7d61;
}

.csa-rfp-option-card__title {
    color: var(--csa-text);
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
}

.csa-rfp-option-card__text {
    color: var(--csa-text-muted);
    line-height: 1.45;
    margin: 0;
}

.csa-rfp-option-card__footer {
    color: var(--csa-primary);
    font-weight: 750;
    justify-content: space-between;
}

.csa-rfp-tracking-table {
    min-width: 1440px;
    table-layout: fixed;
}

.csa-rfp-tracking-table th,
.csa-rfp-tracking-table td {
    vertical-align: top;
}

.table.csa-rfp-tracking-table tbody td {
    padding: 1rem 0.75rem;
}

.csa-rfp-tracking-col--rfp {
    width: 10%;
}

.csa-rfp-tracking-col--po {
    width: 11%;
}

.csa-rfp-tracking-col--invoice {
    width: 16%;
}

.csa-rfp-tracking-col--track {
    width: 32%;
}

.csa-rfp-tracking-col--amount {
    width: 18%;
}

.csa-rfp-tracking-col--files {
    width: 6%;
}

.csa-rfp-tracking-col--actions {
    width: 7%;
}

.csa-rfp-record-meta {
    display: grid;
    gap: 0.38rem;
    min-width: 0;
}

.csa-rfp-record-meta > * {
    min-width: 0;
    overflow-wrap: anywhere;
}

.csa-rfp-record-title {
    color: var(--csa-text);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.32;
}

.csa-rfp-record-title--primary {
    color: var(--csa-primary);
}

.csa-rfp-record-kicker {
    color: var(--csa-text-muted);
    font-size: 0.77rem;
    font-weight: 800;
    line-height: 1.25;
}

.csa-rfp-record-status {
    justify-self: start;
}

.csa-rfp-record-line {
    align-items: flex-start;
    color: var(--csa-text);
    display: grid;
    font-size: 0.82rem;
    gap: 0.35rem;
    grid-template-columns: auto minmax(0, 1fr);
    line-height: 1.35;
}

.csa-rfp-record-line i {
    color: var(--csa-text-muted);
    font-size: 0.85rem;
    margin-top: 0.1rem;
}

.csa-rfp-record-line--muted,
.csa-rfp-record-description {
    color: var(--csa-text-muted);
}

.csa-rfp-record-description {
    display: -webkit-box;
    font-size: 0.82rem;
    line-height: 1.4;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.csa-rfp-workflow-track {
    display: grid;
    gap: 0.45rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
}

.csa-rfp-workflow-step {
    align-content: start;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.45rem 0.5rem;
}

.csa-rfp-workflow-step__label {
    color: var(--csa-text-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-transform: uppercase;
}

.csa-rfp-workflow-step .csa-status {
    --csa-status-truncate-width: 100%;
    justify-self: start;
    max-width: 100%;
    padding: 0.32rem 0.5rem;
}

.csa-rfp-track-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.55rem;
    margin-top: 0.6rem;
}

.csa-rfp-track-meta {
    color: var(--csa-text-muted);
    font-size: 0.78rem;
}

.csa-rfp-track-meta__item {
    align-items: center;
    display: inline-flex;
    gap: 0.25rem;
    min-width: 0;
}

.csa-rfp-track-meta__label {
    color: var(--csa-text);
    font-weight: 800;
}

.csa-rfp-amount-cell {
    display: grid;
    gap: 0.6rem;
}

.csa-rfp-amount-main {
    display: grid;
    gap: 0.1rem;
}

.csa-rfp-currency {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.csa-rfp-amount-value {
    color: var(--csa-text);
    font-size: 0.98rem;
    font-weight: 850;
    line-height: 1.2;
    white-space: nowrap;
}

.csa-rfp-date-list {
    display: grid;
    gap: 0.28rem;
}

.csa-rfp-date-item {
    color: var(--csa-text);
    display: grid;
    font-size: 0.82rem;
    gap: 0.35rem;
    grid-template-columns: 2.1rem minmax(0, 1fr);
    line-height: 1.35;
    min-width: 0;
}

.csa-rfp-date-label {
    color: var(--csa-text-muted);
    font-weight: 800;
}

.csa-rfp-file-list {
    display: grid;
    gap: 0.45rem;
}

.csa-rfp-file-list--compact {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.csa-rfp-files-cell {
    text-align: center;
}

.csa-rfp-actions-cell .csa-action-group {
    gap: 0.35rem;
    justify-content: center;
}

.csa-rfp-file-link {
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    display: grid;
    gap: 0.45rem;
    grid-template-columns: auto minmax(0, 1fr);
    line-height: 1.25;
    max-width: 100%;
    min-width: 0;
    padding: 0.5rem 0.6rem;
    text-decoration: none;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.csa-rfp-file-link--icon {
    display: inline-flex;
    justify-content: center;
    min-height: 2rem;
    padding: 0.45rem 0.55rem;
    width: 2.25rem;
}

.csa-rfp-file-link:hover,
.csa-rfp-file-link:focus {
    background: var(--csa-primary-soft);
    border-color: var(--csa-border-strong);
    color: var(--csa-primary);
    text-decoration: none;
}

.csa-rfp-file-link:focus-visible {
    box-shadow: var(--csa-focus-ring);
    outline: 0;
}

.csa-rfp-file-link__icon {
    color: var(--csa-primary);
    display: inline-flex;
}

.csa-rfp-file-link__name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-rfp-file-more {
    color: var(--csa-text-muted);
    font-size: 0.78rem;
    font-weight: 750;
}

.csa-rfp-form-page .csa-form-section,
.csa-rfp-form-page .csa-card {
    box-shadow: var(--csa-shadow-sm);
}

.csa-rfp-history-card .csa-card__header {
    background: var(--csa-primary);
    border-bottom-color: var(--csa-primary);
    color: #ffffff;
}

.csa-rfp-history-card .csa-card__title {
    color: #ffffff;
}

.csa-rfp-table-shell .table-responsive {
    background: var(--csa-surface);
}

.csa-rfp-page .rfp-detail-table {
    min-width: 980px;
}

.csa-rfp-page .rfp-detail-table.has-lock-detail {
    min-width: 1080px;
}

.csa-rfp-po-amount-stack {
    display: grid;
    gap: 0.2rem;
    justify-items: end;
    line-height: 1.2;
}

.csa-rfp-po-amount-stack__main {
    color: var(--csa-text);
    font-weight: 750;
}

.csa-rfp-po-amount-stack__meta {
    align-items: baseline;
    color: var(--csa-text-muted);
    display: flex;
    font-size: 0.72rem;
    font-weight: 700;
    gap: 0.35rem;
    justify-content: flex-end;
    white-space: nowrap;
}

.csa-rfp-po-amount-stack__meta strong {
    color: var(--csa-text);
    font-weight: 800;
}

.csa-rfp-page .csa-rfp-top-table {
    min-width: 460px;
}

.csa-rfp-page .csa-rfp-ready-table {
    min-width: 1120px;
}

.csa-rfp-top-balance-panel {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0.85rem;
}

.csa-rfp-top-balance-panel.has-lock-summary {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.csa-rfp-top-balance-panel.is-over-limit {
    background: rgba(220, 53, 69, 0.08);
    border-color: rgba(220, 53, 69, 0.35);
}

.csa-rfp-top-balance-panel__item {
    min-width: 0;
}

.csa-rfp-top-balance-panel__label {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.csa-rfp-top-balance-panel__item strong {
    color: var(--csa-text);
    display: block;
    font-size: 0.95rem;
    font-weight: 850;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.csa-rfp-top-balance-panel__meta {
    color: var(--csa-text-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.25;
    margin-top: 0.15rem;
    overflow-wrap: anywhere;
}

.csa-rfp-carry-forward-panel {
    border-radius: var(--csa-radius-md);
    margin-bottom: 1rem;
}

.csa-rfp-carry-forward-panel .form-check-label {
    color: var(--csa-text);
}

.csa-rfp-page .rfp-detail-table input[readonly],
.csa-rfp-page .csa-card input[readonly] {
    background: var(--csa-surface-soft);
}

.csa-rfp-side-stack {
    display: grid;
    gap: 1rem;
}

.csa-rfp-summary-card {
    background: linear-gradient(135deg, var(--csa-primary) 0%, #0f766e 100%);
    border: 0;
    color: #ffffff;
}

.csa-rfp-summary-card__label,
.csa-rfp-summary-card__note {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.83rem;
}

.csa-rfp-summary-card__value {
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 850;
    line-height: 1.05;
    margin-top: 0.35rem;
    overflow-wrap: anywhere;
}

.csa-rfp-summary-card__note {
    margin-top: 0.7rem;
}

.csa-rfp-summary-card__divider {
    border-top: 1px solid rgba(255, 255, 255, 0.24);
    margin: 1rem 0;
}

.csa-rfp-summary-beneficiary__header-text {
    min-width: 0;
}

.csa-rfp-summary-beneficiary__name {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.csa-rfp-summary-beneficiary__badge {
    align-items: center;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
    padding: 0.35rem 0.55rem;
}

.csa-rfp-beneficiary-grid {
    display: grid;
    gap: 0.65rem 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csa-rfp-beneficiary-grid__item {
    min-width: 0;
}

.csa-rfp-beneficiary-grid__item--wide {
    grid-column: 1 / -1;
}

.csa-rfp-beneficiary-grid__label {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.25;
}

.csa-rfp-beneficiary-grid__value {
    color: #ffffff;
    font-size: 0.86rem;
    font-weight: 750;
    line-height: 1.25;
    margin-top: 0.15rem;
    overflow-wrap: anywhere;
}

.csa-rfp-beneficiary-box {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-md);
    padding: 0.85rem;
}

.csa-rfp-page .input-group-text {
    border-color: var(--csa-border-strong);
}

.csa-rfp-page .csa-rfp-select + .select2-container {
    min-width: 0;
    width: 100% !important;
}

.csa-rfp-page .csa-rfp-select + .select2-container .select2-selection--single {
    align-items: center;
    background: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    display: flex;
    min-height: 2.45rem;
    padding-left: 0.2rem;
    padding-right: 0.45rem;
}

.csa-rfp-page .csa-rfp-select + .select2-container.select2-container--focus .select2-selection--single,
.csa-rfp-page .csa-rfp-select + .select2-container.select2-container--open .select2-selection--single {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
}

.csa-rfp-page .csa-rfp-select + .select2-container .select2-selection__rendered {
    color: var(--csa-text);
    line-height: 2.25rem;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding-left: 0.55rem;
    padding-right: 2rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-rfp-page .csa-rfp-select + .select2-container .select2-selection__placeholder {
    color: var(--csa-text-muted);
}

.csa-rfp-page .csa-rfp-select + .select2-container .select2-selection__arrow {
    height: 2.35rem;
    right: 0.45rem;
    top: 0;
}

.csa-rfp-select-dropdown {
    background: var(--csa-surface);
    border-color: rgba(63, 167, 214, 0.28);
    border-radius: var(--csa-radius-md);
    box-shadow: var(--csa-shadow-md);
    overflow: hidden;
}

.csa-rfp-select-dropdown .select2-search--dropdown {
    background: var(--csa-surface);
    padding: 0.65rem;
}

.csa-rfp-select-dropdown .select2-search__field {
    background: var(--csa-surface);
    border: 1px solid var(--csa-border-strong);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text);
    min-height: 2.35rem;
    padding: 0.45rem 0.65rem;
}

.csa-rfp-select-dropdown .select2-search__field:focus {
    border-color: var(--csa-info);
    box-shadow: var(--csa-focus-ring);
    outline: 0;
}

.csa-rfp-select-dropdown .select2-results__options {
    max-height: 280px;
}

.csa-rfp-select-dropdown .select2-results__option {
    color: var(--csa-text);
    line-height: 1.35;
    padding: 0.55rem 0.75rem;
}

.csa-rfp-select-dropdown .select2-results__option--highlighted[aria-selected] {
    background: var(--csa-primary);
    color: #ffffff;
}

.csa-rfp-select-dropdown .select2-results__option[aria-selected="true"] {
    background: var(--csa-primary-soft);
    color: var(--csa-primary);
    font-weight: 700;
}

.csa-rfp-select-dropdown .select2-results__option--highlighted[aria-selected="true"] {
    background: var(--csa-primary);
    color: #ffffff;
}

.csa-rfp-dashboard-page {
    --rfp-dashboard-info: #3fa7d6;
    --rfp-dashboard-warning: #d59700;
    --rfp-dashboard-success: #198754;
    --rfp-dashboard-danger: #dc3545;
    --rfp-dashboard-muted: #64748b;
}

.csa-rfp-dashboard-header {
    align-items: flex-start;
}

.csa-rfp-dashboard-actions {
    justify-content: flex-end;
    margin-left: auto;
}

.csa-rfp-dashboard-meta,
.csa-rfp-dashboard-filter-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.csa-rfp-dashboard-refresh-form {
    margin: 0;
}

.csa-rfp-dashboard-filter .form-label {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.csa-rfp-dashboard-section {
    padding-bottom: 0;
}

.csa-rfp-dashboard-stat-grid {
    justify-content: flex-start;
}

.csa-rfp-dashboard-grid {
    display: grid;
    gap: 1rem;
}

.csa-rfp-dashboard-grid--top {
    grid-template-columns: minmax(270px, 0.92fr) minmax(360px, 1fr) minmax(390px, 1.08fr);
}

.csa-rfp-dashboard-grid--middle {
    grid-template-columns: minmax(270px, 0.86fr) minmax(380px, 1.05fr) minmax(390px, 1.08fr);
}

.csa-rfp-dashboard-grid--bottom {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.42fr);
}

.csa-rfp-dashboard-panel {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.csa-rfp-dashboard-panel .csa-card__header {
    align-items: flex-start;
}

.csa-rfp-dashboard-funnel,
.csa-rfp-dashboard-metric-list,
.csa-rfp-dashboard-alert-list {
    display: grid;
    gap: 0.75rem;
}

.csa-rfp-dashboard-funnel__row {
    --rfp-dashboard-tone: var(--rfp-dashboard-muted);
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: grid;
    gap: 0.45rem;
    padding: 0.72rem;
}

.csa-rfp-dashboard-funnel__row--info,
.csa-rfp-dashboard-metric-row--info {
    --rfp-dashboard-tone: var(--rfp-dashboard-info);
}

.csa-rfp-dashboard-funnel__row--warning,
.csa-rfp-dashboard-metric-row--warning {
    --rfp-dashboard-tone: var(--rfp-dashboard-warning);
}

.csa-rfp-dashboard-funnel__row--success,
.csa-rfp-dashboard-metric-row--success {
    --rfp-dashboard-tone: var(--rfp-dashboard-success);
}

.csa-rfp-dashboard-funnel__row--danger,
.csa-rfp-dashboard-metric-row--danger {
    --rfp-dashboard-tone: var(--rfp-dashboard-danger);
}

.csa-rfp-dashboard-funnel__row--muted,
.csa-rfp-dashboard-metric-row--muted {
    --rfp-dashboard-tone: var(--rfp-dashboard-muted);
}

.csa-rfp-dashboard-funnel__label,
.csa-rfp-dashboard-funnel__conversion,
.csa-rfp-dashboard-metric-row__main,
.csa-rfp-dashboard-metric-row__meta {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-width: 0;
}

.csa-rfp-dashboard-funnel__label span,
.csa-rfp-dashboard-metric-row__main span {
    color: var(--csa-text-muted);
    font-size: 0.8rem;
    font-weight: 750;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-rfp-dashboard-funnel__label strong,
.csa-rfp-dashboard-metric-row__main strong {
    color: var(--csa-text);
    font-size: 0.85rem;
    font-weight: 850;
    white-space: nowrap;
}

.csa-rfp-dashboard-funnel__conversion,
.csa-rfp-dashboard-metric-row__meta {
    color: var(--csa-text-muted);
    font-size: 0.76rem;
    font-weight: 750;
}

.csa-rfp-dashboard-progress {
    appearance: none;
    background: rgba(100, 116, 139, 0.16);
    border: 0;
    border-radius: 999px;
    height: 0.5rem;
    overflow: hidden;
    width: 100%;
}

.csa-rfp-dashboard-progress::-webkit-progress-bar {
    background: rgba(100, 116, 139, 0.16);
    border-radius: 999px;
}

.csa-rfp-dashboard-progress::-webkit-progress-value {
    background: var(--rfp-dashboard-tone, var(--rfp-dashboard-info));
    border-radius: 999px;
}

.csa-rfp-dashboard-progress::-moz-progress-bar {
    background: var(--rfp-dashboard-tone, var(--rfp-dashboard-info));
    border-radius: 999px;
}

.csa-rfp-dashboard-breakdown {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(190px, 0.95fr) minmax(220px, 1.05fr);
}

.csa-rfp-dashboard-chart {
    align-items: center;
    display: flex;
    min-height: 230px;
    width: 100%;
}

.csa-rfp-dashboard-chart--bar {
    min-height: 210px;
}

.csa-rfp-dashboard-chart--wide {
    min-height: 295px;
}

.csa-rfp-dashboard-chart-empty {
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px dashed var(--csa-border);
    border-radius: var(--csa-radius-sm);
    color: var(--csa-text-muted);
    display: flex;
    font-size: 0.85rem;
    font-weight: 700;
    justify-content: center;
    min-height: inherit;
    padding: 1rem;
    text-align: center;
    width: 100%;
}

.csa-rfp-dashboard-metric-row {
    --rfp-dashboard-tone: var(--rfp-dashboard-info);
    display: grid;
    gap: 0.38rem;
    min-width: 0;
}

.csa-rfp-dashboard-table {
    min-width: 560px;
}

.csa-rfp-dashboard-table th {
    color: var(--csa-text-muted);
    font-size: 0.72rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.csa-rfp-dashboard-table td {
    font-size: 0.84rem;
}

.csa-rfp-dashboard-table--pending {
    min-width: 720px;
}

.csa-rfp-dashboard-pending-list {
    display: grid;
    gap: 0.72rem;
}

.csa-rfp-dashboard-pending-item {
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: grid;
    gap: 0.8rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    padding: 0.78rem;
}

.csa-rfp-dashboard-pending-item__identity,
.csa-rfp-dashboard-pending-item__stage,
.csa-rfp-dashboard-workflow-context,
.csa-rfp-dashboard-pending-item__numbers {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.csa-rfp-dashboard-pending-item__vendor {
    color: var(--csa-text);
    font-size: 0.84rem;
    font-weight: 800;
    grid-column: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-rfp-dashboard-pending-item__identity,
.csa-rfp-dashboard-pending-item__stage,
.csa-rfp-dashboard-workflow-context {
    grid-column: 1;
}

.csa-rfp-dashboard-pending-item__stage .csa-status {
    justify-self: start;
    --csa-status-truncate-width: 100%;
}

.csa-rfp-dashboard-pending-item__status,
.csa-rfp-dashboard-workflow-context span,
.csa-rfp-dashboard-pending-item__numbers span {
    color: var(--csa-text-muted);
    font-size: 0.74rem;
    font-weight: 700;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-rfp-dashboard-workflow-context strong {
    color: var(--csa-text);
    font-weight: 850;
}

.csa-rfp-dashboard-pending-item__numbers {
    align-self: start;
    grid-column: 2;
    grid-row: 1 / span 4;
    justify-items: end;
    text-align: right;
}

.csa-rfp-dashboard-pending-item__numbers strong {
    color: var(--csa-text);
    font-size: 0.86rem;
    font-weight: 850;
    white-space: nowrap;
}

.csa-rfp-dashboard-danger-text {
    color: var(--rfp-dashboard-danger) !important;
    font-weight: 850;
}

.csa-rfp-dashboard-cash-summary {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 0.75rem;
}

.csa-rfp-dashboard-cash-card {
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-radius: var(--csa-radius-sm);
    display: grid;
    gap: 0.18rem;
    padding: 0.75rem;
}

.csa-rfp-dashboard-cash-card span,
.csa-rfp-dashboard-cash-card small {
    color: var(--csa-text-muted);
    font-size: 0.76rem;
    font-weight: 750;
}

.csa-rfp-dashboard-cash-card strong {
    color: var(--csa-text);
    font-size: 1rem;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.csa-rfp-dashboard-alert {
    --rfp-dashboard-tone: var(--rfp-dashboard-info);
    align-items: center;
    background: var(--csa-surface-soft);
    border: 1px solid var(--csa-border);
    border-left: 4px solid var(--rfp-dashboard-tone);
    border-radius: var(--csa-radius-sm);
    display: grid;
    gap: 0.7rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0.72rem;
}

.csa-rfp-dashboard-alert--warning {
    --rfp-dashboard-tone: var(--rfp-dashboard-warning);
}

.csa-rfp-dashboard-alert--danger {
    --rfp-dashboard-tone: var(--rfp-dashboard-danger);
}

.csa-rfp-dashboard-alert--info {
    --rfp-dashboard-tone: var(--rfp-dashboard-info);
}

.csa-rfp-dashboard-alert__icon {
    align-items: center;
    background: color-mix(in srgb, var(--rfp-dashboard-tone) 13%, transparent);
    border-radius: var(--csa-radius-xs);
    color: var(--rfp-dashboard-tone);
    display: inline-flex;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.csa-rfp-dashboard-alert__body {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
}

.csa-rfp-dashboard-alert__body strong {
    color: var(--csa-text);
    font-size: 0.9rem;
    font-weight: 850;
}

.csa-rfp-dashboard-alert__body span {
    color: var(--csa-text-muted);
    font-size: 0.78rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csa-rfp-dashboard-empty-compact {
    min-height: 170px;
}

@media (min-width: 1200px) {
    .csa-rfp-form-page .csa-rfp-side-stack {
        position: sticky;
        top: 1rem;
    }
}

@media (max-width: 1399.98px) {
    .csa-rfp-dashboard-grid--top,
    .csa-rfp-dashboard-grid--middle {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csa-rfp-dashboard-grid--top > :last-child,
    .csa-rfp-dashboard-grid--middle > :last-child {
        grid-column: 1 / -1;
    }

    .csa-rfp-dashboard-workflow-context {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .csa-rfp-top-balance-panel,
    .csa-rfp-top-balance-panel.has-lock-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csa-rfp-dashboard-grid--top,
    .csa-rfp-dashboard-grid--middle,
    .csa-rfp-dashboard-grid--bottom {
        grid-template-columns: 1fr;
    }

    .csa-rfp-dashboard-grid--top > :last-child,
    .csa-rfp-dashboard-grid--middle > :last-child {
        grid-column: auto;
    }

    .csa-rfp-dashboard-workflow-context {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .csa-rfp-choice-grid,
    .csa-rfp-option-card__body,
    .csa-rfp-dashboard-breakdown,
    .csa-rfp-dashboard-cash-summary {
        grid-template-columns: 1fr;
    }

    .csa-rfp-page .csa-page-actions,
    .csa-rfp-page .csa-page-actions .btn {
        align-items: stretch;
        width: 100%;
    }

    .csa-rfp-page .csa-page-actions {
        flex-direction: column;
        margin-left: 0;
    }

    .csa-rfp-form-page .csa-form-section__body,
    .csa-rfp-form-page .csa-card__body {
        padding: 0.9rem;
    }

    .csa-rfp-beneficiary-grid {
        grid-template-columns: 1fr;
    }

    .csa-rfp-top-balance-panel,
    .csa-rfp-top-balance-panel.has-lock-summary {
        grid-template-columns: 1fr;
    }

    .csa-rfp-dashboard-filter-actions,
    .csa-rfp-dashboard-filter-actions .btn,
    .csa-rfp-dashboard-refresh-form,
    .csa-rfp-dashboard-refresh-form .btn {
        width: 100%;
    }

    .csa-rfp-dashboard-alert {
        align-items: flex-start;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .csa-rfp-dashboard-alert .csa-status {
        grid-column: 2;
        justify-self: start;
    }

    .csa-rfp-dashboard-pending-item {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .csa-rfp-dashboard-pending-item__numbers {
        grid-column: auto;
        grid-row: auto;
        justify-items: start;
        text-align: left;
    }

    .csa-rfp-dashboard-workflow-context span,
    .csa-rfp-dashboard-pending-item__vendor {
        white-space: normal;
    }
}

html.theme-dark .csa-rfp-page .text-dark,
html[data-bs-theme="dark"] .csa-rfp-page .text-dark {
    color: var(--csa-text) !important;
}

html.theme-dark .csa-rfp-option-card--non-project .csa-rfp-option-card__icon,
html[data-bs-theme="dark"] .csa-rfp-option-card--non-project .csa-rfp-option-card__icon {
    color: #86efac;
}

html.theme-dark .csa-rfp-select-dropdown,
html[data-bs-theme="dark"] .csa-rfp-select-dropdown {
    background: var(--csa-surface);
    border-color: var(--csa-border);
}

html.theme-dark .csa-rfp-select-dropdown .select2-search--dropdown,
html.theme-dark .csa-rfp-select-dropdown .select2-search__field,
html[data-bs-theme="dark"] .csa-rfp-select-dropdown .select2-search--dropdown,
html[data-bs-theme="dark"] .csa-rfp-select-dropdown .select2-search__field {
    background: var(--csa-surface);
    color: var(--csa-text);
}

.csa-rti-spk-list-page .rab-preview,
.csa-rti-spk-detail-page .rab-preview,
.csa-rti-spk-report-page .rab-preview {
    border: 1px dashed #dbe3ef;
    background: #f8fafc;
    border-radius: 8px;
    padding: 0.4rem 0.5rem;
    min-width: 230px;
}

.csa-rti-spk-list-page .rab-preview-row,
.csa-rti-spk-detail-page .rab-preview-row,
.csa-rti-spk-report-page .rab-preview-row {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 0.35rem;
    font-size: 0.72rem;
    line-height: 1.25;
    color: #64748b;
    margin-bottom: 0.2rem;
}

.csa-rti-spk-list-page .rab-preview-row:last-child,
.csa-rti-spk-detail-page .rab-preview-row:last-child,
.csa-rti-spk-report-page .rab-preview-row:last-child {
    margin-bottom: 0;
}

.csa-rti-spk-list-page .rab-preview-label,
.csa-rti-spk-detail-page .rab-preview-label,
.csa-rti-spk-report-page .rab-preview-label {
    font-weight: 700;
    color: #0f172a;
}

.csa-rti-spk-list-page .summary-card,
.csa-rti-spk-report-page .summary-card {
    border: 0;
    border-radius: 0.75rem;
}

.csa-rti-spk-list-page .summary-card .summary-value,
.csa-rti-spk-report-page .summary-card .summary-value {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.2;
}

.csa-rti-spk-list-page .summary-card .summary-label,
.csa-rti-spk-report-page .summary-card .summary-label {
    font-size: 0.85rem;
}

.csa-rti-spk-list-page .summary-card .summary-icon,
.csa-rti-spk-report-page .summary-card .summary-icon {
    font-size: 2.2rem;
    opacity: 0.2;
}

.csa-rti-spk-list-page .summary-card--light,
.csa-rti-spk-report-page .summary-card--light {
    color: #212529;
}

.csa-rti-spk-list-page .summary-card--clickable,
.csa-rti-spk-report-page .summary-card--clickable {
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.csa-rti-spk-list-page .summary-card--clickable:hover,
.csa-rti-spk-report-page .summary-card--clickable:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
}

.csa-rti-spk-list-page .summary-card--clickable:focus,
.csa-rti-spk-report-page .summary-card--clickable:focus {
    outline: 2px solid rgba(13, 110, 253, 0.6);
    outline-offset: 2px;
}

.csa-rti-spk-list-page .summary-card.is-active,
.csa-rti-spk-report-page .summary-card.is-active {
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.4);
}

.csa-rti-spk-list-page .spk-progress-chart,
.csa-rti-spk-report-page .spk-progress-chart {
    height: 340px;
    width: 100%;
    border: 1px solid var(--bs-border-color, #d0d7de);
    border-radius: 0.75rem;
    background: var(--bs-body-bg, #ffffff);
}

.csa-rti-spk-list-page .spk-progress-charts,
.csa-rti-spk-report-page .spk-progress-charts {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 0.75rem;
    align-items: stretch;
}

.csa-rti-spk-list-page .spk-progress-rab-panel,
.csa-rti-spk-report-page .spk-progress-rab-panel {
    border: 1px solid var(--bs-border-color, #d0d7de);
    border-radius: 0.75rem;
    background: var(--bs-body-bg, #ffffff);
    padding: 0.75rem 0.75rem 0.4rem;
    min-height: 340px;
}

.csa-rti-spk-list-page .spk-progress-rab-title,
.csa-rti-spk-report-page .spk-progress-rab-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: #334155;
    margin-bottom: 0.35rem;
}

.csa-rti-spk-list-page .spk-progress-rab-chart,
.csa-rti-spk-report-page .spk-progress-rab-chart {
    width: 100%;
    height: 290px;
}

[data-bs-theme="dark"] .csa-rti-spk-list-page .spk-progress-rab-title,
[data-bs-theme="dark"] .csa-rti-spk-report-page .spk-progress-rab-title,
html.theme-dark .csa-rti-spk-list-page .spk-progress-rab-title,
html.theme-dark .csa-rti-spk-report-page .spk-progress-rab-title {
    color: #e2e8f0;
}

.csa-rti-spk-list-page .spk-progress-summary,
.csa-rti-spk-report-page .spk-progress-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.45rem;
    margin-bottom: 0.75rem;
}

.csa-rti-spk-list-page .spk-progress-summary .summary-card,
.csa-rti-spk-report-page .spk-progress-summary .summary-card {
    border-radius: 0.6rem;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.12);
}

.csa-rti-spk-list-page .spk-progress-summary .card-body,
.csa-rti-spk-report-page .spk-progress-summary .card-body {
    padding: 0.5rem 0.6rem;
}

.csa-rti-spk-list-page .spk-progress-summary .summary-value,
.csa-rti-spk-report-page .spk-progress-summary .summary-value {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.05;
}

.csa-rti-spk-list-page .spk-progress-summary .summary-label,
.csa-rti-spk-report-page .spk-progress-summary .summary-label {
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.1;
}

.csa-rti-spk-list-page .spk-progress-summary .summary-icon,
.csa-rti-spk-report-page .spk-progress-summary .summary-icon {
    font-size: 1.15rem;
    opacity: 0.38;
}

.csa-rti-spk-list-page .spk-progress-summary .summary-card--light .summary-icon,
.csa-rti-spk-report-page .spk-progress-summary .summary-card--light .summary-icon {
    opacity: 0.5;
}

.csa-rti-spk-list-page .spk-progress-total,
.csa-rti-spk-report-page .spk-progress-total {
    background: #475569;
}

.csa-rti-spk-list-page .spk-progress-create,
.csa-rti-spk-report-page .spk-progress-create {
    background: #0ea5e9;
}

.csa-rti-spk-list-page .spk-progress-vem,
.csa-rti-spk-report-page .spk-progress-vem {
    background: #16a34a;
}

.csa-rti-spk-list-page .spk-progress-csa,
.csa-rti-spk-report-page .spk-progress-csa {
    background: #14b8a6;
}

.csa-rti-spk-list-page .spk-progress-cancel,
.csa-rti-spk-report-page .spk-progress-cancel {
    background: #dc2626;
}

.csa-rti-spk-list-page .spk-ai-image-preview,
.csa-rti-spk-report-page .spk-ai-image-preview {
    min-height: 260px;
    border: 1px dashed #cbd5e1;
    border-radius: 0.75rem;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.csa-rti-spk-list-page .spk-ai-image-preview img,
.csa-rti-spk-report-page .spk-ai-image-preview img {
    max-width: 100%;
    max-height: 360px;
    object-fit: contain;
}

.csa-rti-spk-list-page .spk-ai-paste-box,
.csa-rti-spk-report-page .spk-ai-paste-box {
    border: 1px dashed #94a3b8;
    border-radius: 0.6rem;
    padding: 0.6rem 0.75rem;
    background: #f8fafc;
    font-size: 0.82rem;
    color: #475569;
}

.csa-rti-spk-list-page .spk-ai-paste-box:focus,
.csa-rti-spk-report-page .spk-ai-paste-box:focus {
    outline: 2px solid rgba(14, 165, 233, 0.45);
    outline-offset: 2px;
}

.csa-rti-spk-list-page .spk-ai-form-grid,
.csa-rti-spk-report-page .spk-ai-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.csa-rti-spk-list-page .spk-ai-form-grid .full-width,
.csa-rti-spk-report-page .spk-ai-form-grid .full-width {
    grid-column: 1 / -1;
}

.csa-rti-spk-list-page .spk-report-switch .nav-link,
.csa-rti-spk-report-page .spk-report-switch .nav-link {
    min-width: 120px;
    text-align: center;
}

.csa-rti-spk-report-page .spk-report-subtitle {
    font-size: 0.9rem;
    color: #64748b;
}

.csa-rti-spk-list-page .csa-rti-spk-tab-shell,
.csa-rti-spk-detail-page .csa-rti-spk-tab-shell,
.csa-rti-spk-report-page .csa-rti-spk-tab-shell {
    min-width: 350px;
}

.csa-rti-spk-site-avatar {
    width: 25px !important;
    height: 25px !important;
}

.csa-rti-spk-site-avatar-icon {
    font-size: 0.7rem;
}

.csa-rti-spk-truncate-150 {
    max-width: 150px;
}

.csa-rti-spk-detail-page {
    background: #f6f7fb;
    color: #475569;
    --page-bg: #f6f7fb;
    --card-bg: #ffffff;
    --ink: #0f172a;
    --muted: #64748b;
    --line: #e2e8f0;
    --accent: #1d4ed8;
}

.csa-rti-spk-detail-page .page-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: 0.01em;
}

.csa-rti-spk-detail-page .page-subtitle {
    font-size: 0.9rem;
    color: var(--muted);
}

.csa-rti-spk-detail-page .hero-card {
    background: linear-gradient(180deg, #ffffff 0%, #f3f4f6 100%);
    color: var(--ink);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 1.5rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.csa-rti-spk-detail-page .hero-card::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -120px;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(148, 163, 184, 0.2), transparent 60%);
}

.csa-rti-spk-detail-page .hero-id {
    min-width: 220px;
    z-index: 1;
}

.csa-rti-spk-detail-page .hero-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--muted);
}

.csa-rti-spk-detail-page .hero-value {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.csa-rti-spk-detail-page .hero-badge {
    margin-top: 0.4rem;
    font-size: 0.75rem;
    padding: 0.35rem 0.7rem;
}

.csa-rti-spk-detail-page .hero-divider {
    width: 1px;
    height: 56px;
    background: var(--line);
}

.csa-rti-spk-detail-page .hero-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1.5rem;
    z-index: 1;
}

.csa-rti-spk-detail-page .meta-label {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--muted);
}

.csa-rti-spk-detail-page .meta-value {
    font-weight: 600;
    color: var(--ink);
}

.csa-rti-spk-detail-page .hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    z-index: 1;
}

.csa-rti-spk-detail-page .chip {
    background: #e2e8f0;
    border: 1px solid #cbd5e1;
    color: #334155;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.75rem;
}

.csa-rti-spk-detail-page .snapshot-card,
.csa-rti-spk-detail-page .status-card {
    background: var(--card-bg);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 1.25rem;
    height: 100%;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
}

.csa-rti-spk-detail-page .snapshot-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.csa-rti-spk-detail-page .snapshot-title,
.csa-rti-spk-detail-page .status-title {
    font-weight: 700;
    color: var(--ink);
    font-size: 1.02rem;
}

.csa-rti-spk-detail-page .snapshot-subtitle {
    color: var(--muted);
    font-size: 0.8rem;
    margin-top: 0.2rem;
}

.csa-rti-spk-detail-page .snapshot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.85rem;
    margin-top: 1rem;
}

.csa-rti-spk-detail-page .snapshot-item {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.75rem;
}

.csa-rti-spk-detail-page .snapshot-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #e0e7ff;
    color: #1d4ed8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.csa-rti-spk-detail-page .snapshot-label,
.csa-rti-spk-detail-page .status-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--muted);
}

.csa-rti-spk-detail-page .snapshot-value {
    font-weight: 700;
    color: var(--ink);
    font-size: 0.98rem;
    margin-top: 0.2rem;
}

.csa-rti-spk-detail-page .snapshot-desc {
    font-size: 0.8rem;
    color: var(--muted);
    margin-top: 0.25rem;
}

.csa-rti-spk-detail-page .status-card {
    position: relative;
    overflow: hidden;
}

.csa-rti-spk-detail-page .status-card::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -70px;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(29, 78, 216, 0.18), transparent 70%);
}

.csa-rti-spk-detail-page .status-badge {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 0.75rem;
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
}

.csa-rti-spk-detail-page .status-list {
    display: grid;
    gap: 0.65rem;
    position: relative;
    z-index: 1;
}

.csa-rti-spk-detail-page .rab-preview {
    border: 1px dashed var(--line);
    background: #f8fafc;
    border-radius: 10px;
    padding: 0.65rem 0.75rem;
    position: relative;
    z-index: 1;
}

.csa-rti-spk-detail-page .status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--line);
}

.csa-rti-spk-detail-page .status-row:first-child {
    border-top: none;
    padding-top: 0;
}

.csa-rti-spk-detail-page .status-value {
    font-weight: 600;
    color: var(--ink);
    text-align: right;
}

.csa-rti-spk-detail-page .custom-tabs {
    border-bottom: 1px solid var(--line);
    margin-bottom: 1.5rem;
    gap: 0.5rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.5rem;
}

.csa-rti-spk-detail-page .custom-tabs::-webkit-scrollbar {
    height: 4px;
}

.csa-rti-spk-detail-page .custom-tabs::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

.csa-rti-spk-detail-page .nav-link.custom-tab-link {
    color: var(--muted);
    font-weight: 600;
    font-size: 0.9rem;
    border: none;
    background: transparent;
    padding: 0.75rem 1.25rem;
    border-radius: 8px;
    transition: all 0.2s;
    white-space: nowrap;
}

.csa-rti-spk-detail-page .nav-link.custom-tab-link:hover {
    color: var(--ink);
    background: #f1f5f9;
}

.csa-rti-spk-detail-page .nav-link.custom-tab-link.active {
    color: #fff;
    background: var(--accent);
    box-shadow: 0 4px 6px -1px rgba(29, 78, 216, 0.3);
}

.csa-rti-spk-detail-page .tab-content-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 2rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
}

.csa-rti-spk-detail-page .tab-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
}

.csa-rti-spk-detail-page .tab-item {
    border-bottom: 1px dashed var(--line);
    padding-bottom: 0.75rem;
}

.csa-rti-spk-detail-page .tab-item:last-child {
    border-bottom: none;
}

.csa-rti-spk-detail-page .tab-item-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 0.35rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    letter-spacing: 0.05em;
}

.csa-rti-spk-detail-page .tab-item-value {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ink);
    padding-left: 0;
}

html.theme-dark .csa-rti-spk-list-page .summary-card,
html.theme-dark .csa-rti-spk-report-page .summary-card,
html[data-bs-theme="dark"] .csa-rti-spk-list-page .summary-card,
html[data-bs-theme="dark"] .csa-rti-spk-report-page .summary-card {
    color: #e5e7eb;
}

@media (max-width: 992px) {
    .csa-rti-spk-list-page .spk-ai-form-grid,
    .csa-rti-spk-report-page .spk-ai-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1200px) {
    .csa-rti-spk-list-page .spk-progress-summary,
    .csa-rti-spk-report-page .spk-progress-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .csa-rti-spk-list-page .spk-progress-charts,
    .csa-rti-spk-report-page .spk-progress-charts {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    }
}

@media (max-width: 992px) {
    .csa-rti-spk-list-page .spk-progress-summary,
    .csa-rti-spk-report-page .spk-progress-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csa-rti-spk-list-page .spk-progress-charts,
    .csa-rti-spk-report-page .spk-progress-charts {
        grid-template-columns: 1fr;
    }

    .csa-rti-spk-list-page .spk-progress-rab-panel,
    .csa-rti-spk-report-page .spk-progress-rab-panel {
        min-height: 300px;
    }
}

@media (max-width: 576px) {
    .csa-rti-spk-list-page .spk-progress-summary,
    .csa-rti-spk-report-page .spk-progress-summary {
        grid-template-columns: 1fr;
    }

    .csa-rti-spk-list-page .spk-progress-chart,
    .csa-rti-spk-report-page .spk-progress-chart {
        height: 300px;
    }

    .csa-rti-spk-list-page .spk-progress-rab-chart,
    .csa-rti-spk-report-page .spk-progress-rab-chart {
        height: 250px;
    }

    .csa-rti-spk-report-page .spk-report-switch .nav-link {
        min-width: auto;
        font-size: 0.875rem;
    }
}

@media (max-width: 768px) {
    .csa-rti-spk-detail-page .hero-divider {
        display: none;
    }

    .csa-rti-spk-detail-page .hero-card {
        padding: 1.2rem;
    }

    .csa-rti-spk-detail-page .custom-tabs {
        padding-bottom: 10px;
    }

    .csa-rti-spk-detail-page .tab-content-card {
        padding: 1.25rem;
    }
}

html.theme-dark .csa-rti-spk-detail-page,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page {
    background: #0f172a;
    color: #e5e7eb;
}

html.theme-dark .csa-rti-spk-detail-page .hero-card,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .hero-card {
    background: linear-gradient(180deg, #1a2538 0%, #111827 100%);
    border-color: #334155;
    color: #e5e7eb;
}

html.theme-dark .csa-rti-spk-detail-page .page-title,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .page-title {
    color: #e5e7eb;
}

html.theme-dark .csa-rti-spk-detail-page .page-subtitle,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .page-subtitle {
    color: #9ca3af;
}

html.theme-dark .csa-rti-spk-detail-page .tab-content-card,
html.theme-dark .csa-rti-spk-detail-page .card,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .tab-content-card,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .card {
    background-color: #111827;
    border-color: #334155;
    color: #e5e7eb;
}

html.theme-dark .csa-rti-spk-detail-page .summary-label,
html.theme-dark .csa-rti-spk-detail-page .snapshot-label,
html.theme-dark .csa-rti-spk-detail-page .status-label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .summary-label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .snapshot-label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .status-label,
html.theme-dark .csa-rti-spk-detail-page .meta-label,
html.theme-dark .csa-rti-spk-detail-page .status-value,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .meta-label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .status-value,
html.theme-dark .csa-rti-spk-detail-page .meta-value,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .meta-value {
    color: #9ca3af;
}

html.theme-dark .csa-rti-spk-detail-page .snapshot-title,
html.theme-dark .csa-rti-spk-detail-page .status-title,
html.theme-dark .csa-rti-spk-detail-page .hero-label,
html.theme-dark .csa-rti-spk-detail-page .hero-badge,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .snapshot-title,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .status-title,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .hero-label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .hero-badge {
    color: #e5e7eb;
}

/* RTI SPK route workspace */
.csa-rti-spk-list-page .csa-stat-card.is-active {
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.4);
}

.csa-rti-spk-list-page .csa-rti-spk-rab-preview,
.csa-rti-spk-detail-page .csa-rti-spk-rab-preview {
    border: 1px dashed #dbe3ef;
    background: #f8fafc;
    border-radius: 8px;
    padding: 0.4rem 0.5rem;
    min-width: 230px;
}

.csa-rti-spk-list-page .csa-rti-spk-rab-preview__row,
.csa-rti-spk-detail-page .csa-rti-spk-rab-preview__row {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 0.35rem;
    font-size: 0.72rem;
    line-height: 1.25;
    color: #64748b;
    margin-bottom: 0.2rem;
}

.csa-rti-spk-list-page .csa-rti-spk-rab-preview__row:last-child,
.csa-rti-spk-detail-page .csa-rti-spk-rab-preview__row:last-child {
    margin-bottom: 0;
}

.csa-rti-spk-list-page .csa-rti-spk-rab-preview__label,
.csa-rti-spk-detail-page .csa-rti-spk-rab-preview__label {
    font-weight: 700;
    color: #0f172a;
}

.csa-rti-spk-list-page .csa-modal-form__body {
    overflow-x: hidden;
}

.csa-rti-spk-list-page .csa-modal-form__section {
    min-width: 0;
}

.csa-rti-spk-list-page .csa-rti-spk-ai-image-preview {
    min-height: 260px;
    max-height: 420px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px dashed #cbd5e1;
    border-radius: 0.75rem;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.csa-rti-spk-list-page .csa-rti-spk-ai-image-preview img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 360px;
    object-fit: contain;
}

.csa-rti-spk-list-page .csa-rti-spk-ai-paste-box {
    border: 1px dashed #94a3b8;
    border-radius: 0.6rem;
    padding: 0.6rem 0.75rem;
    background: #f8fafc;
    font-size: 0.82rem;
    color: #475569;
}

.csa-rti-spk-list-page .csa-rti-spk-ai-paste-box:focus {
    outline: 2px solid rgba(14, 165, 233, 0.45);
    outline-offset: 2px;
}

.csa-rti-spk-list-page .csa-rti-spk-ai-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.csa-rti-spk-list-page .csa-rti-spk-ai-form-grid__full {
    grid-column: 1 / -1;
}

.csa-rti-spk-list-page .csa-rti-spk-tab-shell,
.csa-rti-spk-detail-page .csa-rti-spk-tab-shell,
.csa-rti-spk-report-page .csa-rti-spk-tab-shell {
    background: var(--csa-surface);
    border-color: var(--csa-border) !important;
    min-width: 350px;
}

.csa-rti-spk-detail-page .csa-rti-spk-hero-card {
    background: linear-gradient(180deg, #ffffff 0%, #f3f4f6 100%);
    color: var(--ink);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 1.5rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.csa-rti-spk-detail-page .csa-rti-spk-hero-card::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -120px;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(148, 163, 184, 0.2), transparent 60%);
}

.csa-rti-spk-detail-page .csa-rti-spk-hero-id {
    min-width: 220px;
    z-index: 1;
}

.csa-rti-spk-detail-page .csa-rti-spk-hero-label,
.csa-rti-spk-detail-page .csa-rti-spk-meta-label,
.csa-rti-spk-detail-page .csa-rti-spk-snapshot-label,
.csa-rti-spk-detail-page .csa-rti-spk-status-label,
.csa-rti-spk-detail-page .csa-rti-spk-tab-item__label {
    color: var(--muted);
    text-transform: uppercase;
}

.csa-rti-spk-detail-page .csa-rti-spk-hero-label {
    font-size: 0.7rem;
    letter-spacing: 0;
}

.csa-rti-spk-detail-page .csa-rti-spk-hero-value {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0;
}

.csa-rti-spk-detail-page .csa-rti-spk-hero-badge {
    margin-top: 0.4rem;
    font-size: 0.75rem;
    padding: 0.35rem 0.7rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-hero-divider {
    width: 1px;
    height: 56px;
    background: var(--line);
}

.csa-rti-spk-detail-page .csa-rti-spk-hero-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1.5rem;
    z-index: 1;
}

.csa-rti-spk-detail-page .csa-rti-spk-meta-label {
    font-size: 0.68rem;
    letter-spacing: 0;
}

.csa-rti-spk-detail-page .csa-rti-spk-meta-value {
    font-weight: 600;
    color: var(--ink);
}

.csa-rti-spk-detail-page .csa-rti-spk-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    z-index: 1;
}

.csa-rti-spk-detail-page .csa-rti-spk-chip {
    background: #e2e8f0;
    border: 1px solid #cbd5e1;
    color: #334155;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.75rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-snapshot-card,
.csa-rti-spk-detail-page .csa-rti-spk-status-card {
    background: var(--card-bg);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 1.25rem;
    height: 100%;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
}

.csa-rti-spk-detail-page .csa-rti-spk-snapshot-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-snapshot-title,
.csa-rti-spk-detail-page .csa-rti-spk-status-title {
    font-weight: 700;
    color: var(--ink);
    font-size: 1.02rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-snapshot-subtitle {
    color: var(--muted);
    font-size: 0.8rem;
    margin-top: 0.2rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-snapshot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.85rem;
    margin-top: 1rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-snapshot-item {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.75rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-snapshot-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #e0e7ff;
    color: #1d4ed8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.csa-rti-spk-detail-page .csa-rti-spk-snapshot-label,
.csa-rti-spk-detail-page .csa-rti-spk-status-label {
    font-size: 0.65rem;
    letter-spacing: 0;
}

.csa-rti-spk-detail-page .csa-rti-spk-snapshot-value {
    font-weight: 700;
    color: var(--ink);
    font-size: 0.98rem;
    margin-top: 0.2rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-snapshot-desc {
    font-size: 0.8rem;
    color: var(--muted);
    margin-top: 0.25rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-status-card {
    position: relative;
    overflow: hidden;
}

.csa-rti-spk-detail-page .csa-rti-spk-status-card::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -70px;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(29, 78, 216, 0.18), transparent 70%);
}

.csa-rti-spk-detail-page .csa-rti-spk-status-badge {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 0.75rem;
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
}

.csa-rti-spk-detail-page .csa-rti-spk-status-list {
    display: grid;
    gap: 0.65rem;
    position: relative;
    z-index: 1;
}

.csa-rti-spk-detail-page .csa-rti-spk-status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--line);
}

.csa-rti-spk-detail-page .csa-rti-spk-status-row:first-child {
    border-top: none;
    padding-top: 0;
}

.csa-rti-spk-detail-page .csa-rti-spk-status-value {
    font-weight: 600;
    color: var(--ink);
    text-align: right;
}

.csa-rti-spk-detail-page .csa-rti-spk-tab-content-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 2rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
}

.csa-rti-spk-detail-page .csa-rti-spk-tab-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-tab-item {
    border-bottom: 1px dashed var(--line);
    padding-bottom: 0.75rem;
}

.csa-rti-spk-detail-page .csa-rti-spk-tab-item:last-child {
    border-bottom: none;
}

.csa-rti-spk-detail-page .csa-rti-spk-tab-item__label {
    font-size: 0.7rem;
    margin-bottom: 0.35rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    letter-spacing: 0;
}

.csa-rti-spk-detail-page .csa-rti-spk-tab-item__value {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ink);
    padding-left: 0;
}

html.theme-dark .csa-rti-spk-list-page .csa-rti-spk-rab-preview,
html.theme-dark .csa-rti-spk-list-page .csa-rti-spk-ai-image-preview,
html.theme-dark .csa-rti-spk-list-page .csa-rti-spk-ai-paste-box,
html[data-bs-theme="dark"] .csa-rti-spk-list-page .csa-rti-spk-rab-preview,
html[data-bs-theme="dark"] .csa-rti-spk-list-page .csa-rti-spk-ai-image-preview,
html[data-bs-theme="dark"] .csa-rti-spk-list-page .csa-rti-spk-ai-paste-box {
    background: #111827;
    border-color: #334155;
    color: #cbd5e1;
}

html.theme-dark .csa-rti-spk-list-page .csa-rti-spk-rab-preview__label,
html[data-bs-theme="dark"] .csa-rti-spk-list-page .csa-rti-spk-rab-preview__label {
    color: #e5e7eb;
}

html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-rab-preview,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-rab-preview {
    background: #111827;
    border-color: #334155;
}

html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-rab-preview__label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-rab-preview__label {
    color: #e5e7eb;
}

html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-hero-card,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-hero-card {
    background: linear-gradient(180deg, #1a2538 0%, #111827 100%);
    border-color: #334155;
    color: #e5e7eb;
}

html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-snapshot-card,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-status-card,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-tab-content-card,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-snapshot-card,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-status-card,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-tab-content-card {
    background-color: #111827;
    border-color: #334155;
    color: #e5e7eb;
}

html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-snapshot-item,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-snapshot-item {
    background: #1f2937;
    border-color: #334155;
}

html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-chip,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-chip {
    background: #1f2937;
    border-color: #334155;
    color: #e5e7eb;
}

html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-snapshot-title,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-status-title,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-hero-label,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-hero-badge,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-snapshot-value,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-meta-value,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-status-value,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-tab-item__value,
html.theme-dark .csa-rti-spk-detail-page .text-dark,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-snapshot-title,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-status-title,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-hero-label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-hero-badge,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-snapshot-value,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-meta-value,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-status-value,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-tab-item__value,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .text-dark {
    color: #e5e7eb !important;
}

html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-snapshot-label,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-status-label,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-meta-label,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-snapshot-desc,
html.theme-dark .csa-rti-spk-detail-page .csa-rti-spk-tab-item__label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-snapshot-label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-status-label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-meta-label,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-snapshot-desc,
html[data-bs-theme="dark"] .csa-rti-spk-detail-page .csa-rti-spk-tab-item__label {
    color: #9ca3af;
}

@media (max-width: 992px) {
    .csa-rti-spk-list-page .csa-rti-spk-ai-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .csa-rti-spk-detail-page .csa-rti-spk-hero-divider {
        display: none;
    }

    .csa-rti-spk-detail-page .csa-rti-spk-hero-card {
        padding: 1.2rem;
    }

    .csa-rti-spk-detail-page .csa-rti-spk-tab-content-card {
        padding: 1.25rem;
    }
}


/* PO vendor list workspace */
.csa-po-list-page .card-outline.card-primary {
        border-top: 3px solid #0d6efd;
    }
.csa-po-list-page .table td,
.csa-po-list-page .table th {
        white-space: nowrap;
    }
.csa-po-list-page .table thead th {
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: #6c757d;
        background-color: #f8f9fa;
        border-bottom: 1px solid #dee2e6;
        white-space: nowrap;
    }
.csa-po-list-page .summary-card {
        border: 0;
        border-radius: 0.75rem;
    }
.csa-po-list-page .summary-card--info {
        background-color: var(--csa-info);
    }
.csa-po-list-page .summary-card--muted {
        background-color: var(--csa-muted);
    }
.csa-po-list-page .summary-card--success {
        background-color: var(--csa-success);
    }
.csa-po-list-page .summary-card--warning {
        background-color: var(--csa-warning);
    }
.csa-po-list-page .summary-card .summary-value {
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.2;
    }
.csa-po-list-page .summary-card .summary-label {
        font-size: 0.85rem;
    }
.csa-po-list-page .summary-card .summary-icon {
        font-size: 2.4rem;
        opacity: 0.2;
    }
.csa-po-list-page .summary-card--light {
        color: #212529;
    }
.csa-po-list-page .summary-card--clickable {
        cursor: pointer;
        transition: transform 0.15s ease, box-shadow 0.15s ease;
    }
.csa-po-list-page .summary-card--clickable:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
    }
.csa-po-list-page .summary-card--clickable:focus {
        outline: 2px solid rgba(13, 110, 253, 0.6);
        outline-offset: 2px;
    }
.csa-po-list-page .summary-card--active {
        box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.28), 0 8px 16px rgba(0, 0, 0, 0.12);
    }
.csa-po-list-page .summary-divider-left {
        position: relative;
    }

@media (min-width: 992px) {
    .csa-po-list-page .summary-divider-left::before {
        content: '';
        position: absolute;
        left: -0.35rem;
        top: 0.4rem;
        bottom: 0.4rem;
        width: 1px;
        background-color: #d1d5db;
    }
}
.csa-po-list-page .po-filter-label {
        font-size: 0.72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #64748b;
    }
.csa-po-list-page .po-column-filter {
        border-radius: 8px;
        border: 1px solid #ced4da;
    }
.csa-po-list-page .po-column-filter:focus {
        border-color: #0d6efd;
        box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
    }
.csa-po-page .csa-po-per-page {
        width: auto;
    }
.csa-po-page .csa-po-per-page .form-select {
        width: 80px;
    }
.csa-po-tool-page .csa-po-tool-form {
        max-width: 460px;
    }
.csa-po-list-page .csa-po-description-cell {
        max-width: 200px;
    }
.csa-po-list-page .po-link {
        color: #0d6efd;
        text-decoration: none;
        transition: color 0.2s ease, text-decoration 0.2s ease;
    }
.csa-po-list-page .po-link:hover {
        color: #0a58ca;
        text-decoration: underline;
    }
.csa-po-list-page .po-meta-stack {
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
        line-height: 1.3;
    }
.csa-po-list-page .table-hover tbody tr:hover {
        background-color: rgba(0, 0, 0, 0.02);
    }
.csa-po-list-page .cursor-pointer {
        cursor: pointer;
    }
.csa-po-list-page .po-editor-table-wrap {
        overflow-x: auto;
        overflow-y: visible;
    }
.csa-po-list-page .po-detail-table-wrap {
        width: 100%;
        overflow-x: auto;
        overflow-y: visible;
    }
.csa-po-list-page .po-detail-card {
        width: 100%;
        max-width: 100%;
    }
.csa-po-list-page .po-editor-table {
        min-width: 1650px;
    }
.csa-po-list-page .po-editor-table th,
.csa-po-list-page .po-editor-table td {
        vertical-align: middle;
    }
.csa-po-list-page .po-editor-table th {
        white-space: nowrap;
    }
.csa-po-list-page .po-col-vendor {
        min-width: 280px;
    }
.csa-po-list-page .po-col-reference {
        min-width: 280px;
        max-width: 340px;
    }
.csa-po-list-page .po-col-description {
        min-width: 300px;
        max-width: 360px;
    }
.csa-po-list-page .po-col-amount {
        min-width: 180px;
        max-width: 220px;
    }
.csa-po-list-page .po-col-top {
        min-width: 220px;
    }
.csa-po-list-page .po-col-user {
        min-width: 170px;
    }
.csa-po-list-page .po-editor-table .choices__list--dropdown,
.csa-po-list-page .po-editor-table .choices__list[aria-expanded] {
        min-width: 320px;
        max-width: min(520px, 82vw);
        max-height: 320px;
        overflow-y: auto;
        z-index: 1060;
    }
.csa-po-list-page .po-editor-table .choices__list--dropdown .choices__item,
.csa-po-list-page .po-editor-table .choices__list[aria-expanded] .choices__item {
        white-space: normal;
        word-break: break-word;
    }
.csa-po-list-page .po-row-display {
        white-space: pre-line;
        line-height: 1.35;
    }
.csa-po-list-page .po-detail-table {
        width: max-content;
        min-width: 100%;
        max-width: none;
        table-layout: auto;
    }
.csa-po-list-page .po-detail-table.po-editor-table {
        min-width: 100%;
    }
.csa-po-list-page .po-detail-table .po-col-reference {
        width: 1%;
        min-width: 0;
        max-width: none;
    }
.csa-po-list-page .po-detail-table .po-col-description,
.csa-po-list-page .po-detail-table .po-col-description-head {
        white-space: normal;
        width: 320px;
        min-width: 320px;
        max-width: 320px;
    }
.csa-po-list-page .po-detail-table .po-col-amount {
        width: 1%;
        min-width: 0;
        max-width: none;
    }
.csa-po-list-page .po-detail-table .po-col-top {
        white-space: normal;
        width: 1%;
        min-width: 0;
        max-width: none;
    }
.csa-po-list-page .po-detail-table .po-col-user {
        width: 1%;
        min-width: 0;
        max-width: none;
    }
.csa-po-list-page .po-detail-table .po-col-actor {
        width: 1%;
        min-width: 0;
        max-width: none;
    }
.csa-po-list-page .po-detail-table .po-col-status-pair {
        width: 1%;
        min-width: 0;
        max-width: none;
    }
.csa-po-list-page .po-detail-description {
        white-space: normal;
        line-height: 1.4;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
.csa-po-list-page .po-detail-top-value {
        white-space: normal;
        line-height: 1.4;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
.csa-po-list-page .po-detail-stack {
        display: flex;
        flex-direction: column;
        gap: 0.3rem;
    }
.csa-po-list-page .po-detail-meta-value {
        line-height: 1.35;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
.csa-po-list-page .po-detail-icon-row {
        display: flex;
        align-items: flex-start;
        gap: 0.45rem;
    }
.csa-po-list-page .po-detail-symbol {
        width: 0.95rem;
        flex: 0 0 0.95rem;
        text-align: center;
        color: #64748b;
        font-size: 0.78rem;
        line-height: 1.35;
        margin-top: 0.08rem;
    }
.csa-po-list-page .po-detail-amount {
        display: flex;
        flex-direction: column;
        gap: 0.3rem;
        align-items: flex-end;
        text-align: right;
    }
.csa-po-list-page .po-detail-table .desc-edit {
        min-width: 100%;
        min-height: 72px;
        white-space: normal;
        resize: vertical;
    }
.csa-po-list-page #addItemModal .modal-content {
        border: 0;
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 18px 40px rgba(15, 23, 42, 0.2);
    }
.csa-po-list-page #addItemModal .modal-header {
        background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%);
        border-bottom: 0;
        padding: 1rem 1.25rem;
    }
.csa-po-list-page #addItemModal .modal-body {
        background-color: #f8fafc;
        padding: 1.25rem;
    }
.csa-po-list-page #addItemModal .modal-footer {
        border-top: 1px solid #e9ecef;
        background-color: #fff;
        padding: 0.9rem 1.25rem;
    }
.csa-po-list-page .add-item-pr-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.3rem 0.65rem;
        border-radius: 999px;
        background-color: #e7f1ff;
        border: 1px solid #cfe2ff;
        color: #0a58ca;
        font-size: 0.8rem;
        font-weight: 600;
    }
.csa-po-list-page .add-item-panel {
        background-color: #fff;
        border: 1px solid #e9ecef;
        border-radius: 12px;
        padding: 1rem;
    }
.csa-po-list-page .add-item-panel-title {
        font-size: 0.8rem;
        font-weight: 700;
        color: #64748b;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        margin-bottom: 0.75rem;
    }
.csa-po-list-page .add-item-field .form-label {
        margin-bottom: 0.35rem;
    }
.csa-po-list-page #addItemModal .form-control,
.csa-po-list-page #addItemModal .form-select,
.csa-po-list-page #addItemModal .choices__inner {
        border-radius: 10px;
    }
.csa-po-list-page #addItemModal .form-control:focus,
.csa-po-list-page #addItemModal .form-select:focus,
.csa-po-list-page #addItemModal .choices.is-focused .choices__inner {
        border-color: #86b7fe;
        box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
    }
.csa-po-list-page #addItemModal .add-item-field.is-invalid .choices__inner,
.csa-po-list-page #addItemModal .choices.is-invalid .choices__inner {
        border-color: #dc3545;
        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.12);
    }
.csa-po-list-page #addItemModal .add-item-field.is-invalid .invalid-feedback {
        display: block;
    }
.csa-po-list-page #addItemModal .choices {
        width: 100%;
    }
.csa-po-list-page #addItemModal .choices__inner {
        min-height: 38px;
    }
.csa-po-list-page #addItemModal .choices__list--dropdown,
.csa-po-list-page #addItemModal .choices__list[aria-expanded] {
        max-height: 320px;
        overflow-y: auto;
        z-index: 2000;
    }
.csa-po-list-page #modal_description_header {
        min-height: 110px;
        resize: vertical;
    }
.csa-po-list-page #modal_description_count {
        font-size: 0.75rem;
        color: #64748b;
    }

@media (max-width: 768px) {
    .csa-po-list-page .po-editor-table {
        min-width: 1400px;
    }

    .csa-po-list-page .po-detail-table,
    .csa-po-list-page .po-detail-table.po-editor-table {
        min-width: 100%;
    }

    .csa-po-list-page .po-detail-table .po-col-description,
    .csa-po-list-page .po-detail-table .po-col-description-head {
        width: 280px;
        min-width: 280px;
        max-width: 280px;
    }
}


/* PO vendor detail workspace */
.csa-po-vendor-detail-page {
        --po-bg-start: #f7f9fc;
        --po-bg-end: #eef3f9;
        --po-card-bg: #ffffff;
        --po-surface-soft: #f8fafc;
        --po-surface-muted: #eef2f7;
        --po-border: #e6ebf2;
        --po-border-strong: #cbd5e1;
        --po-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
        --po-shadow-soft: 0 6px 18px rgba(15, 23, 42, 0.05);
        --po-text-muted: #6b7280;
        --po-title: #0f172a;
        --po-primary: #0d6efd;
        --po-header-bg: rgba(255, 255, 255, 0.85);
        --po-panel-bg: #ffffff;
        --po-panel-alt-bg: #f8fafc;
        --po-table-head-bg: #f8fafc;
        --po-table-row-bg: #ffffff;
        --po-table-hover-bg: #f8fbff;
        --po-chip-bg: #e7f1ff;
        --po-chip-border: #cfe2ff;
        --po-chip-text: #0a58ca;
        --po-success-bg: #ecfeff;
        --po-success-border: #bae6fd;
        --po-success-text: #0f766e;
        --po-warning-bg: #fff8e1;
        --po-procurement-bg: linear-gradient(180deg, #f8fbff 0%, #ffffff 58%);
    }
html.theme-dark .csa-po-vendor-detail-page,
html[data-bs-theme="dark"] .csa-po-vendor-detail-page {
        --po-bg-start: #0b1120;
        --po-bg-end: #0f172a;
        --po-card-bg: var(--csa-surface);
        --po-surface-soft: var(--csa-surface-soft);
        --po-surface-muted: var(--csa-surface-muted);
        --po-border: var(--csa-border);
        --po-border-strong: var(--csa-border-strong);
        --po-shadow: var(--csa-shadow-md);
        --po-shadow-soft: var(--csa-shadow-sm);
        --po-text-muted: var(--csa-text-muted);
        --po-title: var(--csa-text);
        --po-primary: var(--csa-primary);
        --po-header-bg: rgba(17, 24, 39, 0.88);
        --po-panel-bg: var(--csa-surface);
        --po-panel-alt-bg: var(--csa-surface-soft);
        --po-table-head-bg: var(--csa-surface-muted);
        --po-table-row-bg: var(--csa-surface);
        --po-table-hover-bg: rgba(88, 166, 255, 0.08);
        --po-chip-bg: rgba(88, 166, 255, 0.16);
        --po-chip-border: rgba(96, 165, 250, 0.34);
        --po-chip-text: #93c5fd;
        --po-success-bg: rgba(20, 184, 166, 0.14);
        --po-success-border: rgba(45, 212, 191, 0.34);
        --po-success-text: #5eead4;
        --po-warning-bg: rgba(251, 191, 36, 0.14);
        --po-procurement-bg: linear-gradient(180deg, #0f172a 0%, #111827 58%);
    }
.app-content.csa-po-vendor-detail-page {
        min-height: 0;
        background: linear-gradient(180deg, var(--po-bg-start) 0%, var(--po-bg-end) 100%);
    }
.csa-po-vendor-detail-page .po-page-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
        margin-bottom: 1.25rem;
        padding: 1rem 1.1rem;
        border: 1px solid var(--po-border);
        border-radius: 16px;
        background: var(--po-header-bg);
        backdrop-filter: blur(3px);
        box-shadow: var(--po-shadow-soft);
    }
.csa-po-vendor-detail-page .po-title {
        margin: 0;
        font-size: 1.25rem;
        font-weight: 700;
        color: var(--po-title);
    }
.csa-po-vendor-detail-page .po-meta-badges {
        display: flex;
        gap: .5rem;
        flex-wrap: wrap;
        margin-top: .4rem;
    }
.csa-po-vendor-detail-page .po-badge-id {
        background: var(--po-chip-bg);
        color: var(--po-chip-text);
        border: 1px solid var(--po-chip-border);
    }
.csa-po-vendor-detail-page .table td,
.csa-po-vendor-detail-page .table th {
        vertical-align: middle;
        white-space: nowrap;
    }
.csa-po-vendor-detail-page .table {
        --bs-table-bg: transparent;
        --bs-table-color: var(--po-title);
        --bs-table-border-color: var(--po-border);
        --bs-table-hover-bg: var(--po-table-hover-bg);
        --bs-table-hover-color: var(--po-title);
    }
.csa-po-vendor-detail-page .table .table-light,
.csa-po-vendor-detail-page .table-light {
        --bs-table-bg: var(--po-table-head-bg);
        --bs-table-color: var(--po-text-muted);
        --bs-table-border-color: var(--po-border);
    }
.csa-po-vendor-detail-page .po-lock-summary {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .75rem;
    }
.csa-po-vendor-detail-page .po-lock-summary-item {
        border: 1px solid var(--po-border);
        border-radius: 10px;
        padding: .75rem .85rem;
        background: var(--po-panel-bg);
    }
.csa-po-vendor-detail-page .po-lock-summary-label {
        display: block;
        font-size: .72rem;
        color: var(--po-text-muted);
        margin-bottom: .25rem;
    }
.csa-po-vendor-detail-page .po-lock-summary-value {
        font-weight: 700;
        color: var(--po-title);
    }
.csa-po-vendor-detail-page .csa-po-state-col {
        width: 84px;
    }
.csa-po-vendor-detail-page .csa-po-meta-xs {
        font-size: 0.75rem;
    }
.csa-po-vendor-detail-page .csa-po-note-xs {
        font-size: 0.72rem;
    }
.csa-po-vendor-detail-page .csa-po-note-xxs {
        font-size: 0.7rem;
    }
.csa-po-vendor-detail-page .csa-po-stage-table-min {
        min-width: 1000px;
    }
.csa-po-vendor-detail-page .csa-po-budget-source-col {
        width: 44%;
    }
.csa-po-vendor-detail-page .csa-po-budget-status-col {
        width: 14%;
    }
.csa-po-vendor-detail-page .csa-po-budget-amount-col {
        width: 18%;
    }
.csa-po-vendor-detail-page .po-lock-table {
        border: 1px solid var(--po-border);
        border-radius: 10px;
        overflow: hidden;
    }
.csa-po-vendor-detail-page .po-lock-table .table {
        margin-bottom: 0;
    }
.csa-po-vendor-detail-page .po-lock-table th {
        font-size: .78rem;
        color: var(--po-text-muted);
        background: var(--po-table-head-bg);
    }
.csa-po-vendor-detail-page .po-lock-table td {
        border-color: var(--po-border);
    }
.csa-po-vendor-detail-page .po-lock-unmapped-row th,
.csa-po-vendor-detail-page .po-lock-unmapped-row td {
        background: var(--po-warning-bg);
    }
.csa-po-vendor-detail-page .po-lock-item-cell {
        min-width: 260px;
        max-width: 360px;
        white-space: normal !important;
    }
.csa-po-vendor-detail-page .po-lock-amount-input {
        min-width: 150px;
    }
.csa-po-vendor-detail-page .csa-po-detail-card,
.csa-po-vendor-detail-page .csa-po-items-card,
.csa-po-vendor-detail-page .csa-po-side-card {
        margin-bottom: 1.25rem;
    }
.csa-po-vendor-detail-page .csa-po-detail-card .csa-card__header,
.csa-po-vendor-detail-page .csa-po-items-card .csa-card__header,
.csa-po-vendor-detail-page .csa-po-side-card .csa-card__header {
        background: linear-gradient(180deg, var(--csa-surface) 0%, var(--csa-surface-soft) 100%);
    }
.csa-po-vendor-detail-page .csa-po-readonly-field {
        display: block;
        background-color: transparent;
        border: 0;
        border-bottom: 1px dashed var(--po-border-strong);
        border-radius: 0;
        color: var(--po-title);
        font-weight: 500;
        line-height: 1.5;
        min-height: 1.5rem;
        padding: 0 0 0.2rem;
    }
.csa-po-vendor-detail-page .csa-po-readonly-field:disabled {
        opacity: 1;
    }
.csa-po-vendor-detail-page .form-control,
.csa-po-vendor-detail-page .form-select,
.csa-po-vendor-detail-page .input-group-text {
        background-color: var(--po-panel-bg);
        border-color: var(--po-border-strong);
        color: var(--po-title);
    }
.csa-po-vendor-detail-page .form-control.bg-light,
.csa-po-vendor-detail-page .form-select.bg-light,
.csa-po-vendor-detail-page .input-group-text.bg-light {
        background-color: var(--po-panel-bg) !important;
    }
.csa-po-vendor-detail-page .form-control:disabled,
.csa-po-vendor-detail-page .form-select:disabled {
        -webkit-text-fill-color: var(--po-title);
        opacity: 1;
    }
.csa-po-vendor-detail-page .form-control::placeholder {
        color: var(--po-text-muted);
    }
.csa-po-vendor-detail-page .csa-po-stat-grid {
        justify-content: stretch;
    }
.csa-po-vendor-detail-page .csa-po-stat-grid > * {
        flex: 1 1 160px;
        min-width: min(100%, 150px);
    }
.csa-po-vendor-detail-page .csa-po-stat-grid .csa-stat-card__top {
        align-items: flex-start;
    }
.csa-po-vendor-detail-page .csa-po-stat-grid .csa-stat-card__value {
        font-size: 1rem;
        line-height: 1.28;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
.csa-po-vendor-detail-page .csa-po-stat-grid .csa-stat-card__footer {
        color: var(--csa-text-muted);
        font-size: 0.72rem;
        margin-top: 0.55rem;
    }
.csa-po-vendor-detail-page .csa-po-items-actions {
        justify-content: flex-end;
    }
.csa-po-vendor-detail-page .csa-po-side-table th,
.csa-po-vendor-detail-page .csa-po-side-table td {
        white-space: normal;
    }

@media (max-width: 768px) {
    .csa-po-vendor-detail-page .po-lock-summary {
        grid-template-columns: 1fr;
    }
}
.csa-po-vendor-detail-page .card-modern {
        border: 1px solid var(--po-border);
        border-radius: 16px;
        box-shadow: var(--po-shadow-soft);
        background: var(--po-card-bg);
        margin-bottom: 1.25rem;
    }
.csa-po-vendor-detail-page .card-modern.p-0 .p-3.border-bottom {
        border-top-left-radius: 16px;
        border-top-right-radius: 16px;
    }
.csa-po-vendor-detail-page .card-modern:hover {
        box-shadow: var(--po-shadow);
    }
.csa-po-vendor-detail-page .form-control-plaintext-custom {
        background-color: transparent !important;
        border: none;
        border-bottom: 1px dashed var(--po-border-strong);
        border-radius: 0;
        padding-left: 0;
        padding-top: 0;
        font-weight: 500;
        color: var(--po-title);
    }
.csa-po-vendor-detail-page .section-label {
        display: block;
        margin-bottom: .625rem;
        font-size: .72rem;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--po-text-muted);
    }
.csa-po-vendor-detail-page .cost-card {
        border: 1px solid var(--po-border);
        border-radius: 14px;
        padding: .9rem 1rem;
        box-shadow: var(--po-shadow-soft);
        background: var(--po-panel-alt-bg);
        border-left: 4px solid var(--po-primary);
    }
.csa-po-vendor-detail-page .cost-card.estimate {
        border-left-color: #64748b;
        background: var(--po-panel-alt-bg);
    }
.csa-po-vendor-detail-page .cost-card.commitment {
        border-left-color: #198754;
        background: var(--po-success-bg);
    }
.csa-po-vendor-detail-page .cost-label {
        font-size: .78rem;
        color: var(--po-text-muted);
    }
.csa-po-vendor-detail-page .cost-value {
        margin: 0;
        font-size: 1.2rem;
        font-weight: 700;
    }
.csa-po-vendor-detail-page .po-items-table thead th {
        background-color: var(--po-table-head-bg);
        color: var(--po-text-muted);
        font-weight: 600;
        font-size: .78rem;
        letter-spacing: .04em;
        text-transform: uppercase;
        border-bottom: 1px solid var(--po-border);
    }
.csa-po-vendor-detail-page .po-items-table tbody tr:hover {
        background-color: var(--po-table-hover-bg);
    }
.csa-po-vendor-detail-page .po-related-card {
        overflow: hidden;
    }
.csa-po-vendor-detail-page .po-related-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 1rem 1.1rem;
        border-bottom: 1px solid var(--po-border);
        background: linear-gradient(180deg, var(--po-panel-bg) 0%, var(--po-panel-alt-bg) 100%);
    }
.csa-po-vendor-detail-page .po-related-title-wrap {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        min-width: 0;
    }
.csa-po-vendor-detail-page .po-related-title-icon {
        width: 2.4rem;
        height: 2.4rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        border-radius: 12px;
        background: var(--po-chip-bg);
        color: var(--po-chip-text);
    }
.csa-po-vendor-detail-page .po-related-title {
        margin: 0;
        color: var(--po-title);
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.3;
    }
.csa-po-vendor-detail-page .po-related-subtitle {
        display: block;
        margin-top: 0.12rem;
        color: var(--po-text-muted);
        font-size: 0.78rem;
        line-height: 1.35;
    }
.csa-po-vendor-detail-page .po-related-count {
        flex: 0 0 auto;
        border: 1px solid var(--po-border);
        background: var(--po-panel-bg);
        color: var(--po-text-muted);
    }
.csa-po-vendor-detail-page .po-related-body {
        padding: 1rem;
    }
.csa-po-vendor-detail-page .po-related-nav {
        gap: 0.45rem;
        margin-bottom: 0.85rem;
    }
.csa-po-vendor-detail-page .po-related-nav .nav-link {
        border: 1px solid var(--po-border);
        border-radius: 999px;
        background: var(--po-panel-bg);
        color: var(--po-text-muted);
        font-size: 0.78rem;
        font-weight: 700;
    }
.csa-po-vendor-detail-page .po-related-nav .nav-link.active {
        border-color: var(--po-chip-border);
        background: var(--po-chip-bg);
        color: var(--po-chip-text);
    }
.csa-po-vendor-detail-page .po-related-table-wrap {
        border: 1px solid var(--po-border);
        border-radius: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        background: var(--po-panel-bg);
    }
.csa-po-vendor-detail-page .po-related-table {
        min-width: 1080px;
    }
.csa-po-vendor-detail-page .po-related-table td,
.csa-po-vendor-detail-page .po-related-table th {
        white-space: normal;
    }
.csa-po-vendor-detail-page .po-related-table thead th {
        padding: 0.8rem 0.9rem;
        border-bottom: 1px solid var(--po-border);
        background: var(--po-table-head-bg);
        color: var(--po-text-muted);
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }
.csa-po-vendor-detail-page .po-related-table tbody td {
        padding: 0.85rem 0.9rem;
        border-bottom: 1px solid var(--po-border);
        color: var(--po-title);
    }
.csa-po-vendor-detail-page .po-related-table tbody tr:hover td {
        background: var(--po-table-hover-bg);
    }
.csa-po-vendor-detail-page .po-related-ref {
        font-weight: 700;
        color: var(--po-chip-text);
    }
.csa-po-vendor-detail-page .po-related-account {
        color: var(--po-title);
        font-weight: 700;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }
.csa-po-vendor-detail-page .po-related-description {
        max-width: 380px;
        color: var(--po-text-muted);
        line-height: 1.5;
        overflow-wrap: anywhere;
    }
.csa-po-vendor-detail-page .po-related-total-row td {
        border-bottom: 0;
        background: var(--po-table-head-bg);
        font-weight: 700;
    }
.csa-po-vendor-detail-page .po-related-table th:last-child,
.csa-po-vendor-detail-page .po-related-table td:last-child {
        min-width: 150px;
        white-space: nowrap;
    }
.csa-po-vendor-detail-page .attachment-link {
        transition: box-shadow .2s ease, transform .2s ease;
    }
.csa-po-vendor-detail-page .attachment-link:hover {
        box-shadow: var(--po-shadow-soft);
        transform: translateY(-1px);
    }
.csa-po-vendor-detail-page .boq-procurement-shell {
        border: 1px solid var(--po-chip-border);
        background: var(--po-procurement-bg);
    }
.csa-po-vendor-detail-page .boq-procurement-shell .csa-card__header {
        background: transparent;
    }
.csa-po-vendor-detail-page .boq-review-toolbar {
        background: var(--po-panel-bg);
    }
.csa-po-vendor-detail-page .boq-batch-selector-wrap {
        min-width: 260px;
    }
.csa-po-vendor-detail-page .boq-meta-group {
        display: flex;
        gap: 0.45rem;
        flex-wrap: wrap;
        margin-top: 0.6rem;
    }
.csa-po-vendor-detail-page .boq-meta-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        border: 1px solid var(--po-border);
        border-radius: 999px;
        padding: 0.2rem 0.55rem;
        background: var(--po-panel-bg);
        font-size: 0.72rem;
        color: var(--po-text-muted);
    }
.csa-po-vendor-detail-page .boq-review-banner {
        border-left: 4px solid transparent;
    }
.csa-po-vendor-detail-page .boq-review-banner.alert-info {
        border-left-color: #0ea5e9;
    }
.csa-po-vendor-detail-page .boq-review-banner.alert-warning {
        border-left-color: #f59e0b;
    }
.csa-po-vendor-detail-page .boq-review-actions {
        background: var(--po-panel-alt-bg);
    }
.csa-po-vendor-detail-page .boq-review-actions .btn {
        min-width: 152px;
    }
.csa-po-vendor-detail-page .pending-pr-boq-row td {
        background: var(--po-table-row-bg);
    }
.csa-po-vendor-detail-page .pending-pr-boq-row:hover td {
        background: var(--po-table-hover-bg);
    }
.csa-po-vendor-detail-page .pending-pr-boq-row .pending-boq-tax,
.csa-po-vendor-detail-page .pending-pr-boq-row .pending-boq-price {
        border-color: var(--po-border-strong);
        box-shadow: none;
    }
.csa-po-vendor-detail-page .pending-pr-boq-row .pending-boq-price:focus,
.csa-po-vendor-detail-page .pending-pr-boq-row .pending-boq-tax:focus {
        border-color: #93c5fd;
        box-shadow: 0 0 0 0.15rem rgba(59, 130, 246, 0.15);
    }
.csa-po-vendor-detail-page .boq-source-total-row {
        background: var(--po-table-hover-bg);
    }
.csa-po-vendor-detail-page #addRowModal .modal-dialog {
        max-width: min(1320px, 96vw);
    }
.csa-po-vendor-detail-page #addRowModal .modal-content {
        border: 0;
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 18px 40px rgba(15, 23, 42, 0.2);
        background: var(--po-card-bg);
    }
.csa-po-vendor-detail-page #addRowModal .modal-header {
        padding: 1rem 1.25rem;
        border-bottom: 0;
        background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%);
        color: #fff;
    }
.csa-po-vendor-detail-page #addRowModal .modal-header::after {
        display: none;
    }
.csa-po-vendor-detail-page #addRowModal .modal-title-wrap {
        display: flex;
        align-items: flex-start;
        gap: 0.85rem;
        width: 100%;
    }
.csa-po-vendor-detail-page #addRowModal .modal-title-icon {
        width: 2.35rem;
        height: 2.35rem;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, 0.16);
        border: 1px solid rgba(255, 255, 255, 0.18);
        font-size: 1rem;
        flex: 0 0 auto;
    }
.csa-po-vendor-detail-page #addRowModal .modal-title-copy {
        flex: 1 1 auto;
        min-width: 0;
    }
.csa-po-vendor-detail-page .po-stage-mode-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        padding: 0.22rem 0.55rem;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.16);
        border: 1px solid rgba(255, 255, 255, 0.2);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }
.csa-po-vendor-detail-page #addRowModal .modal-title-heading {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        margin-bottom: 0.2rem;
        flex-wrap: wrap;
    }
.csa-po-vendor-detail-page #addRowModal .modal-title-main {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        margin: 0;
        font-size: 1.1rem;
        font-weight: 700;
        line-height: 1.3;
    }
.csa-po-vendor-detail-page .po-stage-header-subtitle {
        display: block;
        font-size: 0.8rem;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.78);
    }
.csa-po-vendor-detail-page #addRowModal .csa-modal-form__header .modal-title-icon {
        background: var(--csa-primary-soft);
        border-color: rgba(10, 44, 81, 0.14);
        color: var(--csa-primary);
    }
.csa-po-vendor-detail-page #addRowModal .csa-modal-form__header .po-stage-mode-badge {
        background: var(--csa-primary-soft);
        border-color: rgba(10, 44, 81, 0.14);
        color: var(--csa-primary);
    }
.csa-po-vendor-detail-page #addRowModal .csa-modal-form__header .po-stage-header-subtitle {
        color: var(--csa-text-muted);
    }
.csa-po-vendor-detail-page #addRowModal .modal-body {
        padding: 1.25rem;
        background-color: var(--po-surface-soft);
    }
.csa-po-vendor-detail-page .po-stage-toolbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        padding: 0;
        margin-bottom: 1rem;
        background: transparent;
        border: 0;
    }
.csa-po-vendor-detail-page .po-stage-toolbar-copy {
        display: flex;
        flex-direction: column;
        gap: 0.45rem;
        max-width: 760px;
    }
.csa-po-vendor-detail-page .po-stage-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        width: fit-content;
        padding: 0.3rem 0.65rem;
        border-radius: 999px;
        background-color: var(--po-chip-bg);
        border: 1px solid var(--po-chip-border);
        color: var(--po-chip-text);
        font-size: 0.8rem;
        font-weight: 600;
    }
.csa-po-vendor-detail-page .po-stage-toolbar-copy .subtitle {
        display: block;
        font-size: 0.78rem;
        line-height: 1.55;
        color: var(--po-text-muted);
    }
.csa-po-vendor-detail-page .po-stage-loading-indicator {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        width: fit-content;
        padding: 0.35rem 0.7rem;
        border-radius: 999px;
        background: var(--po-panel-bg);
        border: 1px solid var(--po-chip-border);
        color: var(--po-chip-text);
        font-size: 0.78rem;
        font-weight: 600;
    }
.csa-po-vendor-detail-page .po-stage-loading-indicator .spinner-border {
        width: 0.95rem;
        height: 0.95rem;
        border-width: 0.16em;
    }
.csa-po-vendor-detail-page .po-stage-board {
        padding: 0;
    }
.csa-po-vendor-detail-page .po-stage-panel {
        background-color: var(--po-panel-bg);
        border: 1px solid var(--po-border);
        border-radius: 12px;
        padding: 1rem;
    }
.csa-po-vendor-detail-page .po-stage-panel-title {
        font-size: 0.8rem;
        font-weight: 700;
        color: var(--po-text-muted);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        margin-bottom: 0.75rem;
    }
.csa-po-vendor-detail-page .po-stage-table-wrap {
        border: 1px solid var(--po-border);
        border-radius: 12px;
        overflow: hidden;
        background: var(--po-panel-bg);
        box-shadow: none;
    }
.csa-po-vendor-detail-page .po-stage-table td,
.csa-po-vendor-detail-page .po-stage-table th {
        white-space: normal;
    }
.csa-po-vendor-detail-page #addRowModal .po-stage-table {
        width: 100%;
        table-layout: fixed;
    }
.csa-po-vendor-detail-page #addRowModal .po-stage-table thead th {
        background: var(--po-table-head-bg);
        color: var(--po-text-muted);
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        border-bottom: 1px solid var(--po-border);
        vertical-align: middle;
        padding: 0.9rem 0.75rem;
        text-align: left;
    }
.csa-po-vendor-detail-page #addRowModal .po-stage-table tbody td {
        background: var(--po-table-row-bg);
        padding: 0.85rem 0.75rem;
        vertical-align: top;
    }
.csa-po-vendor-detail-page #addRowModal .po-stage-table .form-control,
.csa-po-vendor-detail-page #addRowModal .po-stage-table .form-select,
.csa-po-vendor-detail-page #addRowModal .po-stage-table .input-group-text {
        min-height: calc(1.5em + 0.5rem + 2px);
    }
.csa-po-vendor-detail-page .po-stage-compact-shell,
.csa-po-vendor-detail-page .po-stage-select-shell {
        border: 1px solid var(--po-border);
        border-radius: 14px;
        background: linear-gradient(180deg, var(--po-panel-bg) 0%, var(--po-panel-alt-bg) 100%);
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
    }
.csa-po-vendor-detail-page .po-stage-compact-shell {
        padding: 0.75rem 0.78rem 0.82rem;
        display: grid;
        gap: 0.65rem;
        width: 100%;
        margin-inline: 0;
    }
.csa-po-vendor-detail-page .po-stage-meta-list {
        display: grid;
        gap: 0.38rem;
    }
.csa-po-vendor-detail-page .po-stage-meta-row {
        display: grid;
        grid-template-columns: 66px minmax(0, 1fr);
        gap: 0.55rem;
        align-items: start;
    }
.csa-po-vendor-detail-page .po-stage-meta-label {
        font-size: 0.66rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: var(--po-text-muted);
        padding-top: 0.16rem;
    }
.csa-po-vendor-detail-page .po-stage-field-label {
        display: block;
        margin-bottom: 0.34rem;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: var(--po-text-muted);
    }
.csa-po-vendor-detail-page .po-stage-inline-value {
        min-height: auto !important;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        color: var(--po-title);
        font-size: 0.89rem;
        font-weight: 600;
        line-height: 1.35;
        word-break: break-word;
    }
.csa-po-vendor-detail-page .po-stage-inline-value[readonly] {
        background: transparent;
    }
.csa-po-vendor-detail-page .po-stage-inline-value.po-stage-muted-value {
        color: var(--po-text-muted);
        font-size: 0.82rem;
        font-weight: 500;
    }
.csa-po-vendor-detail-page .po-stage-select-shell {
        padding: 0.58rem 0.68rem 0.66rem;
        text-align: left;
    }
.csa-po-vendor-detail-page .po-stage-select-shell .po-stage-field-label {
        margin-bottom: 0.4rem;
    }
.csa-po-vendor-detail-page #addRowModal .po-stage-select-shell .choices__inner,
.csa-po-vendor-detail-page #addRowModal .po-stage-row .choices__inner,
.csa-po-vendor-detail-page #addRowModal .po-stage-row .form-select,
.csa-po-vendor-detail-page #addRowModal .po-stage-row .form-control:not(.po-stage-inline-value),
.csa-po-vendor-detail-page #addRowModal .po-stage-row .input-group-text {
        border-color: var(--po-border-strong);
        border-radius: 12px;
        background: var(--po-panel-bg);
        box-shadow: none;
    }
.csa-po-vendor-detail-page #addRowModal .po-stage-row .choices__inner,
.csa-po-vendor-detail-page #addRowModal .po-stage-row .form-select,
.csa-po-vendor-detail-page #addRowModal .po-stage-row .form-control:not(.po-stage-inline-value) {
        min-height: 40px;
    }
.csa-po-vendor-detail-page #addRowModal .po-stage-row .choices[data-type*="select-one"]::after {
        right: 0.9rem;
    }
.csa-po-vendor-detail-page #addRowModal .po-stage-row .choices.is-focused .choices__inner,
.csa-po-vendor-detail-page #addRowModal .po-stage-row .choices.is-open .choices__inner,
.csa-po-vendor-detail-page #addRowModal .po-stage-row .form-select:focus,
.csa-po-vendor-detail-page #addRowModal .po-stage-row .form-control:not(.po-stage-inline-value):focus {
        border-color: rgba(13, 148, 136, 0.55);
        box-shadow: 0 0 0 0.18rem rgba(20, 184, 166, 0.12);
    }
.csa-po-vendor-detail-page .po-stage-row .input-group {
        border-radius: 12px;
        overflow: hidden;
    }
.csa-po-vendor-detail-page .po-stage-row .input-group-text {
        color: var(--po-text-muted);
        font-weight: 600;
    }
.csa-po-vendor-detail-page .po-stage-row .btn-delete-row {
        width: 2rem;
        height: 2rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
    }
.csa-po-vendor-detail-page .po-stage-row .btn-delete-row:hover {
        background: rgba(220, 53, 69, 0.08);
    }
.csa-po-vendor-detail-page .po-stage-cell-primary {
        width: 19%;
        min-width: 220px;
    }
.csa-po-vendor-detail-page .po-stage-cell-item {
        width: 28%;
        min-width: 260px;
    }
.csa-po-vendor-detail-page .po-stage-cell-tax {
        width: 10%;
        min-width: 110px;
    }
.csa-po-vendor-detail-page .po-stage-cell-qty {
        width: 9%;
        min-width: 92px;
    }
.csa-po-vendor-detail-page .po-stage-cell-price {
        width: 14%;
        min-width: 152px;
    }
.csa-po-vendor-detail-page .po-stage-cell-subtotal {
        width: 12%;
        min-width: 124px;
    }
.csa-po-vendor-detail-page .po-stage-cell-act {
        width: 8%;
        min-width: 72px;
    }
.csa-po-vendor-detail-page #addRowModal .po-stage-table thead .po-stage-cell-tax,
.csa-po-vendor-detail-page #addRowModal .po-stage-table thead .po-stage-cell-qty,
.csa-po-vendor-detail-page #addRowModal .po-stage-table thead .po-stage-cell-price,
.csa-po-vendor-detail-page #addRowModal .po-stage-table thead .po-stage-cell-subtotal,
.csa-po-vendor-detail-page #addRowModal .po-stage-table thead .po-stage-cell-act {
        text-align: center;
    }
.csa-po-vendor-detail-page .po-stage-control-wrap {
        width: 100%;
    }
.csa-po-vendor-detail-page .po-stage-control-wrap--fill>.choices,
.csa-po-vendor-detail-page .po-stage-control-wrap--fill>.form-select,
.csa-po-vendor-detail-page .po-stage-control-wrap--fill>.form-control,
.csa-po-vendor-detail-page .po-stage-control-wrap--fill>.input-group {
        width: 100%;
    }
.csa-po-vendor-detail-page .po-stage-control-wrap--center,
.csa-po-vendor-detail-page .po-stage-value-wrap {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }
.csa-po-vendor-detail-page .po-stage-control-wrap--tax>.choices,
.csa-po-vendor-detail-page .po-stage-control-wrap--tax>.form-select {
        width: min(100%, 122px);
    }
.csa-po-vendor-detail-page .po-stage-control-wrap--qty>.form-control {
        width: min(100%, 108px);
    }
.csa-po-vendor-detail-page .po-stage-control-wrap--price>.input-group {
        width: min(100%, 170px);
    }
.csa-po-vendor-detail-page .po-stage-control-grid {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) 92px minmax(0, 1.3fr);
        gap: 0.65rem;
        align-items: start;
    }
.csa-po-vendor-detail-page .po-stage-control-grid .choices,
.csa-po-vendor-detail-page .po-stage-control-grid .form-control,
.csa-po-vendor-detail-page .po-stage-control-grid .form-select,
.csa-po-vendor-detail-page .po-stage-control-grid .input-group {
        width: 100%;
    }
.csa-po-vendor-detail-page .po-item-metrics {
        display: grid;
        justify-items: center;
        gap: 0.35rem;
        line-height: 1.35;
    }
.csa-po-vendor-detail-page .po-item-metric-chip {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.15rem 0.5rem;
        border-radius: 999px;
        background: var(--po-table-head-bg);
        border: 1px solid var(--po-border);
        color: var(--po-title);
        font-size: 0.76rem;
        font-weight: 600;
        white-space: nowrap;
    }
.csa-po-vendor-detail-page .po-item-metric-chip--price {
        color: var(--po-text-muted);
    }
.csa-po-vendor-detail-page .po-item-name-wrap,
.csa-po-vendor-detail-page .po-summary-po-item {
        display: inline-block;
        max-width: min(100%, 260px);
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        line-height: 1.45;
    }
.csa-po-vendor-detail-page .po-item-metrics-editor {
        width: min(100%, 180px);
        display: grid;
        gap: 0.45rem;
        margin-inline: auto;
    }
.csa-po-vendor-detail-page .po-item-metrics-editor .form-control,
.csa-po-vendor-detail-page .po-item-metrics-editor .form-select,
.csa-po-vendor-detail-page .po-item-metrics-editor .input-group {
        width: 100%;
    }
.csa-po-vendor-detail-page .po-items-table-main {
        width: 100%;
        min-width: 100%;
        table-layout: auto;
    }
.csa-po-vendor-detail-page .po-items-table-main thead th {
        white-space: nowrap;
    }
.csa-po-vendor-detail-page .po-stage-value-wrap--subtotal,
.csa-po-vendor-detail-page .po-stage-value-wrap--act {
        min-height: 40px;
        align-items: center;
    }
.csa-po-vendor-detail-page .po-stage-value-wrap--subtotal .text-comcost {
        display: block;
        width: 100%;
        text-align: center;
    }
.csa-po-vendor-detail-page #addRowModal .table-responsive {
        overflow-y: visible;
    }
.csa-po-vendor-detail-page #addRowModal .choices {
        width: 100%;
    }
.csa-po-vendor-detail-page #addRowModal .choices__list--dropdown,
.csa-po-vendor-detail-page #addRowModal .choices__list[aria-expanded] {
        z-index: 2100;
    }
.csa-po-vendor-detail-page #addRowModal .choices__list--dropdown .choices__item,
.csa-po-vendor-detail-page #addRowModal .choices__list[aria-expanded] .choices__item {
        white-space: normal;
        word-break: break-word;
    }
.csa-po-vendor-detail-page .po-stage-empty td {
        background: var(--po-table-row-bg);
    }
.csa-po-vendor-detail-page .po-stage-loading-row td {
        background: var(--po-table-row-bg);
    }
.csa-po-vendor-detail-page .po-stage-empty .empty-copy {
        max-width: 460px;
        margin: 0 auto;
        line-height: 1.6;
    }
.csa-po-vendor-detail-page .po-stage-loading-copy {
        max-width: 420px;
        margin: 0 auto;
        line-height: 1.6;
    }
.csa-po-vendor-detail-page .po-stage-empty i {
        color: var(--po-border-strong);
    }
.csa-po-vendor-detail-page #addRowModal .modal-footer {
        border-top: 1px solid var(--po-border);
        background-color: var(--po-card-bg);
        padding: 0.9rem 1.25rem;
    }
.csa-po-vendor-detail-page .po-stage-footer-note {
        display: flex;
        align-items: flex-start;
        gap: 0.65rem;
        font-size: 0.78rem;
        line-height: 1.55;
        color: var(--po-text-muted);
    }
.csa-po-vendor-detail-page .po-stage-footer-note i {
        color: var(--po-chip-text);
        margin-top: 0.05rem;
    }
.csa-po-vendor-detail-page .po-summary-row td {
        background: var(--po-table-row-bg);
    }
.csa-po-vendor-detail-page .po-summary-row td:first-child {
        border-left: 3px solid rgba(20, 184, 166, 0.22);
    }
.csa-po-vendor-detail-page .po-summary-row:hover td {
        background: var(--po-table-hover-bg);
    }
.csa-po-vendor-detail-page .po-summary-meta {
        line-height: 1.5;
    }
.csa-po-vendor-detail-page .po-summary-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin-top: 0.55rem;
        padding: 0.22rem 0.55rem;
        border-radius: 999px;
        background: var(--po-success-bg);
        border: 1px solid var(--po-success-border);
        color: var(--po-success-text);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.01em;
    }
.csa-po-vendor-detail-page .po-summary-action {
        width: 1.95rem;
        height: 1.95rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        transition: background-color 0.18s ease, transform 0.18s ease;
    }
.csa-po-vendor-detail-page .po-summary-action:hover {
        background: rgba(13, 110, 253, 0.08);
        transform: translateY(-1px);
    }
.csa-po-vendor-detail-page .po-summary-action.text-danger:hover {
        background: rgba(220, 53, 69, 0.08);
    }

@media (max-width: 767.98px) {
    .csa-po-vendor-detail-page .csa-po-items-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .csa-po-vendor-detail-page .csa-po-items-actions .btn,
    .csa-po-vendor-detail-page .csa-po-items-actions .vr {
        width: 100%;
    }

    .csa-po-vendor-detail-page .csa-po-items-actions .vr {
        height: 1px;
        min-height: 1px;
        margin: 0.25rem 0 !important;
    }

    .csa-po-vendor-detail-page #addRowModal .modal-header {
        padding: 1rem;
    }

    .csa-po-vendor-detail-page .po-stage-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .csa-po-vendor-detail-page #addRowModal .modal-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .csa-po-vendor-detail-page .po-stage-footer-note {
        margin-bottom: 0.75rem;
    }
}
html.theme-dark .csa-po-vendor-detail-page .alert-light,
html[data-bs-theme="dark"] .csa-po-vendor-detail-page .alert-light {
        background-color: var(--po-panel-bg);
        border-color: var(--po-border) !important;
        color: var(--po-title);
    }
html.theme-dark .csa-po-vendor-detail-page .text-dark:not(.badge),
html[data-bs-theme="dark"] .csa-po-vendor-detail-page .text-dark:not(.badge) {
        color: var(--po-title) !important;
    }
html.theme-dark .csa-po-vendor-detail-page .text-muted,
html.theme-dark .csa-po-vendor-detail-page .text-secondary,
html[data-bs-theme="dark"] .csa-po-vendor-detail-page .text-muted,
html[data-bs-theme="dark"] .csa-po-vendor-detail-page .text-secondary {
        color: var(--po-text-muted) !important;
    }
html.theme-dark .csa-po-vendor-detail-page .badge.bg-light,
html[data-bs-theme="dark"] .csa-po-vendor-detail-page .badge.bg-light {
        background-color: var(--po-surface-muted) !important;
        border-color: var(--po-border) !important;
        color: var(--po-title) !important;
    }
html.theme-dark .csa-po-vendor-detail-page .bg-light:not(.badge),
html[data-bs-theme="dark"] .csa-po-vendor-detail-page .bg-light:not(.badge) {
        background-color: var(--po-panel-bg) !important;
        color: var(--po-title) !important;
    }
html.theme-dark .csa-po-vendor-detail-page .attachment-link.border,
html.theme-dark .csa-po-vendor-detail-page .boq-review-toolbar.border-bottom,
html.theme-dark .csa-po-vendor-detail-page .boq-review-actions.border-bottom,
html[data-bs-theme="dark"] .csa-po-vendor-detail-page .attachment-link.border,
html[data-bs-theme="dark"] .csa-po-vendor-detail-page .boq-review-toolbar.border-bottom,
html[data-bs-theme="dark"] .csa-po-vendor-detail-page .boq-review-actions.border-bottom {
        border-color: var(--po-border) !important;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .modal-content {
        background: #0f172a;
        border-color: #334155;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .modal-header {
        background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
    }
html.theme-dark .csa-po-vendor-detail-page .po-stage-mode-badge {
        background: rgba(255, 255, 255, 0.12);
        border-color: rgba(255, 255, 255, 0.18);
    }
html.theme-dark .csa-po-vendor-detail-page .po-stage-header-subtitle {
        color: rgba(226, 232, 240, 0.84);
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .modal-body,
html.theme-dark .csa-po-vendor-detail-page #addRowModal .modal-footer {
        background: #0f172a;
        border-color: #334155;
    }
html.theme-dark .csa-po-vendor-detail-page .po-stage-chip {
        background: rgba(59, 130, 246, 0.16);
        border-color: rgba(96, 165, 250, 0.3);
        color: #93c5fd;
    }
html.theme-dark .csa-po-vendor-detail-page .po-stage-loading-indicator {
        background: rgba(30, 41, 59, 0.88);
        border-color: #334155;
        color: #93c5fd;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-toolbar-copy .subtitle,
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-footer-note {
        color: #94a3b8;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-panel {
        background: #111827;
        border-color: #334155;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-panel-title {
        color: #94a3b8;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-footer-note i {
        color: #93c5fd;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-table-wrap {
        background: #111827;
        border-color: #334155;
        box-shadow: none;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-table thead th {
        background: #111827;
        color: #94a3b8;
        border-color: #334155;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-table tbody td {
        background: #0f172a;
        border-color: #1f2937;
    }
html.theme-dark .csa-po-vendor-detail-page .po-stage-compact-shell,
html.theme-dark .csa-po-vendor-detail-page .po-stage-select-shell {
        background: linear-gradient(180deg, #111827 0%, #0f172a 100%);
        border-color: #334155;
        box-shadow: none;
    }
html.theme-dark .csa-po-vendor-detail-page .po-stage-field-label,
html.theme-dark .csa-po-vendor-detail-page .po-stage-meta-label {
        color: #94a3b8;
    }
html.theme-dark .csa-po-vendor-detail-page .po-stage-inline-value {
        color: #f8fafc;
    }
html.theme-dark .csa-po-vendor-detail-page .po-stage-inline-value.po-stage-muted-value {
        color: #cbd5e1;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-empty td {
        background: linear-gradient(180deg, #0f172a 0%, #111827 100%);
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-loading-row td {
        background: #111827;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-empty i {
        color: #475569;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .choices__inner,
html.theme-dark .csa-po-vendor-detail-page #addRowModal .choices__input,
html.theme-dark .csa-po-vendor-detail-page #addRowModal .input-group-text {
        border-color: #475569;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-row .choices__inner,
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-row .form-select,
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-row .form-control:not(.po-stage-inline-value),
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-row .input-group-text {
        background: #0b1120;
        border-color: #475569;
        color: #e2e8f0;
    }
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-row .choices.is-focused .choices__inner,
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-row .choices.is-open .choices__inner,
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-row .form-select:focus,
html.theme-dark .csa-po-vendor-detail-page #addRowModal .po-stage-row .form-control:not(.po-stage-inline-value):focus {
        border-color: rgba(45, 212, 191, 0.55);
        box-shadow: 0 0 0 0.18rem rgba(45, 212, 191, 0.14);
    }
html.theme-dark .csa-po-vendor-detail-page .po-summary-row td {
        background: #111827;
    }
html.theme-dark .csa-po-vendor-detail-page .po-summary-row td:first-child {
        border-left-color: rgba(45, 212, 191, 0.28);
    }
html.theme-dark .csa-po-vendor-detail-page .po-summary-row:hover td {
        background: #0f172a;
    }
html.theme-dark .csa-po-vendor-detail-page .po-summary-badge {
        background: rgba(15, 118, 110, 0.2);
        border-color: rgba(45, 212, 191, 0.3);
        color: #5eead4;
    }
html.theme-dark .csa-po-vendor-detail-page .po-item-metric-chip {
        background: rgba(30, 41, 59, 0.88);
        border-color: #334155;
        color: #e2e8f0;
    }
html.theme-dark .csa-po-vendor-detail-page .po-item-metric-chip--price {
        color: #cbd5e1;
    }
html.theme-dark .csa-po-vendor-detail-page .csa-po-readonly-field {
        border-bottom-color: #475569;
        color: #e5e7eb;
    }
html.theme-dark .csa-po-vendor-detail-page .attachment-link {
        background-color: #0f172a !important;
        border-color: #334155 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .list-group-item {
        background-color: #111827;
        border-color: #334155;
        color: #e5e7eb;
    }
html.theme-dark .csa-po-vendor-detail-page .list-group-item .bg-light {
        background-color: #0f172a !important;
        color: #cbd5e1 !important;
    }
.csa-po-vendor-detail-page .sidebar-sticky {
        position: sticky;
        top: 1rem;
        align-self: flex-start;
    }
.csa-po-vendor-detail-page .budget-breakdown-card {
        border: 1px solid var(--po-border);
        border-radius: 18px;
        background: linear-gradient(180deg, var(--po-panel-alt-bg) 0%, var(--po-panel-bg) 55%);
        box-shadow: var(--po-shadow-soft);
    }
.csa-po-vendor-detail-page .budget-breakdown-card .accordion-item {
        border: 1px solid var(--po-border);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: none;
    }
.csa-po-vendor-detail-page .budget-breakdown-card .accordion-button {
        background: var(--po-panel-bg);
        box-shadow: none;
        align-items: flex-start;
        gap: 1rem;
    }
.csa-po-vendor-detail-page .budget-breakdown-card .accordion-button:not(.collapsed) {
        background: var(--po-table-hover-bg);
        color: var(--po-title);
    }
.csa-po-vendor-detail-page .budget-breakdown-card .accordion-button::after {
        margin-top: 0.25rem;
    }
.csa-po-vendor-detail-page .budget-summary-grid,
.csa-po-vendor-detail-page .budget-stat-grid {
        display: grid;
        gap: 0.85rem;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
.csa-po-vendor-detail-page .budget-summary-tile,
.csa-po-vendor-detail-page .budget-stat-tile {
        border: 1px solid var(--po-border);
        border-radius: 14px;
        padding: 0.85rem 1rem;
        background: var(--po-panel-bg);
        box-shadow: var(--po-shadow-soft);
    }
.csa-po-vendor-detail-page .budget-summary-tile .label,
.csa-po-vendor-detail-page .budget-stat-tile .label {
        display: block;
        font-size: 0.74rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--po-text-muted);
        margin-bottom: 0.3rem;
    }
.csa-po-vendor-detail-page .budget-summary-tile .value,
.csa-po-vendor-detail-page .budget-stat-tile .value {
        display: block;
        font-size: 1.15rem;
        font-weight: 700;
        color: var(--po-title);
    }
.csa-po-vendor-detail-page .budget-overview-meta {
        display: flex;
        gap: 0.55rem;
        flex-wrap: wrap;
    }
.csa-po-vendor-detail-page .budget-overview-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        border: 1px solid var(--po-border);
        border-radius: 999px;
        padding: 0.28rem 0.7rem;
        background: var(--po-panel-bg);
        color: var(--po-text-muted);
        font-size: 0.75rem;
    }
.csa-po-vendor-detail-page .budget-item-title {
        font-size: 0.96rem;
        font-weight: 700;
        color: var(--po-title);
    }
.csa-po-vendor-detail-page .budget-item-subtitle {
        font-size: 0.76rem;
        color: var(--po-text-muted);
    }
.csa-po-vendor-detail-page .budget-item-badges {
        display: flex;
        gap: 0.45rem;
        flex-wrap: wrap;
        margin-top: 0.35rem;
    }
.csa-po-vendor-detail-page .budget-component-shell {
        border: 1px solid var(--po-border);
        border-radius: 16px;
        background: var(--po-panel-bg);
        padding: 0.9rem;
        height: 100%;
    }
.csa-po-vendor-detail-page .budget-component-shell h6 {
        font-size: 0.82rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--po-text-muted);
        margin-bottom: 0.75rem;
    }
.csa-po-vendor-detail-page .budget-component-list {
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
    }
.csa-po-vendor-detail-page .budget-component-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.75rem;
        border: 1px solid var(--po-border);
        border-radius: 12px;
        padding: 0.65rem 0.75rem;
        background: var(--po-panel-alt-bg);
    }
.csa-po-vendor-detail-page .budget-component-row .component-label {
        font-weight: 600;
        color: var(--po-title);
    }
.csa-po-vendor-detail-page .budget-component-row .component-note {
        display: block;
        font-size: 0.72rem;
        color: var(--po-text-muted);
        margin-top: 0.12rem;
    }
.csa-po-vendor-detail-page .budget-component-row .component-amount {
        font-weight: 700;
        text-align: right;
        white-space: nowrap;
    }
.csa-po-vendor-detail-page .budget-component-row .component-amount.plus {
        color: #198754;
    }
.csa-po-vendor-detail-page .budget-component-row .component-amount.minus {
        color: #dc3545;
    }
.csa-po-vendor-detail-page .budget-breakdown-table thead th {
        font-size: 0.74rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        white-space: nowrap;
    }
.csa-po-vendor-detail-page .budget-breakdown-table td {
        white-space: normal;
    }
.csa-po-vendor-detail-page .budget-breakdown-table .doc-meta,
.csa-po-vendor-detail-page .budget-breakdown-table .desc-meta {
        display: block;
        font-size: 0.72rem;
        color: var(--po-text-muted);
        margin-top: 0.15rem;
    }
.csa-po-vendor-detail-page .budget-breakdown-table .amount-plus {
        color: #198754;
        font-weight: 700;
    }
.csa-po-vendor-detail-page .budget-breakdown-table .amount-minus {
        color: #dc3545;
        font-weight: 700;
    }

@media (max-width: 991.98px) {
    .csa-po-vendor-detail-page .po-page-header {
        flex-direction: column;
        align-items: stretch;
    }

    .csa-po-vendor-detail-page .sidebar-sticky {
        position: static;
    }
}
html.theme-dark .csa-po-vendor-detail-page .po-page-hero {
        background: linear-gradient(180deg, #1a2538 0%, #111827 58%) !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-page-header {
        background: rgba(17, 24, 39, 0.85) !important;
        border-color: #334155 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-status-chip,
html.theme-dark .csa-po-vendor-detail-page .boq-review-chip,
html.theme-dark .csa-po-vendor-detail-page .po-status-chip-success,
html.theme-dark .csa-po-vendor-detail-page .boq-review-chip-info {
        background-color: #1f2937 !important;
        color: #e5e7eb !important;
        border-color: #334155 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .boq-source-total-row,
html.theme-dark .csa-po-vendor-detail-page .boq-source-row-alt,
html.theme-dark .csa-po-vendor-detail-page .po-source-row,
html.theme-dark .csa-po-vendor-detail-page .po-source-row-alt,
html.theme-dark .csa-po-vendor-detail-page .budget-overview-chip,
html.theme-dark .csa-po-vendor-detail-page .boq-card,
html.theme-dark .csa-po-vendor-detail-page .boq-card-secondary,
html.theme-dark .csa-po-vendor-detail-page .po-card,
html.theme-dark .csa-po-vendor-detail-page .po-card-secondary,
html.theme-dark .csa-po-vendor-detail-page .po-detail-card,
html.theme-dark .csa-po-vendor-detail-page .po-source-summary-card,
html.theme-dark .csa-po-vendor-detail-page .boq-summary-card,
html.theme-dark .csa-po-vendor-detail-page .po-source-card,
html.theme-dark .csa-po-vendor-detail-page .po-metadata-card {
        background-color: #111827 !important;
        border-color: #334155 !important;
        color: #e5e7eb !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-meta-label,
html.theme-dark .csa-po-vendor-detail-page .po-meta-value,
html.theme-dark .csa-po-vendor-detail-page .po-detail-label,
html.theme-dark .csa-po-vendor-detail-page .boq-detail-label,
html.theme-dark .csa-po-vendor-detail-page .boq-detail-value,
html.theme-dark .csa-po-vendor-detail-page .boq-meta-label,
html.theme-dark .csa-po-vendor-detail-page .boq-meta-value {
        color: #e5e7eb !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-meta-value a,
html.theme-dark .csa-po-vendor-detail-page .po-detail-value a {
        color: #60a5fa !important;
    }
html.theme-dark .csa-po-vendor-detail-page .budget-component-row .component-amount.plus {
        color: #34d399 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .budget-component-row .component-amount.minus {
        color: #f87171 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-page-hero .po-title {
        color: #e5e7eb !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-page-hero .po-subtitle {
        color: #9ca3af !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-sidebar {
        background-color: #111827 !important;
        border-color: #334155 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-total-card,
html.theme-dark .csa-po-vendor-detail-page .boq-total-card {
        background: linear-gradient(135deg, #1e3a5f 0%, #0f172a 100%) !important;
        color: #e5e7eb !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-sidebar .po-sidebar-section-label {
        color: #9ca3af !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-meta-value,
html.theme-dark .csa-po-vendor-detail-page .po-detail-value {
        color: #e5e7eb !important;
    }
html.theme-dark .csa-po-vendor-detail-page .budget-breakdown-table thead th {
        background-color: #1f2937 !important;
        color: #cbd5e1 !important;
        border-color: #334155 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .budget-breakdown-table td {
        background-color: #111827 !important;
        color: #e5e7eb !important;
        border-color: #334155 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .budget-breakdown-table .amount-plus {
        color: #34d399 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .budget-breakdown-table .amount-minus {
        color: #f87171 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .budget-breakdown-table .doc-meta,
html.theme-dark .csa-po-vendor-detail-page .budget-breakdown-table .desc-meta {
        color: #9ca3af !important;
    }
html.theme-dark .csa-po-vendor-detail-page .po-status-chip-outline,
html.theme-dark .csa-po-vendor-detail-page .po-status-chip-outline-success,
html.theme-dark .csa-po-vendor-detail-page .boq-status-chip,
html.theme-dark .csa-po-vendor-detail-page .boq-status-chip-success {
        background-color: transparent !important;
        color: #e5e7eb !important;
        border-color: #475569 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .boq-detail-table thead th {
        background-color: #1f2937 !important;
        color: #cbd5e1 !important;
        border-color: #334155 !important;
    }
html.theme-dark .csa-po-vendor-detail-page .boq-detail-table td {
        background-color: #111827 !important;
        color: #e5e7eb !important;
        border-color: #334155 !important;
    }


/* PO non-project detail workspace */
.csa-po-non-project-detail-page .np-detail-card {
        border: 1px solid #e5e7eb;
        border-radius: 18px;
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    }
.csa-po-non-project-detail-page .np-detail-hero {
        background:
            radial-gradient(circle at top right, rgba(13, 110, 253, 0.18), transparent 35%),
            linear-gradient(135deg, #f8fbff 0%, #ffffff 55%, #eef4ff 100%);
    }
.csa-po-non-project-detail-page .np-meta-card {
        border: 1px solid #e2e8f0;
        border-radius: 16px;
        background: #fff;
        height: 100%;
    }
.csa-po-non-project-detail-page .np-meta-label {
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: #64748b;
        font-weight: 700;
    }
.csa-po-non-project-detail-page .np-meta-value {
        font-weight: 600;
        color: #0f172a;
        line-height: 1.45;
        word-break: break-word;
    }
.csa-po-non-project-detail-page .np-summary-box {
        border-radius: 16px;
        border: 1px solid #e2e8f0;
        background: #fff;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
    }
.csa-po-non-project-detail-page .np-summary-value {
        font-size: 1.3rem;
        font-weight: 700;
        color: #0f172a;
    }
.csa-po-non-project-detail-page .np-table thead th {
        white-space: nowrap;
        font-size: 0.76rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: #64748b;
        background: #f8fafc;
    }
.csa-po-non-project-detail-page .np-table td {
        vertical-align: middle;
    }
.csa-po-non-project-detail-page .np-wrap {
        white-space: normal;
        word-break: break-word;
        line-height: 1.45;
    }


/* RAB detail workspace */
.csa-rab-detail-page {
        --page-bg: #f6f7fb;
        --card-bg: #ffffff;
        --card-bg-soft: #f8fafc;
        --hero-bg-start: #f1f4f7;
        --hero-bg-end: #d8dee6;
        --hero-glow: rgba(255, 255, 255, 0.42);
        --hero-ink: #223246;
        --hero-muted: rgba(34, 50, 70, 0.72);
        --hero-line: rgba(101, 118, 137, 0.18);
        --hero-shell-border: rgba(148, 161, 176, 0.22);
        --hero-panel-bg: rgba(255, 255, 255, 0.48);
        --hero-panel-border: rgba(148, 161, 176, 0.18);
        --hero-panel-shadow: 0 10px 24px rgba(80, 94, 110, 0.08);
        --ink: #0f172a;
        --text: #475569;
        --muted: #64748b;
        --line: #e2e8f0;
        --csa-rab-detail-snapshot-item__icon-bg: #e0e7ff;
        --csa-rab-detail-snapshot-item__icon-ink: #1d4ed8;
        --tab-hover-bg: #f1f5f9;
        --table-head-bg: #f8fafc;
        --table-head-ink: #475569;
        --csa-rab-detail-soft-badge-bg: #f8fafc;
        --csa-rab-detail-soft-badge-ink: #334155;
        --frame-bg: #ffffff;
        --scrollbar-thumb: #cbd5e1;
        --status-glow: rgba(29, 78, 216, 0.18);
        --shadow-strong: 0 4px 14px rgba(15, 23, 42, 0.08);
        --shadow-card: 0 1px 4px rgba(15, 23, 42, 0.08);
        --accent: #1d4ed8;
        --approval-standard: #198754;
        --approval-standard-strong: #146c43;
        --approval-standard-soft: rgba(25, 135, 84, 0.14);
        --approval-standard-ink: #146c43;
        --approval-standard-shadow: rgba(25, 135, 84, 0.18);
        --approval-standard-contrast: #ffffff;
        --approval-standard-close-filter: invert(1) grayscale(100%) brightness(200%);
        --approval-deviation: #f59e0b;
        --approval-deviation-strong: #d97706;
        --approval-deviation-soft: rgba(245, 158, 11, 0.18);
        --approval-deviation-ink: #8a4b08;
        --approval-deviation-shadow: rgba(245, 158, 11, 0.2);
        --approval-deviation-contrast: #2b1c05;
        --approval-deviation-close-filter: none;
        --approval-reopen: #dc3545;
        --approval-reopen-strong: #b42318;
        --approval-reopen-soft: rgba(220, 53, 69, 0.16);
        --approval-reopen-ink: #b42318;
        --approval-reopen-shadow: rgba(220, 53, 69, 0.2);
        --approval-reopen-contrast: #ffffff;
        --approval-reopen-close-filter: invert(1) grayscale(100%) brightness(200%);
        --deviation-current-bg: rgba(59, 130, 246, 0.09);
        --deviation-current-border: rgba(59, 130, 246, 0.18);
        --deviation-current-ink: #1d4ed8;
        --deviation-shift-bg: rgba(245, 158, 11, 0.11);
        --deviation-shift-border: rgba(245, 158, 11, 0.2);
        --deviation-shift-ink: #b45309;
        --deviation-progress-bg: rgba(236, 72, 153, 0.12);
        --deviation-progress-border: rgba(236, 72, 153, 0.26);
        --deviation-progress-ink: #be185d;
        --deviation-rejected-bg: rgba(220, 53, 69, 0.12);
        --deviation-rejected-border: rgba(220, 53, 69, 0.24);
        --deviation-rejected-ink: #b42318;
        --deviation-total-bg: rgba(16, 185, 129, 0.1);
        --deviation-total-border: rgba(16, 185, 129, 0.2);
        --deviation-total-ink: #047857;
        --deviation-forecast-bg: rgba(14, 165, 233, 0.1);
        --deviation-forecast-border: rgba(14, 165, 233, 0.22);
        --deviation-forecast-ink: #0369a1;
        --csa-rab-detail-deviation-level--summary-bg: rgba(53, 88, 114, 0.08);
        --csa-rab-detail-deviation-level--summary-overlay: rgba(53, 88, 114, 0.04);
        --csa-rab-detail-deviation-level--summary-text: #355872;
        --csa-rab-detail-deviation-level--group-bg: rgba(122, 170, 206, 0.14);
        --csa-rab-detail-deviation-level--group-overlay: rgba(122, 170, 206, 0.05);
        --csa-rab-detail-deviation-level--group-text: #426983;
        --csa-rab-detail-deviation-level--item-bg: rgba(156, 213, 255, 0.1);
        --csa-rab-detail-deviation-level--item-overlay: rgba(156, 213, 255, 0.04);
        --csa-rab-detail-deviation-level--item-text: #557792;
        --deviation-level-border: rgba(122, 170, 206, 0.2);
        --deviation-level-soft: #f7f8f0;
        --notice-neutral-bg: rgba(148, 163, 184, 0.12);
        --notice-neutral-border: rgba(148, 163, 184, 0.2);
        --notice-neutral-icon-bg: #e2e8f0;
        --notice-neutral-icon-ink: #475569;
        --notice-neutral-label: #64748b;
        --notice-deviation-border: rgba(245, 158, 11, 0.32);
        --notice-deviation-icon-bg: rgba(245, 158, 11, 0.16);
        --notice-deviation-label: #b45309;
        --notice-reopen-border: rgba(220, 53, 69, 0.26);
        --notice-reopen-icon-bg: rgba(220, 53, 69, 0.16);
        --notice-reopen-label: #b42318;
    }

html.theme-dark .csa-rab-detail-page,
html[data-bs-theme="dark"] .csa-rab-detail-page {
        --page-bg: #0f172a;
        --card-bg: #111827;
        --card-bg-soft: #0b1220;
        --hero-bg-start: #4b5563;
        --hero-bg-end: #374151;
        --hero-glow: rgba(255, 255, 255, 0.1);
        --hero-ink: #f8fafc;
        --hero-muted: rgba(226, 232, 240, 0.76);
        --hero-line: rgba(255, 255, 255, 0.12);
        --hero-shell-border: rgba(255, 255, 255, 0.1);
        --hero-panel-bg: rgba(255, 255, 255, 0.08);
        --hero-panel-border: rgba(255, 255, 255, 0.1);
        --hero-panel-shadow: 0 14px 30px rgba(2, 8, 23, 0.2);
        --ink: #e2e8f0;
        --text: #cbd5e1;
        --muted: #94a3b8;
        --line: #334155;
        --csa-rab-detail-snapshot-item__icon-bg: rgba(59, 130, 246, 0.2);
        --csa-rab-detail-snapshot-item__icon-ink: #93c5fd;
        --tab-hover-bg: #1f2937;
        --table-head-bg: #1e293b;
        --table-head-ink: #cbd5e1;
        --csa-rab-detail-soft-badge-bg: #1f2937;
        --csa-rab-detail-soft-badge-ink: #cbd5e1;
        --frame-bg: #0b1220;
        --scrollbar-thumb: #475569;
        --status-glow: rgba(59, 130, 246, 0.25);
        --shadow-strong: 0 12px 24px rgba(0, 0, 0, 0.35);
        --shadow-card: 0 6px 14px rgba(0, 0, 0, 0.28);
        --approval-standard: #57d6a5;
        --approval-standard-strong: #36bf8b;
        --approval-standard-soft: rgba(87, 214, 165, 0.18);
        --approval-standard-ink: #9df0cb;
        --approval-standard-shadow: rgba(87, 214, 165, 0.22);
        --approval-deviation: #f7c873;
        --approval-deviation-strong: #f0b845;
        --approval-deviation-soft: rgba(247, 200, 115, 0.18);
        --approval-deviation-ink: #f7d99b;
        --approval-deviation-shadow: rgba(247, 200, 115, 0.22);
        --approval-deviation-contrast: #2f2412;
        --approval-reopen: #ff8c7a;
        --approval-reopen-strong: #ff715d;
        --approval-reopen-soft: rgba(255, 140, 122, 0.18);
        --approval-reopen-ink: #ffb3a7;
        --approval-reopen-shadow: rgba(255, 140, 122, 0.24);
        --deviation-current-bg: rgba(59, 130, 246, 0.14);
        --deviation-current-border: rgba(96, 165, 250, 0.24);
        --deviation-current-ink: #93c5fd;
        --deviation-shift-bg: rgba(245, 158, 11, 0.16);
        --deviation-shift-border: rgba(251, 191, 36, 0.24);
        --deviation-shift-ink: #fcd34d;
        --deviation-progress-bg: rgba(244, 114, 182, 0.18);
        --deviation-progress-border: rgba(244, 114, 182, 0.32);
        --deviation-progress-ink: #f9a8d4;
        --deviation-rejected-bg: rgba(255, 140, 122, 0.18);
        --deviation-rejected-border: rgba(255, 140, 122, 0.32);
        --deviation-rejected-ink: #ffb3a7;
        --deviation-total-bg: rgba(16, 185, 129, 0.14);
        --deviation-total-border: rgba(52, 211, 153, 0.24);
        --deviation-total-ink: #6ee7b7;
        --deviation-forecast-bg: rgba(56, 189, 248, 0.16);
        --deviation-forecast-border: rgba(56, 189, 248, 0.28);
        --deviation-forecast-ink: #7dd3fc;
        --csa-rab-detail-deviation-level--summary-bg: rgba(122, 170, 206, 0.16);
        --csa-rab-detail-deviation-level--summary-overlay: rgba(122, 170, 206, 0.08);
        --csa-rab-detail-deviation-level--summary-text: #e7f1f8;
        --csa-rab-detail-deviation-level--group-bg: rgba(122, 170, 206, 0.2);
        --csa-rab-detail-deviation-level--group-overlay: rgba(122, 170, 206, 0.1);
        --csa-rab-detail-deviation-level--group-text: #d9ebf8;
        --csa-rab-detail-deviation-level--item-bg: rgba(156, 213, 255, 0.12);
        --csa-rab-detail-deviation-level--item-overlay: rgba(156, 213, 255, 0.06);
        --csa-rab-detail-deviation-level--item-text: #d5e9f8;
        --deviation-level-border: rgba(156, 213, 255, 0.18);
        --notice-neutral-bg: rgba(148, 163, 184, 0.16);
        --notice-neutral-border: rgba(148, 163, 184, 0.28);
        --notice-neutral-icon-bg: rgba(148, 163, 184, 0.18);
        --notice-neutral-icon-ink: #dbe4ef;
        --notice-neutral-label: #cbd5e1;
        --notice-deviation-border: rgba(247, 200, 115, 0.34);
        --notice-deviation-icon-bg: rgba(247, 200, 115, 0.2);
        --notice-deviation-label: #fde68a;
        --notice-reopen-border: rgba(255, 140, 122, 0.32);
        --notice-reopen-icon-bg: rgba(255, 140, 122, 0.2);
        --notice-reopen-label: #ffd1c9;
    }

    html.theme-dark .csa-rab-detail-notice,
    html[data-bs-theme="dark"] .csa-rab-detail-notice {
        background: rgba(15, 23, 42, 0.52);
    }

    html.theme-dark .csa-rab-detail-hero__panel,
    html[data-bs-theme="dark"] .csa-rab-detail-hero__panel {
        background: rgba(15, 23, 42, 0.38);
    }

.csa-rab-detail-page {
        background: var(--page-bg);
        color: var(--text);
    }

    .csa-rab-detail-page-title {
        color: var(--ink);
    }

    .csa-rab-detail-page-subtitle {
        color: var(--muted);
    }

    /* --- HERO SECTION --- */
    .csa-rab-detail-hero {
        background: linear-gradient(180deg, var(--hero-bg-start) 0%, var(--hero-bg-end) 100%);
        color: var(--hero-ink);
        border: 1px solid var(--hero-shell-border);
        border-radius: 18px;
        padding: 1.2rem;
        position: relative;
        overflow: hidden;
        box-shadow: var(--shadow-strong);
    }

    .csa-rab-detail-hero::before {
        content: "";
        position: absolute;
        left: -3rem;
        top: -4rem;
        width: 11rem;
        height: 11rem;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.06);
    }

    .csa-rab-detail-hero::after {
        content: "";
        position: absolute;
        right: -3.5rem;
        bottom: -11rem;
        width: 18rem;
        height: 18rem;
        background: radial-gradient(circle, var(--hero-glow), transparent 60%);
    }

    .csa-rab-detail-hero__stack {
        position: relative;
        z-index: 1;
        display: grid;
        gap: 0.8rem;
    }

    .csa-rab-detail-hero__header {
        display: grid;
        grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.52fr);
        gap: 0.95rem;
        align-items: start;
    }

    .csa-rab-detail-hero__meta-shell {
        min-width: 0;
        padding-left: 0.95rem;
        border-left: 1px solid var(--hero-line);
    }

    .csa-rab-detail-hero__id {
        min-width: 0;
    }

    .csa-rab-detail-hero__label {
        color: var(--hero-muted);
        font-size: 0.78rem;
        line-height: 1.35;
    }

    .csa-rab-detail-hero__value {
        font-size: 1.55rem;
        font-weight: 700;
        line-height: 1.2;
        margin-top: 0.1rem;
        color: var(--hero-ink);
    }

    .csa-rab-detail-hero__badge.badge {
        margin-top: 0.3rem;
        padding: 0.25rem 0.55rem;
        font-size: 0.72rem;
    }

    .csa-rab-detail-hero__meta {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.55rem 0.85rem;
    }

    .csa-rab-detail-meta__label {
        color: var(--hero-muted);
        font-size: 0.76rem;
        line-height: 1.3;
    }

    .csa-rab-detail-meta__value {
        color: var(--hero-ink);
        font-size: 0.92rem;
        line-height: 1.45;
    }

    .csa-rab-detail-hero__meta-block {
        min-width: 0;
    }

    .csa-rab-detail-notice {
        background: rgba(255, 255, 255, 0.5);
        box-shadow: var(--shadow-card);
        padding: 0.65rem 0.75rem;
        border: 1px solid var(--line);
        border-radius: 14px;
        backdrop-filter: blur(8px);
    }

    .csa-rab-detail-notice__heading {
        color: var(--muted);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        margin-bottom: 0.45rem;
    }

    .csa-rab-detail-notice__list {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 0.5rem;
    }

    .csa-rab-detail-person-card {
        --notice-bg: var(--notice-neutral-bg);
        --notice-border: var(--notice-neutral-border);
        --notice-icon-bg: var(--notice-neutral-icon-bg);
        --notice-icon-ink: var(--notice-neutral-icon-ink);
        --notice-label: var(--notice-neutral-label);
        display: flex;
        gap: 0.5rem;
        align-items: flex-start;
        padding: 0.55rem 0.65rem;
        background: var(--notice-bg);
        border: 1px solid var(--notice-border);
        border-radius: 12px;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
    }

    .csa-rab-detail-person-card.csa-rab-detail-person-card--deviation {
        --notice-bg: var(--approval-deviation-soft);
        --notice-border: var(--notice-deviation-border);
        --notice-icon-bg: var(--notice-deviation-icon-bg);
        --notice-icon-ink: var(--approval-deviation-ink);
        --notice-label: var(--notice-deviation-label);
    }

    .csa-rab-detail-person-card.csa-rab-detail-person-card--reopen {
        --notice-bg: var(--approval-reopen-soft);
        --notice-border: var(--notice-reopen-border);
        --notice-icon-bg: var(--notice-reopen-icon-bg);
        --notice-icon-ink: var(--approval-reopen-ink);
        --notice-label: var(--notice-reopen-label);
    }

    .csa-rab-detail-person-card__icon {
        width: 30px;
        height: 30px;
        border-radius: 9px;
        background: var(--notice-icon-bg);
        color: var(--notice-icon-ink);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-size: 0.82rem;
    }

    .csa-rab-detail-person-card__body {
        min-width: 0;
    }

    .csa-rab-detail-person-card__label {
        color: var(--notice-label);
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        line-height: 1.2;
    }

    .csa-rab-detail-person-card__value {
        color: var(--ink);
        font-weight: 700;
        margin-top: 0.1rem;
        line-height: 1.3;
        word-break: break-word;
        font-size: 0.86rem;
    }

    .csa-rab-detail-person-card__note {
        color: var(--muted);
        font-size: 0.68rem;
        margin-top: 0.12rem;
        line-height: 1.35;
    }

    .csa-rab-detail-hero__panel {
        margin-top: 0.85rem;
        padding: 0.7rem 0.85rem;
        border: 1px solid var(--hero-panel-border);
        border-radius: 14px;
        background: var(--hero-panel-bg);
        backdrop-filter: blur(8px);
        box-shadow: var(--hero-panel-shadow);
    }

    .csa-rab-detail-hero__project-panel {
        padding: 0.4rem 0.55rem;
    }

    .csa-rab-detail-hero__project-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
    }

    .csa-rab-detail-hero__project-item {
        min-width: 0;
        padding: 0.95rem 1.05rem;
        text-align: center;
    }

    .csa-rab-detail-hero__project-item + .csa-rab-detail-hero__project-item {
        border-left: 1px solid var(--hero-line);
    }

    .csa-rab-detail-hero__project-label {
        color: var(--hero-muted);
        font-size: 0.76rem;
        line-height: 1.35;
        margin-bottom: 0.22rem;
    }

    .csa-rab-detail-hero__project-value {
        color: var(--hero-ink);
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.35;
        word-break: break-word;
    }

    .csa-rab-detail-hero__detail-list {
        margin: 0;
        display: grid;
        gap: 0;
    }

    .csa-rab-detail-hero__detail-row {
        display: grid;
        grid-template-columns: minmax(118px, 150px) minmax(0, 1fr);
        gap: 0.65rem;
        align-items: start;
        padding: 0.5rem 0;
        border-top: 1px dashed var(--hero-line);
    }

    .csa-rab-detail-hero__detail-row:first-child {
        padding-top: 0;
        border-top: none;
    }

    .csa-rab-detail-hero__detail-row:last-child {
        padding-bottom: 0;
    }

    .csa-rab-detail-hero__detail-term,
    .csa-rab-detail-hero__detail-desc {
        margin: 0;
    }

    .csa-rab-detail-hero__detail-term {
        color: var(--hero-muted);
        font-size: 0.66rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        line-height: 1.45;
    }

    .csa-rab-detail-hero__detail-desc {
        color: var(--hero-ink);
        font-weight: 500;
        font-size: 0.92rem;
        line-height: 1.4;
        word-break: break-word;
    }

    /* --- SNAPSHOT & STATUS --- */
    .csa-rab-detail-snapshot-card,
    .csa-rab-detail-status-card {
        background: var(--card-bg);
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 1.25rem;
        height: 100%;
        box-shadow: var(--shadow-card);
    }

    .csa-rab-detail-snapshot__header {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
    }

    .csa-rab-detail-snapshot__title,
    .csa-rab-detail-status__title {
        color: var(--ink);
    }

    .csa-rab-detail-snapshot__subtitle {
        color: var(--muted);
        margin-top: 0.2rem;
    }

    .csa-rab-detail-snapshot-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
        gap: 0.85rem;
        margin-top: 1rem;
    }

    .csa-rab-detail-snapshot-item {
        display: flex;
        gap: 0.75rem;
        align-items: flex-start;
        background: var(--card-bg-soft);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 0.75rem;
    }

    .csa-rab-detail-snapshot-item__icon {
        width: 38px;
        height: 38px;
        border-radius: 10px;
        background: var(--csa-rab-detail-snapshot-item__icon-bg);
        color: var(--csa-rab-detail-snapshot-item__icon-ink);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .csa-rab-detail-snapshot-item__label,
    .csa-rab-detail-status__label {
        color: var(--muted);
    }

    .csa-rab-detail-snapshot-item__value {
        color: var(--ink);
        margin-top: 0.2rem;
    }

    .csa-rab-detail-financial-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 0.7rem;
    }

    .csa-rab-detail-financial-card {
        position: relative;
        overflow: hidden;
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 0.75rem;
        background: linear-gradient(180deg, var(--card-bg-soft) 0%, var(--card-bg) 100%);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
        height: 100%;
    }

    .csa-rab-detail-financial-card--link {
        display: block;
        text-decoration: none;
        color: inherit;
        transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
        cursor: pointer;
    }

    .csa-rab-detail-financial-card--link:hover,
    .csa-rab-detail-financial-card--link:focus-visible {
        transform: translateY(-2px);
        border-color: var(--financial-stage-accent, var(--accent));
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
        text-decoration: none;
        color: inherit;
    }

    .csa-rab-detail-financial-card__cta {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin-top: 0.65rem;
        color: var(--financial-stage-accent, var(--accent));
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0.03em;
    }

    .csa-rab-detail-financial-card::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        width: 4px;
        background: var(--financial-stage-accent, #64748b);
    }

    .csa-rab-detail-financial-card::after {
        content: "";
        position: absolute;
        top: -18px;
        right: -18px;
        width: 64px;
        height: 64px;
        border-radius: 999px;
        background: var(--financial-stage-soft, rgba(100, 116, 139, 0.08));
    }

    .csa-rab-detail-financial-card.csa-rab-detail-financial-card--stage-est {
        --financial-stage-accent: #2563eb;
        --financial-stage-soft: rgba(37, 99, 235, 0.1);
    }

    .csa-rab-detail-financial-card.csa-rab-detail-financial-card--stage-commitment {
        --financial-stage-accent: #f59e0b;
        --financial-stage-soft: rgba(245, 158, 11, 0.12);
    }

    .csa-rab-detail-financial-card.csa-rab-detail-financial-card--stage-actual {
        --financial-stage-accent: #10b981;
        --financial-stage-soft: rgba(16, 185, 129, 0.12);
    }

    .csa-rab-detail-financial-card.csa-rab-detail-financial-card--stage-default {
        --financial-stage-accent: #64748b;
        --financial-stage-soft: rgba(100, 116, 139, 0.1);
    }

    .csa-rab-detail-financial-card__head {
        display: flex;
        align-items: center;
        gap: 0.7rem;
        margin-bottom: 0.65rem;
        position: relative;
        z-index: 1;
    }

    .csa-rab-detail-financial-card__icon {
        width: 32px;
        height: 32px;
        border-radius: 9px;
        background: var(--financial-stage-soft, rgba(100, 116, 139, 0.08));
        color: var(--financial-stage-accent, #64748b);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-size: 0.9rem;
    }

    .csa-rab-detail-financial-card__title {
        color: var(--ink);
        font-weight: 700;
        font-size: 0.95rem;
        line-height: 1.2;
    }

    .csa-rab-detail-financial-card__subtitle {
        color: var(--muted);
        margin-top: 0.15rem;
        font-size: 0.72rem;
        line-height: 1.25;
    }

    .csa-rab-detail-financial-metrics {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.4rem;
        position: relative;
        z-index: 1;
    }

    .csa-rab-detail-financial-metric {
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.65rem;
        background: var(--card-bg);
        border: 1px solid var(--line);
        border-radius: 10px;
        padding: 0.5rem 0.6rem;
    }

    .csa-rab-detail-financial-metric__label {
        color: var(--muted);
        font-size: 0.66rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        line-height: 1.2;
    }

    .csa-rab-detail-financial-metric__value {
        color: var(--ink);
        font-weight: 700;
        font-size: 0.88rem;
        margin-top: 0;
        line-height: 1.25;
        white-space: nowrap;
        word-break: normal;
        overflow-wrap: normal;
        font-variant-numeric: tabular-nums;
        text-align: right;
        flex-shrink: 0;
    }

    .csa-rab-detail-snapshot__desc {
        color: var(--muted);
        margin-top: 0.25rem;
    }

    .csa-rab-detail-status-card {
        position: relative;
        overflow: hidden;
    }

    .csa-rab-detail-status-card::after {
        content: "";
        position: absolute;
        right: -70px;
        top: -70px;
        width: 180px;
        height: 180px;
        background: radial-gradient(circle, var(--status-glow), transparent 70%);
    }

    .csa-rab-detail-status__badge {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        margin-top: 0.75rem;
        margin-bottom: 1rem;
        position: relative;
        z-index: 1;
    }

    .csa-rab-detail-status__list {
        display: grid;
        gap: 0.65rem;
        position: relative;
        z-index: 1;
    }

    .csa-rab-detail-status__row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding-top: 0.5rem;
        border-top: 1px dashed var(--line);
    }

    .csa-rab-detail-status__row:first-child {
        border-top: none;
        padding-top: 0;
    }

    .csa-rab-detail-status__value {
        color: var(--ink);
        text-align: right;
    }

    .csa-rab-detail-tab-card {
        background: var(--card-bg);
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 2rem;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
    }

    .csa-rab-detail-tab-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 1.5rem;
    }

    .csa-rab-detail-tab-item {
        border-bottom: 1px dashed var(--line);
        padding-bottom: 0.75rem;
    }

    .csa-rab-detail-tab-item:last-child {
        border-bottom: none;
    }

    .csa-rab-detail-tab-item__label {
        color: var(--muted);
        margin-bottom: 0.35rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .csa-rab-detail-tab-item__value {
        color: var(--ink);
        padding-left: 0;
    }

    .csa-rab-detail-status__row-note {
        display: block;
    }

    .csa-rab-detail-status__row-note .csa-rab-detail-status__label {
        display: block;
        margin-bottom: 0.35rem;
    }

    .csa-rab-detail-status__row-note .csa-rab-detail-status__value {
        display: block;
        text-align: left;
        white-space: pre-wrap;
        word-break: break-word;
        line-height: 1.5;
    }

    .csa-rab-detail-tabs {
        gap: 0.5rem;
    }

    .csa-rab-detail-tabs .nav-link {
        border: 1px solid var(--line);
        border-radius: 999px;
        color: var(--muted);
        background: var(--card-bg-soft);
        padding: 0.4rem 0.9rem;
        font-size: 0.875rem;
        font-weight: 600;
    }

    .csa-rab-detail-tabs .nav-link.active {
        color: #fff;
        background: var(--accent);
        border-color: var(--accent);
        box-shadow: 0 8px 20px rgba(29, 78, 216, 0.18);
    }

    .csa-rab-detail-card {
        background: var(--card-bg);
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 1.25rem;
        box-shadow: var(--shadow-card);
    }

    .csa-rab-detail-section-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-bottom: 1rem;
    }

    .csa-rab-detail-section-title {
        color: var(--ink);
    }

    .csa-rab-detail-section-subtitle {
        color: var(--muted);
    }

    .csa-rab-detail-attachment-card {
        position: relative;
        overflow: hidden;
        border-width: 2px;
        border-color: var(--attachment-accent, var(--line));
        background: linear-gradient(180deg, var(--attachment-soft, var(--card-bg-soft)) 0%, var(--card-bg) 88px);
        box-shadow:
            0 0 0 1px var(--attachment-accent, var(--line)) inset,
            var(--shadow-card);
    }

    .csa-rab-detail-attachment-card::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        width: 5px;
        background: var(--attachment-accent, var(--accent));
    }

    .csa-rab-detail-attachment-card .csa-rab-detail-section-header,
    .csa-rab-detail-attachment-card .table-responsive {
        position: relative;
        z-index: 1;
    }

    .csa-rab-detail-attachment-card .table-responsive {
        border-radius: 12px;
        overflow: hidden;
    }

    .csa-rab-detail-attachment-card .csa-rab-detail-table thead th {
        background: var(--attachment-head-bg, var(--table-head-bg));
    }

    .csa-rab-detail-attachment-card--reopen {
        --attachment-accent: var(--approval-reopen);
        --attachment-soft: rgba(220, 53, 69, 0.08);
        --attachment-head-bg: rgba(220, 53, 69, 0.12);
        --attachment-ink: var(--approval-reopen-ink);
        --attachment-contrast: var(--approval-reopen-contrast);
    }

    html.theme-dark .csa-rab-detail-attachment-card--reopen,
    html[data-bs-theme="dark"] .csa-rab-detail-attachment-card--reopen {
        --attachment-soft: rgba(255, 140, 122, 0.12);
        --attachment-head-bg: rgba(255, 140, 122, 0.18);
    }

    .csa-rab-detail-attachment-card--deviation {
        --attachment-accent: var(--approval-deviation);
        --attachment-soft: rgba(245, 158, 11, 0.08);
        --attachment-head-bg: rgba(245, 158, 11, 0.14);
        --attachment-ink: var(--approval-deviation-ink);
        --attachment-contrast: var(--approval-deviation-contrast);
    }

    html.theme-dark .csa-rab-detail-attachment-card--deviation,
    html[data-bs-theme="dark"] .csa-rab-detail-attachment-card--deviation {
        --attachment-soft: rgba(247, 200, 115, 0.12);
        --attachment-head-bg: rgba(247, 200, 115, 0.2);
    }

    .csa-rab-detail-attachment-card__badge {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        padding: 0.4rem 0.8rem;
        border-radius: 999px;
        border: 1px solid var(--attachment-accent, var(--line));
        background: var(--attachment-soft, var(--card-bg-soft));
        color: var(--attachment-ink, var(--ink));
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .csa-rab-detail-attachment-link {
        color: var(--attachment-ink, var(--accent));
        font-weight: 600;
        text-decoration-color: transparent;
        transition: color 0.2s ease, text-decoration-color 0.2s ease;
    }

    .csa-rab-detail-attachment-link:hover,
    .csa-rab-detail-attachment-link:focus {
        color: var(--attachment-accent, var(--accent));
        text-decoration-color: currentColor;
    }

    .csa-rab-detail-attachment-stack {
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
        align-items: flex-start;
    }

    .csa-rab-detail-attachment-stack__item {
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
        max-width: 100%;
    }

    .csa-rab-detail-attachment-stack__note {
        color: var(--muted);
        font-size: 0.78rem;
        line-height: 1.35;
    }

    .csa-rab-detail-attachment-action {
        border-width: 1px;
        border-color: var(--attachment-accent, var(--accent));
        color: var(--attachment-ink, var(--accent));
    }

    .csa-rab-detail-attachment-action:hover,
    .csa-rab-detail-attachment-action:focus,
    .csa-rab-detail-attachment-action:active {
        background: var(--attachment-accent, var(--accent));
        border-color: var(--attachment-accent, var(--accent));
        color: var(--attachment-contrast, #ffffff);
    }

    .csa-rab-detail-table thead th {
        color: var(--table-head-ink);
        background: var(--table-head-bg);
        border-bottom: 1px solid var(--line);
        white-space: nowrap;
    }

    .csa-rab-detail-table tbody td {
        color: var(--text);
        vertical-align: middle;
        white-space: nowrap;
    }

    .csa-rab-detail-table .csa-rab-detail-table__text {
        white-space: normal;
        min-width: 220px;
    }

    .csa-rab-detail-items-table {
        width: 100%;
        table-layout: auto;
    }

    .csa-rab-detail-items-table .csa-rab-detail-table__text {
        min-width: 0;
    }

    .csa-rab-detail-items-table th:first-child,
    .csa-rab-detail-items-table td:first-child,
    .csa-rab-detail-items-table th:nth-child(4),
    .csa-rab-detail-items-table td:nth-child(4),
    .csa-rab-detail-items-table th:nth-child(5),
    .csa-rab-detail-items-table td:nth-child(5),
    .csa-rab-detail-items-table th:last-child,
    .csa-rab-detail-items-table td:last-child {
        width: 1%;
    }

    .csa-rab-detail-soft-badge {
        background: var(--csa-rab-detail-soft-badge-bg) !important;
        color: var(--csa-rab-detail-soft-badge-ink) !important;
        border: 1px solid var(--line) !important;
    }

    .csa-rab-detail-tab-title {
        color: var(--ink);
    }

    .csa-rab-detail-soft-alert {
        background: var(--card-bg-soft);
        color: var(--text);
        border-color: var(--line) !important;
    }

    .csa-rab-detail-soft-alert strong {
        color: var(--ink);
    }

    .csa-rab-detail-approval-action {
        min-width: 100px;
    }

    .csa-rab-detail-approval--standard {
        --approval-flow-border: var(--approval-standard);
        --approval-flow-solid: var(--approval-standard);
        --approval-flow-solid-strong: var(--approval-standard-strong);
        --approval-flow-soft: var(--approval-standard-soft);
        --approval-flow-ink: var(--approval-standard-ink);
        --approval-flow-shadow: var(--approval-standard-shadow);
        --approval-flow-contrast: var(--approval-standard-contrast);
        --approval-flow-close-filter: var(--approval-standard-close-filter);
    }

    .csa-rab-detail-approval--deviation {
        --approval-flow-border: var(--approval-deviation);
        --approval-flow-solid: var(--approval-deviation);
        --approval-flow-solid-strong: var(--approval-deviation-strong);
        --approval-flow-soft: var(--approval-deviation-soft);
        --approval-flow-ink: var(--approval-deviation-ink);
        --approval-flow-shadow: var(--approval-deviation-shadow);
        --approval-flow-contrast: var(--approval-deviation-contrast);
        --approval-flow-close-filter: var(--approval-deviation-close-filter);
    }

    .csa-rab-detail-approval--reopen {
        --approval-flow-border: var(--approval-reopen);
        --approval-flow-solid: var(--approval-reopen);
        --approval-flow-solid-strong: var(--approval-reopen-strong);
        --approval-flow-soft: var(--approval-reopen-soft);
        --approval-flow-ink: var(--approval-reopen-ink);
        --approval-flow-shadow: var(--approval-reopen-shadow);
        --approval-flow-contrast: var(--approval-reopen-contrast);
        --approval-flow-close-filter: var(--approval-reopen-close-filter);
    }

    .csa-rab-detail-approval-trigger {
        border-width: 2px !important;
        border-color: var(--approval-flow-border, var(--approval-standard)) !important;
        box-shadow: 0 0 0 1px var(--approval-flow-border, var(--approval-standard)) inset;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    }

    .csa-rab-detail-approval-trigger:hover,
    .csa-rab-detail-approval-trigger:focus,
    .csa-rab-detail-approval-trigger:active {
        border-color: var(--approval-flow-border, var(--approval-standard)) !important;
        box-shadow:
            0 0 0 1px var(--approval-flow-border, var(--approval-standard)) inset,
            0 0 0 0.2rem var(--approval-flow-soft, var(--approval-standard-soft));
    }

    .csa-rab-detail-approval-modal .modal-content {
        border: 1px solid var(--approval-flow-border, var(--approval-standard));
        border-radius: 18px;
        overflow: hidden;
        box-shadow: 0 24px 48px -28px var(--approval-flow-shadow, rgba(15, 23, 42, 0.22));
    }

    .csa-rab-detail-approval-modal .modal-header {
        background: linear-gradient(135deg, var(--approval-flow-solid, var(--approval-standard)) 0%, var(--approval-flow-solid-strong, var(--approval-standard-strong)) 100%);
        color: var(--approval-flow-contrast, #ffffff);
        border-bottom: none;
    }

    .csa-rab-detail-approval-modal .modal-title {
        color: inherit;
        font-weight: 700;
    }

    .csa-rab-detail-approval-modal .btn-close {
        filter: var(--approval-flow-close-filter, invert(1) grayscale(100%) brightness(200%));
        opacity: 0.95;
    }

    .csa-rab-detail-approval-modal .modal-body {
        padding-top: 1.15rem;
    }

    .csa-rab-detail-approval-alert {
        background: var(--approval-flow-soft, var(--approval-standard-soft));
        border: 1px solid var(--approval-flow-border, var(--approval-standard));
        color: var(--approval-flow-ink, var(--approval-standard-ink));
    }

    .csa-rab-detail-approval-alert strong {
        color: inherit;
    }

    .csa-rab-detail-approval-step {
        color: var(--approval-flow-ink, var(--approval-standard-ink)) !important;
        background: rgba(148, 163, 184, 0.08);
        border: 1px dashed var(--approval-flow-border, var(--approval-standard));
        border-radius: 12px;
        padding: 0.7rem 0.8rem;
    }

    .csa-rab-detail-approval-modal .form-control:focus {
        border-color: var(--approval-flow-border, var(--approval-standard));
        box-shadow: 0 0 0 0.2rem var(--approval-flow-soft, var(--approval-standard-soft));
    }

    .csa-rab-detail-confirm-approve {
        background: var(--approval-flow-solid, var(--approval-standard));
        border-color: var(--approval-flow-solid, var(--approval-standard));
        color: var(--approval-flow-contrast, #ffffff);
    }

    .csa-rab-detail-confirm-approve:hover,
    .csa-rab-detail-confirm-approve:focus,
    .csa-rab-detail-confirm-approve:active {
        background: var(--approval-flow-solid-strong, var(--approval-standard-strong));
        border-color: var(--approval-flow-solid-strong, var(--approval-standard-strong));
        color: var(--approval-flow-contrast, #ffffff);
    }

    .csa-rab-detail-workflow-approver__name {
        color: var(--ink);
        font-weight: 600;
    }

    .csa-rab-detail-workflow-approver__meta {
        color: var(--muted);
        font-size: 0.78rem;
        margin-top: 0.15rem;
    }

    .csa-rab-detail-workflow-row--current td {
        background: rgba(59, 130, 246, 0.06);
    }

    .csa-rab-detail-file-link {
        display: inline-block;
        max-width: 220px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: bottom;
    }

    .csa-rab-detail-file-preview__frame {
        width: 100%;
        min-height: 68vh;
        border: 1px solid var(--line);
        border-radius: 10px;
        background: var(--frame-bg);
    }

    .csa-rab-detail-file-preview__hint {
        font-size: 0.78rem;
        color: var(--muted);
    }

    .csa-rab-detail-workflow-preview__scroll {
        background: var(--card-bg-soft);
        border: 1px solid var(--line);
        border-radius: 0.5rem;
        max-height: 12.5rem;
        overflow-y: auto;
        padding: 0.5rem;
    }

    .csa-rab-detail-workflow-preview__index {
        align-items: center;
        display: inline-flex;
        height: 1.5rem;
        justify-content: center;
        min-width: 1.5rem;
    }

    .csa-rab-detail-deviation-card {
        overflow: hidden;
    }

    .csa-rab-detail-deviation-table-shell {
        --card-bg: #ffffff;
        --card-bg-soft: #f8fafc;
        --ink: #0f172a;
        --text: #475569;
        --muted: #64748b;
        --line: #e2e8f0;
        --accent: #1d4ed8;
        --csa-rab-detail-soft-badge-bg: #f8fafc;
        --deviation-current-bg: rgba(59, 130, 246, 0.09);
        --deviation-current-border: rgba(59, 130, 246, 0.18);
        --deviation-current-ink: #1d4ed8;
        --deviation-shift-bg: rgba(245, 158, 11, 0.11);
        --deviation-shift-border: rgba(245, 158, 11, 0.2);
        --deviation-shift-ink: #b45309;
        --deviation-progress-bg: rgba(236, 72, 153, 0.12);
        --deviation-progress-border: rgba(236, 72, 153, 0.26);
        --deviation-progress-ink: #be185d;
        --deviation-rejected-bg: rgba(220, 53, 69, 0.12);
        --deviation-rejected-border: rgba(220, 53, 69, 0.24);
        --deviation-rejected-ink: #b42318;
        --deviation-total-bg: rgba(16, 185, 129, 0.1);
        --deviation-total-border: rgba(16, 185, 129, 0.2);
        --deviation-total-ink: #047857;
        --deviation-forecast-bg: rgba(14, 165, 233, 0.1);
        --deviation-forecast-border: rgba(14, 165, 233, 0.22);
        --deviation-forecast-ink: #0369a1;
        --csa-rab-detail-deviation-level--summary-bg: rgba(53, 88, 114, 0.08);
        --csa-rab-detail-deviation-level--summary-overlay: rgba(53, 88, 114, 0.04);
        --csa-rab-detail-deviation-level--summary-text: #355872;
        --csa-rab-detail-deviation-level--group-bg: rgba(122, 170, 206, 0.14);
        --csa-rab-detail-deviation-level--group-overlay: rgba(122, 170, 206, 0.05);
        --csa-rab-detail-deviation-level--group-text: #426983;
        --csa-rab-detail-deviation-level--item-bg: rgba(156, 213, 255, 0.1);
        --csa-rab-detail-deviation-level--item-overlay: rgba(156, 213, 255, 0.04);
        --csa-rab-detail-deviation-level--item-text: #557792;
        --deviation-level-border: rgba(122, 170, 206, 0.2);
        border: 1px solid var(--line);
        border-radius: 16px;
        overflow: hidden;
        background: var(--card-bg);
    }

    html.theme-dark .csa-rab-detail-deviation-table-shell,
    html[data-bs-theme="dark"] .csa-rab-detail-deviation-table-shell {
        --card-bg: #111827;
        --card-bg-soft: #0b1220;
        --ink: #e2e8f0;
        --text: #cbd5e1;
        --muted: #94a3b8;
        --line: #334155;
        --accent: #93c5fd;
        --csa-rab-detail-soft-badge-bg: #1f2937;
        --deviation-current-bg: rgba(59, 130, 246, 0.14);
        --deviation-current-border: rgba(96, 165, 250, 0.24);
        --deviation-current-ink: #93c5fd;
        --deviation-shift-bg: rgba(245, 158, 11, 0.16);
        --deviation-shift-border: rgba(251, 191, 36, 0.24);
        --deviation-shift-ink: #fcd34d;
        --deviation-progress-bg: rgba(244, 114, 182, 0.18);
        --deviation-progress-border: rgba(244, 114, 182, 0.32);
        --deviation-progress-ink: #f9a8d4;
        --deviation-rejected-bg: rgba(255, 140, 122, 0.18);
        --deviation-rejected-border: rgba(255, 140, 122, 0.32);
        --deviation-rejected-ink: #ffb3a7;
        --deviation-total-bg: rgba(16, 185, 129, 0.14);
        --deviation-total-border: rgba(52, 211, 153, 0.24);
        --deviation-total-ink: #6ee7b7;
        --deviation-forecast-bg: rgba(56, 189, 248, 0.16);
        --deviation-forecast-border: rgba(56, 189, 248, 0.28);
        --deviation-forecast-ink: #7dd3fc;
        --csa-rab-detail-deviation-level--summary-bg: rgba(122, 170, 206, 0.16);
        --csa-rab-detail-deviation-level--summary-overlay: rgba(122, 170, 206, 0.08);
        --csa-rab-detail-deviation-level--summary-text: #e7f1f8;
        --csa-rab-detail-deviation-level--group-bg: rgba(122, 170, 206, 0.2);
        --csa-rab-detail-deviation-level--group-overlay: rgba(122, 170, 206, 0.1);
        --csa-rab-detail-deviation-level--group-text: #d9ebf8;
        --csa-rab-detail-deviation-level--item-bg: rgba(156, 213, 255, 0.12);
        --csa-rab-detail-deviation-level--item-overlay: rgba(156, 213, 255, 0.06);
        --csa-rab-detail-deviation-level--item-text: #d5e9f8;
        --deviation-level-border: rgba(156, 213, 255, 0.18);
    }

    .csa-rab-detail-deviation-table {
        min-width: 1040px;
        margin-bottom: 0;
    }

    .csa-rab-detail-deviation-table th,
    .csa-rab-detail-deviation-table td {
        vertical-align: top;
        white-space: normal;
    }

    .csa-rab-detail-deviation-cell {
        position: relative;
    }

    .csa-rab-detail-deviation-col--current {
        background: linear-gradient(180deg, var(--deviation-current-bg) 0%, rgba(255, 255, 255, 0) 100%);
        box-shadow: inset 1px 0 0 var(--deviation-current-border), inset -1px 0 0 var(--deviation-current-border);
    }

    .csa-rab-detail-deviation-col--shift {
        background: linear-gradient(180deg, var(--deviation-active-shift-bg, var(--deviation-shift-bg)) 0%, rgba(255, 255, 255, 0) 100%);
        box-shadow: inset 1px 0 0 var(--deviation-active-shift-border, var(--deviation-shift-border)), inset -1px 0 0 var(--deviation-active-shift-border, var(--deviation-shift-border));
    }

    .csa-rab-detail-deviation-col--progress {
        --deviation-active-shift-bg: var(--deviation-progress-bg);
        --deviation-active-shift-border: var(--deviation-progress-border);
    }

    .csa-rab-detail-deviation-col--rejected {
        --deviation-active-shift-bg: var(--deviation-rejected-bg);
        --deviation-active-shift-border: var(--deviation-rejected-border);
    }

    .csa-rab-detail-deviation-col--neutral {
        --deviation-active-shift-bg: var(--card-bg-soft);
        --deviation-active-shift-border: var(--line);
    }

    .csa-rab-detail-deviation-col--total {
        background: linear-gradient(180deg, var(--deviation-total-bg) 0%, rgba(255, 255, 255, 0) 100%);
        box-shadow: inset 1px 0 0 var(--deviation-total-border), inset -1px 0 0 var(--deviation-total-border);
    }

    .csa-rab-detail-deviation-col--forecast {
        background: linear-gradient(180deg, var(--deviation-forecast-bg) 0%, rgba(255, 255, 255, 0) 100%);
        box-shadow: inset 1px 0 0 var(--deviation-forecast-border), inset -1px 0 0 var(--deviation-forecast-border);
    }

    .csa-rab-detail-deviation-col--main {
        min-width: 260px;
    }

    .csa-rab-detail-deviation-col--unit {
        min-width: 90px;
    }

    .csa-rab-detail-deviation-col--value {
        min-width: 205px;
    }

    .csa-rab-detail-deviation-head {
        display: grid;
        gap: 0.35rem;
    }

    .csa-rab-detail-deviation-head__title {
        color: var(--ink);
    }

    .csa-rab-detail-deviation-head__meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.3rem;
        color: var(--muted);
        font-size: 0.78rem;
    }

    .csa-rab-detail-deviation-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        width: fit-content;
        padding: 0.24rem 0.6rem;
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        border: 1px solid transparent;
    }

    .csa-rab-detail-deviation-badge--current {
        color: var(--deviation-current-ink);
        background: var(--deviation-current-bg);
        border-color: var(--deviation-current-border);
    }

    .csa-rab-detail-deviation-badge--shift {
        color: var(--deviation-shift-ink);
        background: var(--deviation-shift-bg);
        border-color: var(--deviation-shift-border);
    }

    .csa-rab-detail-deviation-badge--approved {
        color: var(--deviation-shift-ink);
        background: var(--deviation-shift-bg);
        border-color: var(--deviation-shift-border);
    }

    .csa-rab-detail-deviation-badge--progress {
        color: var(--deviation-progress-ink);
        background: var(--deviation-progress-bg);
        border-color: var(--deviation-progress-border);
    }

    .csa-rab-detail-deviation-badge--rejected {
        color: var(--deviation-rejected-ink);
        background: var(--deviation-rejected-bg);
        border-color: var(--deviation-rejected-border);
    }

    .csa-rab-detail-deviation-badge--neutral {
        color: var(--muted);
        background: var(--csa-rab-detail-soft-badge-bg);
        border-color: var(--line);
    }

    .csa-rab-detail-deviation-badge--total {
        color: var(--deviation-total-ink);
        background: var(--deviation-total-bg);
        border-color: var(--deviation-total-border);
    }

    .csa-rab-detail-deviation-badge--forecast {
        color: var(--deviation-forecast-ink);
        background: var(--deviation-forecast-bg);
        border-color: var(--deviation-forecast-border);
    }

    .csa-rab-detail-deviation-empty {
        color: var(--muted);
        font-size: 0.82rem;
    }

    .csa-rab-detail-deviation-metric {
        display: grid;
        gap: 0.45rem;
    }

    .csa-rab-detail-deviation-metric__row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        font-size: 0.82rem;
        padding: 0.15rem 0;
        border-top: 1px dashed rgba(148, 163, 184, 0.18);
    }

    .csa-rab-detail-deviation-metric__row:first-child {
        padding-top: 0;
        border-top: none;
    }

    .csa-rab-detail-deviation-metric__label {
        color: var(--muted);
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .csa-rab-detail-deviation-metric__value {
        color: var(--ink);
        text-align: right;
        font-weight: 600;
    }

    .csa-rab-detail-deviation-metric__links {
        display: grid;
        gap: 0.3rem;
    }

    .csa-rab-detail-deviation-category td {
        background: var(--card-bg-soft);
        border-top: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
    }

    .csa-rab-detail-deviation-category__name {
        display: block;
        color: var(--ink);
        font-weight: 700;
    }

    .csa-rab-detail-deviation-category__copy {
        display: block;
        color: var(--muted);
        font-size: 0.76rem;
        margin-top: 0.15rem;
    }

    .csa-rab-detail-deviation-category__toggle {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.85rem;
        padding: 0;
        border: 0;
        background: transparent;
        color: inherit;
        text-align: left;
        cursor: pointer;
    }

    .csa-rab-detail-deviation-category__toggle:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 4px;
        border-radius: 8px;
    }

    .csa-rab-detail-deviation-category__toggle-main {
        display: inline-flex;
        align-items: flex-start;
        gap: 0.8rem;
        min-width: 0;
        flex: 1 1 auto;
    }

    .csa-rab-detail-deviation-category__indicator {
        width: 1.85rem;
        height: 1.85rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        border: 1px solid var(--line);
        background: var(--card-bg);
        color: var(--accent);
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
        transition: transform 0.18s ease, background-color 0.18s ease, color 0.18s ease;
        flex: 0 0 auto;
    }

    .csa-rab-detail-deviation-category--collapsed .csa-rab-detail-deviation-category__indicator {
        transform: rotate(-90deg);
    }

    .csa-rab-detail-deviation-item--collapsed {
        display: none;
    }

    .csa-rab-detail-deviation-item__name {
        color: var(--ink);
    }

    .csa-rab-detail-deviation-item__code {
        color: var(--muted);
        font-size: 0.78rem;
        margin-top: 0.2rem;
    }

    .csa-rab-detail-deviation-revenue-row td:first-child {
        color: var(--ink);
    }

    .csa-rab-detail-deviation-summary-row td {
        background: rgba(148, 163, 184, 0.08);
    }

    .csa-rab-detail-deviation-category td.csa-rab-detail-deviation-col--current,
    .csa-rab-detail-deviation-summary-row td.csa-rab-detail-deviation-col--current {
        background: linear-gradient(180deg, var(--deviation-current-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-category td.csa-rab-detail-deviation-col--shift,
    .csa-rab-detail-deviation-summary-row td.csa-rab-detail-deviation-col--shift {
        background: linear-gradient(180deg, var(--deviation-active-shift-bg, var(--deviation-shift-bg)) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-category td.csa-rab-detail-deviation-col--total,
    .csa-rab-detail-deviation-summary-row td.csa-rab-detail-deviation-col--total {
        background: linear-gradient(180deg, var(--deviation-total-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-category td.csa-rab-detail-deviation-col--forecast,
    .csa-rab-detail-deviation-summary-row td.csa-rab-detail-deviation-col--forecast {
        background: linear-gradient(180deg, var(--deviation-forecast-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-summary-label {
        color: var(--ink);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--summary > td,
    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--group > td,
    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--item > td {
        border-top: 1px solid var(--deviation-level-border);
        border-bottom: 1px solid var(--deviation-level-border);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--summary > td:not(.csa-rab-detail-deviation-col--current):not(.csa-rab-detail-deviation-col--shift):not(.csa-rab-detail-deviation-col--total):not(.csa-rab-detail-deviation-col--forecast) {
        background: var(--csa-rab-detail-deviation-level--summary-bg);
        color: var(--csa-rab-detail-deviation-level--summary-text);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--group > td:not(.csa-rab-detail-deviation-col--current):not(.csa-rab-detail-deviation-col--shift):not(.csa-rab-detail-deviation-col--total):not(.csa-rab-detail-deviation-col--forecast) {
        background: var(--csa-rab-detail-deviation-level--group-bg);
        color: var(--csa-rab-detail-deviation-level--group-text);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--item > td:not(.csa-rab-detail-deviation-col--current):not(.csa-rab-detail-deviation-col--shift):not(.csa-rab-detail-deviation-col--total):not(.csa-rab-detail-deviation-col--forecast) {
        background: var(--csa-rab-detail-deviation-level--item-bg);
        color: var(--csa-rab-detail-deviation-level--item-text);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--summary > td.csa-rab-detail-deviation-col--current {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--summary-overlay) 0%, var(--csa-rab-detail-deviation-level--summary-overlay) 100%),
            linear-gradient(180deg, var(--deviation-current-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--summary > td.csa-rab-detail-deviation-col--shift {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--summary-overlay) 0%, var(--csa-rab-detail-deviation-level--summary-overlay) 100%),
            linear-gradient(180deg, var(--deviation-active-shift-bg, var(--deviation-shift-bg)) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--summary > td.csa-rab-detail-deviation-col--total {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--summary-overlay) 0%, var(--csa-rab-detail-deviation-level--summary-overlay) 100%),
            linear-gradient(180deg, var(--deviation-total-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--summary > td.csa-rab-detail-deviation-col--forecast {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--summary-overlay) 0%, var(--csa-rab-detail-deviation-level--summary-overlay) 100%),
            linear-gradient(180deg, var(--deviation-forecast-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--group > td.csa-rab-detail-deviation-col--current {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--group-overlay) 0%, var(--csa-rab-detail-deviation-level--group-overlay) 100%),
            linear-gradient(180deg, var(--deviation-current-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--group > td.csa-rab-detail-deviation-col--shift {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--group-overlay) 0%, var(--csa-rab-detail-deviation-level--group-overlay) 100%),
            linear-gradient(180deg, var(--deviation-active-shift-bg, var(--deviation-shift-bg)) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--group > td.csa-rab-detail-deviation-col--total {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--group-overlay) 0%, var(--csa-rab-detail-deviation-level--group-overlay) 100%),
            linear-gradient(180deg, var(--deviation-total-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--group > td.csa-rab-detail-deviation-col--forecast {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--group-overlay) 0%, var(--csa-rab-detail-deviation-level--group-overlay) 100%),
            linear-gradient(180deg, var(--deviation-forecast-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--item > td.csa-rab-detail-deviation-col--current {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--item-overlay) 0%, var(--csa-rab-detail-deviation-level--item-overlay) 100%),
            linear-gradient(180deg, var(--deviation-current-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--item > td.csa-rab-detail-deviation-col--shift {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--item-overlay) 0%, var(--csa-rab-detail-deviation-level--item-overlay) 100%),
            linear-gradient(180deg, var(--deviation-active-shift-bg, var(--deviation-shift-bg)) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--item > td.csa-rab-detail-deviation-col--total {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--item-overlay) 0%, var(--csa-rab-detail-deviation-level--item-overlay) 100%),
            linear-gradient(180deg, var(--deviation-total-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-table .csa-rab-detail-deviation-level--item > td.csa-rab-detail-deviation-col--forecast {
        background:
            linear-gradient(0deg, var(--csa-rab-detail-deviation-level--item-overlay) 0%, var(--csa-rab-detail-deviation-level--item-overlay) 100%),
            linear-gradient(180deg, var(--deviation-forecast-bg) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .csa-rab-detail-deviation-level--summary td:first-child,
    .csa-rab-detail-deviation-level--summary td:nth-child(2),
    .csa-rab-detail-deviation-level--summary .csa-rab-detail-deviation-summary-label,
    .csa-rab-detail-deviation-level--summary .fw-semibold {
        color: var(--csa-rab-detail-deviation-level--summary-text);
    }

    .csa-rab-detail-deviation-level--group .csa-rab-detail-deviation-category__name,
    .csa-rab-detail-deviation-level--item .csa-rab-detail-deviation-item__name {
        color: inherit;
    }

    .csa-rab-detail-deviation-level--group .csa-rab-detail-deviation-category__copy,
    .csa-rab-detail-deviation-level--item .csa-rab-detail-deviation-item__code {
        color: inherit;
        opacity: 0.78;
    }

    .csa-rab-detail-deviation-level--group .csa-rab-detail-deviation-category__toggle {
        color: inherit;
    }

    .csa-rab-detail-deviation-level--group .csa-rab-detail-deviation-category__indicator {
        border-color: var(--deviation-level-border);
        background: rgba(255, 255, 255, 0.82);
        color: var(--csa-rab-detail-deviation-level--group-text);
        box-shadow: 0 6px 14px rgba(53, 88, 114, 0.08);
    }

    .csa-rab-detail-deviation-level--item td:first-child {
        position: relative;
        padding-left: 2.65rem;
    }

    .csa-rab-detail-deviation-level--item td:first-child::before {
        content: "";
        position: absolute;
        left: 1.45rem;
        top: 1.3rem;
        width: 0.5rem;
        height: 0.5rem;
        border-radius: 999px;
        background: var(--csa-rab-detail-deviation-level--group-text);
        opacity: 0.5;
    }

    .csa-rab-detail-deviation-log__heading {
        color: var(--ink);
        margin-bottom: 0.25rem;
    }

    .csa-rab-detail-deviation-log__subtitle {
        color: var(--muted);
        margin-bottom: 0.85rem;
    }

    @media (max-width: 992px) {
        .csa-rab-detail-hero__project-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .csa-rab-detail-hero__project-item {
            text-align: left;
            border-left: none;
        }

        .csa-rab-detail-hero__project-item:nth-child(even) {
            border-left: 1px solid var(--hero-line);
        }

        .csa-rab-detail-hero__project-item:nth-child(n + 3) {
            border-top: 1px solid var(--hero-line);
        }
    }

    @media (max-width: 768px) {
        .csa-rab-detail-hero__stack {
            gap: 0.85rem;
        }

        .csa-rab-detail-hero__panel {
            padding: 0.8rem 0.85rem;
        }

        .csa-rab-detail-hero__detail-row {
            grid-template-columns: 1fr;
            gap: 0.2rem;
        }

        .csa-rab-detail-hero__header {
            grid-template-columns: 1fr;
            gap: 0.9rem;
        }

        .csa-rab-detail-hero__meta-shell {
            padding-left: 0;
            padding-top: 0.85rem;
            border-left: none;
            border-top: 1px solid var(--line);
        }

        .csa-rab-detail-hero__meta {
            grid-template-columns: 1fr;
        }

        .csa-rab-detail-hero__project-grid {
            grid-template-columns: 1fr;
        }

        .csa-rab-detail-hero__project-item:nth-child(even) {
            border-left: none;
        }

        .csa-rab-detail-hero__project-item:nth-child(n + 2) {
            border-top: 1px solid var(--hero-line);
        }

        .csa-rab-detail-hero {
            padding: 1.2rem;
        }

        .csa-rab-detail-notice {
            padding: 0.7rem 0.75rem;
        }

        .csa-rab-detail-notice__list {
            gap: 0.5rem;
        }

        .csa-rab-detail-person-card {
            flex-basis: 100%;
        }

        .csa-rab-detail-tab-card {
            padding: 1.25rem;
        }

        .csa-rab-detail-table .csa-rab-detail-table__text {
            min-width: 180px;
        }

        .csa-rab-detail-items-table {
            width: 100%;
        }

        .csa-rab-detail-financial-metric {
            align-items: flex-start;
            flex-direction: column;
            gap: 0.25rem;
        }

        .csa-rab-detail-financial-metric__value {
            text-align: left;
        }
    }
