/* Portal workspace: shared hierarchy with tenant/theme colors inherited from branding.
   Loaded after page styles so the same rules cover dashboard, lists, and payment workspaces. */
.df-dashboard,
.df-money-page {
    --df-workspace-border: color-mix(in srgb, var(--primary-text-color) 18%, var(--input-background));
    --df-workspace-muted: color-mix(in srgb, var(--primary-text-color) 78%, var(--input-background));
    --df-dashboard-border: var(--df-workspace-border);
    --df-dashboard-shadow: none;
    --df-money-border: var(--df-workspace-border);
    --df-money-muted: var(--df-workspace-muted);
    --df-color-ink-muted: var(--df-workspace-muted);
    --df-color-border: var(--df-workspace-border);
}

.df-dashboard :is(.df-dashboard-hero, .df-page-header),
.df-money-page .df-money-hero { margin-bottom: 1.25rem; gap: 1rem; }
.df-dashboard .df-dashboard-hero h1,
.df-money-page .df-money-hero h1 { font-size: clamp(1.65rem, 2.6vw, 2rem); letter-spacing: -.025em; }
.df-dashboard :is(.df-dashboard-eyebrow, .df-dashboard-section-kicker),
.df-money-page .df-money-eyebrow { text-transform: none; letter-spacing: 0; font-size: .8rem; }
.df-dashboard .df-dashboard-intro,
.df-money-page .df-money-hero__copy > p:last-child { font-size: .9rem; opacity: 1; color: var(--df-workspace-muted); }
.df-dashboard :is(.df-dashboard-panel, .df-dashboard-metric, .df-dashboard-status-card),
.df-money-page :is(.df-money-surface, .df-review-summary, .df-decision-panel) {
    box-shadow: none;
    border-color: var(--df-workspace-border);
    border-radius: .75rem;
}
.df-dashboard .df-dashboard-metric { padding: 1rem 1.15rem; gap: .7rem; }
.df-dashboard .df-dashboard-metric--attention { border-left-color: var(--btn-primary); }
.df-dashboard .df-dashboard-metric-icon { width: 2.15rem; height: 2.15rem; font-size: .9rem; }
.df-dashboard .df-dashboard-metric h2 { text-transform: none; letter-spacing: 0; font-size: .85rem; }
.df-dashboard .df-dashboard-metric-value { font-size: 1.8rem; line-height: 1.25; font-variant-numeric: tabular-nums; }
.df-dashboard .df-dashboard-metric-help,
.df-dashboard .df-dashboard-request-main > span,
.df-dashboard .df-dashboard-table td:first-child > span { opacity: 1; color: var(--df-workspace-muted); }
.df-dashboard .df-dashboard-shortcuts { padding: .15rem 0; border: 0; background: transparent; }
.df-dashboard .df-dashboard-shortcuts a { padding-inline: .65rem; font-size: .8rem; }
.df-dashboard .df-dashboard-panels { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); margin-bottom: 1.25rem; align-items: start; }
.df-dashboard .df-dashboard-status-card { margin-top: 1.25rem; }
.df-dashboard .df-dashboard-request-title strong { overflow-wrap: anywhere; }
.df-dashboard .df-dashboard-table { min-width: 0; }
.df-dashboard .df-dashboard-table th,
.df-dashboard .df-dashboard-table td { padding: .85rem .65rem; }
.df-dashboard :is(.df-dashboard-table td.text-end, .df-dashboard-request-main > span) { font-variant-numeric: tabular-nums; }
.df-dashboard .df-dashboard-table tbody tr:nth-child(even) { background: transparent !important; }
.df-dashboard .df-dashboard-table tbody tr:hover { background: color-mix(in srgb, var(--primary-text-color) 4%, var(--input-background)) !important; }

.df-list-filters { display: grid; grid-template-columns: minmax(14rem, 1.3fr) minmax(0, 3fr); gap: .9rem; margin-bottom: 1rem; }
.df-list-filters__advanced > summary { display: none; cursor: pointer; min-height: 44px; font-size: .85rem; font-weight: 600; }
.df-list-filters__advanced > summary span { display: block; color: var(--df-workspace-muted); font-size: .75rem; font-weight: 400; }
.df-list-filters__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.df-list-filters__fields > * { min-width: 0; }
.df-list-filters > * { min-width: 0; }
.df-list-filters .form-label { display: block; margin-bottom: .4rem; font-size: .8rem; font-weight: 600; }
.df-list-filters :is(.form-control, .form-select) { min-height: 44px; font-size: .875rem; }
.df-list-filters .form-check-input:not(:checked) { border-color: var(--input-border-color); }
.df-list-filters .df-pending-filter { margin-bottom: 0 !important; }
.df-list-filters__attention { grid-column: 1 / -1; align-self: end; font-size: .85rem; }
.df-list-filters__actions { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; }
.df-list-filters__actions :is(.btn-outline-primary, .btn-link) { color: var(--primary-text-color); }
.df-list-filters__actions .btn-outline-primary { border-color: currentColor; }
.df-list-filters__actions .btn-outline-primary:is(:hover, :active, :focus-visible) {
    color: var(--text-light);
    background-color: var(--btn-primary);
    border-color: var(--btn-primary-border);
}
.df-density-toggle { margin-left: auto; display: inline-flex; align-items: center; gap: .5rem; font-size: .8rem; }
.df-density-toggle .form-check-input { margin: 0; }
.df-list-filters [role="alert"] { grid-column: 1 / -1; margin: 0; }
.df-list-result-summary { margin: .5rem 0; font-size: .8rem; color: var(--df-workspace-muted); }
.df-list-applied-summary { margin: .6rem 0 .25rem; font-size: .8rem; font-weight: 600; overflow-wrap: anywhere; }
.df-list-filter-note { margin: .6rem 0; color: var(--df-workspace-muted); font-size: .8rem; }
.df-list--unavailable :is(.dt-info, .dt-paging) { display: none; }
.df-open-requests .dt-length { display: flex; align-items: center; gap: .5rem; }
.df-open-requests .dt-length label { margin: 0; }
.df-open-requests .dt-length select { width: auto; margin: 0; }
.df-open-requests .df-money-section-heading { padding-bottom: 1rem; }
.df-open-requests .df-pending-recipient { font-weight: 600; }
.df-open-requests .df-money-table-wrap table.dataTable > tbody > tr > td { padding-top: 1rem; padding-bottom: 1rem; vertical-align: middle; }
.df-open-requests.df-list--compact .df-money-table-wrap table.dataTable > tbody > tr > td { padding-top: .5rem; padding-bottom: .5rem; }
.df-open-requests .df-money-table-wrap table.dataTable td.text-end { font-variant-numeric: tabular-nums; white-space: nowrap; }
.df-open-requests :is(.df-phone-summary, .df-phone-reference) { display: none; }

.df-money-detail-page .df-request-guidance { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.25rem; padding: 1rem 1.25rem; }
.df-request-guidance > div { min-width: 0; }
.df-request-guidance h2 { margin: 0 0 .3rem; font-size: 1rem; }
.df-request-guidance p { margin: 0; font-size: .875rem; }
.df-request-guidance > a { flex-shrink: 0; color: inherit; font-size: .8rem; text-underline-offset: .2em; min-height: 44px; display: inline-flex; align-items: center; gap: .4rem; }
.df-money-detail-page .df-money-reference { font-size: .8rem; }
.df-money-detail-page .df-review-recipient__amount strong { font-variant-numeric: tabular-nums; }
.df-audit-disclosure { border: 1px solid var(--df-workspace-border); border-radius: .75rem; padding: 1rem 1.25rem; background: var(--input-background); }
.df-audit-disclosure > summary { cursor: pointer; font-weight: 600; min-height: 44px; align-content: center; }
.df-audit-disclosure > summary span { display: block; margin-top: .3rem; color: var(--df-workspace-muted); font-size: .8rem; font-weight: 400; }
.df-audit-disclosure .df-lifecycle { border: 0; padding: 0; }
.df-money-form-flow .df-money-checklist { box-shadow: none; }
.df-money-form-flow :is(.df-workspace-header-meta, .df-payout-plan-summary) { font-variant-numeric: tabular-nums; }

@media (max-width: 1199.98px) {
    .df-list-filters { grid-template-columns: minmax(0, 1fr); }
    .df-dashboard .df-dashboard-panels { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
    /* The page heading already identifies the list. Preserve its section heading for assistive
       technology while keeping the first request in view on a phone. */
    .df-open-requests .df-money-section-heading { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
    .df-open-requests .dt-length { display: none; }
    .df-list-filters__advanced > summary { display: list-item; margin-left: 1rem; }
    .df-list-filters__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: .85rem; }
    .df-open-requests #pending-disbursements > thead > tr > th,
    .df-open-requests #pending-disbursements > tbody > tr > td { display: block !important; grid-column: auto !important; width: auto !important; }
    .df-open-requests #pending-disbursements > tbody > tr > td.dt-empty { grid-column: 1 / -1 !important; }
    .df-open-requests :is(.df-phone-summary, .df-phone-reference) { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: .4rem; padding-inline: .35rem; }
    .df-open-requests .df-phone-reference { display: block; font-size: .8rem; color: var(--df-workspace-muted); overflow-wrap: anywhere; }
    .df-open-requests .df-phone-summary strong { font-variant-numeric: tabular-nums; font-size: .9rem; }
    .df-open-requests .df-phone-summary .df-status-pill { font-size: .7rem; white-space: normal; }
    .df-open-requests .df-phone-created { color: var(--df-workspace-muted) !important; }
    .df-open-requests #pending-disbursements > tbody > tr { border-bottom: 1px solid var(--df-workspace-border); }
    .df-open-requests #pending-disbursements > tbody > tr > td { border: 0 !important; }
    .df-density-toggle { display: none; }
    .df-money-detail-page .df-request-guidance { align-items: flex-start; flex-direction: column; gap: .4rem; }
    .df-dashboard .df-dashboard-table { min-width: 29rem; }
}
@media (max-width: 575.98px) {
    .df-list-filters { gap: .75rem; }
    .df-list-filters__attention { grid-column: 1 / -1; }
    .df-list-filters__actions .btn { flex: 1; }
    .df-dashboard .df-dashboard-shortcuts { display: flex; flex-wrap: wrap; gap: .15rem; }
    .df-dashboard .df-dashboard-shortcuts a { width: auto; }
    .df-dashboard .df-dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
    .df-dashboard .df-dashboard-metric { display: block; padding: .85rem; }
    .df-dashboard .df-dashboard-metric-icon { display: none; }
    .df-dashboard .df-dashboard-metric:last-child { grid-column: 1 / -1; }
    .df-dashboard .df-dashboard-metric-value { font-size: 1.55rem; }
    .df-dashboard .df-dashboard-metric-help { font-size: .75rem; }
}
@media print {
    .df-list-filters, .df-detail-nav, .df-request-guidance > a { display: none; }
    .df-audit-disclosure { border: 0; }
}

/* Keep the queue focused; verification context belongs alongside its status. */
.df-open-requests .df-stopped-panel { margin-top: 1.25rem; padding: 1.25rem 1.5rem; border: 1px solid var(--df-workspace-border) !important; border-left: 3px solid var(--df-status-danger-fg, #b42318) !important; border-radius: .75rem; background: var(--input-background); }
.df-open-requests .df-stopped-panel > h2 { display: flex; align-items: center; gap: .6rem; font-size: 1.05rem; font-weight: 600; }
.df-open-requests .df-stopped-panel > p { margin-top: .5rem; color: var(--df-workspace-muted); font-size: .85rem; }
.df-open-requests .df-stopped-row { align-items: center !important; column-gap: 1.5rem !important; padding-block: 1rem .35rem !important; border-color: var(--df-workspace-border) !important; }
.df-open-requests .df-stopped-row__main { flex: 1 1 22rem; min-width: 0; overflow-wrap: anywhere; }
.df-open-requests .df-stopped-row__facts { margin-block: .4rem; color: var(--df-workspace-muted); font-variant-numeric: tabular-nums; }
.df-open-requests .df-stopped-row__actions { flex: 0 1 auto; }
.df-open-requests .df-stopped-row__actions .btn { color: var(--primary-text-color); border-color: var(--df-workspace-border); background: transparent; }
.df-open-requests .df-stopped-row__actions .btn:hover { background: color-mix(in srgb, var(--primary-text-color) 6%, var(--input-background)); }
.df-open-requests .df-money-hero { align-items: center; padding-block: .75rem; }
.df-open-requests .df-money-hero h1 { margin: 0; }
.df-open-requests .df-money-surface { padding: 1.5rem; }
.df-open-requests .df-money-section-heading { margin-bottom: 1rem; padding-bottom: 0; }
.df-open-requests .df-list-filters {
    grid-template-columns: minmax(12rem, 1fr) auto;
    align-items: end;
    padding: 0 0 1.25rem;
    border: 0;
    border-bottom: 1px solid var(--df-workspace-border);
    border-radius: 0;
    background: transparent;
}
.df-open-requests .df-list-filters__attention {
    display: flex; align-items: center; gap: .5rem; grid-column: auto; margin: 0; padding: 0 .85rem;
    border: 1px solid var(--df-workspace-border); border-radius: .6rem; background: var(--input-background);
}
.df-open-requests .df-list-filters__attention input { margin: 0; float: none; flex-shrink: 0; }
.df-open-requests .df-list-filters__attention label {
    display: inline-flex; align-items: center; gap: .5rem; min-height: 44px;
    padding: .6rem 0; cursor: pointer; color: var(--primary-text-color);
    font-size: .8rem; font-weight: 600;
}
.df-open-requests .df-list-filters__attention:has(input:checked) {
    border-color: var(--btn-primary); background: color-mix(in srgb, var(--btn-primary) 12%, var(--input-background));
}
.df-open-requests .df-list-filters__attention input:focus-visible + label { outline: 2px solid var(--btn-primary); outline-offset: 3px; }
.df-open-requests .df-list-filters__advanced { grid-column: 1 / -1; }
.df-open-requests .df-list-filters__advanced > summary { display: list-item; margin-left: 1rem; min-height: 32px; align-content: center; color: var(--df-workspace-muted); }
.df-open-requests .df-list-filters__advanced.df-filters-active > summary { color: var(--primary-text-color); text-decoration: underline; text-underline-offset: .25em; }
.df-open-requests .df-list-filters__fields { padding-block: .75rem; }
.df-open-requests .df-datatable-header1 { margin-bottom: .75rem; }
.df-open-requests .df-pending-attention { display: flex; align-items: baseline; gap: .35rem; max-width: 17rem; margin-top: .45rem; color: var(--primary-text-color); font-size: .75rem; overflow-wrap: anywhere; }
.df-open-requests .df-phone-attention { display: none; }
.df-open-requests .df-money-table-wrap table.dataTable { border-inline: 0; border-radius: 0; }
@media (max-width: 767.98px) {
    .df-open-requests .df-money-surface { padding: 1rem; }
    .df-open-requests .df-list-filters { grid-template-columns: minmax(0, 1fr); }
    .df-open-requests .df-list-filters__attention label { width: 100%; }
    .df-open-requests .df-phone-attention { display: block; }
    .df-open-requests .df-phone-attention .df-pending-attention { padding-inline: .35rem; }
}
