/* QA32: compact own-style menus. Financial positive/negative tokens stay unchanged. */
:root { --v-accent:#343943; --v-accent-strong:#252a32; --v-focus:#737b89; --v-surface-accent:#f0f1f4; }
:root[data-theme="dark"] { --v-accent:#dedede; --v-accent-strong:#f3f3f3; --v-accent-ink:#171717; --v-focus:#bcbcbc; --v-surface-accent:#2b2b2d; }
.v-shell-page :is(.v-list-row,.v-operation-item__main,.v-category-stat-row,.v-category-preview-row,.v-settings-menu button) {
  transition:background-color var(--v-motion-fast) ease;
}
@media (hover:hover) { }
.v-operation-item__main:hover .v-operation-item__copy strong { color:var(--v-text-1); }
.v-shell-page .v-nav-item .v-nav-glyph { width:30px; height:30px; }
.v-shell-page .v-nav-item .v-nav-glyph .v-icon { width:24px; height:24px; }
.v-bottom-nav:has([data-shell-nav="statistics"].is-active) { --v-nav-index:2; }
.v-shell-page :is(.v-list-row__icon,.v-operation-item__icon,.v-settings-menu__icon,.v-history-item__icon) { width:32px; height:32px; border-radius:9px; }
.v-shell-page :is(.v-list-row__icon,.v-operation-item__icon,.v-settings-menu__icon,.v-history-item__icon) .v-icon { width:21px; height:21px; }
.v-shell-page .v-list-row { grid-template-columns:32px minmax(0,1fr) auto; }
.v-shell-page .v-category-option .v-pictogram { width:30px; height:30px; flex-basis:30px; }
.v-shell-page .v-category-option .v-pictogram .v-icon { width:20px; height:20px; }
.v-shell-page .v-form-row > .v-pictogram .v-icon,.v-shell-page .v-form-choice > .v-pictogram .v-icon { width:20px; height:20px; }
.v-shell-page .v-statistics-screen .v-category-stat-row { grid-template-columns:32px minmax(0,1fr) auto 12px; }
.v-shell-page :is(.v-category-stat-row,.v-category-preview-row) .v-pictogram { width:32px; height:32px; }
.v-shell-page :is(.v-category-stat-row,.v-category-preview-row) .v-pictogram .v-icon { width:20px; height:20px; }
.v-shell-page .v-category-preview-row { grid-template-columns:32px minmax(0,1fr) auto; }
.v-shell-page .v-amount-actions .v-icon { width:21px; height:21px; }
.v-operations-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 22px; }
.v-operations-tools { display:flex; gap:2px; flex:none; padding:0; border:1px solid var(--v-nav-border); border-radius:18px; background:var(--v-nav-glass); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.v-glass-control { min-height:46px; min-width:46px; display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--v-nav-border); border-radius:17px; padding:10px 13px; background:var(--v-nav-glass); color:var(--v-navigation-ink); box-shadow:0 4px 14px rgb(0 0 0 / 3%); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); font:inherit; font-size:14px; cursor:pointer; }
.v-glass-control .v-icon { width:21px; height:21px; flex:none; }
.v-operations-tools .v-glass-control { min-height:44px; min-width:44px; border:0; background:transparent; box-shadow:none; padding:10px; backdrop-filter:none; -webkit-backdrop-filter:none; }
.v-operations-range { min-width:0; justify-content:flex-start; }
.v-operations-range span { min-width:0; overflow-wrap:anywhere; }
.v-operations-search,.v-operations-filters { margin-bottom:18px; }
.v-operations-search input { width:100%; min-width:0; min-height:46px; border:1px solid var(--v-line); border-radius:16px; padding:10px 14px; background:var(--v-surface-1); color:var(--v-text-1); font:inherit; }
.v-operations-filters { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.v-operations-filters .v-module-filter { margin:0; }
.v-operations-search[hidden],.v-operations-filters[hidden] { display:none; }
.v-operation-list { gap:22px; }
.v-operation-day { min-width:0; }
.v-operation-day__title { margin:0 0 9px 13px; font-size:14px; font-weight: 500; color:var(--v-text-2); }
.v-operation-day__rows { overflow:hidden; border-radius:22px; background:transparent; }
.v-operation-day .v-operation-item { border:0; border-radius:0; padding:0; display:block; position:relative; overflow:hidden; background:transparent; }
.v-operation-day .v-operation-item + .v-operation-item > .v-operation-item__main::before { content:'';position:absolute;top:0;left:59px;right:16px;height:1px;background:color-mix(in srgb,var(--v-line) 65%,transparent); }
/* Let the browser skip offscreen row layout/paint; IDs, find, focus and native scrolling stay intact. */
@supports (content-visibility:auto) {
  .v-operation-ledger--large .v-operation-item { content-visibility:auto; contain-intrinsic-block-size:auto 70px; }
}
.v-operation-day .v-operation-item__main { position:relative; z-index:1; width:100%; min-height:70px; grid-template-columns:32px minmax(0,1fr) auto; gap:11px; border-radius:0; padding:13px 16px; background:var(--v-surface-1); transform:translateX(var(--v-swipe-x,0px)); transition:transform 180ms var(--v-ease-out),background-color var(--v-motion-fast) ease; touch-action:pan-y; }
/* One moving surface includes artwork, text, amount and its rounded end. */
.v-shell-page .v-swipe-row { position:relative;overflow:hidden;--v-delete-circle:#ff3b40; }
:root[data-theme="dark"] .v-shell-page .v-swipe-row { --v-delete-circle:#d84b59; }
.v-shell-page .v-swipe-main { position:relative;z-index:1;transform:translateX(var(--v-swipe-x,0px));touch-action:pan-y;
  background-color:var(--v-surface-1);transition:transform 180ms var(--v-ease-out); }
.v-shell-page .v-swipe-row.is-swiped { --v-swipe-x:-72px; }
.v-shell-page .v-swipe-row.is-swiping > .v-swipe-main { transition:none; }
.v-shell-page .v-swipe-actions { position:absolute;inset:0 0 0 auto;width:72px;display:grid;place-items:center;opacity:0;pointer-events:none;background:transparent; }
.v-shell-page .v-swipe-row :is(.v-swipe-delete,.v-operation-item__action.v-swipe-delete) { width:48px;height:48px;min-width:48px;min-height:48px;
  display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--v-delete-circle);color:#fff;cursor:pointer;touch-action:manipulation; }
.v-shell-page .v-swipe-delete .v-icon { width:22px;height:22px;pointer-events:none; }
.v-shell-page .v-swipe-delete:focus-visible { outline:2px solid var(--v-text-1);outline-offset:2px; }
.v-shell-page .v-swipe-row:is(.is-swiping,.is-swiped) > .v-swipe-main { border-radius:24px; }
.v-shell-page .v-swipe-row:is(.is-swiping,.is-swiped) > .v-swipe-actions { opacity:1;pointer-events:auto; }
/* Restored pointer focus must not hold an abandoned hover action open. */
:root[data-focus-mode="keyboard"] .v-shell-page .v-swipe-row:has(.v-swipe-delete:focus-visible) { --v-swipe-x:-72px; }
:root[data-focus-mode="keyboard"] .v-shell-page .v-swipe-row:has(.v-swipe-delete:focus-visible) > .v-swipe-main { border-radius:24px; }
:root[data-focus-mode="keyboard"] .v-shell-page .v-swipe-row:has(.v-swipe-delete:focus-visible) > .v-swipe-actions { opacity:1;pointer-events:auto; }
.v-operation-day .v-operation-item:first-child > .v-operation-item__main { border-start-start-radius:22px;border-start-end-radius:22px; }
.v-operation-day .v-operation-item:last-child > .v-operation-item__main { border-end-start-radius:22px;border-end-end-radius:22px; }
.v-operation-day .v-operation-item__amount { font-size:14px;font-weight:500; }
.v-operation-day .v-operation-item__copy strong { font-size:14px;font-weight:500; }
@media (hover:hover) and (pointer:fine) {
  :root[data-theme] .v-shell-page .v-swipe-row > .v-swipe-main { width:100%;transform:none; }
  :root[data-theme] .v-shell-page .v-swipe-row > .v-swipe-actions { display:none; }
}
@media (prefers-reduced-motion:reduce) { .v-shell-page .v-swipe-main { transition:none; } }
.v-settings-groups { max-width:900px; display:grid; gap:26px; padding:0; border:0; border-radius:0; background:transparent; }
.v-settings-group { min-width:0; }
.v-settings-group > h2 { margin:0 0 9px 15px; font-size:13px; font-weight: 500; color:var(--v-text-2); }
.v-settings-group__rows { overflow:hidden; border-radius:22px; border:1px solid color-mix(in srgb,var(--v-line) 60%,transparent); background:var(--v-surface-1); }
.v-settings-groups button { width:100%; min-height:62px; grid-template-columns:32px minmax(0,1fr) 12px; gap:12px; padding:12px 16px; }
.v-settings-groups strong { font-size:15px; font-weight: 500; }
.v-settings-chevron { font-size:23px; font-weight: 400; color:var(--v-text-3); }
.v-settings-detail { gap:10px; margin:4px 0 20px; }
.v-settings-detail button { min-height:44px; color:var(--v-text-2); font-weight: 500; }
.v-settings-detail h2 { font-size:clamp(20px,3vw,28px); font-weight: 500; overflow-wrap:anywhere; }
:root[data-settings-section]:not([data-settings-section=""]) body section[data-settings-section] > h2 { display:none; }
.v-settings-content { max-width:900px; padding:22px; }
.v-settings-content > p { line-height:1.65; color:var(--v-text-2); overflow-wrap:anywhere; }
.v-help-faq details + details { border-top:1px solid var(--v-line); }
.v-help-faq summary { min-height:54px; padding:15px 0; font-size:15px; color:var(--v-text-1); cursor:pointer; }
.v-help-faq p { margin:0 0 18px; line-height:1.6; font-size:14px; color:var(--v-text-2); }
.v-theme-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.v-theme-choices button { min-height:70px; border:1px solid var(--v-line); border-radius:18px; background:var(--v-surface-2); color:var(--v-text-1); font:inherit; }
.v-export-section { max-width:900px; }
.v-backup-auto-row { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.v-backup-auto-row > div { min-width:0; display:grid; gap:5px; }
.v-backup-auto-row strong { font-size:15px; font-weight: 600; }
.v-backup-auto-row small { font-size:12px; color:var(--v-text-2); }
.v-circle-toggle { position:relative; min-width:44px; width:44px; height:44px; flex:none; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; color:#fff; cursor:pointer; }
.v-circle-toggle::before { content:''; position:absolute; inset:5px; border-radius:50%; background:var(--v-surface-3); border:1px solid var(--v-line-strong); }
.v-circle-toggle[aria-pressed="true"]::before { background:#258c73; border-color:transparent; }
.v-circle-toggle .v-icon { position:relative; width:18px; height:18px; }
.v-circle-toggle[aria-pressed="false"] .v-icon { visibility:hidden; }
.v-circle-toggle:disabled { opacity:.5; }
.v-backup-create { margin-bottom:12px; }
.v-module-status:empty { display:none; }
.v-backup-day { margin:18px 0; }
.v-backup-day h3 { font-size:13px; color:var(--v-text-2); font-weight: 500; margin:0 0 8px; }
.v-backup-day__rows { border-radius:18px; overflow:hidden; background:var(--v-surface-2); }
.v-saved-backup-row { display:grid; grid-template-columns:32px minmax(0,1fr) auto 12px; align-items:center; gap:10px; width:100%; min-height:65px; padding:12px; border:0; background:transparent; color:var(--v-text-1); font:inherit; text-align:left; cursor:pointer; }
.v-saved-backup-row + .v-saved-backup-row { border-top:1px solid var(--v-line); }
.v-saved-backup-copy { display:grid; gap:4px; min-width:0; }
.v-saved-backup-copy strong { font-size:13px; font-weight: 500; overflow-wrap:anywhere; }
.v-saved-backup-copy small { font-size:12px; color:var(--v-text-2); }
.v-saved-backup-amount { font-size:13px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.v-saved-backup-arrow .v-icon { width:12px; height:12px; color:var(--v-text-3); }
.v-backup-files { border-top:1px solid var(--v-line); margin-top:18px; }
.v-backup-files > summary { padding:16px 0; cursor:pointer; color:var(--v-text-2); font-size:14px; }
.v-saved-backup-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:18px; }
.v-range-quick { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 22px; }
.v-range-quick button,.v-range-custom button { min-height:48px; border:1px solid var(--v-line); border-radius:14px; padding:10px 12px; background:var(--v-surface-2); color:var(--v-text-1); font:inherit; font-size:14px; }
.v-range-custom { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.v-range-custom label { display:grid; min-width:0; gap:8px; font-size:12px; color:var(--v-text-2); }
.v-range-custom button { min-width:0; overflow-wrap:anywhere; }
.v-range-dialog [data-range-apply] { width:auto; margin:0; }
.v-range-custom button { display:flex;align-items:center;justify-content:center;gap:7px; }
.v-range-custom .v-icon { width:18px;height:18px;flex:none; }
.v-range-custom [data-range-date-label] { min-width:0; }

/* A78: one readable settings page system, including every inner section.
   All widths belong to the page; controls never create an inner scroll frame. */
.v-shell-page [data-settings-screen] { --v-settings-width:1120px; }
.v-shell-page [data-settings-screen] .v-settings-detail { max-width:var(--v-settings-width); flex-wrap:nowrap; }
.v-shell-page [data-settings-screen] .v-settings-detail h2 { font-size:clamp(22px,2.4vw,28px); line-height:1.2; }
.v-shell-page [data-settings-screen] .v-settings-page {
  width:100%; max-width:var(--v-settings-width); min-width:0; margin:0; padding:0;
  border:0; border-radius:0; background:transparent; box-shadow:none;
}
.v-shell-page [data-settings-screen] .v-settings-card {
  min-width:0; border:1px solid var(--v-window-edge); border-radius:22px;
  background:var(--v-surface-1); box-shadow:none;
}
.v-shell-page [data-settings-screen] .v-settings-caption {
  margin:0; color:var(--v-text-2); font-size:13px; font-weight:400; line-height:1.55;
  overflow-wrap:anywhere;
}
.v-shell-page [data-settings-screen] .v-settings-intro { padding:17px 19px; margin-bottom:18px; }
.v-shell-page [data-settings-screen] .v-settings-action {
  width:100%; min-width:0; min-height:68px; display:grid; align-items:center;
  grid-template-columns:32px minmax(0,1fr) 16px; gap:12px; padding:14px 18px;
  border:0; border-radius:0; background:transparent; color:var(--v-text-1);
  font:inherit; text-align:left; cursor:pointer;
  transition:background-color var(--v-motion-fast) ease,box-shadow var(--v-motion-fast) ease;
}
.v-shell-page [data-settings-screen] .v-settings-action__copy { min-width:0; display:grid; gap:4px; }
.v-shell-page [data-settings-screen] .v-settings-action__copy > strong { font-size:15px; line-height:1.35; font-weight:500; overflow-wrap:anywhere; }
.v-shell-page [data-settings-screen] .v-settings-action__copy > small { font-size:12px; line-height:1.45; font-weight:400; color:var(--v-text-2); overflow-wrap:anywhere; }
.v-shell-page [data-settings-screen] .v-settings-action > .v-icon { width:15px; height:15px; color:var(--v-text-3); }
.v-shell-page [data-settings-screen] .v-settings-action .v-pictogram { width:32px; height:32px; border-radius:9px; }
.v-shell-page [data-settings-screen] .v-settings-action + .v-settings-action { border-top:1px solid var(--v-window-edge); }
.v-shell-page [data-settings-screen] .v-settings-rows { overflow:hidden; }
.v-shell-page [data-settings-screen] .v-settings-action:disabled { cursor:default; opacity:.48; }
.v-shell-page [data-settings-screen] .v-settings-action:focus-visible { outline:2px solid var(--v-focus); outline-offset:-3px; }
.v-shell-page [data-settings-screen] [data-main-currency] { grid-template-columns:32px minmax(0,1fr) auto 16px; }
.v-shell-page [data-settings-screen] .v-settings-action__value { font-size:15px; font-weight:500; color:var(--v-text-2); }
.v-shell-page [data-settings-screen] .v-currency-settings { display:block; }
.v-shell-page [data-settings-screen] .v-currency-settings .v-settings-card { overflow:hidden; }
.v-shell-page [data-settings-screen] .v-currency-settings .v-settings-caption { max-width:72ch; padding:0 18px 18px; }

.v-shell-page [data-settings-screen] .v-goal-settings { display:block; }
.v-shell-page [data-settings-screen] .v-goal-settings__layout { display:grid; gap:18px; align-items:start; }
.v-shell-page [data-settings-screen] .v-goal-settings__overview { display:grid; gap:20px; padding:22px; }
.v-shell-page [data-settings-screen] .v-goal-settings__heading { display:flex; align-items:center; gap:12px; min-width:0; }
.v-shell-page [data-settings-screen] .v-goal-settings__heading .v-pictogram { width:36px; height:36px; flex-basis:36px; border-radius:11px; }
.v-shell-page [data-settings-screen] .v-goal-settings__name { margin:0; min-width:0; font-size:clamp(21px,2.1vw,26px); font-weight:500; line-height:1.25; color:var(--v-text-1); overflow-wrap:anywhere; }
.v-shell-page [data-settings-screen] .v-goal-settings__progress { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 18px; }
.v-shell-page [data-settings-screen] .v-goal-settings__progress > div:not(.v-goal-settings__meter) { gap:6px; padding:0; border:0; border-radius:0; background:transparent; }
.v-shell-page [data-settings-screen] .v-goal-settings__progress span { font-size:12px; font-weight:400; line-height:1.4; }
.v-shell-page [data-settings-screen] .v-goal-settings__progress strong { font-size:clamp(18px,2vw,23px); line-height:1.3; font-weight:500; }
.v-shell-page [data-settings-screen] .v-goal-settings__progress > div:first-child > strong { color:var(--v-positive); }
.v-shell-page [data-settings-screen] .v-goal-settings__meter { grid-column:1 / -1; display:block; height:7px; padding:0; border-radius:999px; overflow:hidden; background:var(--v-surface-3); }
.v-shell-page [data-settings-screen] .v-goal-settings__meter > span { display:block; width:0; height:100%; border-radius:inherit; background:var(--v-positive); }
.v-shell-page [data-settings-screen] .v-goal-settings__percent { grid-column:1 / -1; margin-top:-9px; font-variant-numeric:tabular-nums; color:var(--v-text-2); }
.v-shell-page [data-settings-screen] .v-goal-settings__actions { display:grid; min-width:0; gap:16px; }

/* Native language names remain complete. The selected check has reserved space. */
.v-shell-page [data-settings-screen] .v-language-list { display:grid; grid-template-columns:minmax(0,1fr); gap:0; overflow:hidden; }
.v-shell-page [data-settings-screen] .v-language-list button { position:relative; min-width:0; min-height:58px; padding:16px 52px 16px 19px; border:0; border-radius:0; border-bottom:1px solid var(--v-window-edge); background:transparent; font-size:15px; font-weight:500; line-height:1.35; overflow-wrap:anywhere; }
.v-shell-page [data-settings-screen] .v-language-list button:last-child { border-bottom:0; }
.v-shell-page [data-settings-screen] .v-language-list button[aria-pressed="true"]::after { content:''; position:absolute; top:50%; right:23px; width:6px; height:12px; margin-top:-8px; border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor; transform:rotate(45deg); }
.v-shell-page [data-settings-screen] .v-theme-choices { gap:16px; }
.v-shell-page [data-settings-screen] .v-theme-choices button { position:relative; min-width:0; display:grid; gap:14px; padding:14px; border:1px solid var(--v-window-edge); border-radius:22px; background:var(--v-surface-1); text-align:left; font-size:15px; font-weight:500; line-height:1.4; cursor:pointer; }
.v-theme-preview { --v-preview-canvas:#f2f3f7; --v-preview-card:#fff; display:grid; grid-template-columns:16px repeat(2,minmax(0,1fr)); gap:9px; min-width:0; height:116px; padding:14px; border-radius:13px; background:var(--v-preview-canvas); overflow:hidden; }
.v-theme-preview--dark { --v-preview-canvas:#000; --v-preview-card:#1c1c1e; }
.v-theme-preview__rail { height:100%; border-radius:6px; background:var(--v-preview-card); }
.v-theme-preview__card { position:relative; min-width:0; height:100%; border-radius:9px; background:var(--v-preview-card); }
.v-theme-preview__card::before { content:''; position:absolute; left:12%; right:12%; top:20%; height:5px; border-radius:3px; background:color-mix(in srgb,var(--v-preview-canvas) 68%,#929aa4); }
.v-theme-preview__card::after { content:''; position:absolute; left:12%; right:30%; top:40%; height:5px; border-radius:3px; background:color-mix(in srgb,var(--v-preview-canvas) 68%,#929aa4); }
.v-theme-choice__label { min-width:0; padding-right:28px; overflow-wrap:anywhere; }
.v-theme-choice__check { position:absolute; right:16px; bottom:15px; width:21px; height:21px; visibility:hidden; color:var(--v-navigation-ink); }
.v-theme-choice__check .v-icon { width:21px; height:21px; }
[data-theme-choice][aria-pressed="true"] .v-theme-choice__check { visibility:visible; }

.v-shell-page [data-settings-screen] .v-help-faq { display:grid; gap:9px; }
.v-shell-page [data-settings-screen] .v-help-faq details { overflow:hidden; border:1px solid var(--v-window-edge); border-radius:18px; background:var(--v-surface-1); }
.v-shell-page [data-settings-screen] .v-help-faq summary,
.v-shell-page [data-settings-screen] .v-backup-files > summary { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:58px; padding:16px 18px; list-style:none; font-size:15px; font-weight:500; line-height:1.4; color:var(--v-text-1); overflow-wrap:anywhere; }
.v-help-faq summary::-webkit-details-marker,.v-backup-files > summary::-webkit-details-marker { display:none; }
.v-help-faq summary::after,.v-backup-files > summary::after { content:''; flex:0 0 7px; width:7px; height:7px; border-right:1.5px solid var(--v-text-3); border-bottom:1.5px solid var(--v-text-3); transform:rotate(45deg); transition:transform var(--v-motion-fast) ease; }
.v-help-faq details[open] summary::after,.v-backup-files[open] > summary::after { transform:rotate(225deg); }
.v-shell-page [data-settings-screen] .v-help-faq p { max-width:80ch; margin:0; padding:4px 18px 19px; line-height:1.6; font-size:14px; }
.v-shell-page [data-settings-screen] .v-settings-article { padding:clamp(19px,3vw,30px); }
.v-shell-page [data-settings-screen] .v-settings-article p { max-width:78ch; margin:0; font-size:15px; font-weight:400; line-height:1.75; color:var(--v-text-2); }

.v-shell-page [data-settings-screen] .v-periods-section__top { display:block; margin-bottom:18px; overflow:hidden; }
.v-shell-page [data-settings-screen] .v-periods-section__top > h2 { display:none; }
.v-shell-page [data-settings-screen] .v-periods-section__top .v-settings-caption { max-width:80ch; padding:0 18px 18px; }
.v-shell-page [data-settings-screen] .v-periods-list { gap:14px; align-items:start; }
.v-shell-page [data-settings-screen] .v-period-item { padding:18px 20px; border-color:var(--v-window-edge); border-radius:20px; gap:10px; }
.v-shell-page [data-settings-screen] .v-period-item__heading strong { font-size:14px; font-weight:500; }
.v-shell-page [data-settings-screen] .v-period-item__heading span { line-height:1.4; overflow-wrap:anywhere; }
.v-shell-page [data-settings-screen] .v-period-item__balance { font-size:18px; font-weight:500; line-height:1.4; }
.v-shell-page [data-settings-screen] .v-period-item__changes { line-height:1.55; }
.v-shell-page [data-settings-screen] .v-recovery-section .v-operation-item { border-color:var(--v-window-edge); border-radius:20px; }
.v-shell-page [data-settings-screen] .v-module-more { margin-top:18px; min-height:44px; border-radius:15px; }

.v-shell-page [data-settings-screen] .v-backup-settings-controls { display:grid; gap:14px; align-items:stretch; }
.v-shell-page [data-settings-screen] .v-backup-auto-row { display:grid; grid-template-columns:32px minmax(0,1fr) 44px; align-items:center; gap:12px; margin:0; padding:14px 18px; }
.v-shell-page [data-settings-screen] .v-backup-auto-row strong { font-weight:500; line-height:1.35; overflow-wrap:anywhere; }
.v-shell-page [data-settings-screen] .v-backup-auto-row small { line-height:1.45; overflow-wrap:anywhere; }
.v-shell-page [data-settings-screen] .v-backup-create { padding:14px 18px; margin:0; border:1px solid var(--v-window-edge); border-radius:22px; background:var(--v-surface-1); }
.v-shell-page [data-settings-screen] .v-backup-day { margin:22px 0; }
.v-shell-page [data-settings-screen] .v-backup-day > h3 { margin-left:14px; line-height:1.4; overflow-wrap:anywhere; }
.v-shell-page [data-settings-screen] .v-backup-day__rows { border:1px solid var(--v-window-edge); border-radius:20px; background:var(--v-surface-1); }
.v-shell-page [data-settings-screen] .v-saved-backup-row { padding:14px 18px; gap:12px; min-height:70px; }
.v-shell-page [data-settings-screen] .v-saved-backup-copy strong { font-size:14px; line-height:1.35; }
.v-shell-page [data-settings-screen] .v-saved-backup-amount { max-width:16ch; white-space:normal; overflow-wrap:anywhere; line-height:1.4; font-size:14px; font-weight:500; }
.v-shell-page [data-settings-screen] .v-backup-files { margin-top:22px; overflow:hidden; }
.v-shell-page [data-settings-screen] .v-backup-files__body { min-width:0; padding:0 18px 20px; }
.v-shell-page [data-settings-screen] .v-backup-files p { max-width:80ch; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.v-shell-page [data-settings-screen] .v-backup-import { padding-top:18px; margin-top:20px; border-color:var(--v-window-edge); }
.v-shell-page [data-settings-screen] .v-backup-import h3 { font-size:17px; font-weight:500; }
.v-shell-page [data-settings-screen] .v-backup-import input[type="file"] { min-width:0; max-width:none; padding:10px; border:1px solid var(--v-window-edge); border-radius:16px; background:var(--v-surface-2); font-size:14px; }
.v-shell-page [data-settings-screen] .v-backup-import input::file-selector-button { min-height:38px; margin-right:10px; padding:8px 12px; border:0; border-radius:11px; background:var(--v-surface-1); color:var(--v-text-1); font:inherit; cursor:pointer; }
.v-shell-page [data-settings-screen] :is(.v-backup-summary,.v-backup-undo) { max-width:none; border:1px solid var(--v-window-edge); border-radius:18px; padding:17px; }
.v-shell-page [data-settings-screen] .v-backup-files .v-button { max-width:100%; border-radius:14px; white-space:normal; overflow-wrap:anywhere; }

/* Settings windows share the existing window manager and animation/scroll rules. */
.v-shell-page .v-settings-dialog .v-breakdown-dialog__header h2 { margin:0; min-width:0; font-size:24px; font-weight:500; line-height:1.25; letter-spacing:-.02em; overflow-wrap:anywhere; }
.v-shell-page .v-settings-dialog .v-breakdown-dialog__header .v-eyebrow { display:none; }
.v-shell-page .v-settings-dialog .v-dialog-body { padding-top:6px; }
.v-shell-page .v-settings-dialog .v-dialog-body > p { font-size:14px; line-height:1.6; color:var(--v-text-2); overflow-wrap:anywhere; }
.v-shell-page .v-settings-dialog .v-dialog-body > [data-saved-backup-detail] { margin:6px 0 16px; padding:16px; border-radius:16px; background:var(--v-surface-2); color:var(--v-text-1); font-size:16px; font-weight:500; line-height:1.5; }
.v-shell-page .v-settings-dialog :is(.v-saved-backup-actions,.v-balance-edit-form__actions) { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.v-shell-page .v-settings-dialog .v-button { min-width:0; max-width:100%; min-height:46px; border-radius:15px; font-size:14px; line-height:1.35; white-space:normal; overflow-wrap:anywhere; }
.v-shell-page .v-support-dialog__body { gap:16px; padding-top:0; }
.v-shell-page .v-support-dialog .v-support-contact { border:0; padding:0; gap:12px; }
.v-shell-page .v-settings-message-field { display:grid; min-width:0; gap:8px; padding:16px; border:1px solid var(--v-window-edge); border-radius:20px; background:var(--v-surface-2); }
.v-shell-page .v-settings-message-field label { margin:0; font-size:12px; font-weight:500; line-height:1.4; }
.v-shell-page .v-settings-message-field textarea { min-width:0; min-height:132px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:var(--v-text-1); font-size:16px; font-weight:400; line-height:1.5; }
.v-shell-page .v-settings-message-field textarea:focus { box-shadow:none; }
.v-shell-page .v-settings-message-field:focus-within { border-color:var(--v-focus); }
.v-shell-page .v-support-contact__actions .v-icon { width:18px; height:18px; flex:none; }
.v-shell-page .v-support-dialog :is([data-support-status],[data-support-availability]):empty { display:none; }
@media (min-width:720px) {
  .v-shell-page [data-settings-screen] .v-language-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v-shell-page [data-settings-screen] .v-language-list button:nth-child(odd) { border-right:1px solid var(--v-window-edge); }
  .v-shell-page [data-settings-screen] .v-language-list button:nth-last-child(2):nth-child(odd) { border-bottom:0; }
}
@media (min-width:920px) {
  .v-shell-page [data-settings-screen] .v-goal-settings__layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:22px; }
  .v-shell-page [data-settings-screen] :is(.v-backup-settings-controls,.v-periods-list) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:479px) {
  .v-shell-page [data-settings-screen] .v-settings-detail { margin-bottom:17px; }
  .v-shell-page [data-settings-screen] .v-goal-settings__overview { padding:18px; gap:18px; }
  .v-shell-page [data-settings-screen] .v-settings-action { padding:14px; gap:10px; }
  .v-shell-page [data-settings-screen] .v-settings-action__copy > strong { font-size:14px; }
  .v-shell-page [data-settings-screen] .v-backup-auto-row { padding:14px; gap:10px; }
  .v-shell-page [data-settings-screen] .v-saved-backup-row { grid-template-columns:32px minmax(0,1fr) 12px; gap:5px 10px; padding:14px; }
  .v-shell-page [data-settings-screen] .v-saved-backup-row > .v-pictogram { grid-column:1; grid-row:1 / 3; }
  .v-shell-page [data-settings-screen] .v-saved-backup-copy { display:flex; align-items:baseline; justify-content:space-between; gap:8px; grid-column:2; }
  .v-shell-page [data-settings-screen] .v-saved-backup-amount { max-width:100%; grid-column:2; }
  .v-shell-page [data-settings-screen] .v-saved-backup-arrow { grid-column:3; grid-row:1 / 3; }
  .v-shell-page [data-settings-screen] .v-theme-choices { gap:10px; }
  .v-shell-page [data-settings-screen] .v-theme-choices button { padding:11px; gap:11px; border-radius:18px; }
  .v-theme-preview { height:96px; padding:10px; gap:6px; grid-template-columns:10px repeat(2,minmax(0,1fr)); }
  .v-theme-choice__check { right:11px; bottom:11px; }
  .v-shell-page .v-settings-dialog .v-breakdown-dialog__header h2 { font-size:22px; }
}
@media (prefers-reduced-motion:reduce) { .v-help-faq summary::after,.v-backup-files > summary::after { transition:none; } }
.v-shell-page .v-breakdown-dialog__header .v-icon-button { background:transparent; box-shadow:none; }
.v-shell-page [data-opening-focus="true"] { background:transparent; outline-color:transparent; box-shadow:none; }
@media (min-width:1100px) { .v-settings-groups { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; } }
@media (max-width:719px) {
  :root:is([data-active-screen="operations"],[data-active-screen="settings"]) .v-app-topbar { display:none; }
  .v-settings-groups { gap:22px; }
  .v-settings-groups button { min-height:60px; padding:10px 14px; }
  .v-settings-groups strong { font-size:14px; }
  .v-operation-day .v-operation-item__main { grid-template-columns:30px minmax(0,1fr) auto; gap:9px; padding:12px; }
  .v-operation-day .v-operation-item__icon { width:30px; height:30px; }
  .v-operation-day .v-operation-item__amount { font-size:13px; }
  .v-operation-day .v-operation-item__copy strong { font-size:13px; }
  .v-operation-day .v-operation-item__copy small { font-size:11px; }
  .v-operations-toolbar { gap:8px; margin-bottom:20px; }
  .v-glass-control { font-size:12px; border-radius:16px; }
  .v-operations-range { padding:10px; gap:6px; }
  .v-settings-content { padding:18px; }
}
@media (max-width:359px) {
  .v-saved-backup-row { grid-template-columns:30px minmax(0,1fr) 10px; gap:7px 9px; }
  .v-saved-backup-row > .v-pictogram { grid-row:1/3; }
  .v-saved-backup-copy { display:flex; align-items:center; justify-content:space-between; gap:8px; grid-column:2; }
  .v-saved-backup-amount { grid-column:2; }
  .v-saved-backup-arrow { grid-column:3; grid-row:1/3; }
}
@media (prefers-reduced-motion:reduce) { .v-operation-day .v-operation-item__main { transition:none; } }
/* Runtime graphs and category tiles use one hue per original pictogram. */
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="food"]) { --v-pictogram-fill:#249e95; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="home"]) { --v-pictogram-fill:#428bc8; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="transport"]) { --v-pictogram-fill:#9575c7; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="coffee"]) { --v-pictogram-fill:#c96699; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="health"]) { --v-pictogram-fill:#cb727e; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="tag"]) { --v-pictogram-fill:#428bc8; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="note"]) { --v-pictogram-fill:#428bc8; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="briefcase"]) { --v-pictogram-fill:#c96699; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="wallet"]) { --v-pictogram-fill:#249e95; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="goal"]) { --v-pictogram-fill:#249e95; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="gift"]) { --v-pictogram-fill:#9575c7; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="refund"]) { --v-pictogram-fill:#9575c7; }
:is(.v-pictogram,.v-operation-item__icon,.v-list-row__icon,.v-settings-menu__icon):has([data-v-icon="other"]) { --v-pictogram-fill:#929aa4; }
