/* Adapter to the existing full-width shell; preserve its four slots, viewport
   offset, safe area, modal layer, and all original SVG/label anchors. */
/* Remove the old host paint/filter. One portable material layer supplies
   the surface and double upper rim at every width, without an outer halo. */
:root[data-theme] .v-shell-page .v-app-topbar__actions.v-navigation-material,
:root[data-theme] .v-shell-page .v-operations-tools.v-navigation-material,
:root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material,
:root[data-theme] .v-shell-page .v-navigation-material.v-navigation-material--label,
:root[data-theme] .v-shell-page .v-navigation-material.v-navigation-material--control,
:root[data-theme] .v-shell-page .v-navigation-material.v-navigation-material--control:is(:hover,:active,:focus,[aria-expanded="true"]) {
  --v-navigation-material-inset:-1px;
  border:1px solid transparent; background:transparent; box-shadow:none;
  backdrop-filter:none; -webkit-backdrop-filter:none;
  color:var(--v-navigation-control-ink,var(--v-navigation-ink));
}
:root[data-theme] .v-shell-page .v-navigation-material--control::after {
  content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit;
  pointer-events:none;
}
:root[data-theme] .v-shell-page .v-navigation-material--control > * {
  position:relative; z-index:1;
}
:root[data-theme] .v-shell-page .v-navigation-material--control[aria-expanded="true"]::after {
  background-color:var(--v-navigation-selection);
}
@media (hover:hover) and (pointer:fine) {
  :root[data-theme] .v-shell-page .v-navigation-material--control:where(:not(:disabled):not([aria-disabled="true"])):hover::after {
    background-image:var(--v-feedback-hover); box-shadow:var(--v-feedback-edge);
  }
}
:root[data-theme] .v-shell-page .v-navigation-material--control:where(:not(:disabled):not([aria-disabled="true"])):active::after {
  background-image:var(--v-feedback-press); box-shadow:var(--v-feedback-edge);
}
:root[data-theme] .v-shell-page .v-navigation-material--positive {
  --v-navigation-positive:var(--v-positive);
  --v-navigation-control-ink:var(--v-accent-ink);
}
:root[data-theme] .v-shell-page .v-operation-currency.v-navigation-material strong { color:inherit; }
/* The two statistics choices share one surface and one moving light layer.
   Native CSS retargets from its current position. No JS/layout/idle RAF. */
:root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material {
  padding:4px; gap:0;
}
:root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material button,
:root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material button:is(:hover,:active,:focus,[aria-pressed="true"]) {
  position:relative; z-index:1; border:1px solid transparent;
  background:transparent; box-shadow:none; color:var(--v-navigation-ink);
  transition:none;
}
:root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material button::after {
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
}
@supports selector(:has(*)) {
  :root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material::after {
    content:''; position:absolute; z-index:0; inset:4px auto 4px 4px;
    width:calc((100% - 8px) / 2); box-sizing:border-box; border-radius:12px;
    border:1px solid var(--v-navigation-selection-edge);
    background:var(--v-navigation-glint-paint),var(--v-navigation-selection);
    box-shadow:var(--v-navigation-selection-shadow); pointer-events:none;
    transform:translateX(0);
    transition:transform 240ms var(--v-ease-out);
  }
  :root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material:has(> button:last-child[aria-pressed="true"])::after {
    transform:translateX(100%);
  }
}
@supports not selector(:has(*)) {
  :root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material button[aria-pressed="true"] {
    border-color:var(--v-navigation-selection-edge);
    background:var(--v-navigation-glint-paint),var(--v-navigation-selection);
    box-shadow:var(--v-navigation-selection-shadow);
  }
}
@media (hover:hover) and (pointer:fine) {
  :root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material button:where(:not(:disabled)):hover::after {
    background:var(--v-navigation-glint-paint),var(--v-navigation-selection);
    box-shadow:var(--v-feedback-edge);
  }
}
:root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material button:where(:not(:disabled)):active::after {
  background:var(--v-feedback-press); box-shadow:var(--v-feedback-edge);
}
@media (prefers-reduced-motion:reduce) {
  :root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material::after { transition:none; }
}
/* The control paints no outer focus shadow; retain a visible keyboard ring. */
:root[data-theme][data-focus-mode="keyboard"] .v-shell-page .v-navigation-material--control:focus-visible {
  outline:2px solid var(--v-focus); outline-offset:2px;
}
:root[data-theme][data-focus-mode="keyboard"] .v-shell-page .v-breakdown-tabs.v-navigation-material button:focus-visible {
  outline:2px solid var(--v-focus); outline-offset:-2px;
}
:root[data-theme] .v-shell-page :is(.v-goal-card__deadline,.v-history-heading [data-period-menu-trigger],.v-spending-period) { border-radius:999px; }
/* A back action belongs to category details, always before the heading. */
.v-shell-page .v-statistics-heading { display:flex; justify-content:flex-start; }
.v-shell-page .v-statistics-heading h1 { order:0; text-align:left; }
.v-shell-page .v-statistics-back { order:0; }
.v-shell-page .v-statistics-back[hidden] { display:none; }
@media (forced-colors:active) {
  :root[data-theme] .v-shell-page .v-app-topbar__actions.v-navigation-material,
  :root[data-theme] .v-shell-page .v-operations-tools.v-navigation-material,
  :root[data-theme] .v-shell-page .v-navigation-material.v-navigation-material--label,
  :root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material button,
  :root[data-theme] .v-shell-page .v-navigation-material.v-navigation-material--control {
    --v-navigation-control-ink:ButtonText;
    color:ButtonText;
  }
  :root[data-theme] .v-shell-page .v-navigation-material--control::after { display:none; }
  :root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material::after {
    background:none; border-color:Highlight; box-shadow:none;
  }
  :root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material button::after { display:none; }
  :root[data-theme] .v-shell-page .v-breakdown-tabs.v-navigation-material button[aria-pressed="true"] { color:Highlight; }
}
@media (max-width:719px), (min-width:720px) and (max-width:1199px) and (orientation:portrait) and (any-pointer:coarse) {
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation {
    width:auto; margin-inline:0; grid-auto-flow:row; grid-auto-columns:auto;
    --v-dock-width:min(90%,560px); --v-nav-cell:calc((var(--v-dock-width) - 16px) / 4);
    grid-template-columns:repeat(4,minmax(0,var(--v-nav-cell)));
    bottom:calc(var(--v-viewport-bottom,0px) + max(8px,var(--v-safe-bottom))); padding-block:4px;
  }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation::before { width:var(--v-dock-width); margin-inline:auto; border-width:1px; }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation::after { content:none; display:none; }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation .v-nav-item {
    min-height:54px; background:transparent; box-shadow:none; color:var(--v-navigation-ink); transform:none; transition:none;
  }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation .v-nav-item.is-active { color:var(--v-nav-selected-ink); }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation:not(.is-motion-ready) .v-nav-item.is-active { background:var(--v-navigation-selection); }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation.is-motion-ready .v-nav-item { color:inherit; }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation .v-nav-item:is(:active,:hover) { background:transparent; box-shadow:none; }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation :is(.v-nav-glyph,.v-nav-glyph .v-icon,[data-v-i18n]) { color:inherit; }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation .v-nav-glyph { width:28px; height:28px; transition:none; }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation .v-nav-glyph .v-icon { width:26px; height:26px; }
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation [data-v-i18n] { font-size:10px; font-weight:400; line-height:13px; transform:none; transition:none; }
  :root.v-dialog-open .v-shell-page .v-bottom-nav.v-navigation .v-nav-item { pointer-events:none; }
}
/* Keep the original shell column; only the four navigation items carry glass. */
@media (min-width:720px) {
  :root[data-theme] .v-shell-page .v-side-rail {
    border:0; background:transparent; box-shadow:none;
    backdrop-filter:none; -webkit-backdrop-filter:none;
    padding-inline:4px; display:grid; align-items:safe center; justify-items:center; gap:0;
  }
  .v-shell-page .v-side-rail > .v-brand { position:absolute; top:max(18px,var(--v-safe-top)); }
  :root[data-theme] .v-shell-page .v-side-rail .v-side-rail__nav.v-navigation {
    --v-navigation-rail-width:88px; margin:0; flex:none;
  }
  :root[data-theme] .v-shell-page .v-side-rail .v-side-rail__nav.v-navigation .v-nav-item {
    min-height:64px; padding:4px 1px; background:transparent; box-shadow:none;
    color:var(--v-navigation-ink); transition:none;
  }
  :root[data-theme] .v-shell-page .v-side-rail .v-side-rail__nav.v-navigation .v-nav-item.is-active { color:var(--v-nav-selected-ink); }
  :root[data-theme] .v-shell-page .v-side-rail .v-side-rail__nav.v-navigation:not(.is-motion-ready) .v-nav-item.is-active { background:var(--v-navigation-selection); }
  :root[data-theme] .v-shell-page .v-side-rail .v-side-rail__nav.v-navigation .v-nav-item > .v-nav-content {
    display:grid; grid-template-rows:30px 13px; align-content:center; justify-items:center;
    align-items:center; gap:3px; width:100%; min-width:0; max-width:100%; padding:0;
    background:transparent; box-shadow:none; color:inherit; transition:none;
  }
  :root[data-theme] .v-shell-page .v-side-rail .v-side-rail__nav.v-navigation :is(.v-nav-glyph,.v-nav-glyph .v-icon,[data-v-i18n]) { color:inherit; }
  :root[data-theme] .v-shell-page .v-side-rail .v-side-rail__nav.v-navigation .v-nav-glyph { width:28px; height:28px; transition:none; }
  :root[data-theme] .v-shell-page .v-side-rail .v-side-rail__nav.v-navigation .v-nav-glyph .v-icon { width:26px; height:26px; }
  :root[data-theme] .v-shell-page .v-side-rail .v-side-rail__nav.v-navigation [data-v-i18n] {
    display:block; width:max-content; max-width:100%; max-height:13px;
    font-size:10px; font-weight:400; line-height:13px; white-space:nowrap;
    overflow:hidden; text-overflow:ellipsis; overflow-wrap:normal; transform:none; transition:none;
  }
  :root.v-dialog-open .v-shell-page .v-side-rail__nav.v-navigation .v-nav-item { pointer-events:none; }
}
@media (min-width:720px) and (max-height:460px) {
  .v-shell-page .v-side-rail > .v-brand { display:none; }
}
/* Portrait touch tablets share the dock without changing the desktop content cards. */
@media (min-width:720px) and (max-width:1199px) and (orientation:portrait) and (any-pointer:coarse) {
  :root[data-theme] .v-shell-page .v-bottom-nav.v-navigation { --v-dock-width:min(90%,400px); }
  html:has(body.v-shell-page) { height:100%; min-height:0; overflow:hidden; scrollbar-gutter:auto; }
  body.v-shell-page { height:100svh; min-height:0; overflow:hidden; }
  .v-shell-page .v-app-shell {
    position:fixed; top:var(--v-viewport-top,0px); left:var(--v-viewport-left,0px);
    width:var(--v-viewport-width,100vw); height:var(--v-viewport-height,100svh);
    display:block; min-height:0; overflow:hidden;
  }
  :root[data-theme] .v-shell-page .v-side-rail { display:none; }
  .v-shell-page .v-app-main {
    height:100%; min-height:0; overflow-x:hidden; overflow-y:auto;
    overscroll-behavior-y:contain; -webkit-overflow-scrolling:touch;
  }
  .v-shell-page .v-app-content { padding-bottom:calc(104px + var(--v-safe-bottom)); }
  :root.v-dialog-open .v-shell-page .v-app-main { overflow-y:hidden; }
}
