/* =============================================================================
   DRM Budget — Financial Operations presentation layer
   Brings legacy agency, EB, check, loan and bank-account workbenches onto the
   current enterprise design contract without changing their business behavior.
   ============================================================================= */

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) {
    --fin-ink: var(--drm-text-primary, #0f172a);
    --fin-muted: var(--drm-text-tertiary, #64748b);
    --fin-border: var(--drm-border, #e2e8f0);
    --fin-surface: var(--drm-surface, #fff);
    --fin-surface-muted: var(--drm-surface-muted, #f8fafc);
    --fin-hero: linear-gradient(135deg, #0b1220 0%, #172554 58%, #1d4ed8 135%);
    max-width: 1720px;
    margin-inline: auto;
    color: var(--fin-ink);
}

.finance-desk-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:8px 0 22px;margin-bottom:20px;border-bottom:1px solid var(--drm-border,#e2e8f0)}
.finance-desk-heading h1{font-size:26px;letter-spacing:-.02em;font-weight:700;margin:8px 0;color:var(--drm-text-primary,#0f172a)}
.finance-desk-heading span{font-size:11px;letter-spacing:.1em;font-weight:700;color:var(--drm-text-tertiary,#64748b)}
.finance-desk-heading p,.finance-desk-panel p{font-size:13px;color:var(--drm-text-tertiary,#64748b);margin:0 0 12px}
.finance-desk-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.finance-desk-actions .btn{border:1px solid var(--drm-border,#e2e8f0)}
.finance-desk-panel{padding:20px;margin-bottom:20px;border:1px solid var(--drm-border,#e2e8f0);border-radius:12px;background:var(--drm-surface,#fff);min-width:0}
.finance-desk-panel h2{font-size:18px;font-weight:700;margin:0 0 10px}
.finance-desk-filters{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin-bottom:18px;padding:16px;background:var(--drm-surface,#fff);border:1px solid var(--drm-border,#e2e8f0);border-radius:10px}
.finance-desk-filters label{display:grid;gap:7px;font-size:12px}.finance-desk-filters input:not([type=checkbox]),.finance-desk-filters select{padding:8px 12px;border:1px solid var(--drm-border,#e2e8f0);border-radius:6px;background:var(--drm-surface,#fff);color:inherit}
.finance-desk-scroll{overflow:auto;max-height:380px}.finance-desk-scroll table{width:100%;font-size:13px;border-collapse:collapse}.finance-desk-scroll td,.finance-desk-scroll th{padding:11px;text-align:right;border-bottom:1px solid var(--drm-border,#e2e8f0);white-space:nowrap;font-variant-numeric:tabular-nums}.finance-desk-scroll th:first-child{text-align:left}.finance-desk-scroll thead{background:var(--drm-surface-muted,#f8fafc);position:sticky;top:0}
.finance-desk-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.finance-desk-metrics article{display:grid;gap:10px;border:1px solid var(--drm-border,#e2e8f0);border-radius:12px;padding:20px;background:var(--drm-surface,#fff)}.finance-desk-metrics span{font-size:12px;color:var(--drm-text-secondary,#475569)}.finance-desk-metrics strong{font-size:28px;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.finance-desk-heading{align-items:start;flex-direction:column}.finance-desk-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.finance-desk-metrics{grid-template-columns:1fr}}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .card {
    border-color: var(--fin-border) !important;
    border-radius: 13px !important;
    box-shadow: 0 5px 18px -16px rgba(15, 23, 42, .5) !important;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .stat-card,
:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .kpi-card,
.ba-page .ba-stat-card {
    overflow: hidden;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease !important;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .stat-card:hover,
:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .kpi-card:hover,
.ba-page .ba-stat-card:hover {
    transform: translateY(-2px) !important;
    border-color: #bfdbfe !important;
    box-shadow: 0 14px 28px -22px rgba(15, 23, 42, .62) !important;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .card-header {
    min-height: 3.2rem;
    border-bottom-color: var(--fin-border) !important;
    background: linear-gradient(180deg, #fff, #fbfdff) !important;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .btn {
    border-radius: 8px;
    font-weight: 600;
    transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .btn:hover:not(:disabled) {
    transform: translateY(-1px);
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-grid,
:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-treegrid {
    border-color: var(--fin-border) !important;
    border-radius: 10px;
    overflow: hidden;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-grid .e-headercell,
:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-treegrid .e-headercell {
    border-color: #edf2f7 !important;
    background: #f8fafc !important;
    color: #475569 !important;
    font-size: .7rem !important;
    font-weight: 700 !important;
    letter-spacing: .035em;
    text-transform: uppercase;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-grid .e-rowcell,
:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-treegrid .e-rowcell {
    border-color: #f1f5f9 !important;
    color: #334155;
    font-size: .78rem;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-grid .e-row:hover .e-rowcell,
:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-treegrid .e-row:hover .e-rowcell {
    background: #f8fbff !important;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-tab .e-tab-header {
    border-bottom: 1px solid var(--fin-border);
    background: #fbfdff;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-tab .e-tab-header .e-toolbar-item.e-active .e-tab-text {
    color: #1d4ed8 !important;
    font-weight: 700;
}

:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .e-input-group,
:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .form-control,
:where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) .form-select {
    border-radius: 8px !important;
}

.check-management-page .portfolio-filter-panel {
    border: 1px solid #dbeafe !important;
    background: linear-gradient(135deg, #f8fbff, #f8fafc) !important;
}

.eb-page .quick-stat,
.agency-page .filter-panel {
    border: 1px solid #e8edf4;
    background: #f8fafc !important;
}

@media (max-width: 991.98px) {
    :where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) {
        padding: .85rem !important;
    }

    :where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) > .row:first-of-type .card-body {
        padding: 1.1rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    :where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) *,
    :where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) *::before,
    :where(.agency-page, .eb-page, .check-management-page, .bank-loans-page, .ba-page) *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
