#catalog-overlay { z-index: 55; }
.catalog-sheet .sheet-head { margin-bottom: 12px; }
.catalog-intro { color: var(--muted); font-size: 12px; line-height: 1.65; margin-bottom: 18px; }
.catalog-scope { margin-bottom: 9px; }
.catalog-entry-kind { margin-bottom: 17px; }
.catalog-scope button, .catalog-entry-kind button { font-size: 13px; }
.catalog-entry-kind .selected[data-catalog-kind="income"] { color: var(--green); }
.catalog-entry-kind .selected[data-catalog-kind="expense"] { color: var(--red); }
.catalog-add { margin-top: 2px; }
.catalog-add .icon { width: 19px; height: 19px; }
.catalog-list-tools { display: flex; justify-content: space-between; align-items: center; gap: 9px; margin: 21px 0 10px; }
.catalog-status { display: flex; gap: 5px; min-width: 0; }
.catalog-status button { min-height: 42px; padding: 8px 10px; border-radius: var(--ui-control-radius,12px); font-size: 12px; color: var(--muted); }
.catalog-status .selected { color: var(--ink); background: var(--ui-nested,#f0f3f8); font-weight: 600; }
.catalog-count { color: var(--muted); font-size: 12px; padding-right: 5px; font-variant-numeric: tabular-nums; }
.catalog-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.catalog-item { padding: var(--ui-inset,16px) var(--ui-inset,16px) 8px; border: 1px solid var(--line); border-radius: var(--ui-card-radius,18px); background: var(--paper); min-width: 0; }
.catalog-item-main { display: flex; align-items: center; gap: 10px; }
.catalog-item-icon { display: inline-flex; align-items: center; justify-content: center; width: 33px; height: 33px; border-radius: var(--ui-control-radius,12px); color: var(--muted); background: var(--ui-nested,#f0f3f8); flex: none; }
.catalog-item-icon .icon { width: 20px; height: 20px; }
.catalog-item-name { display: block; font-size: 14px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.catalog-item-actions { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 10px; padding-top: 6px; border-top: 1px solid var(--line); }
.catalog-item-actions button { min-height: 44px; font-size: 12px; padding: 4px 2px; }
.catalog-delete { color: var(--red); }
.catalog-list.catalog-tree { padding: 0; }
.catalog-tree .catalog-item-copy { min-width: 0; }
.catalog-item-status { display: block; margin-top: 2px; font-size: 11px; line-height: 1.45; color: var(--muted); }
.catalog-tree .catalog-item-actions { gap: 8px; }
.catalog-tree .catalog-item-actions button { font-size: 11px; white-space: normal; }
.catalog-add-child { display: inline-flex; align-items: center; justify-content: center; gap: 3px; }
.catalog-add-child .icon { width: 14px; height: 14px; flex: none; }
.catalog-children { list-style: none; padding: 0 0 0 13px; margin: 6px 0 2px 8px; border-left: 2px solid #e3eaf5; }
.catalog-item.catalog-subitem { padding: 11px 0 3px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.catalog-subitem:first-child { border-top: 0; }
.catalog-subitem .catalog-item-main { gap: 8px; }
.catalog-subitem .catalog-item-icon { width: 27px; height: 27px; border-radius: 8px; background: var(--paper); }
.catalog-subitem .catalog-item-icon .icon { width: 17px; height: 17px; }
.catalog-subitem .catalog-item-name { font-size: 13px; font-weight: 550; }
.catalog-subitem .catalog-item-actions { border: 0; margin: 0 0 0 35px; padding: 0; justify-content: flex-start; gap: 18px; }
.catalog-parent-context > .catalog-item-main .catalog-item-name { color: var(--muted); }
.catalog-parent-context > .catalog-item-main .catalog-item-icon { background: #f6f8fc; }
#catalog-parent-field { min-width: 0; }
#catalog-parent-hint { margin-top: 7px; }
.catalog-empty { padding: 22px 16px; background: var(--paper); border: 1px dashed #cbd6e8; border-radius: var(--ui-card-radius,18px); }
.catalog-empty h3 { font-size: 16px; }
.catalog-empty p { margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.catalog-footnote { margin: 16px 2px 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.catalog-context { color: var(--muted); font-size: 12px; line-height: 1.6; margin-top: 8px; }
#catalog-name { font-size: 16px; }
#catalog-editor .form-actions { display: grid; gap: 9px; }
#catalog-editor .field-label { margin-top: 18px; }
.member-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;min-height:0;aspect-ratio:1;padding:0;border-radius:50%;overflow:hidden;background:#edf2fa;color:#587091;font-size:18px;line-height:1}
.member-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.member-avatar.large{width:72px;height:72px;font-size:38px}
.member-avatar-editor{margin:18px 0;min-width:0}
.member-avatar-presets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:12px}
.member-avatar-option{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:6px;border:1.5px solid transparent;border-radius:var(--ui-control-radius,12px);background:var(--ui-nested,#f0f3f8)}
.member-avatar-option[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft)}
.member-avatar-option:active{background:var(--control-pressed)}
.member-avatar-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.member-avatar-actions>*{flex:1;min-width:0;white-space:normal}
.member-avatar-file{display:none}
.plan-meta .plan-assignee{display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow-wrap:anywhere}
.plan-meta .member-avatar{width:20px;height:20px;padding:0;border-radius:50%;font-size:12px}
@media(max-width:359px){.member-avatar-presets{grid-template-columns:repeat(5,minmax(0,1fr))}.member-avatar-actions{flex-direction:column}.member-avatar-actions>*{flex:auto}}
.catalog-icon-disclosure { margin-top: 18px; border: 1px solid var(--line); background: var(--paper); border-radius: 13px; padding: 10px; }
.catalog-icon-disclosure > summary { display: flex; align-items: center; gap: 10px; min-height: 46px; list-style: none; cursor: pointer; border-radius: 7px; }
.catalog-icon-disclosure > summary::-webkit-details-marker { display: none; }

.catalog-icon-preview { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; background: var(--blue-soft); color: var(--blue); border-radius: var(--ui-control-radius,12px); flex: none; }
.catalog-icon-preview .icon { width: 24px; height: 24px; }
.catalog-icon-description { flex: 1; min-width: 0; line-height: 1.5; }
.catalog-icon-description > span { display: block; color: var(--muted); font-size: 10px; }
.catalog-icon-description > b { display: block; color: var(--ink); font-weight: 600; font-size: 13px; overflow-wrap: anywhere; }
.catalog-icon-select { font-size: 11px; color: var(--blue); flex: none; padding: 7px 0; }
.catalog-icon-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; margin-top: 13px; }
.catalog-icon-option { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 46px; padding: 6px 0; border-radius: var(--ui-control-radius,12px); border: 1.5px solid transparent; color: var(--muted); background: var(--ui-nested,#f0f3f8); }
.catalog-icon-option .icon { width: 23px; height: 23px; }
.catalog-icon-option.selected { color: var(--blue); border-color: var(--blue); background: var(--blue-soft); }
.catalog-icon-disclosure > .hint { margin-top: 12px; font-size: 10px; }
@media (max-width: 359px) {
  .catalog-sheet .sheet-head h2 { font-size: 21px; }
  .catalog-list { padding: 0; }
  .catalog-add { padding-left: 8px; padding-right: 8px; font-size: 14px; }
  .catalog-status button { padding-left: 8px; padding-right: 8px; font-size: 11px; }
  .catalog-icon-disclosure { padding: 9px; }
  .catalog-icon-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
/* Parent categories lead to their own list; saved choices remain native fields. */
.category-pick{position:relative}
.category-pick .category-selected-child{font-size:12px;line-height:1.3;overflow-wrap:anywhere;color:var(--muted)}
.category-pick .category-branch-chevron{position:absolute;right:8px;top:5px;font-size:20px;color:var(--muted)}
.category-choice-sheet{max-width:540px}
.category-choice-sheet .sheet-head{gap:10px}
.category-choice-sheet .sheet-head h2{flex:1;min-width:0;overflow-wrap:anywhere;font-size:20px}
.category-choice-heading-icon{display:flex;align-items:center;color:var(--blue)}
.category-choice-heading-icon>.icon{width:25px;height:25px}
.category-choice-list{display:grid;gap:7px}
.category-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);text-align:left}
.category-choice.selected{border-color:var(--blue);background:var(--blue-soft)}
.category-choice:disabled{opacity:.55}
.category-choice:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.category-choice-symbol{display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;color:var(--cat)}
.category-choice-symbol>.icon{width:23px;height:23px}
.category-choice-copy{display:block;flex:1;min-width:0;overflow-wrap:anywhere}
.category-choice-copy>b{font-size:14px;font-weight:550;line-height:1.4}
.category-choice-copy>small{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:var(--muted)}
.category-choice>.icon{width:17px;height:17px;flex:none;color:var(--muted)}
.category-choice-tick{font-size:17px;color:var(--blue)}
html[data-theme=dark] .category-choice-symbol{color:color-mix(in srgb,var(--cat) 64%,var(--muted));background:var(--theme-raised);border-radius:9px}
html[data-theme=dark] .category-choice.selected{background:var(--theme-raised);border-color:var(--blue)}
html[data-theme=dark] .category-choice-heading-icon{color:var(--muted)}

/* Catalogues and category selection share the app's control and nesting scale. */
.catalog-sheet .sheet-head h2,.category-choice-sheet .sheet-head h2{font-size:22px;line-height:1.25}
.catalog-sheet .sheet-head,.category-choice-sheet .sheet-head{gap:8px}
.catalog-sheet :is(.catalog-status button,.catalog-item-actions button,.member-avatar-actions button){min-width:var(--ui-touch,44px);min-height:var(--ui-touch,44px)}
.catalog-sheet :is(.catalog-scope button,.catalog-entry-kind button,.catalog-status button,.catalog-item-actions button){font-size:14px;line-height:1.4}
.catalog-list-tools{margin:var(--ui-gap,12px) 0}
.catalog-list{gap:var(--ui-gap,12px)}
.catalog-sheet .catalog-item-actions{flex-wrap:wrap;column-gap:8px;row-gap:0}
.catalog-sheet .catalog-tree .catalog-item-actions button{font-size:12px}
.catalog-sheet .catalog-children{padding:0 12px;margin:var(--ui-gap,12px) 0 4px;border:0;border-radius:var(--ui-nested-radius,14px);background:var(--ui-nested,#f0f3f8)}
.catalog-sheet .catalog-item.catalog-subitem{padding:12px 0 4px;background:transparent;border-radius:0}
.catalog-sheet .catalog-subitem .catalog-item-name{font-size:14px}
.catalog-sheet .catalog-subitem .catalog-item-actions{margin-left:0;justify-content:flex-start;gap:12px}
#catalog-overlay .catalog-icon-disclosure{padding:0 12px;border:0;border-radius:var(--ui-nested-radius,14px);background:var(--ui-nested,#f0f3f8)}
.catalog-icon-disclosure>summary{min-height:var(--ui-touch,44px);padding:10px 0}
.catalog-icon-description>b{font-size:14px}
.catalog-icon-select{font-size:12px}
.catalog-sheet :is(.catalog-icon-grid,.member-avatar-presets){grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px;padding-bottom:12px}
.catalog-sheet :is(.catalog-icon-option,.member-avatar-option){min-width:44px;min-height:var(--ui-touch,44px);border-radius:var(--ui-control-radius,12px)}
.catalog-sheet .member-avatar-editor{padding:12px;border-radius:var(--ui-nested-radius,14px);background:var(--ui-nested,#f0f3f8)}
.catalog-sheet .member-avatar-editor h3{font-size:16px}
.catalog-sheet .member-avatar-presets{padding-bottom:0}
#catalog-editor .field-label{margin-top:var(--ui-inset,16px);font-size:12px}
#catalog-editor .form-actions{gap:var(--ui-gap,12px);margin-top:var(--ui-inset,16px)}
.category-choice-list{gap:4px;padding:8px;border-radius:var(--ui-nested-radius,14px);background:var(--ui-nested,#f0f3f8)}
.category-choice{min-height:56px;padding:10px 8px;border-color:transparent;border-radius:var(--ui-control-radius,12px);background:transparent}
.category-choice.selected{border-color:var(--blue);background:var(--paper)}
.category-choice-heading-icon>.icon{width:23px;height:23px}
