/* Shared, responsive category windows. Paint for actions comes from navigation material. */
.v-shell-page :is(.v-taxonomy-dialog,.v-appearance-dialog,.v-cat-editor) { --v-dialog-width:560px; }
.v-shell-page :is(.v-taxonomy-dialog,.v-appearance-dialog,.v-cat-editor) .v-breakdown-dialog__header {
  display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;flex:none;
}
.v-shell-page :is(.v-taxonomy-dialog,.v-appearance-dialog,.v-cat-editor) .v-breakdown-dialog__header > .v-icon-button { grid-column:1;grid-row:1; }
.v-shell-page :is(.v-taxonomy-dialog,.v-appearance-dialog,.v-cat-editor) .v-breakdown-dialog__header > .v-dialog-save,
.v-shell-page .v-taxonomy-dialog .v-cat-toolbar-actions { grid-column:3;grid-row:1;justify-self:end; }
.v-shell-page :is(.v-taxonomy-dialog,.v-appearance-dialog,.v-cat-editor) .v-breakdown-dialog__header > .v-card-title {
  grid-column:1/-1;grid-row:2;font-size:24px;line-height:1.25;margin:2px 0 0;font-weight:600;
}
.v-shell-page :is(.v-taxonomy-dialog,.v-appearance-dialog,.v-cat-editor) > .v-breakdown-dialog__surface { padding:20px; }
.v-shell-page :is(.v-taxonomy-dialog,.v-appearance-dialog) .v-dialog-body { margin-top:16px; }
.v-cat-toolbar-actions .v-dialog-save { min-height:44px;padding:8px 16px;display:flex;gap:7px;align-items:center; }
.v-cat-toolbar-actions .v-dialog-save .v-icon { width:18px;height:18px; }
.v-cat-back .v-icon { transform:rotate(180deg); }
.v-shell-page input.v-cat-search { flex:none;display:block;min-width:0;width:100%;box-sizing:border-box;margin:14px 0 0;
  min-height:46px;padding:11px 15px;border:0;border-radius:15px;background:var(--v-surface-1);color:var(--v-text-1);font:inherit;font-size:16px; }
.v-cat-search::placeholder { color:var(--v-text-2); }
.v-choice-section { margin-bottom:20px;min-width:0; }
.v-choice-section:last-child { margin-bottom:0; }
.v-choice-section__heading { display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:8px; }
.v-choice-section__heading h3,.v-appearance-section h3 { margin:0;color:var(--v-text-1);font-size:15px;font-weight:600;line-height:1.35; }
.v-choice-rows { border:0;border-radius:18px;overflow:hidden;background:var(--v-surface-1); }
.v-shell-page .v-choice-row { width:100%;min-width:0;min-height:62px;padding:12px 16px;display:flex;align-items:center;gap:14px;
  border:0;border-radius:0;background:transparent;color:var(--v-text-1);font:inherit;text-align:start;cursor:pointer;position:relative; }
.v-choice-row + .v-choice-row::before { content:'';position:absolute;top:0;inset-inline-start:62px;inset-inline-end:15px;height:1px;background:var(--v-line); }
/* Settings alone exposes a destructive action; pickers remain plain choices. */
.v-choice-rows:has(> .v-choice-swipe) { background:transparent; }
.v-shell-page .v-choice-swipe > .v-choice-row { background-color:var(--v-surface-1); }
.v-choice-swipe + .v-choice-swipe > .v-choice-row::before { content:'';position:absolute;top:0;left:62px;right:15px;height:1px;background:var(--v-line); }
.v-choice-swipe:first-child > .v-choice-row { border-start-start-radius:18px;border-start-end-radius:18px; }
.v-choice-swipe:last-child > .v-choice-row { border-end-start-radius:18px;border-end-end-radius:18px; }
@media (hover:hover) and (pointer:fine) {
  :root[data-theme] .v-shell-page .v-choice-swipe { --v-delete-circle:#ff3b40; }
  :root[data-theme="dark"] .v-shell-page .v-choice-swipe { --v-delete-circle:#d84b59; }
}
.v-choice-copy { display:flex;flex-direction:column;gap:3px;flex:1;min-width:0; }
.v-choice-copy strong { font-size:15px;font-weight:500;overflow-wrap:anywhere;line-height:1.35; }
.v-choice-copy small { font-size:13px;line-height:1.3;color:var(--v-text-2);overflow-wrap:anywhere; }
.v-choice-row .v-cat-tile,.v-cat-neutral { width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center; }
.v-cat-neutral { background:var(--v-surface-2);color:var(--v-text-2); }
.v-cat-neutral .v-icon { width:22px;height:22px; }
.v-choice-check { flex:none;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--v-positive);color:var(--v-accent-ink);font-size:17px;font-weight:600; }
.v-choice-whole { min-height:36px;flex:none;padding:6px 10px;font:inherit;font-size:12px;font-weight:500;
  color:var(--v-text-1);background:transparent;border:1px solid var(--v-line);border-radius:18px;cursor:pointer; }
.v-choice-group-action { width:36px;min-height:36px;height:36px;flex:none;font-size:22px; }
.v-cat-list { overflow:visible;border-radius:0; }
.v-cat-live-preview { display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--v-line);border-radius:20px;margin:0 0 16px;background:var(--v-surface-1); }
.v-shell-page .v-cat-live-preview .v-cat-tile { width:52px;height:52px;border-radius:16px; }
.v-shell-page .v-cat-live-preview .v-cat-tile .v-icon { width:31px;height:31px; }
.v-cat-live-preview strong { font-size:18px; }
.v-cat-card { padding:14px 16px;border:1px solid var(--v-line);border-radius:18px;background:var(--v-surface-1);min-width:0; }
.v-cat-form { gap:14px; }
.v-cat-card label,.v-cat-field-label { color:var(--v-text-2);font-size:13px;font-weight:500;line-height:1.35; }
.v-shell-page .v-cat-card input { background:transparent;padding:3px 0;min-height:34px;border-radius:0; }
.v-cat-property { width:100%;display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:7px;align-items:center;text-align:start;color:var(--v-text-1);font:inherit;cursor:pointer; }
.v-cat-property .v-cat-field-label { grid-column:1; }
.v-cat-property > span:nth-child(2) { grid-column:1;grid-row:2;font-size:16px;overflow-wrap:anywhere; }
.v-cat-chevron { grid-column:2;grid-row:1/3;font-size:24px;color:var(--v-text-2); }
.v-cat-property-value { display:flex;gap:12px;align-items:center; }
.v-cat-property-value .v-cat-tile { width:30px!important;height:30px!important;border-radius:10px; }
.v-cat-property-value .v-cat-color-preview { width:30px;height:30px;flex:none; }
.v-cat-visibility { display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px; }
.v-shell-page .v-cat-visibility input { min-height:24px;width:24px;flex:none;accent-color:var(--v-positive); }
.v-cat-preset-open { margin-top:16px;border:1px solid var(--v-line)!important;border-radius:17px!important;min-height:48px!important;color:var(--v-positive)!important; }
.v-appearance-tools { flex:none; }
.v-appearance-tools .v-cat-live-preview { margin-top:14px;margin-bottom:0; }
.v-appearance-section + .v-appearance-section { margin-top:22px; }
.v-appearance-glyphs { display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:10px;margin-top:12px; }
.v-appearance-glyph { min-width:0;min-height:60px;padding:6px 0;display:grid;place-items:center;border:0;border-radius:15px;background:transparent;color:var(--v-text-1);cursor:pointer; }
.v-appearance-glyph__tile { position:relative;box-sizing:border-box;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--v-line);border-radius:13px;background:var(--v-surface-1);color:var(--v-text-1); }
.v-appearance-glyph__tile .v-icon { width:27px;height:27px;color:inherit; }
.v-appearance-glyph[aria-pressed="true"] .v-appearance-glyph__tile { border-color:var(--v-positive);background:color-mix(in srgb,var(--v-positive) 10%,var(--v-surface-1));color:var(--v-positive); }
.v-appearance-glyph[aria-pressed="true"] .v-appearance-glyph__tile::after { content:'✓';position:absolute;top:-5px;inset-inline-end:-5px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--v-positive);color:var(--v-accent-ink);font-size:12px;font-weight:600; }
.v-appearance-colors { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px; }
.v-appearance-color { min-width:0;min-height:76px;padding:7px 3px;display:flex;align-items:center;flex-direction:column;gap:7px;border:0;border-radius:13px;background:transparent;color:var(--v-text-1);font:inherit;font-size:12px;line-height:1.25;cursor:pointer;text-align:center;overflow-wrap:anywhere;position:relative; }
.v-appearance-colors { margin:14px 0 20px;row-gap:14px; }
.v-appearance-swatch { width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center; }
.v-appearance-color[aria-pressed="true"] .v-appearance-swatch { outline:2px solid var(--v-text-1);outline-offset:4px; }
.v-swatch-check { font-size:24px;color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / 35%); }
.v-appearance-color:disabled { opacity:.45;cursor:default; }
.v-appearance-custom { border:1px solid var(--v-line)!important;border-radius:18px!important;background:var(--v-surface-1); }
.v-appearance-rainbow { width:36px;height:36px;flex:none;border-radius:50%;background:conic-gradient(#e76566,#ebbf51,#5aae70,#4f9cd1,#9271cc,#e76566); }
/* The manual editor covers the parent's full lower width, preserving its
   preview. A single square and its brightness track share one centered width. */
.v-shell-page dialog.v-custom-color-panel[open] {
  --v-color-pad:clamp(16px,3.5vw,24px);--v-color-reserved:calc(136px + var(--v-color-pad));--v-color-min:96px;
  border-radius:24px;
}
.v-shell-page dialog.v-custom-color-panel[open] > .v-breakdown-dialog__surface {
  height:100%;max-height:100%;padding:0;background:var(--v-window-background);
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.v-shell-page dialog.v-custom-color-panel[open] .v-breakdown-dialog__header {
  display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;
  min-height:0;padding:12px var(--v-color-pad) 8px;align-items:center;
}
.v-shell-page dialog.v-custom-color-panel[open] .v-breakdown-dialog__header > .v-dialog-save { grid-column:3;grid-row:1; }
.v-shell-page dialog.v-custom-color-panel[open] .v-appearance-tools { display:none; }
.v-shell-page dialog.v-custom-color-panel[open] .v-dialog-body {
  margin:0;padding:8px var(--v-color-pad) var(--v-color-pad);display:flex;flex-direction:column;align-items:center;
}
.v-custom-color-panel .v-cat-color-picker {
  --v-color-size:max(var(--v-color-min),min(340px,calc(var(--v-picker-height,420px) - var(--v-color-reserved)),calc(var(--v-picker-width,340px) - 2 * var(--v-color-pad))));
  width:var(--v-color-size);flex:none;margin-block:auto;grid-template-columns:minmax(0,1fr);gap:16px;
}
.v-custom-color-panel .v-cat-square {
  width:100%;height:auto;aspect-ratio:1;border-radius:16px;
  background:linear-gradient(to bottom,transparent,#fff),linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);
  background:linear-gradient(in srgb to bottom,rgb(255 255 255 / 0%),#fff),linear-gradient(in srgb to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);
}
.v-custom-color-panel .v-cat-brightness { width:100%;min-width:0;height:44px;margin:0;padding:0;
  appearance:none;-webkit-appearance:none;border:0;background:transparent; }
@media(any-pointer:fine) {
  .v-shell-page dialog.v-custom-color-panel[open] .v-dialog-body { scrollbar-gutter:stable both-edges; }
}
@media(max-height:520px) {
  .v-shell-page dialog.v-custom-color-panel[open] { --v-color-pad:12px;--v-color-reserved:124px;--v-color-min:72px; }
  .v-shell-page dialog.v-custom-color-panel[open] .v-breakdown-dialog__header { padding-block:4px 0; }
  .v-shell-page dialog.v-custom-color-panel[open] .v-dialog-body { padding-top:6px; }
  .v-custom-color-panel .v-cat-color-picker { gap:8px; }
}
.v-cat-order-controls { display:flex;gap:12px;align-items:center; }
.v-cat-order-controls button { min-height:44px;padding:9px 14px;flex:1;border:0;border-radius:15px;color:var(--v-text-1);font:inherit;font-size:14px;cursor:pointer; }
.v-cat-delete-group { margin-top:20px;min-height:44px;width:100%;border:1px solid var(--v-line);border-radius:16px;color:var(--v-danger);background:var(--v-surface-1);font:inherit;cursor:pointer; }
.v-cat-add-menu { --v-dialog-width:340px!important; }
.v-cat-add-menu .v-choice-row { border:1px solid var(--v-line);border-radius:16px;margin-bottom:12px;background:var(--v-surface-1); }
.v-cat-settings-toolbar { position:sticky;top:0;z-index:2;background:var(--v-canvas);padding:4px 0; }
.v-cat-settings-list { margin-top:18px; }
.v-stat-category-panels .v-cat-search { margin:0!important; }
.v-stat-category-panels .v-operations-filters { align-items:stretch; }
.v-stat-category-panels .v-filter-choice { min-height:44px; }
.v-statistics-screen .v-statistics-controls.has-category-tools { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center; }
.v-statistics-controls.has-category-tools .v-breakdown-tabs { grid-column:1/-1; }
.v-statistics-controls.has-category-tools .v-statistics-period { justify-self:start; }
.v-stat-category-actions[hidden] { display:none; }
.v-search-tools .v-glass-control { position:relative; }
.v-search-tools [data-tool-active="true"]::after { content:'';position:absolute;top:7px;inset-inline-end:7px;width:5px;height:5px;border-radius:50%;background:var(--v-positive); }
.v-choice-section__caption { flex:1;min-width:0; }
.v-choice-section__caption h3 { overflow-wrap:anywhere; }
.v-choice-section__caption small { display:block;margin-top:3px;color:var(--v-text-2);font-size:12px; }
.v-choice-section__count { min-width:24px;min-height:24px;display:grid;place-items:center;border-radius:50%;font-size:12px;color:var(--v-text-2);background:var(--v-surface-2); }
[data-filter-category-list] .v-choice-section:has(.v-choice-section__heading) { border:1px solid var(--v-line);border-radius:18px;background:var(--v-surface-1);overflow:hidden; }
[data-filter-category-list] .v-choice-section__heading { padding:12px 14px;margin:0;border-bottom:1px solid var(--v-line); }
[data-filter-category-list] .v-choice-section__heading + .v-choice-rows { border:0;border-radius:0;background:transparent; }
.v-shell-page [data-filter-category-list] .v-choice-whole { min-height:44px; }
.v-stat-group-heading { display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 9px; }
.v-stat-group-heading h3 { font-size:16px;font-weight:600;margin:0; }
.v-stat-group-heading strong { font-size:14px;font-weight:600;text-align:end; }
.v-stat-group { margin-bottom:22px; }
.v-stat-group .v-category-stat-row { border-radius:0;background:transparent; }
.v-stat-group__rows { border:1px solid var(--v-line);border-radius:18px;background:var(--v-surface-1);overflow:hidden; }
@media(max-width:359px) { .v-appearance-glyphs,.v-appearance-colors { gap:8px; }.v-appearance-color { font-size:11px; }
 .v-shell-page :is(.v-taxonomy-dialog,.v-appearance-dialog,.v-cat-editor) > .v-breakdown-dialog__surface { padding:16px; }
 .v-choice-row { padding-inline:12px!important;gap:10px!important; }.v-choice-whole { font-size:11px;padding-inline:8px; }
}
@media(max-height:520px) { .v-shell-page :is(.v-taxonomy-dialog,.v-appearance-dialog,.v-cat-editor) .v-breakdown-dialog__header { grid-template-columns:36px minmax(0,1fr) auto;gap:10px; }
 .v-shell-page :is(.v-taxonomy-dialog,.v-appearance-dialog,.v-cat-editor) .v-breakdown-dialog__header > .v-card-title { grid-column:2;grid-row:1;font-size:18px;margin:0; }
 .v-appearance-tools .v-cat-live-preview { padding:9px 12px;margin-top:10px; }.v-appearance-tools .v-cat-live-preview .v-cat-tile { width:36px;height:36px; }
}

/* Header actions inherit the existing mirrored paint, with explicit host geometry. */
.v-cat-toolbar-actions .v-dialog-save { border:0;border-radius:999px;background:transparent;color:var(--v-accent-ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer; }
.v-cat-settings-toolbar { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.v-cat-settings-toolbar > .v-cat-tabs { flex:none;width:auto;margin:0;border:0;border-radius:999px;background:transparent;box-shadow:none; }
.v-cat-settings-toolbar .v-cat-tabs button { flex:none;min-height:44px;white-space:nowrap;overflow-wrap:normal;padding-inline:14px; }
.v-cat-settings-toolbar .v-cat-toolbar-actions { justify-content:flex-end; }
.v-cat-settings-toolbar > .v-breakdown-tabs { flex:0 1 280px;min-width:0;margin:0; }
@media(max-width:719px) { .v-cat-settings-toolbar > .v-breakdown-tabs { flex:0 1 220px; } }
.v-cat-settings [data-cat-settings-search-panel] { margin:12px 0 0; }
.v-cat-settings [data-cat-settings-search-panel] .v-cat-search { margin:0; }

/* Wide windows keep the approved tile design with readable artwork. */
@media(min-width:720px) and (min-height:521px) {
 .v-appearance-glyphs { grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:12px; }
 .v-appearance-glyph { min-height:78px; }
 .v-appearance-glyph__tile { width:64px;height:64px;border-radius:17px; }
 .v-appearance-glyph__tile .v-icon { width:36px;height:36px; }
 .v-statistics-screen .v-statistics-controls.has-category-tools { grid-template-columns:auto minmax(0,1fr) auto; }
 .v-statistics-controls.has-category-tools .v-breakdown-tabs { grid-column:1; }
}
/* Shared header hosts keep their existing mirrored material. */
.v-shell-page .v-window-commit.v-dialog-save { min-height:44px;min-width:0;width:auto;padding:10px 19px;border-radius:999px;font:inherit;font-size:15px;font-weight:600;line-height:1.3;justify-self:end; }
.v-shell-page .v-window-commit.v-dialog-save .v-icon { width:18px;height:18px; }
.v-shell-page .v-window-dismiss .v-icon { transform:none; }
@media(max-width:719px) { .v-shell-page .v-window-commit.v-dialog-save { padding-inline:15px;font-size:14px; } }

.v-cat-archive-link { display:block;margin:18px 0 0;padding:8px 0;border:0;background:transparent;color:var(--v-text-2);font:inherit;font-size:13px;text-align:start;cursor:pointer; }
.v-cat-archive-link[hidden] { display:none; }
.v-cat-actions-open { flex:none;min-width:44px;min-height:44px;margin-inline-start:auto; }
.v-cat-draft-state { color:var(--v-text-2); }
@media(max-width:359px) { .v-cat-settings-toolbar { gap:8px; }.v-cat-settings-toolbar .v-cat-tabs button { padding-inline:10px; }.v-cat-toolbar-actions .v-dialog-save { padding-inline:12px!important; } }
/* The compact phone toolbar keeps both type captions and the Add hit target. */
@media(max-width:479px) {
 .v-shell-page .v-cat-toolbar-actions .v-window-commit.v-dialog-save { display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px;flex-shrink:0;aspect-ratio:1;border-radius:50%;padding:0!important;gap:0; }
 .v-cat-toolbar-actions .v-dialog-save [data-cat-text="add"] { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
 .v-shell-page .v-cat-toolbar-actions .v-window-commit.v-dialog-save .v-icon { width:20px;height:20px; }
}
