/* Search and filters remain reachable below the fixed application header. */
.cashout-deals .active-filters { justify-content: space-between; gap: 8px; padding-top: 6px; border-top: 1px solid #354039; }
.cashout-deals .active-filter-summary { font-size: 14px; color: #b9cbbf; min-width: 0; flex: 1; overflow-wrap: anywhere; }
.cashout-deals .active-filters .q-btn { font-size: 14px !important; min-height: 36px !important; }
.ticket-job-feedback { font-size: 14px; padding: 10px 14px; color: #b6c5ba; overflow-wrap: anywhere; }
.ticket-job-feedback.job-done { color: #a9d8b8; }
.ticket-job-feedback.job-failed, .load-error { color: #f2a496; }
.ticket-job-feedback.job-pending, .ticket-job-feedback.job-processing, .ticket-job-feedback.job-unavailable { color: #e7ca92; }
.due-job-feedback { margin: -4px 0 12px; }
.invoice-navigation { justify-content: space-between; flex-wrap: nowrap; flex-shrink: 0; }
.invoice-position { font-size: 14px; white-space: nowrap; color: #b9cbbf; }
.invoice-job-feedback { padding: 0; flex-shrink: 0; }
.list-state-title { font-size: 24px; font-weight: 600; padding-top: 22px; }
.list-state-description, .ticket-empty-filter { color: #b6c5ba; font-size: 16px; padding: 12px 0; }
.list-state-icon { color: #9daf9f; font-size: 36px; margin-top: 18px; }
@media (max-width: 480px) {
    .cashout-invoice .invoice-navigation .q-btn { padding: 8px; font-size: 14px !important; }
    .cashout-invoice .invoice-navigation .q-icon { display: none; }
}
.cashout-deals .deals-workbar, .cashout-due .due-toolbar {
    position: sticky; top: 72px; z-index: 25;
    background: #151b17; border-bottom: 1px solid #3b473e;
    box-shadow: 0 8px 16px #0002;
}
.cashout-deals .deals-workbar {
    padding: 14px 16px 6px; margin-bottom: 18px; border: 1px solid #354039;
    border-radius: 14px; background: #1c221e;
}
.cashout-deals .deals-workbar .deals-search-row { background: transparent; border: 0; padding: 0; }
.cashout-deals .deals-workbar .deals-search { max-width: none; }
.cashout-deals .deals-workbar .deals-search .q-field__control { background: #131915 !important; }
.cashout-deals .deals-workbar .deals-due-link {
    min-height: 48px; padding: 10px 14px; font-size: 15px; white-space: nowrap;
    border: 1px solid #3e4b42; border-radius: 9px; background: #252e28;
}
.cashout-deals .deals-workbar .deals-status-filters { margin: 8px 0 0; padding: 0 0 8px; border-bottom: 0; }
.cashout-deals .deals-result-count { font-size: 15px !important; padding: 2px 0 6px; }
.cashout-deals .deals-result-count b { color: #e5eee7; font-size: 18px; margin-right: 4px; }
.cashout-deals .cashout-deal > .q-expansion-item__container > .q-item { padding: 16px 20px !important; }
.cashout-deals .deal-heading { gap: 8px 16px !important; }
.cashout-deals .deal-subline { margin-top: 6px; }
.cashout-deals .deal-price-preview { margin-top: 10px; gap: 10px 20px; }
.cashout-deals .deal-price-preview > span { gap: 3px; }
.cashout-deals .deal-actions { padding-top: 0; }
.cashout-deals .deal-capacity-wrapper { padding: 8px 10px; }
.cashout-deals .ticket-bulk-actions {
    position: sticky; top: var(--selection-top, 280px); z-index: 24; align-items: center;
    padding: 12px 16px !important; background: #28352c; border: 1px solid #617e69;
    border-radius: 12px; box-shadow: 0 8px 24px #0004;
}
.cashout-deals .ticket-selection-count { font-size: 16px; font-weight: 600; margin-right: auto; }
.cashout-deals .ticket-bulk-actions .workflow-primary { order: 0; background: #c5ebd2 !important; color: #16291d !important; }
.cashout-deals .ticket-bulk-actions .q-btn { font-size: 16px !important; min-height: 48px !important; }
.cashout-deals .ticket-checkbox { width: 24px; min-width: 24px; }
.cashout-deals .ticket-checkbox .q-checkbox__inner { font-size: 34px; }
.cashout-deals .deal-list, .cashout-due .due-list { scroll-margin-top: 240px; }
@media (max-width: 800px) {
    .cashout-deals .deals-workbar, .cashout-due .due-toolbar { top: 68px; }
    .cashout-deals .deals-workbar .deals-status-filters { flex-wrap: nowrap; overflow-x: auto; width: 100%; }
    .cashout-deals .deals-workbar .deals-status-filters .q-btn { flex-shrink: 0; }
}
@media (max-width: 600px) {
    .cashout-deals .deals-workbar { padding: 10px 10px 2px; }
    .cashout-deals .deals-workbar .deals-search-row { gap: 8px; flex-wrap: nowrap; }
    .cashout-deals .deals-workbar .deals-due-link { padding: 8px; font-size: 13px; }
    .cashout-deals .cashout-deal > .q-expansion-item__container > .q-item { padding: 14px !important; }
    .cashout-deals .deal-price-preview { margin-top: 10px; }
    .cashout-deals .ticket-selection-count { width: 100%; }
}
/* Neutral surfaces; color is reserved for actions and status. */
.cashout-deals, .cashout-arrived, .cashout-dashboard {
    --deal-surface: #202321; --deal-raised: #282d29; --deal-canvas: #191d1a;
    --dashboard-surface: #202321;
}
.cashout-deals .cashout-deal > .q-expansion-item__container > .q-item { background: #222824 !important; }
.cashout-deals .cashout-deal.q-expansion-item--expanded > .q-expansion-item__container > .q-item { background: #292f2b !important; }
.cashout-deals .ticket-record, .cashout-due .due-record { background: #1c211e !important; }
.cashout-deals .ticket-record:hover, .cashout-due .due-record:hover { background: #262e28 !important; }
.cashout-deals .deal-info-item, .cashout-arrived .info-item,
.cashout-due .kpi-card { background: #232825 !important; }
.cashout-deals .deal-info-margin { background: #28322b !important; }
.cashout-deals .ticket-list-header > .row { background: #242a26 !important; }
.cashout-due .due-toolbar { background: #202622; }
.cashout-dashboard .dashboard-revenue { background: #242e27; color: #eaf0e9; border: 1px solid #435249; }
.cashout-dashboard .dashboard-revenue-value { color: #c5ebd2; margin: 14px 0 10px; }
.cashout-dashboard .dashboard-revenue-heading > span, .cashout-dashboard .dashboard-revenue > p { color: #b1bfb5; }
.q-dialog.cashout-invoice-dialog .q-dialog__inner > .cashout-invoice { background: #202622 !important; }
.cashout-invoice .invoice-field { background: #292f2b; border-color: #3c473f; }
/* Compact summaries keep ticket work near the top without shrinking text. */
.main-content .kpi-card { padding: 16px 18px; border-radius: 12px; }
.main-content .kpi-header { margin-bottom: 10px; }
.main-content .kpi-value { font-size: 30px; line-height: 1.15; }
.main-content .kpi-sub { margin-top: 6px; font-size: 13px; }
.main-content .kpi-icon-wrap { width: 30px; height: 30px; }
.cashout-due .due-kpis { gap: 12px !important; margin-bottom: 16px !important; align-items: stretch; }
.cashout-due .due-kpis .kpi-card { height: 100%; }
.cashout-due .due-subtitle { margin-bottom: 18px; }
.cashout-dashboard .dashboard-summary { gap: 12px; margin-bottom: 24px; }
.cashout-dashboard .dashboard-revenue, .cashout-dashboard .dashboard-metric { padding: 18px 20px; border-radius: 12px; }
.cashout-dashboard .dashboard-metric-value { margin: 12px 0 6px; }
.cashout-arrived .info-item { padding: 14px 16px; }
.cashout-deals .deal-info-item { padding: 12px !important; }
@media (max-width: 600px) {
    .main-content .kpi-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; }
    .main-content .kpi-header { grid-column: 1; margin: 0; gap: 8px; justify-content: flex-start; }
    .main-content .kpi-value { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 26px; }
    .main-content .kpi-sub { grid-column: 1; margin: 0; }
    .main-content .kpi-icon-wrap { display: none; }
    .cashout-due .due-kpis { grid-template-columns: minmax(0, 1fr); }
}
/* Invoice review stays beside the list, using the authenticated PDF endpoint. */
.cashout-invoice-dialog .q-dialog__inner { padding: 0 !important; }
.cashout-invoice-dialog .q-dialog__backdrop { background: #0005; backdrop-filter: none !important; }
.q-dialog.cashout-invoice-dialog .q-dialog__inner > .cashout-invoice {
    width: 100vw; max-width: 100vw !important; height: 100dvh;
    max-height: 100dvh !important; border-radius: 0 !important;
    padding: 24px !important; overflow: hidden; gap: 18px;
}
.cashout-invoice .invoice-heading { flex-shrink: 0; }
.cashout-invoice .invoice-workspace {
    display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, 1fr);
    gap: 24px; width: 100%; min-height: 0; flex: 1;
}
.cashout-invoice .invoice-details { min-width: 0; overflow-y: auto; padding-right: 6px; gap: 16px; }
.cashout-invoice .invoice-workspace:not(:has(.invoice-preview)) { grid-template-columns: minmax(0, 1fr); }
.cashout-invoice .invoice-preview { min-width: 0; min-height: 0; gap: 10px; }
.cashout-invoice .invoice-preview-title { font-size: 14px; color: #acbfb0; }
.cashout-invoice .invoice-pdf-frame { width: 100%; flex: 1; border: 1px solid #48504b; border-radius: 10px; background: #eee; }
.cashout-invoice .invoice-tools .invoice-primary-link { background: transparent !important; color: #b9cbbf !important; }
.cashout-due .due-invoice-link { background: transparent !important; color: #aabbb0 !important; font-size: 14px !important; }
.cashout-invoice .invoice-empty-title { font-size: 22px; font-weight: 600; color: #dbe7df; }
.cashout-invoice .invoice-empty-description { max-width: 640px; line-height: 1.6; }
.cashout-invoice .invoice-workspace:not(:has(.invoice-preview)) .invoice-details { max-width: 900px; width: 100%; margin-inline: auto; }
@media (max-width: 850px) {
    .q-dialog.cashout-invoice-dialog .q-dialog__inner > .cashout-invoice { padding: 18px !important; overflow-y: auto; }
    .cashout-invoice .invoice-workspace { display: flex; flex-direction: column; flex: none; gap: 24px; }
    .cashout-invoice .invoice-details { overflow: visible; padding: 0; }
    .cashout-invoice .invoice-preview { order: 2; height: 440px; flex-shrink: 0; }
}
/* Keyboard focus and readable wrapping across the workspace. */
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
    outline: 3px solid #c5ebd2 !important; outline-offset: 3px;
}
.q-field:focus-within { outline: 2px solid #a4d9b8; outline-offset: 3px; border-radius: 8px; }
.cashout-skip-link { position: fixed; left: 16px; top: -100px; z-index: 10000; padding: 12px 18px; background: #c5ebd2; color: #12251a !important; border-radius: 8px; }
.cashout-skip-link:focus { top: 12px; }
.main-content { scroll-margin-top: 80px; }
.main-content .deal-title strong, .main-content .ticket-member strong,
.main-content .active-filter-summary, .cashout-invoice .invoice-title { overflow-wrap: anywhere; }
.cashout-jobs { gap: 20px; }
.job-filters { gap: 16px; }
.job-status-filter { width: 230px; }
.job-search { min-width: 220px; }
.job-refresh-note, .job-timestamps { color: #b4c0b9; font-size: 14px; overflow-wrap: anywhere; }
.job-history-card { background: #1c221f; border: 1px solid #424e46; border-left: 4px solid #a8b8ae; border-radius: 12px; padding: 18px 20px; gap: 8px; }
.job-history-card.job-failed { border-left-color: #ff9589; }
.job-history-card.job-processing, .job-history-card.job-pending { border-left-color: #f3cb86; }
.job-history-card.job-done { border-left-color: #a4d9b8; }
.job-reference { font-size: 18px; font-weight: 600; overflow-wrap: anywhere; }
.job-result { font-size: 16px; color: #dbe7df; overflow-wrap: anywhere; }
.job-pagination { gap: 16px; justify-content: space-between; }
.cashout-jobs .q-btn { min-height: 44px; }
@media (max-width: 600px) {
    .cashout-deals .deals-search-row { flex-direction: column; align-items: stretch !important; gap: 8px !important; }
    .cashout-deals .deals-search { width: 100%; flex: none !important; }
    .cashout-deals .deals-due-link { align-self: flex-end; }
    .cashout-deals .active-filters { flex-direction: column; align-items: stretch !important; gap: 6px !important; }
    .cashout-deals .filter-reset { align-self: flex-start; }
    .job-filters > *, .job-status-filter, .job-search { width: 100%; min-width: 0; flex-basis: 100%; }
    .job-history-card { padding: 16px; }
    .job-page-position { order: -1; width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
}
.cashout-member { gap: 20px !important; }
.member-back { color: #b9d9c5; }
.member-profile { background: #202622; border: 1px solid #3c473f; border-radius: 16px; padding: 24px; gap: 12px; }
.member-name { font-size: clamp(26px, 3vw, 38px); line-height: 1.25; font-weight: 600; overflow-wrap: anywhere; }
.member-id, .member-caption { color: #b4c0b9; font-size: 14px; overflow-wrap: anywhere; }
.member-meta { gap: 20px 48px; }
.member-meta > div { min-width: 0; }
.member-kpis { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px !important; }
.member-section-title { font-size: 24px; font-weight: 600; }
.member-history-tools { gap: 12px; }
.member-ticket-search { min-width: 240px; }
.member-ticket-filter { width: 220px; }
.member-ticket { background: #1c221f; border: 1px solid #424e46; border-radius: 14px; padding: 20px; gap: 18px; }
.member-ticket-heading { gap: 16px; }
.member-product { min-width: 0; }
.member-product-name { font-size: 22px; font-weight: 600; overflow-wrap: anywhere; }
.member-status { padding: 7px 12px; border-radius: 8px; font-size: 14px; background: #303b34; color: #dbe7df; white-space: nowrap; }
.member-status-arrived, .member-status-pending { color: #f3cb86; background: #373529; }
.member-status-paid { color: #a4d9b8; }
.member-status-cancelled { color: #ff9589; }
.member-ticket-facts { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.member-fact-value { font-size: 20px; font-weight: 500; overflow-wrap: anywhere; }
.member-tracking { border-top: 1px solid #39433d; padding-top: 12px; }
.member-tracking a { font-size: 14px; }
.member-ticket-actions { gap: 12px; align-items: center; }
.due-missing-note { color: #b4c0b9; margin-bottom: 16px; }
.invoice-download-status { width: 100%; color: #b4c0b9; line-height: 1.5; }
@media (max-width: 1200px) {
    .member-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .member-profile, .member-ticket { padding: 16px; }
    .member-kpis { grid-template-columns: minmax(0, 1fr); }
    .member-history-tools > *, .member-ticket-search, .member-ticket-filter { width: 100%; min-width: 0; flex: auto !important; }
    .member-ticket-heading { flex-direction: column; }
    .member-ticket-facts { grid-template-columns: minmax(0, 1fr); }
    .member-ticket-facts > div { flex-direction: row; justify-content: space-between; gap: 12px; }
}
.invoice-request-dialog { width: 560px; max-width: calc(100vw - 32px) !important; gap: 18px; line-height: 1.6; }
.due-request-invoice { font-size: 14px !important; white-space: normal; }
.cashout-sync-box { padding: 12px 0; border-bottom: 1px solid #3c473f; font-size: 12px; line-height: 1.5; color: #b4c0b9; }
.cashout-sync-box [data-state="error"] { color: #ff9589; }
.cashout-sync-box [data-state="warning"] { color: #f3cb86; }
.cashout-sync-box button { color: #c5ebd2; background: transparent; border: 0; padding: 8px 0; cursor: pointer; text-align: left; }
/* Compact payment deadlines, with a horizontal action group. */
.cashout-due .due-table-head, .cashout-due .due-record {
    grid-template-columns: 76px minmax(150px, 1fr) 110px 48px 112px 114px 42px 98px 112px 250px;
    gap: 12px !important;
    padding: 12px !important;
    min-height: 64px;
}
.cashout-due .due-table-head { min-height: 34px; padding-block: 6px !important; }
.cashout-due .due-record > div > span { font-size: 15px !important; }
.cashout-due .due-record .status-pill {
    min-height: 24px !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    gap: 5px !important;
    border-radius: 7px !important;
}
.cashout-due .due-record .status-pill::before { width: 4px; height: 4px; }
.cashout-due .due-record > .workflow-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px !important;
}
.cashout-due .due-record .workflow-actions :is(.q-btn, a) {
    min-height: 34px !important;
    padding: 6px 9px !important;
    font-size: 13px !important;
    line-height: 1.25;
    white-space: nowrap;
    flex: 0 0 auto;
}
.cashout-due .dt-group { margin: 20px 0 10px; }
.cashout-due .due-subtitle { margin-bottom: 18px; }
@container (max-width: 1460px) {
    .cashout-due .due-record { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .cashout-due .due-record > .workflow-actions { grid-column: 4; grid-row: 3; }
    .cashout-due .due-record > div::before { margin-bottom: 3px; font-size: 12px; }
}
@container (max-width: 1100px) {
    .cashout-due .due-record > .workflow-actions { grid-column: 1 / -1; grid-row: 4; }
}
@media (max-width: 850px) {
    .cashout-due .due-record { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px !important; }
    .cashout-due .due-record > .workflow-actions { justify-content: flex-start; }
    .cashout-due .due-record .workflow-actions :is(.q-btn, a) { min-height: 40px !important; }
}
@media (max-width: 360px) {
    .cashout-due .due-record { grid-template-columns: minmax(0, 1fr); }
}
