/* Phone-only list controls. No desktop purple filter surface or local palette. */
body.xboox-mobile-shell-active #incomeView .page-heading {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--xb-space-6);}
body.xboox-mobile-shell-active #incomeView .page-heading h1 {font-size:clamp(20px,6vw,28px);line-height:1.2;}
body.xboox-mobile-shell-active #incomeView .page-heading p {display:none;}
body.xboox-mobile-shell-active #incomeView .page-heading .actions {margin-left:auto;}
body.xboox-mobile-shell-active #incomeView #addIncomeButton {display:none;}
body.xboox-mobile-shell-active #incomeView .page-heading .actions > #incomeMobileMoreActionsButton {display:inline-grid;box-sizing:border-box;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;place-items:center;margin:0;padding:0;border:1px solid var(--xb-color-outline);border-radius:50%;background:var(--xb-color-surface);color:var(--xb-color-on-surface);box-shadow:0 1px 2px rgb(0 0 0 / 8%);}
body.xboox-mobile-shell-active #incomeView #incomeMobileMoreActionsButton svg {width:20px;height:20px;}
body.xboox-mobile-shell-active #incomeView .expense-kpi-grid {grid-template-columns:minmax(0,1fr);}
body.xboox-mobile-shell-active #incomeView #income {padding:0;border:0;background:transparent;box-shadow:none;}
body.xboox-mobile-shell-active :is(#expensesView,#incomeView) .xb-mobile-feed-toolbar {
  display:flex;align-items:flex-end;gap:var(--xb-space-4);padding:var(--xb-space-6) 0;
  border:0;background:transparent;
}
body.xboox-mobile-shell-active :is(#expensesView,#incomeView) .xb-mobile-feed-toolbar > :not(.search-native-field):not(.xb-mobile-feed-controls) {display:none !important;}
body.xboox-mobile-shell-active :is(#expensesView,#incomeView) .xb-mobile-feed-toolbar .search-native-field {display:none !important;}
body.xboox-mobile-shell-active .xb-mobile-feed-toolbar .search-native-field > span {position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;}
body.xboox-mobile-shell-active :is(#transactionSearch,#incomeTransactionSearch) {font-size:16px;min-height:48px;border-radius:var(--xb-shape-md);background:var(--xb-color-surface);color:var(--xb-color-on-surface);border-color:var(--xb-color-outline);}
body.xboox-mobile-shell-active #expensesView .xb-mobile-feed-toolbar > .xb-mobile-feed-controls,
body.xboox-mobile-shell-active #incomeView .xb-mobile-feed-toolbar > .xb-mobile-feed-controls {display:flex !important;align-items:flex-end;gap:var(--xb-space-2);flex:1;min-width:0;}
/* The quiet 26px visual pill sits inside a full 48px touch target. */
.xb-mobile-feed-controls button {height:48px;min-height:48px;min-width:48px;display:inline-flex;align-items:flex-end;justify-content:center;border:0;gap:var(--xb-space-2);}
.xb-mobile-filter-pill {display:inline-flex;align-items:center;justify-content:center;gap:var(--xb-space-3);height:26px;padding:0 var(--xb-space-5);border-radius:var(--xb-shape-full);background:var(--xb-color-primary);color:var(--xb-color-on-primary);font-size:14px;font-weight:400;line-height:20px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.xb-mobile-feed-controls .xb-mobile-filter-pill svg {width:14px;height:14px;flex:none;}
.xb-mobile-feed-controls .xb-mobile-filter-icon {background:transparent;color:var(--xb-color-primary);padding:0;}
.xb-mobile-feed-controls .xb-mobile-filter-icon svg {width:22px;height:22px;flex:none;}
.xb-mobile-filter-chips {display:flex;flex:1;min-width:0;flex-wrap:nowrap;gap:0 var(--xb-space-2);overflow-x:auto;}
.xb-mobile-feed-controls .xb-mobile-filter-chip {flex:0 1 auto;min-width:48px;max-width:100%;padding:0;background:transparent;align-items:center;}
.xb-mobile-feed-controls .xb-mobile-filter-chip[data-remove-filter="date"] {flex-shrink:3;}
.xb-mobile-filter-chip .xb-mobile-filter-pill {max-width:100%;box-sizing:border-box;background:var(--xb-color-surface-container-highest);color:var(--xb-color-on-surface);font-weight:400;}
.xb-mobile-filter-chip .xb-mobile-filter-pill {min-width:0;padding-inline:var(--xb-space-3);gap:var(--xb-space-2);}
.xb-mobile-filter-chip .xb-mobile-filter-pill > span {min-width:0;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.xb-mobile-feed-controls .xb-mobile-filter-icon {flex:0 0 48px;align-items:center;}
.xb-mobile-feed-controls [hidden] {display:none !important;}
body.xboox-mobile-shell-active :is(#expenseMobileList,#expenseMobileLoadMore) {display:none !important;}
body.xboox-mobile-shell-active :is(#expensesView,#incomeView):has([data-mobile-feed]) :is(#pagination,#incomePagination,#emptyState,#incomeEmptyState,.panel-header) {display:none !important;}
body.xboox-mobile-shell-active :is(#expensesView,#incomeView):has([data-mobile-feed]) :is(.table-wrap,.table-wrapper,.pagination,[data-filter-chips]) {display:none !important;}
.xb-mobile-feed-cards {display:grid;gap:var(--xb-space-6);}
/* Reuse the established swipe affordance on both bounded phone lists. */
[data-mobile-feed] .expense-mobile-swipe-row {position:relative;isolation:isolate;overflow:hidden;border-radius:20px;}
[data-mobile-feed] .expense-mobile-swipe-row > .expense-mobile-card {position:relative;z-index:2;touch-action:pan-y;transition:transform 180ms cubic-bezier(.2,.8,.2,1);}
[data-mobile-feed] .expense-mobile-swipe-row.is-swiping > .expense-mobile-card {transition:none;}
[data-mobile-feed] .expense-mobile-delete-action {position:absolute;z-index:1;inset:0 0 0 auto;display:grid;width:96px;align-content:center;justify-items:center;gap:5px;border:0;border-radius:0 20px 20px 0;background:var(--xb-color-error);color:var(--xb-color-on-error);opacity:0;visibility:hidden;pointer-events:none;}
[data-mobile-feed] .expense-mobile-delete-action svg {width:24px;height:24px;}
[data-mobile-feed] .expense-mobile-swipe-row.is-revealed > .expense-mobile-card {transform:translateX(-96px);}
[data-mobile-feed] .expense-mobile-swipe-row:is(.is-swiping,.is-revealed) {background:var(--xb-color-error);}
[data-mobile-feed] .expense-mobile-swipe-row[data-can-delete=false]:is(.is-swiping,.is-revealed) {background:var(--xb-color-surface-container-high);}
[data-mobile-feed] .expense-mobile-swipe-row:is(.is-swiping,.is-revealed) > .expense-mobile-delete-action {opacity:1;visibility:visible;pointer-events:auto;}
[data-mobile-feed] .expense-mobile-swipe-row[data-can-delete=false] > .expense-mobile-delete-action {background:var(--xb-color-surface-container-high);color:var(--xb-color-on-surface-variant);}
.xb-mobile-feed-pagination {display:flex;align-items:center;justify-content:space-between;gap:var(--xb-space-4);padding:var(--xb-space-6) 0;color:var(--xb-color-on-surface);font-variant-numeric:tabular-nums;}
.xb-mobile-feed-pagination span {flex:1;text-align:center;}
.xb-mobile-feed-pagination button {width:48px;height:48px;display:grid;place-items:center;border:0;background:transparent;color:var(--xb-color-primary);}
.xb-mobile-feed-pagination button:disabled {opacity:.38;}
.xb-mobile-feed-pagination svg {width:24px;height:24px;}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet {inset:var(--xb-mobile-viewport-top,0px) 0 auto;height:var(--xb-mobile-viewport-height,100dvh);background:transparent;z-index:var(--xb-z-mobile-modal-overlay);}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet .expense-mobile-filter-backdrop {display:block;position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--xb-color-scrim);opacity:.32;}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet .expense-mobile-filter-panel {inset:auto 0 0;max-height:min(90dvh,calc(var(--xb-mobile-viewport-height,100dvh) - 8px));border-radius:28px 28px 0 0;grid-template-rows:auto auto minmax(0,1fr) auto;box-shadow:var(--xb-elevation-4);animation:xb-mobile-feed-enter var(--xb-motion-duration-medium,200ms) ease-out;}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet .expense-mobile-filter-handle {display:block;width:32px;height:4px;border-radius:var(--xb-shape-full);background:var(--xb-color-outline);margin:var(--xb-space-6) auto 0;}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet .expense-mobile-filter-header {padding:var(--xb-space-6) var(--xb-space-8);}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet .expense-mobile-filter-header h2 {font-size:22px!important;font-weight:700!important;line-height:28px!important;}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet .expense-mobile-filter-close {display:grid;place-items:center;width:44px;height:44px;padding:0;}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet .expense-mobile-filter-close svg {width:26px;height:26px;stroke-width:2;}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet .expense-mobile-filter-body {display:grid;align-content:start;gap:var(--xb-space-6);overflow-y:auto;}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet .expense-mobile-filter-footer {display:flex;align-items:center;gap:var(--xb-space-8);padding-bottom:max(var(--xb-space-8),env(safe-area-inset-bottom));}
html[data-xboox-experience=mobile] .xb-mobile-feed-sheet.is-child-selector-open {visibility:hidden;pointer-events:none;}
.xb-mobile-bank-readonly {margin:0;color:var(--xb-color-on-surface);overflow-wrap:anywhere;}
.xb-mobile-bank-readonly dt {color:var(--xb-color-on-surface-variant);margin-top:var(--xb-space-6);}
.xb-mobile-bank-readonly dd {margin:var(--xb-space-2) 0 0;}
@keyframes xb-mobile-feed-enter {from {transform:translateY(100%);}to{transform:translateY(0);}}
@media(prefers-reduced-motion:reduce){.xb-mobile-feed-sheet .expense-mobile-filter-panel {animation:none !important;}}
