/* Category management: fluid, mobile-first layout */
.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:18px;align-items:start}
.category-group{padding:20px;min-width:0}
.category-group .surface-head{gap:12px;flex-wrap:wrap}
.category-items{display:grid;gap:8px;margin-top:14px}
.category-item{display:flex;gap:10px;align-items:center;padding:11px 8px;border-radius:12px;border:1px solid var(--border,#e6eafa);min-width:0}
.category-avatar{width:40px;height:40px;display:grid;place-items:center;font-size:20px;border-radius:12px;flex:0 0 auto}
.category-info{display:grid;min-width:0;flex:1;gap:3px}
.category-info strong{font-size:13px;overflow-wrap:anywhere}
.category-info small{color:var(--text-muted,#8490a8);font-size:11px}
.category-item .small-btn{flex:0 0 auto}
.category-remove{color:#e05a74}
.category-picker{display:flex;gap:8px;align-items:center;min-width:0}
.category-picker select{min-width:0;flex:1;width:100%}
.category-picker .button{padding-inline:12px;min-width:44px;min-height:42px;flex:0 0 auto}
.inline-category-panel{border:1px solid var(--border,#dde7f5);background:var(--surface,#fff);border-radius:12px;padding:12px;margin-top:9px;display:grid;gap:8px}
.inline-category-panel[hidden]{display:none!important}
.inline-category-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline-category-options input[type=color]{width:44px;height:42px;padding:3px;flex:0 0 44px}
@media(max-width:460px){.category-group{padding:15px}.category-item{flex-wrap:wrap}.category-item .small-btn{min-height:36px}.category-info{flex-basis:calc(100% - 90px)}}

@media(max-width:959px){.main-nav .nav-item[data-nav="categories"]{display:none}}
html[data-theme="dark"] .category-item{border-color:#293b55}
html[data-theme="dark"] .inline-category-panel{background:#132239;border-color:#34425b}
/* V7.2: mobile-first, searchable, locally bundled category icon chooser */
.category-vector{width:1.15em;height:1.15em;display:block;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.85;flex-shrink:0}
.category-avatar .category-vector,.category-badge .category-vector{width:22px;height:22px}
.tx-icon .category-vector{width:20px;height:20px}
.icon-picker{min-width:0;grid-column:1/-1;display:grid;gap:10px}
.icon-picker-selection{display:flex;align-items:center;gap:12px;min-width:0;padding:11px;background:var(--surface-secondary,#f7f9fc);border:1px solid var(--border,#e5e9f2);border-radius:13px}
.icon-preview{display:grid;place-items:center;width:51px;height:51px;flex:0 0 51px;background:#e9f0ff;color:#2769dd;border-radius:13px;font-size:27px}
.icon-preview .category-vector{width:27px;height:27px}
.icon-picker-selection-text{flex:1;min-width:0;display:grid;gap:3px}
.icon-picker-selection-text strong{font-size:12.5px}
.icon-picker-selection-text small{font-size:10.5px;color:var(--muted,#818a9a);line-height:1.35}
.icon-picker-expand{height:38px;padding-inline:11px;white-space:nowrap}
.icon-picker-body{display:grid;gap:9px;min-width:0}
.icon-picker-body[hidden]{display:none!important}
.icon-picker-search-label{position:relative;display:flex;align-items:center}
.icon-picker-search-glyph{position:absolute;left:12px;font-size:21px;pointer-events:none;color:var(--muted,#7f8da8)}
.icon-picker-search-label input{height:42px;width:100%;padding:0 12px 0 35px;background:var(--surface,#fff);border-radius:11px;border:1px solid var(--border,#e5e9f2);font-size:12px;outline:none;color:var(--ink)}
.icon-picker-search-label input:focus{border-color:#3975f6;box-shadow:0 0 0 3px rgba(57,117,246,.1)}
.icon-picker-filters{display:flex;align-items:center;gap:6px;overflow-x:auto;max-width:100%;padding:0 0 5px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.icon-picker-filters button{font-size:11px;white-space:nowrap;padding:7px 10px;border:1px solid var(--border,#e5e9f2);background:var(--surface,#fff);color:var(--muted,#64748b);border-radius:30px;font-weight:700;flex:0 0 auto;min-height:34px}
.icon-picker-filters button.active{border-color:#3b75f6;background:#e9f0ff;color:#235fce}
.icon-picker-result{font-size:10.5px;color:var(--muted,#8b96aa);margin:0}
.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(43px,1fr));gap:6px;max-height:210px;min-height:76px;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 4px 2px;scrollbar-width:thin}
.icon-option{display:grid;place-items:center;aspect-ratio:1;min-height:43px;border-radius:11px;background:var(--surface,#fff);border:1px solid var(--border,#e1e7f1);font-size:22px;transition:background .12s,border-color .12s,transform .12s;color:var(--ink)}
.icon-option span{display:grid;place-items:center}
.icon-option .category-vector{width:23px;height:23px}
.icon-option:focus-visible{outline:3px solid #2563eb;outline-offset:1px}
.icon-option:hover{background:#eff5ff;border-color:#99baff}
.icon-option.selected{background:#e5efff;border:2px solid #2563eb;color:#2259bd}
.icon-picker-empty{grid-column:1/-1;display:grid;place-items:center;padding:22px 10px;color:var(--muted);font-size:12px;text-align:center}
.icon-picker-custom{display:grid;gap:6px;font-size:11.5px;color:var(--muted,#738298);font-weight:650}
.icon-picker-custom input{height:41px;width:100%;padding:0 11px;background:var(--surface,#fff);border:1px solid var(--border,#e5e9f2);border-radius:10px;font-size:18px;color:var(--ink)}
html[data-theme="dark"] .icon-picker-selection{background:#19283c;border-color:#35435a}
html[data-theme="dark"] .icon-preview{background:#26416b;color:#b4ccff}
html[data-theme="dark"] .icon-picker-filters button.active,html[data-theme="dark"] .icon-option.selected{background:#203f6a;border-color:#6e9cff;color:#b9d0ff}
html[data-theme="dark"] .icon-option:hover{background:#223951;border-color:#6789b7}
@media(max-width:520px){.icon-picker-selection{gap:9px;padding:8px}.icon-preview{width:43px;height:43px;flex-basis:43px}.icon-picker-selection-text small{font-size:9.5px}.icon-picker-expand{padding:0 8px;font-size:10px}.icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:5px;max-height:180px}.icon-option{min-height:42px}}
#categoryForm .modal-actions{position:sticky;bottom:-28px;z-index:5;background:var(--surface,#fff);margin:10px -28px -28px;padding:14px 28px max(20px,env(safe-area-inset-bottom,0px));box-shadow:0 -8px 22px rgba(12,33,67,.04)}
@media(max-width:760px){#categoryForm .modal-actions{bottom:-23px;margin:10px -20px -23px;padding:12px 20px max(18px,env(safe-area-inset-bottom,0px))}}
