/* ═══════════ SIDEBAR ═══════════ */
.sidebar-toggle{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--ocean),var(--violet));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(37,99,235,.25);transition:transform .15s, box-shadow .15s;flex-shrink:0;}
.sidebar-toggle:hover{transform:scale(1.06);box-shadow:0 3px 12px rgba(37,99,235,.35);}
.sidebar-toggle svg{width:16px;height:16px;stroke:#fff;stroke-width:2.2;fill:none;stroke-linecap:round;}
.sidebar-overlay{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(3px);z-index:900;opacity:0;pointer-events:none;transition:opacity .3s;}
.sidebar-overlay.open{opacity:1;pointer-events:all;}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:300px;background:#fff;z-index:901;transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 32px rgba(0,0,0,.13);display:flex;flex-direction:column;overflow:hidden;}
.sidebar.open{transform:translateX(0);}
.sidebar-head{padding:20px 18px 14px;background:linear-gradient(135deg,var(--ocean),var(--violet));flex-shrink:0;}
.sidebar-logo{font-family:'Baloo 2',sans-serif;font-size:20px;font-weight:800;color:#fff;display:flex;align-items:center;gap:8px;}
.sidebar-logo-sub{font-size:10px;font-weight:600;color:rgba(255,255,255,.75);margin-top:2px;}
.sidebar-close{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.2);border:none;cursor:pointer;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;transition:background .15s;}
.sidebar-close:hover{background:rgba(255,255,255,.35);}
.sidebar-nav{flex:1;overflow-y:auto;padding:10px 0;}
.sidebar-nav::-webkit-scrollbar{width:4px;}
.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
.sn-section{margin-bottom:4px;}
.sn-section-header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px 8px;cursor:pointer;user-select:none;transition:background .15s;border-radius:0;}
.sn-section-header:hover{background:var(--bg);}
.sn-section-label{display:flex;align-items:center;gap:10px;font:800 12px 'Nunito',sans-serif;color:var(--text);}
.sn-section-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.sni-registry{background:var(--ocean-pale);}
.sni-settings{background:var(--violet-pale);}
.sn-arrow{font-size:10px;color:var(--text-soft);transition:transform .25s;}
.sn-arrow.open{transform:rotate(90deg);}
.sn-children{overflow:hidden;max-height:0;transition:max-height .3s ease;}
.sn-children.open{max-height:400px;}
.sn-item{display:flex;align-items:center;gap:10px;padding:9px 18px 9px 56px;cursor:pointer;font:700 11px 'Nunito',sans-serif;color:var(--text-soft);transition:all .15s;border-left:3px solid transparent;}
.sn-item:hover{background:var(--bg);color:var(--ocean);}
.sn-item.active{background:var(--ocean-pale);color:var(--ocean);border-left-color:var(--ocean);}
.sn-item-dot{width:7px;height:7px;border-radius:50%;background:var(--border);flex-shrink:0;}
.sn-item.active .sn-item-dot{background:var(--ocean);}
.sn-divider{height:1px;background:var(--border);margin:6px 18px;}
.sn-simple-item{display:flex;align-items:center;gap:10px;padding:10px 18px;cursor:pointer;font:700 12px 'Nunito',sans-serif;color:var(--text-soft);transition:all .15s;border-left:3px solid transparent;}
.sn-simple-item:hover{background:var(--bg);color:var(--violet);}
.sn-simple-item.active{background:var(--violet-pale);color:var(--violet);border-left-color:var(--violet);}
.sn-simple-item .sn-section-icon{width:28px;height:28px;font-size:14px;}
.sidebar-foot{padding:12px 18px;border-top:1.5px solid var(--border);font-size:10px;color:var(--text-soft);font-weight:600;flex-shrink:0;}

