/* Banking dashboard — desktop module */

.banking-page {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-height: 0;
    height: 100%;
    padding: 0.75rem 1rem 1rem;
    box-sizing: border-box;
}

.banking-page__header {
    flex: 0 0 auto;
}

.banking-page__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
}

.banking-page__subtitle {
    margin: 0.15rem 0 0;
    color: #64748b;
    font-size: 0.875rem;
}

.banking-page__error {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    background: #fef2f2;
    color: #b91c1c;
    cursor: pointer;
}

.banking-page__date,
.banking-page__select {
    min-height: 2.25rem;
    padding: 0.25rem 0.5rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    background: #fff;
}

.banking-page__grid {
    flex: 1 1 0;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
    gap: 0.75rem;
}

.banking-page__col {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-height: 0;
}

.banking-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1 1 0;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    background: #fff;
    overflow: hidden;
}

.banking-panel--tall {
    flex: 1 1 0;
}

.banking-panel__title {
    margin: 0;
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
    font-weight: 700;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.banking-panel__total {
    font-size: 0.85rem;
    font-weight: 800;
    color: #0f4c75;
}

.banking-panel__host {
    flex: 1 1 0;
    min-height: 0;
}

.banking-panel .iffys-sf-grid-host {
    border: none;
    border-radius: 0;
}

.banking-pivot-host {
    display: flex;
    flex-direction: column;
    position: relative;
    min-height: 12rem;
    overflow: hidden;
}

/* Hide grouping / field-list chrome — Angular-style clean pivot */
.banking-page .banking-pivot .e-group-div,
.banking-page .banking-pivot .e-grouping-bar,
.banking-page .banking-pivot .e-field-list-wrapper,
.banking-page .banking-pivot .e-toggle-field-list {
    display: none !important;
}

.banking-pivot-host > .e-control.e-pivotview,
.banking-pivot-host .banking-pivot.e-pivotview {
    flex: 1 1 auto;
    min-height: 0;
    height: 100% !important;
    width: 100% !important;
}

/* Compact type — match SfGrid (prefer 11px so amounts fit) */
.banking-page .banking-pivot.e-pivotview,
.banking-page .banking-pivot .e-grid,
.banking-page .banking-pivot .e-gridheader,
.banking-page .banking-pivot .e-gridcontent,
.banking-page .banking-pivot .e-headercell,
.banking-page .banking-pivot .e-headercelldiv,
.banking-page .banking-pivot .e-headertext,
.banking-page .banking-pivot .e-rowsheader,
.banking-page .banking-pivot .e-columnsheader,
.banking-page .banking-pivot .e-gtot,
.banking-page .banking-pivot .e-rowscontent,
.banking-page .banking-pivot .e-valuescontent,
.banking-page .banking-pivot .e-rowcell,
.banking-page .banking-pivot .e-cellvalue,
.banking-page .banking-pivot .e-stackedheadercelldiv,
.banking-page .banking-pivot .e-icons {
    font-size: 11px !important;
    line-height: 1.25 !important;
}

.banking-page .banking-pivot .e-rowsheader,
.banking-page .banking-pivot .e-columnsheader {
    font-weight: 700 !important;
}

.banking-page .banking-pivot .e-headercell,
.banking-page .banking-pivot .e-rowcell {
    padding: 0.15rem 0.35rem !important;
}

/* Let Syncfusion column widths (BeforeColumnsRender) control layout; don't force-clip cells */
.banking-page .banking-pivot .e-grid {
    width: 100% !important;
}

.banking-page .banking-pivot .e-headercell,
.banking-page .banking-pivot .e-rowcell {
    box-sizing: border-box !important;
}

.banking-page .banking-pivot .e-movableheader .e-headercell,
.banking-page .banking-pivot .e-movablecontent .e-rowcell,
.banking-page .banking-pivot .e-valuescontent,
.banking-page .banking-pivot .e-gtot,
.banking-page .banking-pivot .e-cellvalue {
    text-align: right !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    padding-right: 0.65rem !important;
}

.banking-page .banking-pivot .e-gridcontent,
.banking-page .banking-pivot .e-content {
    overflow-x: auto !important;
}

.deposit-stub-body {
    gap: 0.75rem;
}

.deposit-stub-filters {
    flex: 0 0 auto;
}

.deposit-stub-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.875rem;
}

.deposit-stub-header__title {
    font-weight: 700;
    font-size: 1rem;
}

.deposit-stub-header__right {
    text-align: right;
}

.deposit-stub-header p {
    margin: 0.1rem 0;
}

.deposit-stub-summary-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.75rem;
    min-height: 12rem;
}

.deposit-stub-pane {
    min-height: 10rem;
    max-height: 16rem;
}

.deposit-stub-totals {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.deposit-stub-totals td {
    padding: 0.5rem 0.65rem;
    border-bottom: 1px solid #e2e8f0;
}

.deposit-stub-totals .num {
    text-align: right;
    font-weight: 600;
}

.deposit-stub-count {
    width: 4.5rem;
    text-align: right;
    padding: 0.2rem 0.35rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.25rem;
}

.deposit-stub-checks {
    min-height: 12rem;
    max-height: 22rem;
}

@media (max-width: 1400px) {
    .banking-page__grid {
        grid-template-columns: 1fr;
    }
}
