Open demo

CSS code

HTML
<svg width="0" height="0" style="position:absolute" aria-hidden="true" focusable="false">
  <symbol id="i-grid" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="3.5" width="7" height="7" rx="1.5"/><rect x="13.5" y="3.5" width="7" height="7" rx="1.5"/><rect x="3.5" y="13.5" width="7" height="7" rx="1.5"/><rect x="13.5" y="13.5" width="7" height="7" rx="1.5"/></symbol>
  <symbol id="i-box" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 20.5 7.5v9L12 21l-8.5-4.5v-9z"/><path d="M3.5 7.5 12 12l8.5-4.5M12 12v9"/></symbol>
  <symbol id="i-chevR" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m9.5 6 6 6-6 6"/></symbol>
  <symbol id="i-cart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 4h2.5l2.2 11h10.6l2-8H6.3"/><circle cx="9.5" cy="19.5" r="1.3"/><circle cx="17" cy="19.5" r="1.3"/></symbol>
  <symbol id="i-megaphone" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 10v4a1 1 0 0 0 1 1h2l6.5 4.5v-15L7 9H5a1 1 0 0 0-1 1z"/><path d="M17 9a4 4 0 0 1 0 6"/></symbol>
  <symbol id="i-users" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8.5" r="3.5"/><path d="M2.5 20c.6-3.6 3.2-5.5 6.5-5.5s5.9 1.9 6.5 5.5"/><path d="M16 5.2a3.3 3.3 0 0 1 0 6.6M18 14.8c2 .6 3.2 2.3 3.5 5.2"/></symbol>
  <symbol id="i-sliders" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h9M17 7h3M4 17h3M11 17h9"/><circle cx="15" cy="7" r="2"/><circle cx="9" cy="17" r="2"/></symbol>
  <symbol id="i-folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3.5 7a1.5 1.5 0 0 1 1.5-1.5h4.3l2 2.5H19a1.5 1.5 0 0 1 1.5 1.5v8.5A1.5 1.5 0 0 1 19 19.5H5A1.5 1.5 0 0 1 3.5 18z"/></symbol>
  <symbol id="i-file" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M6.5 3.5h7l4 4v12a1 1 0 0 1-1 1h-10a1 1 0 0 1-1-1v-15a1 1 0 0 1 1-1z"/><path d="M13.5 3.5v4h4"/></symbol>
  <symbol id="i-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M4.5 20.5c.8-4 3.7-6 7.5-6s6.7 2 7.5 6"/></symbol>
  <symbol id="i-chevD" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9.5 6 6 6-6"/></symbol>
  <symbol id="i-layers" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m12 3.5 8.5 4.5L12 12.5 3.5 8z"/><path d="m3.5 12 8.5 4.5 8.5-4.5M3.5 16l8.5 4.5 8.5-4.5"/></symbol>
  <symbol id="i-bell" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M6 16.5V11a6 6 0 0 1 12 0v5.5l1.5 1.5h-15z"/><path d="M10 20.5a2 2 0 0 0 4 0"/></symbol>
  <symbol id="i-zap" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 3 5 13.5h6.5L11 21l8-10.5h-6.5z"/></symbol>
</svg>
<div><span class="lbl">Accordion groups, three levels deep</span>
<div class="app">
  <nav class="nm" aria-label="Shopwise admin">
    <a class="nm-brand" href="#"><span class="nm-logo" aria-hidden="true">S</span>Shopwise</a>
    <ul class="nm-list">
      <li><a class="nm-link" href="#"><svg aria-hidden="true"><use href="#i-grid"/></svg><span>Dashboard</span></a></li>
      <li><details open><summary class="nm-sum"><svg aria-hidden="true"><use href="#i-box"/></svg><span>Catalog</span><svg class="nm-chev" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="nm-sub"><li><a class="nm-link" href="#" aria-current="page"><span>Products</span></a></li><li><a class="nm-link" href="#"><span>Collections</span></a></li><li><a class="nm-link" href="#"><span>Price lists</span></a></li><li><details><summary class="nm-sum"><span>Inventory</span><svg class="nm-chev" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="nm-sub"><li><a class="nm-link" href="#"><span>Stock levels</span></a></li><li><a class="nm-link" href="#"><span>Transfers</span></a></li><li><a class="nm-link" href="#"><span>Suppliers</span></a></li></ul></details></li></ul></details></li>
      <li><details><summary class="nm-sum"><svg aria-hidden="true"><use href="#i-cart"/></svg><span>Orders</span><span class="nm-count">12<span class="sr-only"> unfulfilled</span></span><svg class="nm-chev" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="nm-sub"><li><a class="nm-link" href="#"><span>All orders</span></a></li><li><a class="nm-link" href="#"><span>Drafts</span></a></li><li><a class="nm-link" href="#"><span>Abandoned checkouts</span></a></li></ul></details></li>
      <li><details><summary class="nm-sum"><svg aria-hidden="true"><use href="#i-megaphone"/></svg><span>Marketing</span><svg class="nm-chev" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="nm-sub"><li><a class="nm-link" href="#"><span>Campaigns</span></a></li><li><a class="nm-link" href="#"><span>Discount codes</span></a></li><li><a class="nm-link" href="#"><span>Gift cards</span></a></li></ul></details></li>
      <li><a class="nm-link" href="#"><svg aria-hidden="true"><use href="#i-users"/></svg><span>Customers</span></a></li>
    </ul>
    <ul class="nm-list nm-foot">
      <li><a class="nm-link" href="#"><svg aria-hidden="true"><use href="#i-sliders"/></svg><span>Settings</span></a></li>
    </ul>
  </nav>
  <div class="pg" style="--pg-bar:#fed7aa">
    <div class="pg-head"><div><p class="pg-kicker">Shopwise · Catalog</p><h2 class="pg-title">Products</h2></div><span class="pg-chip">218 active</span></div>
    <div class="pg-tiles"><div class="pg-tile"><span>Active products</span><b>218</b></div><div class="pg-tile"><span>Low stock</span><b>14</b></div><div class="pg-tile"><span>Out of stock</span><b>3</b></div></div>
    <div class="pg-chart" aria-hidden="true"><i style="height:48%"></i><i style="height:62%"></i><i style="height:55%"></i><i style="height:40%"></i><i style="height:68%"></i><i style="height:74%"></i><i style="height:60%"></i><i style="height:52%"></i><i style="height:80%"></i><i style="height:66%"></i><i style="height:58%"></i><i style="height:72%"></i></div>
  </div>
</div></div>
<div><span class="lbl">File tree with guide lines</span>
<div class="app">
  <nav class="ft" aria-label="Harbor CMS files">
    <div class="ft-head"><p class="ft-title">Explorer</p><span class="ft-branch">main</span></div>
    <ul>
      <li><details open><summary class="ft-row"><svg class="ft-chev" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="ft-folder" aria-hidden="true"><use href="#i-folder"/></svg><span>content</span></summary>
        <ul><li><details open><summary class="ft-row"><svg class="ft-chev" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="ft-folder" aria-hidden="true"><use href="#i-folder"/></svg><span>blog</span></summary>
        <ul><li><a class="ft-row" href="#" aria-current="page"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>october-launch.md</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>pricing-update.md</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>hiring-in-lisbon.md</span></a></li></ul></details></li><li><details open><summary class="ft-row"><svg class="ft-chev" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="ft-folder" aria-hidden="true"><use href="#i-folder"/></svg><span>pages</span></summary>
        <ul><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>about.md</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>careers.md</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>pricing.md</span></a></li></ul></details></li><li><details><summary class="ft-row"><svg class="ft-chev" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="ft-folder" aria-hidden="true"><use href="#i-folder"/></svg><span>authors</span></summary>
        <ul><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>ines-carvalho.yml</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>tom-becker.yml</span></a></li></ul></details></li></ul></details></li>
      <li><details><summary class="ft-row"><svg class="ft-chev" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="ft-folder" aria-hidden="true"><use href="#i-folder"/></svg><span>public</span></summary>
        <ul><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>favicon.svg</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>og-image.png</span></a></li></ul></details></li>
      <li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>site.config.ts</span></a></li>
    </ul>
  </nav>
  <div class="pg" style="--pg-bar:#d6d3d1">
    <div class="pg-head"><div><p class="pg-kicker">Harbor CMS · content/blog</p><h2 class="pg-title">Launch notes, October</h2></div><span class="pg-chip">Draft · saved 2 min ago</span></div>
    <div class="pg-tiles"><div class="pg-tile"><span>Words</span><b>1,240</b></div><div class="pg-tile"><span>Reading time</span><b>5 min</b></div><div class="pg-tile"><span>Internal links</span><b>12</b></div></div>
    <div class="pg-chart" aria-hidden="true"><i style="height:30%"></i><i style="height:42%"></i><i style="height:38%"></i><i style="height:56%"></i><i style="height:50%"></i><i style="height:64%"></i><i style="height:58%"></i><i style="height:70%"></i><i style="height:62%"></i><i style="height:48%"></i><i style="height:54%"></i><i style="height:66%"></i></div>
  </div>
</div></div>
<div><span class="lbl">Exclusive accordion: one section open at a time</span>
<div class="app">
  <nav class="xa" aria-label="Settings">
    <p class="xa-title">Settings</p>
    <details name="settings-nav" open><summary><svg aria-hidden="true"><use href="#i-user"/></svg><span>Account</span><svg class="xa-chev" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul><li><a class="xa-link" href="#" aria-current="page">Profile</a></li><li><a class="xa-link" href="#">Password</a></li><li><a class="xa-link" href="#">Two-factor sign-in</a></li></ul>
    </details>
    <details name="settings-nav"><summary><svg aria-hidden="true"><use href="#i-layers"/></svg><span>Workspace</span><svg class="xa-chev" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul><li><a class="xa-link" href="#">Members</a></li><li><a class="xa-link" href="#">Roles and access</a></li><li><a class="xa-link" href="#">Billing</a></li></ul>
    </details>
    <details name="settings-nav"><summary><svg aria-hidden="true"><use href="#i-bell"/></svg><span>Notifications</span><svg class="xa-chev" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul><li><a class="xa-link" href="#">Email</a></li><li><a class="xa-link" href="#">Push</a></li><li><a class="xa-link" href="#">Weekly digest</a></li></ul>
    </details>
    <details name="settings-nav"><summary><svg aria-hidden="true"><use href="#i-zap"/></svg><span>Integrations</span><svg class="xa-chev" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul><li><a class="xa-link" href="#">Slack</a></li><li><a class="xa-link" href="#">GitHub</a></li><li><a class="xa-link" href="#">Calendar sync</a></li></ul>
    </details>
  </nav>
  <div class="pg" style="--pg-bar:#fde68a">
    <div class="pg-head"><div><p class="pg-kicker">Settings · Account</p><h2 class="pg-title">Profile</h2></div><span class="pg-chip">Visible to your team</span></div>
    <div class="pg-tiles"><div class="pg-tile"><span>Display name</span><b>Amara Diallo</b></div><div class="pg-tile"><span>Time zone</span><b>GMT+1</b></div><div class="pg-tile"><span>Language</span><b>English (UK)</b></div></div>
    <div class="pg-chart" aria-hidden="true"><i style="height:20%"></i><i style="height:34%"></i><i style="height:28%"></i><i style="height:46%"></i><i style="height:40%"></i><i style="height:52%"></i><i style="height:44%"></i><i style="height:60%"></i><i style="height:38%"></i><i style="height:50%"></i><i style="height:42%"></i><i style="height:56%"></i></div>
  </div>
</div></div>
CSS
/* App shell */
.app{display:flex;height:540px;background:#fff;border:1px solid #d6dce5;border-radius:16px;overflow:hidden;
  box-shadow:0 1px 2px rgba(15,23,42,.05),0 18px 40px -22px rgba(15,23,42,.28)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Every group is a native <details>; hide the default marker and draw a chevron instead. */
.nm summary,.ft summary,.xa summary{list-style:none;cursor:pointer}
.nm summary::-webkit-details-marker,.ft summary::-webkit-details-marker,.xa summary::-webkit-details-marker{display:none}
.nm ul,.ft ul,.xa ul{list-style:none;margin:0;padding:0}

/* 1. Accordion groups */
.nm{--nm-accent:#ea580c;--nm-active-ink:#9a3412;--nm-active-bg:#fff4ec;--nm-ink:#44403c;--nm-strong:#1c1917;--nm-muted:#6b635d;
  --nm-line:#e7e5e4;--nm-hover:#f5f5f4;
  flex:0 0 256px;display:flex;flex-direction:column;padding:18px 14px;background:#fff;border-right:1px solid var(--nm-line);
  overflow-y:auto;font-size:.875rem}
.nm-brand{display:flex;align-items:center;gap:10px;padding:2px 10px 14px;border-radius:8px;color:var(--nm-strong);
  font-size:1rem;font-weight:700;text-decoration:none}
.nm-logo{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--nm-accent);color:#fff;font-size:.85rem;font-weight:800}
.nm-list{display:flex;flex-direction:column;gap:2px}
.nm-link,.nm-sum{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:8px;color:var(--nm-ink);font-weight:500;
  text-decoration:none;transition:background-color .15s,color .15s}
.nm-link svg,.nm-sum svg{width:18px;height:18px;flex:none}
.nm-link:hover,.nm-sum:hover{background:var(--nm-hover);color:var(--nm-strong)}
.nm-sum .nm-chev{width:14px;height:14px;margin-left:auto;color:var(--nm-muted);transition:transform .2s}
.nm details[open]>.nm-sum .nm-chev{transform:rotate(90deg)}
.nm details:has([aria-current="page"])>.nm-sum{color:var(--nm-strong);font-weight:600}
.nm-count{margin-left:auto;padding:0 7px;border-radius:999px;background:#fdeee3;color:var(--nm-active-ink);font-size:.7rem;font-weight:700;line-height:1.6}
.nm-sum .nm-count+.nm-chev{margin-left:6px}
/* nested levels hang off a guide line under the parent icon */
.nm .nm-sub{margin:2px 0 4px 19px;padding-left:10px;border-left:1px solid var(--nm-line);display:flex;flex-direction:column;gap:1px}
.nm-sub .nm-link,.nm-sub .nm-sum{position:relative;padding:6px 10px;font-size:.8125rem}
.nm-sub .nm-link[aria-current="page"]{background:var(--nm-active-bg);color:var(--nm-active-ink);font-weight:600}
.nm-sub .nm-link[aria-current="page"]::before{content:"";position:absolute;left:-11px;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--nm-accent)}
.nm a:focus-visible,.nm summary:focus-visible{outline:2px solid var(--nm-accent);outline-offset:2px}
.nm .nm-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--nm-line)}

/* 2. File tree */
.ft{--ft-accent:#b45309;--ft-ink:#44403c;--ft-strong:#1c1917;--ft-muted:#6b635d;--ft-line:#d6d3d1;--ft-hover:#efedeb;
  flex:0 0 272px;display:flex;flex-direction:column;padding:16px 12px;background:#fafaf9;border-right:1px solid #e7e5e4;
  overflow-y:auto;font:500 .8125rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ft-head{display:flex;align-items:center;justify-content:space-between;padding:0 8px 12px;font-family:ui-sans-serif,system-ui,sans-serif}
.ft-title{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ft-muted)}
.ft-branch{padding:1px 8px;border:1px solid var(--ft-line);border-radius:999px;color:var(--ft-ink);font-size:.72rem;font-weight:600}
.ft-row{display:flex;align-items:center;gap:7px;padding:4px 8px;border-radius:6px;color:var(--ft-ink);text-decoration:none;white-space:nowrap}
.ft-row svg{width:16px;height:16px;flex:none}
.ft-row:hover{background:var(--ft-hover);color:var(--ft-strong)}
.ft-row .ft-chev{width:12px;height:12px;color:var(--ft-muted);transition:transform .2s}
.ft details[open]>.ft-row .ft-chev{transform:rotate(90deg)}
.ft-folder{color:#b45309}
.ft-file{margin-left:19px;color:var(--ft-muted)}
.ft ul ul{margin-left:14px;padding-left:6px;border-left:1px dashed var(--ft-line)}
.ft-row[aria-current="page"]{background:#fdecd3;color:#7c2d12;font-weight:700}
.ft-row[aria-current="page"] .ft-file{color:#b45309}
.ft a:focus-visible,.ft summary:focus-visible{outline:2px solid var(--ft-accent);outline-offset:1px}

/* 3. Exclusive accordion: details that share a name close each other */
.xa{--xa-accent:#d97706;--xa-ink:#44403c;--xa-strong:#1c1917;--xa-muted:#6b635d;--xa-line:#e7e5e4;
  flex:0 0 256px;display:flex;flex-direction:column;gap:8px;padding:18px 14px;background:#f7f6f4;border-right:1px solid var(--xa-line);
  overflow-y:auto;font-size:.875rem}
.xa-title{margin:0 0 4px;padding:0 6px;font-size:1rem;font-weight:700;color:var(--xa-strong)}
.xa details{border:1px solid transparent;border-radius:12px;transition:background-color .2s,border-color .2s}
.xa details[open]{background:#fff;border-color:var(--xa-line);box-shadow:0 4px 14px -8px rgba(28,25,23,.18)}
.xa summary{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:var(--xa-ink);font-weight:600}
.xa summary:hover{color:var(--xa-strong)}
.xa summary svg{width:18px;height:18px;flex:none}
.xa summary .xa-chev{width:14px;height:14px;margin-left:auto;color:var(--xa-muted);transition:transform .2s}
.xa details[open] .xa-chev{transform:rotate(180deg)}
.xa details[open] summary{color:var(--xa-strong)}
.xa ul{padding:0 8px 10px 39px}
.xa-link{position:relative;display:block;padding:6px 10px;border-radius:7px;color:var(--xa-muted);font-size:.8125rem;font-weight:500;text-decoration:none}
.xa-link:hover{background:#f5f5f4;color:var(--xa-strong)}
.xa-link[aria-current="page"]{color:var(--xa-strong);font-weight:650}
.xa-link[aria-current="page"]::before{content:"";position:absolute;left:-9px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--xa-accent)}
.xa a:focus-visible,.xa summary:focus-visible{outline:2px solid var(--xa-accent);outline-offset:2px}

@media (max-width:640px){
  .app{flex-direction:column;height:auto}
  .nm,.ft,.xa{flex-basis:auto;border-right:0;border-bottom:1px solid #e7e5e4}
}
@media (prefers-reduced-motion:reduce){.nm-link,.nm-sum,.nm-chev,.ft-chev,.xa details,.xa-chev{transition:none}}

Bootstrap 5 code

Requires: Bootstrap 5.3.8 CSS

HTML
<svg width="0" height="0" style="position:absolute" aria-hidden="true" focusable="false">
  <symbol id="i-grid" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="3.5" width="7" height="7" rx="1.5"/><rect x="13.5" y="3.5" width="7" height="7" rx="1.5"/><rect x="3.5" y="13.5" width="7" height="7" rx="1.5"/><rect x="13.5" y="13.5" width="7" height="7" rx="1.5"/></symbol>
  <symbol id="i-box" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 20.5 7.5v9L12 21l-8.5-4.5v-9z"/><path d="M3.5 7.5 12 12l8.5-4.5M12 12v9"/></symbol>
  <symbol id="i-chevR" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m9.5 6 6 6-6 6"/></symbol>
  <symbol id="i-cart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 4h2.5l2.2 11h10.6l2-8H6.3"/><circle cx="9.5" cy="19.5" r="1.3"/><circle cx="17" cy="19.5" r="1.3"/></symbol>
  <symbol id="i-megaphone" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 10v4a1 1 0 0 0 1 1h2l6.5 4.5v-15L7 9H5a1 1 0 0 0-1 1z"/><path d="M17 9a4 4 0 0 1 0 6"/></symbol>
  <symbol id="i-users" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8.5" r="3.5"/><path d="M2.5 20c.6-3.6 3.2-5.5 6.5-5.5s5.9 1.9 6.5 5.5"/><path d="M16 5.2a3.3 3.3 0 0 1 0 6.6M18 14.8c2 .6 3.2 2.3 3.5 5.2"/></symbol>
  <symbol id="i-sliders" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h9M17 7h3M4 17h3M11 17h9"/><circle cx="15" cy="7" r="2"/><circle cx="9" cy="17" r="2"/></symbol>
  <symbol id="i-folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3.5 7a1.5 1.5 0 0 1 1.5-1.5h4.3l2 2.5H19a1.5 1.5 0 0 1 1.5 1.5v8.5A1.5 1.5 0 0 1 19 19.5H5A1.5 1.5 0 0 1 3.5 18z"/></symbol>
  <symbol id="i-file" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M6.5 3.5h7l4 4v12a1 1 0 0 1-1 1h-10a1 1 0 0 1-1-1v-15a1 1 0 0 1 1-1z"/><path d="M13.5 3.5v4h4"/></symbol>
  <symbol id="i-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M4.5 20.5c.8-4 3.7-6 7.5-6s6.7 2 7.5 6"/></symbol>
  <symbol id="i-chevD" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9.5 6 6 6-6"/></symbol>
  <symbol id="i-layers" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m12 3.5 8.5 4.5L12 12.5 3.5 8z"/><path d="m3.5 12 8.5 4.5 8.5-4.5M3.5 16l8.5 4.5 8.5-4.5"/></symbol>
  <symbol id="i-bell" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M6 16.5V11a6 6 0 0 1 12 0v5.5l1.5 1.5h-15z"/><path d="M10 20.5a2 2 0 0 0 4 0"/></symbol>
  <symbol id="i-zap" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 3 5 13.5h6.5L11 21l8-10.5h-6.5z"/></symbol>
</svg>
<div><span class="lbl">Accordion groups, three levels deep</span>
<div class="app">
  <nav class="nm" aria-label="Shopwise admin">
    <a class="nm-brand" href="#"><span class="nm-logo" aria-hidden="true">S</span>Shopwise</a>
    <ul class="nav flex-column flex-nowrap nm-list">
      <li><a class="nav-link nm-link" href="#"><svg aria-hidden="true"><use href="#i-grid"/></svg><span>Dashboard</span></a></li>
      <li><details open><summary class="nm-sum"><svg aria-hidden="true"><use href="#i-box"/></svg><span>Catalog</span><svg class="nm-chev" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="nav flex-column flex-nowrap nm-sub"><li><a class="nav-link nm-link" href="#" aria-current="page"><span>Products</span></a></li><li><a class="nav-link nm-link" href="#"><span>Collections</span></a></li><li><a class="nav-link nm-link" href="#"><span>Price lists</span></a></li><li><details><summary class="nm-sum"><span>Inventory</span><svg class="nm-chev" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="nav flex-column flex-nowrap nm-sub"><li><a class="nav-link nm-link" href="#"><span>Stock levels</span></a></li><li><a class="nav-link nm-link" href="#"><span>Transfers</span></a></li><li><a class="nav-link nm-link" href="#"><span>Suppliers</span></a></li></ul></details></li></ul></details></li>
      <li><details><summary class="nm-sum"><svg aria-hidden="true"><use href="#i-cart"/></svg><span>Orders</span><span class="nm-count badge rounded-pill">12<span class="visually-hidden"> unfulfilled</span></span><svg class="nm-chev" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="nav flex-column flex-nowrap nm-sub"><li><a class="nav-link nm-link" href="#"><span>All orders</span></a></li><li><a class="nav-link nm-link" href="#"><span>Drafts</span></a></li><li><a class="nav-link nm-link" href="#"><span>Abandoned checkouts</span></a></li></ul></details></li>
      <li><details><summary class="nm-sum"><svg aria-hidden="true"><use href="#i-megaphone"/></svg><span>Marketing</span><svg class="nm-chev" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="nav flex-column flex-nowrap nm-sub"><li><a class="nav-link nm-link" href="#"><span>Campaigns</span></a></li><li><a class="nav-link nm-link" href="#"><span>Discount codes</span></a></li><li><a class="nav-link nm-link" href="#"><span>Gift cards</span></a></li></ul></details></li>
      <li><a class="nav-link nm-link" href="#"><svg aria-hidden="true"><use href="#i-users"/></svg><span>Customers</span></a></li>
    </ul>
    <ul class="nav flex-column flex-nowrap nm-list nm-foot">
      <li><a class="nav-link nm-link" href="#"><svg aria-hidden="true"><use href="#i-sliders"/></svg><span>Settings</span></a></li>
    </ul>
  </nav>
  <div class="pg" style="--pg-bar:#fed7aa">
    <div class="pg-head"><div><p class="pg-kicker">Shopwise · Catalog</p><h2 class="pg-title">Products</h2></div><span class="pg-chip">218 active</span></div>
    <div class="pg-tiles"><div class="pg-tile"><span>Active products</span><b>218</b></div><div class="pg-tile"><span>Low stock</span><b>14</b></div><div class="pg-tile"><span>Out of stock</span><b>3</b></div></div>
    <div class="pg-chart" aria-hidden="true"><i style="height:48%"></i><i style="height:62%"></i><i style="height:55%"></i><i style="height:40%"></i><i style="height:68%"></i><i style="height:74%"></i><i style="height:60%"></i><i style="height:52%"></i><i style="height:80%"></i><i style="height:66%"></i><i style="height:58%"></i><i style="height:72%"></i></div>
  </div>
</div></div>
<div><span class="lbl">File tree with guide lines</span>
<div class="app">
  <nav class="ft" aria-label="Harbor CMS files">
    <div class="ft-head"><p class="ft-title">Explorer</p><span class="ft-branch badge">main</span></div>
    <ul class="list-unstyled mb-0">
      <li><details open><summary class="ft-row"><svg class="ft-chev" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="ft-folder" aria-hidden="true"><use href="#i-folder"/></svg><span>content</span></summary>
        <ul class="list-unstyled"><li><details open><summary class="ft-row"><svg class="ft-chev" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="ft-folder" aria-hidden="true"><use href="#i-folder"/></svg><span>blog</span></summary>
        <ul class="list-unstyled"><li><a class="ft-row" href="#" aria-current="page"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>october-launch.md</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>pricing-update.md</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>hiring-in-lisbon.md</span></a></li></ul></details></li><li><details open><summary class="ft-row"><svg class="ft-chev" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="ft-folder" aria-hidden="true"><use href="#i-folder"/></svg><span>pages</span></summary>
        <ul class="list-unstyled"><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>about.md</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>careers.md</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>pricing.md</span></a></li></ul></details></li><li><details><summary class="ft-row"><svg class="ft-chev" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="ft-folder" aria-hidden="true"><use href="#i-folder"/></svg><span>authors</span></summary>
        <ul class="list-unstyled"><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>ines-carvalho.yml</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>tom-becker.yml</span></a></li></ul></details></li></ul></details></li>
      <li><details><summary class="ft-row"><svg class="ft-chev" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="ft-folder" aria-hidden="true"><use href="#i-folder"/></svg><span>public</span></summary>
        <ul class="list-unstyled"><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>favicon.svg</span></a></li><li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>og-image.png</span></a></li></ul></details></li>
      <li><a class="ft-row" href="#"><svg class="ft-file" aria-hidden="true"><use href="#i-file"/></svg><span>site.config.ts</span></a></li>
    </ul>
  </nav>
  <div class="pg" style="--pg-bar:#d6d3d1">
    <div class="pg-head"><div><p class="pg-kicker">Harbor CMS · content/blog</p><h2 class="pg-title">Launch notes, October</h2></div><span class="pg-chip">Draft · saved 2 min ago</span></div>
    <div class="pg-tiles"><div class="pg-tile"><span>Words</span><b>1,240</b></div><div class="pg-tile"><span>Reading time</span><b>5 min</b></div><div class="pg-tile"><span>Internal links</span><b>12</b></div></div>
    <div class="pg-chart" aria-hidden="true"><i style="height:30%"></i><i style="height:42%"></i><i style="height:38%"></i><i style="height:56%"></i><i style="height:50%"></i><i style="height:64%"></i><i style="height:58%"></i><i style="height:70%"></i><i style="height:62%"></i><i style="height:48%"></i><i style="height:54%"></i><i style="height:66%"></i></div>
  </div>
</div></div>
<div><span class="lbl">Exclusive accordion: one section open at a time</span>
<div class="app">
  <nav class="xa" aria-label="Settings">
    <p class="xa-title">Settings</p>
    <details name="settings-nav" open><summary><svg aria-hidden="true"><use href="#i-user"/></svg><span>Account</span><svg class="xa-chev" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul class="nav flex-column"><li><a class="nav-link xa-link" href="#" aria-current="page">Profile</a></li><li><a class="nav-link xa-link" href="#">Password</a></li><li><a class="nav-link xa-link" href="#">Two-factor sign-in</a></li></ul>
    </details>
    <details name="settings-nav"><summary><svg aria-hidden="true"><use href="#i-layers"/></svg><span>Workspace</span><svg class="xa-chev" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul class="nav flex-column"><li><a class="nav-link xa-link" href="#">Members</a></li><li><a class="nav-link xa-link" href="#">Roles and access</a></li><li><a class="nav-link xa-link" href="#">Billing</a></li></ul>
    </details>
    <details name="settings-nav"><summary><svg aria-hidden="true"><use href="#i-bell"/></svg><span>Notifications</span><svg class="xa-chev" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul class="nav flex-column"><li><a class="nav-link xa-link" href="#">Email</a></li><li><a class="nav-link xa-link" href="#">Push</a></li><li><a class="nav-link xa-link" href="#">Weekly digest</a></li></ul>
    </details>
    <details name="settings-nav"><summary><svg aria-hidden="true"><use href="#i-zap"/></svg><span>Integrations</span><svg class="xa-chev" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul class="nav flex-column"><li><a class="nav-link xa-link" href="#">Slack</a></li><li><a class="nav-link xa-link" href="#">GitHub</a></li><li><a class="nav-link xa-link" href="#">Calendar sync</a></li></ul>
    </details>
  </nav>
  <div class="pg" style="--pg-bar:#fde68a">
    <div class="pg-head"><div><p class="pg-kicker">Settings · Account</p><h2 class="pg-title">Profile</h2></div><span class="pg-chip">Visible to your team</span></div>
    <div class="pg-tiles"><div class="pg-tile"><span>Display name</span><b>Amara Diallo</b></div><div class="pg-tile"><span>Time zone</span><b>GMT+1</b></div><div class="pg-tile"><span>Language</span><b>English (UK)</b></div></div>
    <div class="pg-chart" aria-hidden="true"><i style="height:20%"></i><i style="height:34%"></i><i style="height:28%"></i><i style="height:46%"></i><i style="height:40%"></i><i style="height:52%"></i><i style="height:44%"></i><i style="height:60%"></i><i style="height:38%"></i><i style="height:50%"></i><i style="height:42%"></i><i style="height:56%"></i></div>
  </div>
</div></div>
CSS
/* App shell. Groups are native <details>; the link lists use Bootstrap .nav and .nav-link, restyled below. */
.app{display:flex;height:540px;background:#fff;border:1px solid #d6dce5;border-radius:16px;overflow:hidden;
  box-shadow:0 1px 2px rgba(15,23,42,.05),0 18px 40px -22px rgba(15,23,42,.28)}
/* Every group is a native <details>; hide the default marker and draw a chevron instead. */
.nm summary,.ft summary,.xa summary{list-style:none;cursor:pointer}
.nm summary::-webkit-details-marker,.ft summary::-webkit-details-marker,.xa summary::-webkit-details-marker{display:none}
.nm ul,.ft ul,.xa ul{list-style:none;margin:0;padding:0}

/* 1. Accordion groups */
.nm{--nm-accent:#ea580c;--nm-active-ink:#9a3412;--nm-active-bg:#fff4ec;--nm-ink:#44403c;--nm-strong:#1c1917;--nm-muted:#6b635d;
  --nm-line:#e7e5e4;--nm-hover:#f5f5f4;
  flex:0 0 256px;display:flex;flex-direction:column;padding:18px 14px;background:#fff;border-right:1px solid var(--nm-line);
  overflow-y:auto;font-size:.875rem}
.nm-brand{display:flex;align-items:center;gap:10px;padding:2px 10px 14px;border-radius:8px;color:var(--nm-strong);
  font-size:1rem;font-weight:700;text-decoration:none}
.nm-logo{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--nm-accent);color:#fff;font-size:.85rem;font-weight:800}
.nm-list{gap:2px}
.nm-link,.nm-sum{display:flex;line-height:1.5;font-size:inherit;align-items:center;gap:11px;padding:8px 10px;border-radius:8px;color:var(--nm-ink);font-weight:500;
  text-decoration:none;transition:background-color .15s,color .15s}
.nm-link svg,.nm-sum svg{width:18px;height:18px;flex:none}
.nm-link:hover,.nm-sum:hover{background:var(--nm-hover);color:var(--nm-strong)}
.nm-sum .nm-chev{width:14px;height:14px;margin-left:auto;color:var(--nm-muted);transition:transform .2s}
.nm details[open]>.nm-sum .nm-chev{transform:rotate(90deg)}
.nm details:has([aria-current="page"])>.nm-sum{color:var(--nm-strong);font-weight:600}
.nm-count{margin-left:auto;padding:0 7px;font-family:inherit;border-radius:999px;background:#fdeee3;color:var(--nm-active-ink);font-size:.7rem;font-weight:700;line-height:1.6}
.nm-sum .nm-count+.nm-chev{margin-left:6px}
/* nested levels hang off a guide line under the parent icon */
.nm .nm-sub{margin:2px 0 4px 19px;padding-left:10px;border-left:1px solid var(--nm-line);display:flex;flex-direction:column;gap:1px}
.nm-sub .nm-link,.nm-sub .nm-sum{position:relative;padding:6px 10px;font-size:.8125rem}
.nm-sub .nm-link[aria-current="page"]{background:var(--nm-active-bg);color:var(--nm-active-ink);font-weight:600}
.nm-sub .nm-link[aria-current="page"]::before{content:"";position:absolute;left:-11px;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--nm-accent)}
.nm-link:focus-visible,.xa-link:focus-visible{box-shadow:none}
.nm a:focus-visible,.nm summary:focus-visible{outline:2px solid var(--nm-accent);outline-offset:2px}
.nm .nm-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--nm-line)}

/* 2. File tree */
.ft{--ft-accent:#b45309;--ft-ink:#44403c;--ft-strong:#1c1917;--ft-muted:#6b635d;--ft-line:#d6d3d1;--ft-hover:#efedeb;
  flex:0 0 272px;display:flex;flex-direction:column;padding:16px 12px;background:#fafaf9;border-right:1px solid #e7e5e4;
  overflow-y:auto;font:500 .8125rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ft-head{display:flex;align-items:center;justify-content:space-between;padding:0 8px 12px;font-family:ui-sans-serif,system-ui,sans-serif}
.ft-title{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ft-muted)}
.ft-branch{line-height:1.5;padding:1px 8px;border:1px solid var(--ft-line);border-radius:999px;color:var(--ft-ink);font-size:.72rem;font-weight:600}
.ft-row{display:flex;align-items:center;gap:7px;padding:4px 8px;border-radius:6px;color:var(--ft-ink);text-decoration:none;white-space:nowrap}
.ft-row svg{width:16px;height:16px;flex:none}
.ft-row:hover{background:var(--ft-hover);color:var(--ft-strong)}
.ft-row .ft-chev{width:12px;height:12px;color:var(--ft-muted);transition:transform .2s}
.ft details[open]>.ft-row .ft-chev{transform:rotate(90deg)}
.ft-folder{color:#b45309}
.ft-file{margin-left:19px;color:var(--ft-muted)}
.ft ul ul{margin-left:14px;padding-left:6px;border-left:1px dashed var(--ft-line)}
.ft-row[aria-current="page"]{background:#fdecd3;color:#7c2d12;font-weight:700}
.ft-row[aria-current="page"] .ft-file{color:#b45309}
.ft a:focus-visible,.ft summary:focus-visible{outline:2px solid var(--ft-accent);outline-offset:1px}

/* 3. Exclusive accordion: details that share a name close each other */
.xa{--xa-accent:#d97706;--xa-ink:#44403c;--xa-strong:#1c1917;--xa-muted:#6b635d;--xa-line:#e7e5e4;
  flex:0 0 256px;display:flex;flex-direction:column;gap:8px;padding:18px 14px;background:#f7f6f4;border-right:1px solid var(--xa-line);
  overflow-y:auto;font-size:.875rem}
.xa-title{margin:0 0 4px;padding:0 6px;font-size:1rem;font-weight:700;color:var(--xa-strong)}
.xa details{border:1px solid transparent;border-radius:12px;transition:background-color .2s,border-color .2s}
.xa details[open]{background:#fff;border-color:var(--xa-line);box-shadow:0 4px 14px -8px rgba(28,25,23,.18)}
.xa summary{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:var(--xa-ink);font-weight:600}
.xa summary:hover{color:var(--xa-strong)}
.xa summary svg{width:18px;height:18px;flex:none}
.xa summary .xa-chev{width:14px;height:14px;margin-left:auto;color:var(--xa-muted);transition:transform .2s}
.xa details[open] .xa-chev{transform:rotate(180deg)}
.xa details[open] summary{color:var(--xa-strong)}
.xa ul{padding:0 8px 10px 39px}
.xa-link{position:relative;display:block;padding:6px 10px;border-radius:7px;color:var(--xa-muted);font-size:.8125rem;font-weight:500;text-decoration:none}
.xa-link:hover{background:#f5f5f4;color:var(--xa-strong)}
.xa-link[aria-current="page"]{color:var(--xa-strong);font-weight:650}
.xa-link[aria-current="page"]::before{content:"";position:absolute;left:-9px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--xa-accent)}
.xa a:focus-visible,.xa summary:focus-visible{outline:2px solid var(--xa-accent);outline-offset:2px}

@media (max-width:640px){
  .app{flex-direction:column;height:auto}
  .nm,.ft,.xa{flex-basis:auto;border-right:0;border-bottom:1px solid #e7e5e4}
}
@media (prefers-reduced-motion:reduce){.nm-link,.nm-sum,.nm-chev,.ft-chev,.xa details,.xa-chev{transition:none}}

Tailwind 4 code

Requires: Tailwind CSS 4

HTML
<svg width="0" height="0" style="position:absolute" aria-hidden="true" focusable="false">
  <symbol id="i-grid" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="3.5" width="7" height="7" rx="1.5"/><rect x="13.5" y="3.5" width="7" height="7" rx="1.5"/><rect x="3.5" y="13.5" width="7" height="7" rx="1.5"/><rect x="13.5" y="13.5" width="7" height="7" rx="1.5"/></symbol>
  <symbol id="i-box" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 20.5 7.5v9L12 21l-8.5-4.5v-9z"/><path d="M3.5 7.5 12 12l8.5-4.5M12 12v9"/></symbol>
  <symbol id="i-chevR" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m9.5 6 6 6-6 6"/></symbol>
  <symbol id="i-cart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 4h2.5l2.2 11h10.6l2-8H6.3"/><circle cx="9.5" cy="19.5" r="1.3"/><circle cx="17" cy="19.5" r="1.3"/></symbol>
  <symbol id="i-megaphone" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 10v4a1 1 0 0 0 1 1h2l6.5 4.5v-15L7 9H5a1 1 0 0 0-1 1z"/><path d="M17 9a4 4 0 0 1 0 6"/></symbol>
  <symbol id="i-users" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8.5" r="3.5"/><path d="M2.5 20c.6-3.6 3.2-5.5 6.5-5.5s5.9 1.9 6.5 5.5"/><path d="M16 5.2a3.3 3.3 0 0 1 0 6.6M18 14.8c2 .6 3.2 2.3 3.5 5.2"/></symbol>
  <symbol id="i-sliders" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h9M17 7h3M4 17h3M11 17h9"/><circle cx="15" cy="7" r="2"/><circle cx="9" cy="17" r="2"/></symbol>
  <symbol id="i-folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3.5 7a1.5 1.5 0 0 1 1.5-1.5h4.3l2 2.5H19a1.5 1.5 0 0 1 1.5 1.5v8.5A1.5 1.5 0 0 1 19 19.5H5A1.5 1.5 0 0 1 3.5 18z"/></symbol>
  <symbol id="i-file" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M6.5 3.5h7l4 4v12a1 1 0 0 1-1 1h-10a1 1 0 0 1-1-1v-15a1 1 0 0 1 1-1z"/><path d="M13.5 3.5v4h4"/></symbol>
  <symbol id="i-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M4.5 20.5c.8-4 3.7-6 7.5-6s6.7 2 7.5 6"/></symbol>
  <symbol id="i-chevD" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9.5 6 6 6-6"/></symbol>
  <symbol id="i-layers" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m12 3.5 8.5 4.5L12 12.5 3.5 8z"/><path d="m3.5 12 8.5 4.5 8.5-4.5M3.5 16l8.5 4.5 8.5-4.5"/></symbol>
  <symbol id="i-bell" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M6 16.5V11a6 6 0 0 1 12 0v5.5l1.5 1.5h-15z"/><path d="M10 20.5a2 2 0 0 0 4 0"/></symbol>
  <symbol id="i-zap" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 3 5 13.5h6.5L11 21l8-10.5h-6.5z"/></symbol>
</svg>
<div><span class="mb-3.5 block text-[.72rem] tracking-[.12em] text-[#5b6474] uppercase">Accordion groups, three levels deep</span>
<div class="flex h-[540px] overflow-hidden rounded-2xl border border-[#d6dce5] bg-white shadow-[0_1px_2px_rgba(15,23,42,.05),0_18px_40px_-22px_rgba(15,23,42,.28)] max-[640px]:h-auto max-[640px]:flex-col">
  <nav class="flex flex-none basis-[256px] flex-col overflow-y-auto border-r border-[#e7e5e4] bg-white px-3.5 py-[18px] text-[.875rem] max-[640px]:basis-auto max-[640px]:border-r-0 max-[640px]:border-b max-[640px]:border-[#e7e5e4]" aria-label="Shopwise admin">
    <a class="flex items-center gap-2.5 rounded-lg px-2.5 pt-0.5 pb-3.5 text-[1rem] font-bold text-[#1c1917] no-underline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c]" href="#"><span class="grid size-[30px] place-items-center rounded-full bg-[#ea580c] text-[.85rem] font-extrabold text-white" aria-hidden="true">S</span>Shopwise</a>
    <ul class="m-0 flex list-none flex-col gap-0.5 p-0">
      <li><a class="flex items-center gap-[11px] rounded-lg px-2.5 py-2 font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none" href="#"><svg class="size-[18px] flex-none" aria-hidden="true"><use href="#i-grid"/></svg><span>Dashboard</span></a></li>
      <li><details class="group/l1" open><summary class="flex items-center gap-[11px] rounded-lg px-2.5 py-2 font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none cursor-pointer list-none group-has-[[aria-current=page]]/l1:font-semibold group-has-[[aria-current=page]]/l1:text-[#1c1917] [&::-webkit-details-marker]:hidden"><svg class="size-[18px] flex-none" aria-hidden="true"><use href="#i-box"/></svg><span>Catalog</span><svg class="ml-auto size-3.5 flex-none text-[#6b635d] transition-transform duration-200 group-open/l1:rotate-90 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="m-0 mt-0.5 mb-1 ml-[19px] flex list-none flex-col gap-px border-l border-[#e7e5e4] p-0 pl-2.5"><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#" aria-current="page"><span>Products</span></a></li><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>Collections</span></a></li><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>Price lists</span></a></li><li><details class="group/l2"><summary class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none cursor-pointer list-none group-has-[[aria-current=page]]/l2:font-semibold group-has-[[aria-current=page]]/l2:text-[#1c1917] [&::-webkit-details-marker]:hidden"><span>Inventory</span><svg class="ml-auto size-3.5 flex-none text-[#6b635d] transition-transform duration-200 group-open/l2:rotate-90 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="m-0 mt-0.5 mb-1 ml-[19px] flex list-none flex-col gap-px border-l border-[#e7e5e4] p-0 pl-2.5"><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>Stock levels</span></a></li><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>Transfers</span></a></li><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>Suppliers</span></a></li></ul></details></li></ul></details></li>
      <li><details class="group/l1"><summary class="flex items-center gap-[11px] rounded-lg px-2.5 py-2 font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none cursor-pointer list-none group-has-[[aria-current=page]]/l1:font-semibold group-has-[[aria-current=page]]/l1:text-[#1c1917] [&::-webkit-details-marker]:hidden"><svg class="size-[18px] flex-none" aria-hidden="true"><use href="#i-cart"/></svg><span>Orders</span><span class="ml-auto rounded-full bg-[#fdeee3] px-[7px] text-[.7rem] leading-[1.6] font-bold text-[#9a3412]">12<span class="sr-only"> unfulfilled</span></span><svg class="ml-1.5 size-3.5 flex-none text-[#6b635d] transition-transform duration-200 group-open/l1:rotate-90 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="m-0 mt-0.5 mb-1 ml-[19px] flex list-none flex-col gap-px border-l border-[#e7e5e4] p-0 pl-2.5"><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>All orders</span></a></li><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>Drafts</span></a></li><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>Abandoned checkouts</span></a></li></ul></details></li>
      <li><details class="group/l1"><summary class="flex items-center gap-[11px] rounded-lg px-2.5 py-2 font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none cursor-pointer list-none group-has-[[aria-current=page]]/l1:font-semibold group-has-[[aria-current=page]]/l1:text-[#1c1917] [&::-webkit-details-marker]:hidden"><svg class="size-[18px] flex-none" aria-hidden="true"><use href="#i-megaphone"/></svg><span>Marketing</span><svg class="ml-auto size-3.5 flex-none text-[#6b635d] transition-transform duration-200 group-open/l1:rotate-90 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevR"/></svg></summary>
        <ul class="m-0 mt-0.5 mb-1 ml-[19px] flex list-none flex-col gap-px border-l border-[#e7e5e4] p-0 pl-2.5"><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>Campaigns</span></a></li><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>Discount codes</span></a></li><li><a class="flex items-center gap-[11px] rounded-lg relative px-2.5 py-1.5 text-[.8125rem] font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none aria-[current=page]:bg-[#fff4ec] aria-[current=page]:font-semibold aria-[current=page]:text-[#9a3412] aria-[current=page]:before:absolute aria-[current=page]:before:inset-y-1.5 aria-[current=page]:before:-left-[11px] aria-[current=page]:before:w-0.5 aria-[current=page]:before:rounded-sm aria-[current=page]:before:bg-[#ea580c]" href="#"><span>Gift cards</span></a></li></ul></details></li>
      <li><a class="flex items-center gap-[11px] rounded-lg px-2.5 py-2 font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none" href="#"><svg class="size-[18px] flex-none" aria-hidden="true"><use href="#i-users"/></svg><span>Customers</span></a></li>
    </ul>
    <ul class="m-0 mt-auto flex list-none flex-col gap-0.5 border-t border-[#e7e5e4] p-0 pt-3">
      <li><a class="flex items-center gap-[11px] rounded-lg px-2.5 py-2 font-medium text-[#44403c] no-underline transition-colors duration-150 hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#ea580c] motion-reduce:transition-none" href="#"><svg class="size-[18px] flex-none" aria-hidden="true"><use href="#i-sliders"/></svg><span>Settings</span></a></li>
    </ul>
  </nav>
  <div class="flex min-w-0 flex-1 flex-col gap-[18px] overflow-hidden bg-[#f8fafc] px-7 py-[26px] max-[640px]:px-[18px] max-[640px]:py-5">
    <div class="flex flex-wrap items-end justify-between gap-3"><div><p class="m-0 text-[.75rem] text-[#5b6474]">Shopwise · Catalog</p><h2 class="mt-0.5 mb-0 text-[1.25rem] leading-[1.3] font-bold tracking-[-.02em] text-[#0f172a]">Products</h2></div><span class="rounded-full border px-3 py-[5px] text-[.75rem] font-semibold border-[#d9dfe8] bg-white text-[#334155]">218 active</span></div>
    <div class="grid grid-cols-[repeat(auto-fit,minmax(128px,1fr))] gap-3"><div class="rounded-xl border border-[#e2e8f0] bg-white px-[15px] py-[13px]"><span class="block text-[.75rem] text-[#5b6474]">Active products</span><b class="mt-[3px] block text-[1.2rem] leading-[1.3] tracking-[-.01em] text-[#0f172a]">218</b></div><div class="rounded-xl border border-[#e2e8f0] bg-white px-[15px] py-[13px]"><span class="block text-[.75rem] text-[#5b6474]">Low stock</span><b class="mt-[3px] block text-[1.2rem] leading-[1.3] tracking-[-.01em] text-[#0f172a]">14</b></div><div class="rounded-xl border border-[#e2e8f0] bg-white px-[15px] py-[13px]"><span class="block text-[.75rem] text-[#5b6474]">Out of stock</span><b class="mt-[3px] block text-[1.2rem] leading-[1.3] tracking-[-.01em] text-[#0f172a]">3</b></div></div>
    <div class="flex min-h-[110px] flex-1 items-end gap-2 rounded-xl border border-[#e2e8f0] bg-white px-4 pt-4 max-[640px]:h-[90px] max-[640px]:min-h-0 max-[640px]:flex-none" aria-hidden="true"><i class="flex-1 rounded-t-[5px] bg-[#fed7aa] opacity-70" style="height:48%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa]" style="height:62%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa] opacity-70" style="height:55%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa]" style="height:40%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa] opacity-70" style="height:68%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa]" style="height:74%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa] opacity-70" style="height:60%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa]" style="height:52%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa] opacity-70" style="height:80%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa]" style="height:66%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa] opacity-70" style="height:58%"></i><i class="flex-1 rounded-t-[5px] bg-[#fed7aa]" style="height:72%"></i></div>
  </div>
</div></div>
<div><span class="mb-3.5 block text-[.72rem] tracking-[.12em] text-[#5b6474] uppercase">File tree with guide lines</span>
<div class="flex h-[540px] overflow-hidden rounded-2xl border border-[#d6dce5] bg-white shadow-[0_1px_2px_rgba(15,23,42,.05),0_18px_40px_-22px_rgba(15,23,42,.28)] max-[640px]:h-auto max-[640px]:flex-col">
  <nav class="flex flex-none basis-[272px] flex-col overflow-y-auto border-r border-[#e7e5e4] bg-[#fafaf9] px-3 py-4 font-mono text-[.8125rem] leading-[1.5] font-medium max-[640px]:basis-auto max-[640px]:border-r-0 max-[640px]:border-b max-[640px]:border-[#e7e5e4]" aria-label="Harbor CMS files">
    <div class="flex items-center justify-between px-2 pb-3 font-sans"><p class="m-0 text-[.6875rem] font-bold tracking-[.08em] text-[#6b635d] uppercase">Explorer</p><span class="rounded-full border border-[#d6d3d1] px-2 py-px text-[.72rem] font-semibold text-[#44403c]">main</span></div>
    <ul class="m-0 list-none p-0">
      <li><details class="group/t0" open><summary class="flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] cursor-pointer list-none [&::-webkit-details-marker]:hidden"><svg class="size-3 flex-none text-[#6b635d] transition-transform duration-200 group-open/t0:rotate-90 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="size-4 flex-none text-[#b45309]" aria-hidden="true"><use href="#i-folder"/></svg><span>content</span></summary>
        <ul class="m-0 ml-3.5 list-none border-l border-dashed border-[#d6d3d1] p-0 pl-1.5"><li><details class="group/t1" open><summary class="flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] cursor-pointer list-none [&::-webkit-details-marker]:hidden"><svg class="size-3 flex-none text-[#6b635d] transition-transform duration-200 group-open/t1:rotate-90 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="size-4 flex-none text-[#b45309]" aria-hidden="true"><use href="#i-folder"/></svg><span>blog</span></summary>
        <ul class="m-0 ml-3.5 list-none border-l border-dashed border-[#d6d3d1] p-0 pl-1.5"><li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#" aria-current="page"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>october-launch.md</span></a></li><li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>pricing-update.md</span></a></li><li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>hiring-in-lisbon.md</span></a></li></ul></details></li><li><details class="group/t1" open><summary class="flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] cursor-pointer list-none [&::-webkit-details-marker]:hidden"><svg class="size-3 flex-none text-[#6b635d] transition-transform duration-200 group-open/t1:rotate-90 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="size-4 flex-none text-[#b45309]" aria-hidden="true"><use href="#i-folder"/></svg><span>pages</span></summary>
        <ul class="m-0 ml-3.5 list-none border-l border-dashed border-[#d6d3d1] p-0 pl-1.5"><li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>about.md</span></a></li><li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>careers.md</span></a></li><li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>pricing.md</span></a></li></ul></details></li><li><details class="group/t1"><summary class="flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] cursor-pointer list-none [&::-webkit-details-marker]:hidden"><svg class="size-3 flex-none text-[#6b635d] transition-transform duration-200 group-open/t1:rotate-90 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="size-4 flex-none text-[#b45309]" aria-hidden="true"><use href="#i-folder"/></svg><span>authors</span></summary>
        <ul class="m-0 ml-3.5 list-none border-l border-dashed border-[#d6d3d1] p-0 pl-1.5"><li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>ines-carvalho.yml</span></a></li><li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>tom-becker.yml</span></a></li></ul></details></li></ul></details></li>
      <li><details class="group/t0"><summary class="flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] cursor-pointer list-none [&::-webkit-details-marker]:hidden"><svg class="size-3 flex-none text-[#6b635d] transition-transform duration-200 group-open/t0:rotate-90 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevR"/></svg><svg class="size-4 flex-none text-[#b45309]" aria-hidden="true"><use href="#i-folder"/></svg><span>public</span></summary>
        <ul class="m-0 ml-3.5 list-none border-l border-dashed border-[#d6d3d1] p-0 pl-1.5"><li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>favicon.svg</span></a></li><li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>og-image.png</span></a></li></ul></details></li>
      <li><a class="group flex items-center gap-[7px] rounded-md px-2 py-1 whitespace-nowrap text-[#44403c] no-underline hover:bg-[#efedeb] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[#b45309] aria-[current=page]:bg-[#fdecd3] aria-[current=page]:font-bold aria-[current=page]:text-[#7c2d12]" href="#"><svg class="ml-[19px] size-4 flex-none text-[#6b635d] group-aria-[current=page]:text-[#b45309]" aria-hidden="true"><use href="#i-file"/></svg><span>site.config.ts</span></a></li>
    </ul>
  </nav>
  <div class="flex min-w-0 flex-1 flex-col gap-[18px] overflow-hidden bg-[#f8fafc] px-7 py-[26px] max-[640px]:px-[18px] max-[640px]:py-5">
    <div class="flex flex-wrap items-end justify-between gap-3"><div><p class="m-0 text-[.75rem] text-[#5b6474]">Harbor CMS · content/blog</p><h2 class="mt-0.5 mb-0 text-[1.25rem] leading-[1.3] font-bold tracking-[-.02em] text-[#0f172a]">Launch notes, October</h2></div><span class="rounded-full border px-3 py-[5px] text-[.75rem] font-semibold border-[#d9dfe8] bg-white text-[#334155]">Draft · saved 2 min ago</span></div>
    <div class="grid grid-cols-[repeat(auto-fit,minmax(128px,1fr))] gap-3"><div class="rounded-xl border border-[#e2e8f0] bg-white px-[15px] py-[13px]"><span class="block text-[.75rem] text-[#5b6474]">Words</span><b class="mt-[3px] block text-[1.2rem] leading-[1.3] tracking-[-.01em] text-[#0f172a]">1,240</b></div><div class="rounded-xl border border-[#e2e8f0] bg-white px-[15px] py-[13px]"><span class="block text-[.75rem] text-[#5b6474]">Reading time</span><b class="mt-[3px] block text-[1.2rem] leading-[1.3] tracking-[-.01em] text-[#0f172a]">5 min</b></div><div class="rounded-xl border border-[#e2e8f0] bg-white px-[15px] py-[13px]"><span class="block text-[.75rem] text-[#5b6474]">Internal links</span><b class="mt-[3px] block text-[1.2rem] leading-[1.3] tracking-[-.01em] text-[#0f172a]">12</b></div></div>
    <div class="flex min-h-[110px] flex-1 items-end gap-2 rounded-xl border border-[#e2e8f0] bg-white px-4 pt-4 max-[640px]:h-[90px] max-[640px]:min-h-0 max-[640px]:flex-none" aria-hidden="true"><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1] opacity-70" style="height:30%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1]" style="height:42%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1] opacity-70" style="height:38%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1]" style="height:56%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1] opacity-70" style="height:50%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1]" style="height:64%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1] opacity-70" style="height:58%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1]" style="height:70%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1] opacity-70" style="height:62%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1]" style="height:48%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1] opacity-70" style="height:54%"></i><i class="flex-1 rounded-t-[5px] bg-[#d6d3d1]" style="height:66%"></i></div>
  </div>
</div></div>
<div><span class="mb-3.5 block text-[.72rem] tracking-[.12em] text-[#5b6474] uppercase">Exclusive accordion: one section open at a time</span>
<div class="flex h-[540px] overflow-hidden rounded-2xl border border-[#d6dce5] bg-white shadow-[0_1px_2px_rgba(15,23,42,.05),0_18px_40px_-22px_rgba(15,23,42,.28)] max-[640px]:h-auto max-[640px]:flex-col">
  <nav class="flex flex-none basis-[256px] flex-col gap-2 overflow-y-auto border-r border-[#e7e5e4] bg-[#f7f6f4] px-3.5 py-[18px] text-[.875rem] max-[640px]:basis-auto max-[640px]:border-r-0 max-[640px]:border-b max-[640px]:border-[#e7e5e4]" aria-label="Settings">
    <p class="m-0 mb-1 px-1.5 text-[1rem] font-bold text-[#1c1917]">Settings</p>
    <details class="group rounded-xl border border-transparent transition-colors duration-200 open:border-[#e7e5e4] open:bg-white open:shadow-[0_4px_14px_-8px_rgba(28,25,23,.18)] motion-reduce:transition-none" name="settings-nav" open><summary class="flex cursor-pointer list-none items-center gap-[11px] rounded-[11px] px-3 py-2.5 font-semibold text-[#44403c] group-open:text-[#1c1917] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] [&::-webkit-details-marker]:hidden"><svg class="size-[18px] flex-none" aria-hidden="true"><use href="#i-user"/></svg><span>Account</span><svg class="ml-auto size-3.5 flex-none text-[#6b635d] transition-transform duration-200 group-open:rotate-180 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul class="m-0 list-none pt-0 pr-2 pb-2.5 pl-[39px]"><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#" aria-current="page">Profile</a></li><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">Password</a></li><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">Two-factor sign-in</a></li></ul>
    </details>
    <details class="group rounded-xl border border-transparent transition-colors duration-200 open:border-[#e7e5e4] open:bg-white open:shadow-[0_4px_14px_-8px_rgba(28,25,23,.18)] motion-reduce:transition-none" name="settings-nav"><summary class="flex cursor-pointer list-none items-center gap-[11px] rounded-[11px] px-3 py-2.5 font-semibold text-[#44403c] group-open:text-[#1c1917] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] [&::-webkit-details-marker]:hidden"><svg class="size-[18px] flex-none" aria-hidden="true"><use href="#i-layers"/></svg><span>Workspace</span><svg class="ml-auto size-3.5 flex-none text-[#6b635d] transition-transform duration-200 group-open:rotate-180 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul class="m-0 list-none pt-0 pr-2 pb-2.5 pl-[39px]"><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">Members</a></li><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">Roles and access</a></li><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">Billing</a></li></ul>
    </details>
    <details class="group rounded-xl border border-transparent transition-colors duration-200 open:border-[#e7e5e4] open:bg-white open:shadow-[0_4px_14px_-8px_rgba(28,25,23,.18)] motion-reduce:transition-none" name="settings-nav"><summary class="flex cursor-pointer list-none items-center gap-[11px] rounded-[11px] px-3 py-2.5 font-semibold text-[#44403c] group-open:text-[#1c1917] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] [&::-webkit-details-marker]:hidden"><svg class="size-[18px] flex-none" aria-hidden="true"><use href="#i-bell"/></svg><span>Notifications</span><svg class="ml-auto size-3.5 flex-none text-[#6b635d] transition-transform duration-200 group-open:rotate-180 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul class="m-0 list-none pt-0 pr-2 pb-2.5 pl-[39px]"><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">Email</a></li><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">Push</a></li><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">Weekly digest</a></li></ul>
    </details>
    <details class="group rounded-xl border border-transparent transition-colors duration-200 open:border-[#e7e5e4] open:bg-white open:shadow-[0_4px_14px_-8px_rgba(28,25,23,.18)] motion-reduce:transition-none" name="settings-nav"><summary class="flex cursor-pointer list-none items-center gap-[11px] rounded-[11px] px-3 py-2.5 font-semibold text-[#44403c] group-open:text-[#1c1917] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] [&::-webkit-details-marker]:hidden"><svg class="size-[18px] flex-none" aria-hidden="true"><use href="#i-zap"/></svg><span>Integrations</span><svg class="ml-auto size-3.5 flex-none text-[#6b635d] transition-transform duration-200 group-open:rotate-180 motion-reduce:transition-none" aria-hidden="true"><use href="#i-chevD"/></svg></summary>
      <ul class="m-0 list-none pt-0 pr-2 pb-2.5 pl-[39px]"><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">Slack</a></li><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">GitHub</a></li><li><a class="relative block rounded-[7px] px-2.5 py-1.5 text-[.8125rem] font-medium text-[#6b635d] no-underline hover:bg-[#f5f5f4] hover:text-[#1c1917] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#d97706] aria-[current=page]:font-[650] aria-[current=page]:text-[#1c1917] aria-[current=page]:before:absolute aria-[current=page]:before:top-1/2 aria-[current=page]:before:-left-[9px] aria-[current=page]:before:-mt-[3px] aria-[current=page]:before:size-1.5 aria-[current=page]:before:rounded-full aria-[current=page]:before:bg-[#d97706]" href="#">Calendar sync</a></li></ul>
    </details>
  </nav>
  <div class="flex min-w-0 flex-1 flex-col gap-[18px] overflow-hidden bg-[#f8fafc] px-7 py-[26px] max-[640px]:px-[18px] max-[640px]:py-5">
    <div class="flex flex-wrap items-end justify-between gap-3"><div><p class="m-0 text-[.75rem] text-[#5b6474]">Settings · Account</p><h2 class="mt-0.5 mb-0 text-[1.25rem] leading-[1.3] font-bold tracking-[-.02em] text-[#0f172a]">Profile</h2></div><span class="rounded-full border px-3 py-[5px] text-[.75rem] font-semibold border-[#d9dfe8] bg-white text-[#334155]">Visible to your team</span></div>
    <div class="grid grid-cols-[repeat(auto-fit,minmax(128px,1fr))] gap-3"><div class="rounded-xl border border-[#e2e8f0] bg-white px-[15px] py-[13px]"><span class="block text-[.75rem] text-[#5b6474]">Display name</span><b class="mt-[3px] block text-[1.2rem] leading-[1.3] tracking-[-.01em] text-[#0f172a]">Amara Diallo</b></div><div class="rounded-xl border border-[#e2e8f0] bg-white px-[15px] py-[13px]"><span class="block text-[.75rem] text-[#5b6474]">Time zone</span><b class="mt-[3px] block text-[1.2rem] leading-[1.3] tracking-[-.01em] text-[#0f172a]">GMT+1</b></div><div class="rounded-xl border border-[#e2e8f0] bg-white px-[15px] py-[13px]"><span class="block text-[.75rem] text-[#5b6474]">Language</span><b class="mt-[3px] block text-[1.2rem] leading-[1.3] tracking-[-.01em] text-[#0f172a]">English (UK)</b></div></div>
    <div class="flex min-h-[110px] flex-1 items-end gap-2 rounded-xl border border-[#e2e8f0] bg-white px-4 pt-4 max-[640px]:h-[90px] max-[640px]:min-h-0 max-[640px]:flex-none" aria-hidden="true"><i class="flex-1 rounded-t-[5px] bg-[#fde68a] opacity-70" style="height:20%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a]" style="height:34%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a] opacity-70" style="height:28%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a]" style="height:46%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a] opacity-70" style="height:40%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a]" style="height:52%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a] opacity-70" style="height:44%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a]" style="height:60%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a] opacity-70" style="height:38%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a]" style="height:50%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a] opacity-70" style="height:42%"></i><i class="flex-1 rounded-t-[5px] bg-[#fde68a]" style="height:56%"></i></div>
  </div>
</div></div>

About this set

Multi-level sidebar menus built on the native details and summary elements, so they open and close without any JavaScript. Accordion groups is a store admin three levels deep: Catalog opens to Products, Collections, Price lists and an Inventory group that opens again to Stock levels, Transfers and Suppliers. Nested links hang off a guide line under the parent icon, the current page gets an orange marker on that line, and the parent that contains it turns bold through :has(). File tree is a CMS explorer in monospace type, with folders as details, files as links, dashed guide lines and a highlighted current file. Exclusive accordion is a settings sidebar whose sections share a name attribute, so opening one closes the one before it, and the open section lifts onto a white card. Use the accordion for admin menus with a few deep branches, the tree for file-like content, and the exclusive version when only one group should be open at a time. Chevrons rotate from the open attribute, which the browser keeps in sync with the state it announces.

What’s included

  • Native details and summary, no JavaScript
  • Three levels deep with guide lines and a current-page marker
  • Parent of the current page highlighted with :has()
  • Monospace file tree with folders and files
  • Exclusive accordion through the details name attribute

Accessibility

Every group header is a summary element, so it is reached with Tab, toggled with Enter or Space, and announced with its expanded or collapsed state. Links inside use aria-current="page" for the current item, each sidebar is a nav with its own label, and focus shows a 2px outline on summaries and links alike. Chevron and background transitions stop under prefers-reduced-motion.

Customise it

Colours live in the --nm-*, --ft-* and --xa-* custom properties; indentation is the margin and padding on .nm-sub and on nested .ft lists. Bootstrap reuses them on .nav and .nav-link, and Tailwind uses named groups (group/l1, group/l2) so each chevron follows only its own details.