/* Norhart calm layer: shared collapsible sections (works on light + dark pages).
   Markup: <section class="nh-cl" data-cl="key" data-open="0|1|d"><button class="nh-clh">Title</button><div class="nh-clb">…</div></section> */
.nh-cl:not(.nh-card):not(.nh-flat):not(.nh-resp):not(.nh-resp-lg){border-top:1px solid rgba(127,147,169,.18)}
.nh-cl:not(.nh-card):not(.nh-flat):not(.nh-resp):not(.nh-resp-lg):last-child{border-bottom:1px solid rgba(127,147,169,.18)}
.nh-clh{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:12px 2px;margin:0;background:none;border:0;border-radius:0;box-shadow:none;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nh-clh:focus-visible{outline:2px solid #2f8cff;outline-offset:2px;border-radius:6px}
.nh-clt{flex:1;min-width:0}
.nh-sub{font-weight:400;font-size:.85em;opacity:.6;margin-left:8px}
.nh-chev{flex:none;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.55;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s ease}
.nh-cl.open>.nh-clh .nh-chev,.nh-cl.open .nh-clh .nh-chev.self{transform:rotate(-135deg) translate(-2px,-2px)}
.nh-cl:not(.open)>.nh-clb{display:none}
.nh-cl.open>.nh-clb{animation:nhIn .2s ease}
@keyframes nhIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.nh-clb{padding:2px 2px 16px}
.nh-cl-tools{display:flex;justify-content:flex-end;margin:0 0 6px}
.nh-cl-tools button{background:none;border:0;color:inherit;opacity:.65;font:inherit;font-size:.85em;cursor:pointer;padding:6px 2px;min-height:32px;text-decoration:underline;text-underline-offset:3px}
.nh-cl-tools button:hover{opacity:1}
/* native <details> disclosures styled to match */
details.nh-dt{border-top:1px solid rgba(127,147,169,.16);margin-top:10px}
details.nh-dt>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:8px 0;font-weight:600;font-size:.92em;opacity:.8}
details.nh-dt>summary::-webkit-details-marker{display:none}
details.nh-dt>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s;opacity:.6}
details.nh-dt[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
details.nh-dt>summary:focus-visible{outline:2px solid #2f8cff;outline-offset:2px;border-radius:6px}
@media(prefers-reduced-motion:reduce){.nh-cl.open>.nh-clb{animation:none}.nh-chev,details.nh-dt>summary::after{transition:none}}

.nh-cl>.nh-h{margin:0!important;padding:0!important;font:inherit;letter-spacing:inherit}
.nh-cl>.nh-h>.nh-clh{font-size:inherit;font-weight:inherit;color:inherit}
.nh-cl:has(>.nh-h)>.nh-clh{display:none}
.nh-cl:has(>.nh-h).open>.nh-h .nh-chev{transform:rotate(-135deg) translate(-2px,-2px)}

.nh-card>.nh-clh{padding:0;min-height:32px}.nh-card>.nh-clb{padding:14px 0 0}
/* responsive section: collapsed behind a button on phones, always open from 768px */
.nh-resp{border:0}
.nh-resp>.nh-clh{width:auto;margin:0 auto 4px;padding:10px 20px;min-height:44px;border:1px solid rgba(127,147,169,.35);border-radius:999px;justify-content:center;font-size:.9rem}
.nh-resp>.nh-clb{padding:14px 0 0}
@media(min-width:768px){.nh-resp>.nh-clh{display:none}.nh-resp>.nh-clb{display:block!important;padding:0;animation:none}}
@media(max-width:767px){.nh-cl [data-aos]{opacity:1!important;transform:none!important}}

/* clickable heading rows (cards whose heading row also holds buttons) */
.nh-cl>[data-nh-row]{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nh-cl>[data-nh-row]>.nh-chev{margin-left:auto}
.nh-cl>[data-nh-row]:focus-visible{outline:2px solid #2f8cff;outline-offset:3px;border-radius:6px}
.nh-cl:not(.open)>[data-nh-row]{margin-bottom:0!important}
.nh-cl.open>[data-nh-row] .nh-chev{transform:rotate(-135deg) translate(-2px,-2px)}
.nh-card>.nh-clb.nh-pt{padding-top:14px}
.nh-nav-grp{padding:0}
.nh-nav-grp>.nh-clb{padding:0;animation:none}
.nh-cl>.nav-section[data-nh-row]{cursor:pointer;justify-content:space-between}
.nh-cl>.nav-section .nh-chev{width:6px;height:6px}
.nh-legal-toc{border:0}
/* same as nh-resp but switches at 1024px (legal table of contents) */
.nh-resp-lg{border:0}
.nh-resp-lg>.nh-clh{padding:0;min-height:32px;margin-bottom:6px}
@media(min-width:1024px){.nh-resp-lg>.nh-clh .nh-chev{display:none}.nh-resp-lg>.nh-clh{pointer-events:none}.nh-resp-lg>.nh-clb{display:block!important;padding:0;animation:none}}
@media(max-width:767px){.legal-section{padding:1.25rem!important}.legal-section .nh-cl>.nh-clb{padding-bottom:10px}}
.nh-clb>:first-child{margin-top:0!important}
/* admin: sidebar groups + tool cards */
.nav-section[data-nh-row]{display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-radius:8px;margin-top:4px}
.nav-section[data-nh-row]:hover{color:#94a3b8}
.nh-nav-grp.nh-cl{border:0}
.view-section .glass.nh-card>[data-nh-row]{min-height:28px}
.glass.nh-card.nh-cl.open>.nh-clb{padding-top:14px}
.glass.nh-card .nh-clb{padding-bottom:0}

.nav-link .nh-new{margin-left:auto;font-size:10px;font-weight:500;letter-spacing:.02em;color:#2563eb;background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.25);border-radius:999px;padding:1px 7px}
