/* Approved home composition. Layout consumes the common theme and motion
   tokens; it does not change the viewport, window or financial modules. */
.v-shell-page .v-app-topbar { padding-top:calc(16px + var(--v-safe-top)); }
@media(max-width:719px), (max-width:959px) and (max-height:500px) and (any-pointer:coarse) {
  /* Leave room for the glass rim above the theme control, including Safari
     layouts where safe-area-inset-top is zero. */
  .v-shell-page .v-app-topbar { height:calc(60px + var(--v-safe-top)); padding-top:calc(8px + var(--v-safe-top)); }
  .v-shell-page .v-overview .v-balance-cluster[data-card-carousel] { min-width:0;padding:0;gap:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;background:transparent;box-shadow:none; }
  .v-shell-page .v-overview [data-card-carousel] > .v-card-carousel { grid-row:1;grid-column:1; }
  .v-shell-page .v-overview [data-card-carousel] > .v-card-carousel-controls { grid-row:2;grid-column:1;margin:3px 0; }
  .v-shell-page .v-overview [data-card-carousel] > .v-action-pair { grid-row:3;margin-top:2px; }
  .v-shell-page .v-overview .v-card-carousel > .v-card-carousel__slide { position:relative;grid-column:auto;grid-row:1;box-sizing:border-box;min-height:282px;height:100%;border:0;border-radius:var(--v-radius-card);background:var(--v-surface-1);box-shadow:none; }
  .v-shell-page .v-overview .v-card-carousel > .v-spending-ring { display:grid;grid-template-rows:auto 1fr auto auto;align-content:stretch;justify-items:center;padding:16px;gap:7px;text-align:center; }
  .v-shell-page .v-card-carousel .v-spending-ring__heading { justify-self:stretch;padding:0;min-height:28px;font-size:14px; }
  .v-shell-page .v-card-carousel .v-spending-ring__dial { width:112px; }
  .v-shell-page .v-card-carousel .v-spending-ring__result { padding:9px 0 0; }
  .v-shell-page .v-overview .v-card-carousel > .v-balance-history-card { display:grid;grid-template-rows:auto minmax(130px,1fr) auto;padding:16px;gap:10px; }
  .v-shell-page .v-card-carousel .v-balance-history-chart { height:140px;min-height:130px; }
  .v-shell-page .v-card-carousel .v-history-heading { gap:8px; }
  .v-shell-page .v-card-carousel .v-history-heading h2 { font-size:14px; }
  .v-shell-page .v-card-carousel .v-history-heading button { padding-inline:8px;min-width:0;gap:5px;font-size:11px; }
  .v-shell-page .v-card-carousel .v-history-footer { padding:10px 8px;gap:8px; }
  .v-shell-page .v-card-carousel .v-history-footer > div { flex-wrap:wrap;gap:3px 5px; }
  .v-shell-page .v-card-carousel .v-history-footer strong { font-size:12px; }
}
.v-shell-page .v-overview { grid-template-columns: minmax(0,1.7fr) minmax(0,1fr); gap: 18px; }
.v-shell-page .v-overview .v-balance-cluster {
  position: relative; min-height: 316px; padding: 20px;
  grid-template-columns: minmax(0,1fr) minmax(174px,.52fr);
  grid-template-rows: minmax(min-content,1fr) auto; gap: 14px 24px;
}
.v-shell-page .v-overview .v-balance-card { grid-column: 1; grid-row: 1; align-content: stretch; }
.v-shell-page .v-overview .v-balance-card__hero { gap: 18px; grid-template-rows: auto minmax(min-content,1fr) auto; }
.v-shell-page .v-balance-card__topline { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); min-height: 40px; padding: 0; }
.v-shell-page .v-balance-card__topline .v-eyebrow { grid-column: 1; min-width: 0; font-size: 11px; overflow-wrap: anywhere; }
.v-shell-page .v-balance-period {
  grid-column: 2; min-height: 40px; min-width: 0; max-width: 100%; margin: 0; gap: 7px; padding: 7px 12px;
  border-radius: 13px; background: color-mix(in srgb,var(--v-positive) 5%,var(--v-surface-1));
  color: var(--v-text-1); font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none;
}
.v-shell-page .v-balance-period > span { min-width: 0; overflow-wrap: anywhere; }
.v-shell-page .v-balance-period .v-period-chevron { width: 12px; height: 12px; flex: 0 0 12px; }
.v-shell-page .v-balance-options-trigger {
  position: absolute; z-index: 3; top: 14px; right: 12px; width: 44px; height: 44px;
  display: grid; place-items: center; padding: 0; border: 0; border-radius: 14px;
  background: transparent; color: var(--v-text-1);
}
.v-balance-options-trigger svg { width: 22px; height: 22px; }
.v-shell-page .v-balance-card__primary-group { align-content: center; gap: 8px; }
.v-shell-page .v-balance-card__amount-line { display: flex; justify-content: center; align-items: baseline; gap: 9px; }
.v-shell-page .v-balance-card__amount-line::before { display: none; }
.v-shell-page .v-balance-card__amount-line .v-balance-card__primary { flex: 0 1 auto; width: auto; min-width: 0; min-height: 54px; padding: 4px 0; }
.v-shell-page .v-balance-card__amount { width: auto; margin: 0; }
.v-shell-page .v-overview .v-balance-card__amount strong { font-size: clamp(42px,10cqi,60px); font-weight: 600; letter-spacing: -.02em; line-height: 1.12; }
.v-balance-card__fraction { color: var(--v-text-2); font-size: .8em; font-weight: 600; }
.v-shell-page .v-balance-card__amount-line .v-balance-card__currency {
  position: static; flex: 0 0 auto; display: inline-flex; min-width: 48px; min-height: 44px;
  margin: 0; padding: 4px 0; justify-content: center; font-size: 14px; font-weight: 600;
}
.v-shell-page .v-balance-card__stats { width: 100%; gap: 0; padding: 12px; border-radius: 16px; background: var(--v-surface-2); }
.v-shell-page .v-balance-card__stats .v-stat { min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr); grid-template-rows: auto auto; gap: 3px 10px; padding: 5px 7px; text-align: left; border: 0; }
.v-shell-page .v-stat .v-stat__icon { grid-column: 1; grid-row: 1 / span 2; align-self: center; width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 0; color: var(--v-positive); background: transparent; box-shadow: none; }
.v-shell-page .v-stat--expense .v-stat__icon { color: var(--v-danger); }
.v-stat__icon .v-icon { width: 22px; height: 22px; }
.v-shell-page .v-stat .v-stat__label { grid-column: 2; align-self: end; color: var(--v-text-2); font-size: 12px; line-height: 1.3; }
.v-shell-page .v-stat strong { grid-column: 2; font-size: clamp(17px,4.6cqi,23px); line-height: 1.2; font-weight: 500; }
.v-shell-page .v-stat--expense::before { left: 0; top: 6px; bottom: 6px; }
.v-shell-page .v-overview .v-action-pair { grid-column: 1; grid-row: 2; width: 100%; gap: 12px; }
.v-shell-page .v-overview .v-action-pair .v-button { min-height: 52px; border-radius: 999px; }
.v-shell-page .v-spending-ring {
  position: relative; grid-column: 2; grid-row: 1 / span 2; align-content: stretch;
  grid-template-rows: auto minmax(0,1fr) auto auto; gap: 14px; padding-left: 24px;
  border-left: 1px solid var(--v-line); text-align: center;
}
.v-spending-ring__heading { justify-self: stretch; margin: 0; min-height: 40px; display: flex; align-items: center; padding-right: 32px; color: var(--v-text-1); font-size: 14px; font-weight: 500; text-align: left; line-height: 1.35; }
.v-spending-heading-row { display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;justify-self:stretch; }
.v-spending-heading-row .v-spending-ring__heading { padding-right:0;min-width:0; }
.v-shell-page .v-spending-period { display:none; }
@media(max-width:719px), (max-width:959px) and (max-height:500px) and (any-pointer:coarse) {
  .v-shell-page .v-spending-heading-row .v-spending-period { display:flex;flex:none;min-height:40px;min-width:0;padding:6px 8px;gap:5px;font-size:11px; }
  .v-shell-page .v-spending-period .v-icon { width:14px;height:14px; }
}
.v-shell-page .v-spending-ring__dial { align-self: center; width: clamp(112px,11vw,158px); }
.v-shell-page .v-spending-ring__dial::before { width: calc(100% - 11px); }
.v-shell-page .v-spending-ring__dial strong { font-size: clamp(28px,2.8vw,36px); }
.v-shell-page .v-spending-ring__caption { max-width: 155px; font-size: 12px; line-height: 1.4; }
.v-spending-ring__result { width: 100%; min-width: 0; display: grid; gap: 7px; padding: 14px 8px 8px; border-top: 1px solid var(--v-line); }
.v-spending-ring__result > span { color: var(--v-text-2); font-size: 12px; line-height: 1.4; }
.v-spending-ring__result > strong { overflow-wrap: anywhere; font-size: clamp(18px,1.35vw,22px); font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
.v-shell-page .v-money-layout .v-overview > .v-goal-card {
  --v-goal-art-size: clamp(118px,12vw,174px); min-height: 316px; padding: 20px;
  grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr) auto;
  align-content: stretch; gap: 18px;
}
.v-goal-card__header { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.v-shell-page .v-goal-card__header .v-goal-card__label { margin: 0; color: var(--v-text-2); font-size: 11px; font-weight: 500; letter-spacing: .055em; text-transform: uppercase; }
.v-goal-card__deadline { min-width: 0; max-width: 70%; min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border: 0; border-radius: 12px; background: var(--v-surface-2); color: var(--v-text-1); font-size: 13px; line-height: 1.3; }
.v-goal-card__deadline .v-icon { width: 17px; height: 17px; flex: 0 0 17px; }
.v-goal-card__deadline span { min-width: 0; overflow-wrap: anywhere; }
.v-shell-page .v-money-layout .v-overview > .v-goal-card .v-goal-card__body { grid-row: 2; max-width: none; grid-template-columns: minmax(0,1fr) var(--v-goal-art-size); gap: 14px; }
.v-shell-page .v-money-layout .v-overview > .v-goal-card .v-goal-card__details-group { gap: 12px; }
.v-shell-page .v-overview > .v-goal-card .v-goal-card__name { margin: 0; font-size: clamp(25px,1.8vw,29px); line-height: 1.15; }
.v-shell-page .v-goal-card__amount .v-desktop-copy { display: grid; gap: 4px; }
.v-shell-page .v-overview > .v-goal-card .v-goal-card__amount strong { font-size: clamp(27px,2.6vw,40px); line-height: 1.1; font-weight: 600; letter-spacing: -.02em; overflow-wrap: anywhere; }
.v-shell-page .v-overview > .v-goal-card .v-goal-card__target { font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.v-shell-page .v-goal-card__pace { display: none; }
.v-shell-page .v-money-layout .v-overview > .v-goal-card .v-goal-card__visual-button { padding: 0; }
.v-goal-card__empty-art { display: none; }

/* Safari also derives browser chrome from the painted safe-area edge. */
.v-app-chrome {
  position: fixed; inset: 0 0 auto; z-index: 100;
  height: max(1px, env(safe-area-inset-top, 0px));
  background-color: var(--v-canvas); pointer-events: none;
}
body.v-shell-page { background-image: none; }
.v-shell-page .v-activity-card .v-list--overview > .v-recent-empty {
  grid-column: 1 / -1; box-sizing: border-box; min-width: 0; width: 100%;
  display: grid; justify-items: center; gap: 8px; margin: 0;
  padding: 24px 20px 28px; text-align: center;
}
.v-recent-empty__icon {
  display: grid; place-items: center; width: 42px; height: 42px;
  margin-bottom: 4px; border-radius: 14px;
  background: var(--v-surface-2); color: var(--v-text-3);
}
.v-recent-empty__icon .v-icon { width: 24px; height: 24px; }
.v-recent-empty__title { color: var(--v-text-1); font-size: 15px; font-weight: 500; line-height: 1.4; }
.v-recent-empty__hint { max-width: 32ch; color: var(--v-text-2); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.v-goal-card--no-image .v-goal-card__empty-art { width: 72px; height: 72px; display: grid; place-items: center; margin: auto; border-radius: 22px; background: var(--v-surface-2); color: var(--v-text-3); }
.v-goal-card__empty-art .v-icon { width: 30px; height: 30px; }
.v-goal-card__footer { position: relative; grid-row: 3; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-width: 0; padding: 14px 16px; border-radius: 16px; background: var(--v-surface-2); }
.v-shell-page .v-goal-card__remaining { min-width: 0; display: grid; gap: 4px; margin: 0; font-size: 12px; }
.v-goal-card__remaining > span { color: var(--v-text-2); }
.v-shell-page .v-goal-card__remaining strong { color: var(--v-text-1); font-size: 19px; line-height: 1.3; overflow-wrap: anywhere; }
.v-shell-page .v-overview > .v-goal-card .v-goal-card__visual-percent { position: static; inset: auto; flex: 0 0 auto; display: inline-flex; justify-content: center; align-items: center; min-width: 65px; padding: 11px 13px; border: 0; border-radius: 15px; background: color-mix(in srgb,var(--v-positive) 9%,var(--v-surface-1)); color: var(--v-positive); font-size: 23px; transform: none; }
.v-goal-card__summary-hit { position: absolute; inset: 0; width: 100%; border: 0; border-radius: inherit; background: transparent; }
.v-goal-card__footer > :not(.v-goal-card__summary-hit) { position: relative; pointer-events: none; }
.v-goal-card__footer .v-goal-card__next { position: relative; pointer-events: auto; min-height: 44px; padding: 7px 0; margin: 0; font-size: 13px; }
.v-balance-options-dialog { width: min(380px,calc(100% - 24px)); }
.v-balance-options-list { display: grid; gap: 4px; padding: 14px 0 0; }
.v-balance-options-list button { min-height: 52px; width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px; border: 0; border-radius: 14px; background: transparent; color: var(--v-text-1); font-size: 15px; line-height: 1.4; text-align: left; }
.v-balance-options-list .v-icon { width: 22px; height: 22px; flex: 0 0 22px; color: var(--v-text-2); }
@media (hover: hover) and (pointer: fine) {
}
@media (min-width: 720px) and (max-width: 1099px) {
  .v-shell-page .v-overview { grid-template-columns: minmax(0,1fr); }
  .v-shell-page .v-overview > * { width: min(100%,850px); margin-inline: auto; }
  .v-shell-page .v-overview .v-balance-cluster { min-height: 300px; grid-template-columns: minmax(0,1fr) minmax(174px,.48fr); }
  .v-shell-page .v-money-layout .v-overview > .v-goal-card { --v-goal-art-size: 150px; min-height: 270px; }
  .v-shell-page .v-spending-ring__dial { width: 136px; }
  .v-shell-page .v-spending-ring__result > strong { font-size: 17px; }
  .v-shell-page .v-overview > .v-goal-card .v-goal-card__name { font-size: 30px; }
}
@media (max-width: 719px) {
  .v-shell-page .v-overview { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .v-shell-page .v-overview .v-balance-cluster { min-height: 0; padding: 0; grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto; gap: 12px; border: 0; background: transparent; box-shadow: none; }
  .v-shell-page .v-overview .v-balance-card { padding: 16px; border: 1px solid color-mix(in srgb,var(--v-line) 30%,transparent); border-radius: var(--v-radius-card); background: var(--v-surface-1); box-shadow: var(--v-shadow-card); }
  .v-shell-page .v-overview .v-balance-card__hero { gap: 18px; grid-template-rows: auto minmax(68px,auto) auto; }
  .v-shell-page .v-balance-card__topline .v-eyebrow { font-size: 10px; letter-spacing: .045em; }
  .v-shell-page .v-balance-period { min-height: 40px; max-width: 150px; padding: 6px 9px; gap: 5px; font-size: 12px; }
  .v-shell-page .v-balance-period .v-icon { width: 14px; height: 14px; }
  .v-shell-page .v-balance-options-trigger { top: 14px; right: 9px; }
  .v-shell-page .v-overview .v-balance-card__amount strong { font-size: clamp(36px,13cqi,48px); }
  .v-shell-page .v-balance-card__amount-line { gap: 7px; }
  .v-shell-page .v-balance-card__amount-line .v-balance-card__currency { min-width: 43px; font-size: 12px; }
  .v-shell-page .v-balance-card__stats { padding: 9px 5px; }
  .v-shell-page .v-balance-card__stats .v-stat { grid-template-columns: 28px minmax(0,1fr); gap: 3px 7px; padding: 5px 7px; }
  .v-shell-page .v-stat .v-stat__icon { width: 28px; height: 28px; }
  .v-stat__icon .v-icon { width: 18px; height: 18px; }
  .v-shell-page .v-stat .v-stat__label { font-size: 11px; }
  .v-shell-page .v-stat strong { font-size: clamp(15px,4.5cqi,19px); }
  .v-shell-page .v-spending-ring { display: none; }
  .v-shell-page .v-overview .v-action-pair { width: auto; display: flex; justify-content: center; gap: 14px; margin: 0 auto; }
  .v-shell-page .v-overview .v-action-pair .v-button { flex: 0 0 50px; width: 50px; min-height: 50px; padding: 0; gap: 0; }
  .v-shell-page .v-action-pair .v-button__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .v-shell-page .v-overview .v-action-pair .v-icon { width: 23px; height: 23px; }
  .v-shell-page .v-money-layout .v-overview > .v-goal-card { --v-goal-art-size: clamp(92px,28vw,124px); min-height: 0; padding: 16px; gap: 16px; }
  .v-shell-page .v-money-layout .v-overview > .v-goal-card .v-goal-card__body { gap: 12px; }
  .v-shell-page .v-goal-card__amount .v-desktop-copy { display: none; }
  .v-shell-page .v-goal-card__amount .v-phone-copy { display: grid; gap: 4px; }
  .v-shell-page .v-overview > .v-goal-card .v-goal-card__name { font-size: clamp(21px,5.5vw,25px); }
  .v-shell-page .v-overview > .v-goal-card .v-goal-card__amount strong { font-size: clamp(23px,7vw,29px); }
  .v-shell-page .v-overview > .v-goal-card .v-goal-card__target { font-size: 12px; }
  .v-shell-page .v-goal-card__footer { padding: 11px 13px; }
  .v-shell-page .v-goal-card__remaining strong { font-size: 17px; }
  .v-shell-page .v-overview > .v-goal-card .v-goal-card__visual-percent { min-width: 59px; padding: 10px 11px; font-size: 22px; }
}
@media (max-width: 359px) {
  .v-shell-page .v-overview .v-balance-card { padding: 13px; }
  .v-shell-page .v-balance-period { max-width: 125px; font-size: 11px; padding-inline: 7px; }
  .v-shell-page .v-balance-options-trigger { right: 4px; top: 12px; }
  .v-shell-page .v-balance-card__stats .v-stat { grid-template-columns: minmax(0,1fr); text-align: center; }
  .v-shell-page .v-stat .v-stat__icon { display: none; }
  .v-shell-page .v-stat .v-stat__label,.v-shell-page .v-stat strong { grid-column: 1; }
  .v-shell-page .v-money-layout .v-overview > .v-goal-card { --v-goal-art-size: 80px; padding: 14px; }
}

/* The small action menu stays next to its trigger, outside the modal system. */
.v-balance-options-menu {
  position: fixed; inset: auto; margin: 0; z-index: 60; width: min(292px,calc(100vw - 24px));
  padding: 6px; overflow: auto; border: 1px solid var(--v-window-edge); border-radius: 19px;
  background: linear-gradient(160deg,rgb(255 255 255 / 96%),rgb(248 249 252 / 86%));
  color: #000; box-shadow: 0 14px 38px rgb(18 22 29 / 14%),inset 0 1px 0 rgb(255 255 255 / 85%);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
}
.v-balance-options-menu:not(.is-open) { display: none; }
.v-balance-options-menu::backdrop { background: transparent; }
:root[data-theme="dark"] .v-balance-options-menu {
  background: linear-gradient(160deg,rgb(28 28 30 / 96%),rgb(16 16 17 / 88%)); color: #fff;
  box-shadow: 0 14px 38px rgb(0 0 0 / 30%),inset 0 1px 0 rgb(255 255 255 / 8%);
}
.v-shell-page .v-balance-options-list { gap: 2px; padding: 0; }
.v-shell-page .v-balance-options-list button { min-height: 46px; padding: 10px 12px; gap: 10px; font-size: 14px; color: inherit; }
.v-shell-page .v-balance-options-list .v-icon { width: 20px; height: 20px; flex-basis: 20px; color: inherit; }
.v-balance-options-list button:focus-visible { outline: 2px solid var(--v-focus); outline-offset: -2px; }
@media (max-width: 719px) {
  .v-shell-page .v-money-layout .v-overview > .v-goal-card { --v-goal-art-size: clamp(108px,31vw,144px); }
  .v-shell-page .v-money-layout .v-overview > .v-goal-card .v-goal-card__body { gap: 18px; }
  .v-shell-page .v-money-layout .v-overview > .v-goal-card .v-goal-card__visual-button { margin-inline-end: 6px; }
}
@media (max-width: 359px) {
  .v-shell-page .v-money-layout .v-overview > .v-goal-card { --v-goal-art-size: 96px; }
  .v-shell-page .v-money-layout .v-overview > .v-goal-card .v-goal-card__visual-button { margin-inline-end: 4px; }
}

/* Shared outline navigation has no secondary gray fill. */
.v-side-rail__nav svg [fill="currentColor"],.v-bottom-nav svg [fill="currentColor"],
.v-app-topbar__actions svg [fill="currentColor"] { fill: none; fill-opacity: 1; }
.v-shell-page .v-balance-card__topline { align-items: center; }
.v-shell-page .v-balance-card__topline .v-eyebrow { justify-self: start; align-self: center; margin: 0; text-align: left; }
.v-period-menu { width: min(238px,calc(100vw - 24px)); }
.v-period-menu [aria-checked="true"]::after { content: '✓'; margin-left: auto; color: inherit; }
.v-statistics-period { display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 44px; padding: 8px 12px; border: 0; border-radius: 14px; background: var(--v-surface-2);
  color: var(--v-text-1); font: inherit; font-size: 13px; }
.v-statistics-period .v-icon { flex: 0 0 16px; width: 16px; height: 16px; }
.v-statistics-period span { min-width: 0; overflow-wrap: anywhere; }
.v-shell-page .v-spending-ring { grid-template-rows: auto minmax(0,1fr) auto auto; gap: 9px; }
.v-spending-ring__heading { font-size: 13px; }
.v-shell-page .v-ratio-dial,.v-ratio-dial { position: relative; width: 126px; aspect-ratio: 1; display: grid;
  place-items: center; background: none; transform: none; }
.v-shell-page .v-ratio-dial::before,.v-ratio-dial::before { display: none; }
.v-ratio-dial svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); overflow: visible; }
.v-ratio-dial circle { fill: none; stroke-width: 9; }
.v-ratio-track { stroke: var(--v-line); }
.v-ratio-fill { stroke: var(--v-danger); stroke-linecap: round; }
.v-ratio-fill[stroke-dasharray="0 100"] { visibility: hidden; }
.v-shell-page .v-ratio-dial strong,.v-ratio-dial strong { transform: none; font-size: 29px; font-weight: 500; letter-spacing: -.02em; }
.v-shell-page .v-spending-ring__caption { max-width: 145px; font-size: 11px; }
.v-spending-ring__result { gap: 6px; padding: 12px 2px 5px; }
.v-shell-page .v-spending-ring__result > strong { font-size: clamp(17px,1.35vw,21px); }
.v-shell-page .v-spending-card { min-height: 316px; align-content: stretch; grid-template-rows: auto 1fr auto; padding: 20px; gap: 10px; }
.v-spending-card__heading { display: grid; gap: 6px; }
.v-spending-card__heading h2 { font-size: 17px; font-weight: 500; line-height: 1.35; }
.v-category-preview { display: grid; align-content: center; gap: 5px; min-height: 180px; }
.v-category-preview-row,.v-category-stat-row { min-width: 0; display: grid; grid-template-columns: 36px minmax(0,1fr) auto;
  align-items: center; gap: 10px; min-height: 59px; }
.v-category-stat-row__name { min-width: 0; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.v-category-stat-row__value { min-width: 0; display: grid; gap: 4px; text-align: right; font-variant-numeric: tabular-nums; }
.v-category-stat-row__value strong { font-size: 14px; font-weight: 500; overflow-wrap: anywhere; }
.v-category-stat-row__value small { font-size: 12px; color: var(--v-text-2); }
.v-category-preview-row .v-pictogram { width: 36px; height: 36px; border-radius: 11px; }
.v-category-preview-row .v-icon { width: 22px; height: 22px; }
.v-statistics-link { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 10px 0; border: 0; border-top: 1px solid var(--v-line); background: transparent;
  color: var(--v-text-1); font: inherit; font-size: 14px; font-weight: 500; text-align: left; }
.v-statistics-link .v-icon { width: 18px; height: 18px; }
.v-category-statistics { --v-dialog-width: 920px; }
.v-category-statistics .v-breakdown-dialog__surface { --v-chart-0: var(--v-danger); --v-chart-1: #8096a9;
  --v-chart-2: #63988c; --v-chart-3: #a091b8; --v-chart-4: #b18ca4; --v-chart-5: #879395; }
.v-category-statistics [data-breakdown="income"] { --v-chart-0: var(--v-positive); }
.v-statistics-controls { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 24px; }
.v-category-statistics .v-breakdown-tabs { width: auto; flex: 1; max-width: 330px; margin: 0; }
.v-category-statistics__body { display: grid; grid-template-columns: minmax(220px,.85fr) minmax(0,1.15fr); gap: 34px; align-items: start; margin-bottom: 20px; }
.v-category-chart { position: relative; width: min(100%,280px); aspect-ratio: 1; margin: 4px auto; }
.v-category-chart__svg { display: block; width: 100%; height: 100%; transform: rotate(-90deg); }
.v-category-chart__track { stroke: var(--v-line); }
.v-category-chart__center { position: absolute; inset: 22%; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 7px; text-align: center; }
.v-category-chart__center > span { color: var(--v-text-2); font-size: 13px; }
.v-category-chart__center > strong { max-width: 100%; color: var(--v-text-1); font-size: clamp(20px,3vw,29px); font-weight: 500; letter-spacing: -.02em; overflow-wrap: anywhere; line-height: 1.2; }
.v-category-chart__center > small { color: var(--v-text-2); font-size: 12px; }
.v-category-statistics .v-breakdown-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; margin: 0; }
.v-category-stat-row { min-height: 66px; border-bottom: 1px solid var(--v-line); }
.v-category-stat-row:last-child { border-bottom: 0; }
.v-category-stat-row .v-pictogram { width: 36px; height: 36px; border-radius: 11px; border-left: 3px solid var(--v-category-color); }
.v-category-stat-row .v-icon { width: 21px; height: 21px; }
.v-statistics-pending { width: 100%; min-height: 180px; border-radius: 14px; background: var(--v-surface-2); }
.v-summary-dialog { --v-dialog-width: 460px; }
.v-summary-periods { grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; }
.v-summary-ring { display: grid; justify-items: center; gap: 7px; margin: 22px 0 18px; text-align: center; }
.v-summary-ring .v-ratio-dial { width: 150px; }
.v-summary-ring .v-ratio-dial strong { position: relative; font-size: 33px; color: var(--v-text-1); }
.v-summary-result { display: grid; gap: 9px; text-align: center; padding-bottom: 20px; }
.v-summary-result > span { font-size: 13px; color: var(--v-text-2); }
.v-summary-result > strong { font-size: clamp(24px,7vw,32px); line-height: 1.2; font-weight: 500; overflow-wrap: anywhere; }
.v-summary-totals { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; border-top: 1px solid var(--v-line); padding: 16px 0; }
.v-summary-totals > div { min-width: 0; display: grid; gap: 7px; text-align: center; }
.v-summary-totals span { font-size: 12px; color: var(--v-text-2); }
.v-summary-totals strong { font-size: 18px; overflow-wrap: anywhere; }
@media (min-width: 720px) {
  .v-shell-page .v-activity-card .v-list--overview { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .v-shell-page .v-activity-card .v-list--overview .v-list-row { grid-template-columns: 36px minmax(0,1fr); gap: 3px 10px; }
  .v-shell-page .v-activity-card .v-list--overview .v-list-row__icon { grid-row: 1 / span 2; }
  .v-shell-page .v-activity-card .v-list--overview .v-list-row__copy,.v-shell-page .v-activity-card .v-list--overview .v-list-row__value { grid-column: 2; }
  .v-shell-page .v-activity-card .v-list--overview .v-list-row__value { justify-self: end; font-size: 14px; }
}
@media (min-width: 1100px) {
  .v-shell-page .v-activity-card .v-list--overview .v-list-row { grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; }
  .v-shell-page .v-activity-card .v-list--overview .v-list-row__copy,.v-shell-page .v-activity-card .v-list--overview .v-list-row__value { grid-column: auto; }
  .v-shell-page .v-activity-card .v-list--overview .v-list-row__icon { grid-row: auto; }
}
@media (max-width: 899px) {
  .v-category-statistics__body { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .v-category-chart { width: 238px; max-width: 100%; }
}
@media (max-width: 719px) {
  :root.v-dialog-open .v-bottom-nav { pointer-events: none; }
  .v-category-statistics { --v-dialog-width: 460px; }
  .v-statistics-controls { gap: 8px; margin-bottom: 18px; }
  .v-category-statistics .v-breakdown-tabs { min-width: 0; }
  .v-category-statistics .v-breakdown-tabs button { min-width: 0; padding-inline: 7px; font-size: 12px; }
  .v-statistics-period { max-width: 45%; padding-inline: 8px; font-size: 12px; }
  .v-category-statistics__body { gap: 14px; }
  .v-category-chart { width: 212px; }
  .v-category-chart__center > strong { font-size: 24px; }
  .v-category-stat-row__name { font-size: 13px; }
  .v-category-stat-row__value strong { font-size: 13px; }
}

/* Full category statistics shares the application navigation and scroll. */
.v-category-statistics,.v-category-preview { --v-chart-teal: #249e95; --v-chart-blue: #428bc8;
  --v-chart-violet: #9575c7; --v-chart-rose: #c96699; --v-chart-gray: #929aa4; }
.v-statistics-screen { width: 100%; min-width: 0; margin: 0; }
.v-statistics-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.v-statistics-heading h1 { min-width: 0; margin: 0; font-size: clamp(25px,3vw,34px); line-height: 1.2;
  font-weight: 600; letter-spacing: -.02em; overflow-wrap: anywhere; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v-statistics-back { flex: 0 0 44px; }
.v-statistics-back .v-icon { transform: rotate(180deg); }
.v-statistics-screen .v-statistics-controls { justify-content: flex-start; gap: 20px; }
.v-statistics-screen .v-breakdown-tabs { flex: 0 1 290px; padding: 4px; border: 1px solid var(--v-line);
  border-radius: 16px; background: var(--v-surface-2); margin: 0; }
.v-statistics-screen .v-breakdown-tabs button { min-height: 40px; border-radius: 12px; font-size: 13px; }
.v-statistics-screen .v-statistics-period { min-height: 50px; border: 1px solid var(--v-line); border-radius: 16px;
  padding-inline: 16px; gap: 10px; background: var(--v-surface-2); }
.v-statistics-screen .v-category-statistics__body { padding: clamp(20px,3vw,36px); border-radius: 26px;
  grid-template-columns: minmax(0,1fr) minmax(0,1.12fr); align-items: start; gap: 36px; }
.v-statistics-screen .v-category-chart { width: min(100%,360px); margin: 6px auto; position: sticky; top: 24px; }
.v-statistics-screen .v-category-chart__center { inset: 24%; }
.v-statistics-screen .v-category-chart__center > strong { font-size: clamp(24px,2.5vw,34px); }
.v-statistics-screen .v-breakdown-list { gap: 8px; }
.v-statistics-screen .v-category-stat-row { width: 100%; min-height: 68px;
  grid-template-columns: 40px minmax(0,1fr) minmax(70px,auto) 16px; gap: 12px; padding: 10px 12px;
  border: 1px solid var(--v-line); border-radius: 16px; background: transparent;
  color: var(--v-text-1); font: inherit; text-align: left; cursor: pointer; transition: background-color var(--v-motion-fast) ease; }
.v-statistics-screen .v-category-stat-row .v-pictogram,.v-category-preview-row .v-pictogram { border: 0; border-radius: 50%; }
.v-statistics-screen .v-category-stat-row .v-icon,.v-category-preview-row .v-pictogram .v-icon { color: inherit; }
.v-category-stat-row__arrow { width: 16px; color: var(--v-text-2); }
.v-statistics-screen .v-category-stat-row__arrow .v-icon { width: 16px; height: 16px; }
.v-statistics-screen .v-category-stat-row:focus-visible { outline: 2px solid var(--v-text-1); outline-offset: 3px; }
.v-statistics-detail { border-radius: 24px; padding: 24px; }
.v-statistics-detail__total { display: block; margin-bottom: 18px; font-size: 28px; font-variant-numeric: tabular-nums; }
.v-statistics-operation { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 16px;
  min-width: 0; padding: 16px 0; border-bottom: 1px solid var(--v-line); }
.v-statistics-operation:last-child { border-bottom: 0; }
.v-statistics-operation__copy { min-width: 0; display: grid; gap: 5px; overflow-wrap: anywhere; }
.v-statistics-operation__copy > strong { font-size: 14px; line-height: 1.45; font-weight: 500; }
.v-statistics-operation__copy small { color: var(--v-text-2); }
.v-statistics-operation > strong { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.v-statistics-all { border: 0; justify-content: flex-end; margin-top: 10px; gap: 8px; font-size: 13px; }
.v-spending-card .v-statistics-link { background: var(--v-surface-2); border: 0; border-radius: 12px; padding-inline: 12px; }
@media (hover:hover) and (pointer:fine) {
}
@media (max-width: 899px) {
  .v-statistics-screen .v-category-statistics__body { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .v-statistics-screen .v-category-chart { width: min(100%,290px); position: relative; top: auto; }
}
@media (max-width: 719px) {
  :root[data-active-screen="statistics"] .v-app-topbar { display: none; }
  .v-statistics-heading { display: grid; grid-template-columns: 40px minmax(0,1fr) 40px; gap: 6px; margin-bottom: 16px; }
  .v-statistics-heading h1 { font-size: 24px; text-align: center; }
  .v-statistics-screen .v-statistics-controls { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
  .v-statistics-screen .v-breakdown-tabs { width: 100%; max-width: none; }
  .v-statistics-screen .v-breakdown-tabs button { font-size: 14px; }
  .v-statistics-screen .v-statistics-period { max-width: 100%; justify-self: center; min-height: 44px; }
  .v-statistics-screen .v-category-statistics__body { background: transparent; box-shadow: none; border: 0; padding: 6px 0 0; gap: 18px; }
  .v-statistics-screen .v-category-chart { width: min(100%,220px); }
  .v-statistics-screen .v-category-chart__center > strong { font-size: 24px; }
  .v-statistics-screen .v-category-stat-row { grid-template-columns: 34px minmax(0,1fr) minmax(62px,auto) 12px;
    padding: 10px; gap: 9px; min-height: 62px; border-radius: 14px; background: var(--v-surface-1); }
  .v-statistics-screen .v-category-stat-row .v-pictogram { width: 34px; height: 34px; }
  .v-statistics-screen .v-category-stat-row__arrow,.v-statistics-screen .v-category-stat-row__arrow .v-icon { width: 12px; height: 12px; }
  .v-statistics-detail { padding: 18px; }
  .v-statistics-operation { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .v-statistics-operation > strong { justify-self: end; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
}

/* Mobile activity feedback reaches the card edges while text keeps its inset. */
.v-shell-page .v-activity-card .v-list--overview .v-list-row { transform:none; }
@media(max-width:719px) {
  .v-shell-page .v-activity-card { overflow:hidden;border:0;padding:21px; }
  .v-shell-page .v-activity-card .v-list--overview { width:calc(100% + 42px);margin-inline:-21px; }
  .v-shell-page .v-activity-card .v-list--overview .v-list-row { padding-inline:21px;border-radius:0; }
}
