.hierarchy-toggle { display:block; width:max-content; max-width:100%; border:0; background:transparent; color:var(--accent,#b91c3c); font:inherit; font-size:.76rem; cursor:pointer; padding:6px 0; text-align:start; }
.hierarchy-toggle::before { content:'▸'; display:inline-block; margin-inline-end:7px; transform:rotate(180deg); }
.hierarchy-toggle[aria-expanded="true"]::before { transform:rotate(90deg); }
.hierarchy-toggle:focus-visible,.hierarchy-disclosure>summary:focus-visible { outline:2px solid var(--accent,#b91c3c); outline-offset:3px; border-radius:4px; }
.hierarchy-table .hierarchy-parent>td { background:var(--workspace-muted,#f4f5f7); font-weight:700; border-top:2px solid var(--border,#ddd); }
.hierarchy-table .hierarchy-child>td:nth-child(2) { padding-inline-start:28px; border-inline-start:3px solid var(--border,#ddd); }
.hierarchy-table th,.hierarchy-table td { overflow-wrap:anywhere; }
.hierarchy-table small { display:block; font-size:.7rem; font-weight:400; margin-top:4px; }
.hierarchy-failed { display:inline-block; font-size:.73rem; color:var(--danger,#b91c1c); background:var(--danger-soft,#fef2f2); padding:2px 7px; border-radius:5px; margin-inline:5px; }
.hierarchy-list { list-style:none; padding:0; margin:18px 0; }
.hierarchy-list>li { padding:10px 0; border-bottom:1px solid var(--border,#ddd); line-height:1.9; }
.hierarchy-disclosure>summary { cursor:pointer; display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-weight:700; padding:4px 0; }
.hierarchy-disclosure>summary::before { content:'+'; color:var(--accent,#b91c3c); width:18px; flex-shrink:0; }
.hierarchy-disclosure[open]>summary::before { content:'−'; }
.hierarchy-disclosure>summary::-webkit-details-marker { display:none; }
.hierarchy-disclosure>summary>span:first-of-type { flex:1; min-width:0; }
.hierarchy-count { display:inline-block; font-size:.72rem; font-weight:400; color:var(--text-dim,#555); background:var(--surface-strong,#f2f2f2); padding:1px 8px; border-radius:6px; white-space:nowrap; }
.hierarchy-children { margin:12px 0 4px; padding-inline-start:30px; border-inline-start:2px solid var(--border,#ddd); font-size:.84rem; }
.hierarchy-children>li { padding:7px 4px; border-bottom:1px solid var(--border,#ddd); overflow-wrap:anywhere; }
.hierarchy-price { margin-inline-start:auto; white-space:nowrap; font-variant-numeric:tabular-nums; float:left; font-size:.8rem; font-weight:600; }
.hierarchy-card-children { margin-inline-start:22px; padding-inline-start:12px; border-inline-start:2px solid var(--border,#ddd); }
.hierarchy-counts { font-size:.8rem; color:var(--text-dim,#555); margin-top:8px; }
.hierarchy-table [hidden], [data-hierarchy-body][hidden] { display:none!important; }
.plan-paper .hierarchy-parent>td { background:#f5f5f5; }
.plan-paper .hierarchy-toggle { color:#333; }
@media(max-width:600px) { .hierarchy-disclosure>summary { gap:7px; } .hierarchy-table .hierarchy-child>td:nth-child(2) { padding-inline-start:15px; } .hierarchy-card-children { margin-inline-start:8px; padding-inline-start:8px; } }
@media print {
  tbody[data-hierarchy-body][hidden] { display:table-row-group!important; }
  div[data-hierarchy-body][hidden] { display:block!important; }
  .hierarchy-toggle { display:none; }
  .hierarchy-disclosure::details-content { content-visibility:visible!important; display:block!important; }
  .hierarchy-children { display:block!important; }
  .hierarchy-disclosure>summary::before { content:''; }
  .hierarchy-table .hierarchy-parent { break-after:avoid; }
}

.hierarchy-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:30px; }
.hierarchy-list>.hierarchy-group { grid-column:1/-1; }
.hierarchy-disclosure>.hierarchy-children { max-height:460px; overflow-y:auto; overscroll-behavior:contain; list-style-type:persian; }
@media(max-width:600px) {
  .hierarchy-list { grid-template-columns:1fr; }
  .hierarchy-disclosure>summary>span:first-of-type { flex-basis:calc(100% - 35px); }
  .hierarchy-disclosure>summary>.hierarchy-count { margin-inline-start:25px; }
  .hierarchy-disclosure>.hierarchy-children { max-height:55vh; }
}
@media print { .hierarchy-list { display:block; } .hierarchy-disclosure>.hierarchy-children { max-height:none; overflow:visible; } .plan-paper details::details-content { content-visibility:visible!important; display:block!important; } }
