.hierarchy-picker { display:block; min-width:0; }
.hierarchy-groups { border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.hierarchy-picker label { display:flex; align-items:center; gap:9px; margin:0; font-size:14px; font-weight:400; min-height:32px; overflow-wrap:anywhere; }
.hierarchy-picker input[type=checkbox] { width:18px; height:18px; min-height:18px; padding:0; margin:0; flex-shrink:0; accent-color:var(--jade); }
.hierarchy-fold { height:34px; border:0; background:transparent; color:var(--ink); font-size:20px; border-radius:4px; }
.hierarchy-fold:hover,.hierarchy-fold-group:hover { background:#e4f1ec; }
.hierarchy-summary { font-size:13px; }
.hierarchy-picker [hidden] { display:none!important; }
.hierarchy-picker button:disabled { cursor:not-allowed; opacity:.6; }
.pack-basic-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pack-basic-filters .field { min-width:0; }
.pack-hierarchy-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:22px 0; }
.pack-hierarchy-filters h3 { font-size:15px; margin:0 0 10px; }
.pack-hierarchy-filters>section { min-width:0; }
@media(max-width:650px){.pack-basic-filters{gap:8px}.pack-basic-filters select{padding-left:4px;padding-right:2px;min-width:0}.pack-hierarchy-filters{grid-template-columns:minmax(0,1fr);gap:20px}}
@media(pointer:coarse){.hierarchy-picker label{min-height:44px}.hierarchy-fold{height:44px}}
.hierarchy-groups { padding:8px 10px; background:#fff; }
.hierarchy-group+.hierarchy-group { border-top:0; }
.hierarchy-parent,.hierarchy-all { display:flex; align-items:center; gap:4px; background:transparent; padding:0; min-height:38px; }
.hierarchy-all { padding-bottom:8px; margin-bottom:6px; border-bottom:1px solid var(--line); }
.hierarchy-parent label,.hierarchy-all label { flex:1; font-weight:400; }
.hierarchy-picker input[type=radio] { width:18px; height:18px; min-height:18px; padding:0; margin:0; flex-shrink:0; accent-color:var(--jade); }
.hierarchy-picker .hierarchy-fold,.hierarchy-spacer { width:28px; flex:0 0 28px; }
.hierarchy-fold-group { display:flex; align-items:center; gap:4px; width:100%; border:0; padding:0; background:transparent; color:var(--ink); text-align:left; font:inherit; font-size:14px; min-height:38px; }
.hierarchy-fold-group>span { width:28px; flex:0 0 28px; text-align:center; font-size:20px; }
.hierarchy-details { padding:0 0 0 32px; background:transparent; }
.hierarchy-picker .hierarchy-child { min-height:38px; padding:4px 8px 4px 28px; border-radius:5px; }
.hierarchy-child:has(input:checked) { background:#eefaf5; }
.hierarchy-summary { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-top:10px; }
.hierarchy-summary .btn { margin:0; }
.hierarchy-compact { width:100%; display:flex; align-items:center; gap:8px; }
.hierarchy-trigger { display:flex; justify-content:space-between; align-items:center; gap:12px; flex:1; min-width:0; min-height:44px; padding:9px 12px; border:1px solid #cbd7dc; border-radius:8px; background:#fff; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.hierarchy-trigger:focus-visible,.hierarchy-trigger[aria-expanded=true] { outline:2px solid var(--jade); outline-offset:1px; }
.hierarchy-trigger span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hierarchy-compact .hierarchy-summary { margin:0; flex:none; }
.hierarchy-compact [data-picker-count] { display:none; }
.hierarchy-compact [data-picker-details] { min-height:44px; white-space:nowrap; }
.hierarchy-popover { position:fixed; inset:auto; margin:0; padding:0; box-sizing:border-box; overflow:auto; overscroll-behavior:contain; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); box-shadow:0 10px 30px #17384826; }
.hierarchy-popover .hierarchy-groups { border:0; }
.master-toolbar:has(.hierarchy-compact) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,1fr) auto; }
.master-toolbar:has(.hierarchy-compact) .field { min-width:0; }
.master-toolbar:has(.hierarchy-compact) input,.master-toolbar:has(.hierarchy-compact) select,.master-toolbar:has(.hierarchy-compact)>button { min-height:44px; }
@media(max-width:1100px){.master-toolbar:has(.hierarchy-compact){grid-template-columns:repeat(2,minmax(0,1fr))}.master-toolbar:has(.hierarchy-compact)>button{justify-self:end}}
@media(max-width:600px){.master-toolbar:has(.hierarchy-compact){grid-template-columns:minmax(0,1fr)}.master-toolbar:has(.hierarchy-compact)>button{justify-self:stretch}}
.hierarchy-dialog { width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 40px); box-sizing:border-box; overflow:auto; background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:12px; padding:24px; }
.hierarchy-dialog::backdrop { background:#17384870; }
.hierarchy-dialog-title { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.hierarchy-dialog-title h2 { margin:0; font-size:18px; }
.hierarchy-dialog-title>span { white-space:nowrap; font-size:12px; color:var(--muted); }
.hierarchy-selected-group { padding:14px 0; border-bottom:1px solid var(--line); }
.hierarchy-dialog .hierarchy-selected-group h3 { margin:0 0 7px; font-size:15px; }
.hierarchy-selected-group p { margin:0; line-height:1.7; overflow-wrap:anywhere; color:var(--muted); }
.hierarchy-dialog .actions { justify-content:flex-end; margin-top:20px; }
@media(pointer:coarse){.hierarchy-picker .hierarchy-fold,.hierarchy-spacer{width:44px;flex-basis:44px}.hierarchy-fold-group,.hierarchy-picker .hierarchy-child{min-height:44px}}
.style-color-line { display:flex; align-items:center; gap:10px; }
.style-color-line select { flex:1; min-width:0; }
.style-no-color { display:inline-flex!important; align-items:center; gap:6px; margin:0!important; white-space:nowrap; }
.field .style-no-color input { width:16px; height:16px; padding:0; margin:0; }
.style-template { margin-top:16px; }
.style-template select { max-width:460px; margin:8px; }
.style-template .actions { margin-top:10px; }
.style-template-dialog { width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 48px); box-sizing:border-box; overflow:auto; padding:24px; color:var(--ink); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }
.style-template-dialog::backdrop { background:#001c2c88; }
.style-template-dialog h2 { margin:0 0 16px; font-size:1.15rem; }
.style-template-dialog p { line-height:1.7; }
.style-template-dialog label { display:block; font-weight:700; }
.style-template-dialog select { width:100%; margin-top:8px; }
.style-template-dialog .actions { justify-content:flex-end; flex-wrap:wrap; margin-top:20px; }
.style-template-dialog [data-template-error] { color:var(--red); }
.master-checkbox-line { display:flex!important; align-items:center; gap:8px; min-height:44px; }
.field .master-checkbox-line input { width:18px; height:18px; padding:0; margin:0; }
