/* ===== Navbar + Sidebar skeleton (shown only until the real partial loads) =====
   These placeholders live INSIDE #navbar-slot / #sidebar-slot. Since include.js
   does el.innerHTML = fetchedHtml, the real navbar/sidebar automatically replaces
   this the moment it loads — no timers or extra JS needed. Row counts match each
   section's actual navbar/sidebar so the loading state doesn't jump in size. */

@keyframes nsk-shimmer{ 100%{ transform:translateX(100%); } }
.nsk-b{ position:relative; overflow:hidden; background:#e5e7eb; border-radius:8px; }
.nsk-b::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(229,231,235,0) 0%, rgba(255,255,255,.75) 50%, rgba(229,231,235,0) 100%);
  transform:translateX(-100%); animation:nsk-shimmer 1.4s infinite;
}
body.dark .nsk-b{ background:#374151; }
body.dark .nsk-b::after{ background:linear-gradient(90deg, rgba(55,65,81,0) 0%, rgba(107,114,128,.5) 50%, rgba(55,65,81,0) 100%); }

/* --- root public/dashboard navbar (logo left, icon+label items right) --- */
.nsk-navbar{ height:64px; background:#fff; border-bottom:1px solid #e5e7eb; display:flex; align-items:center; gap:14px; padding:0 20px; }
.nsk-navbar .nsk-logo{ width:36px; height:36px; border-radius:9px; }
.nsk-navbar .nsk-brand{ width:110px; height:15px; }
.nsk-navbar .nsk-spacer{ flex:1; }
.nsk-navitem{ display:flex; flex-direction:column; align-items:center; gap:5px; margin-left:20px; }
.nsk-navitem .nsk-b:first-child{ width:20px; height:20px; border-radius:5px; }
.nsk-navitem .nsk-b:last-child{ width:34px; height:8px; }

/* --- simple manager/company-style topbar (hamburger+logo left, icon+avatar right) --- */
.nsk-topbar{ height:60px; background:#fff; border-bottom:1px solid #e5e7eb; display:flex; align-items:center; gap:12px; padding:0 16px; }
.nsk-topbar .nsk-hamburger{ width:34px; height:34px; border-radius:8px; }
.nsk-topbar .nsk-brand{ width:130px; height:15px; }
.nsk-topbar .nsk-spacer{ flex:1; }
.nsk-topbar .nsk-iconbtn{ width:34px; height:34px; border-radius:8px; }
.nsk-topbar .nsk-avatar{ width:34px; height:34px; border-radius:50%; }

/* --- sidebar (icon rail, one row per real nav item) --- */
.nsk-sidebar{ width:56px; height:calc(100vh - 60px); background:#fff; border-right:1px solid #e5e7eb; display:flex; flex-direction:column; align-items:center; gap:14px; padding:16px 0; overflow:hidden; }
.nsk-sidebar .nsk-row{ width:26px; height:26px; border-radius:7px; flex-shrink:0; }
