/* Premium sidebar (loads after app.css; overrides only the sidebar). Navy + gold, quiet section labels, refined active state. */
:root{--side:258px}
.sb{background:radial-gradient(120% 40% at 50% -8%,rgba(232,170,68,.13) 0,transparent 60%),linear-gradient(180deg,#0f2f44 0,#0b2537 45%,#081c2a 100%);
  color:#c8d4de;border-right:1px solid rgba(232,170,68,.12);box-shadow:inset -1px 0 0 rgba(255,255,255,.03);scrollbar-color:rgba(232,170,68,.25) transparent}
.sb::-webkit-scrollbar{width:6px}.sb::-webkit-scrollbar-thumb{background:rgba(232,170,68,.22);border-radius:6px}

/* brand lockup */
.sb .sb-brand{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:24px 22px 16px;text-align:left}
.sb .sb-logo{width:46px;height:46px;border-radius:50%;box-shadow:0 0 0 1px rgba(232,170,68,.55),0 0 0 5px rgba(232,170,68,.08),0 8px 18px -8px rgba(0,0,0,.6);flex:none}
.sb .sb-word{display:flex;flex-direction:column;line-height:1}
.sb .sb-brand b{font:600 19px/1 "Playfair Display",serif;letter-spacing:.24em;margin:0;color:#fff}
.sb .sb-brand i{font:500 10.5px/1 "DM Sans",sans-serif;font-style:normal;letter-spacing:.46em;margin:7px 0 0;color:#e2bd78}
.sb-portal{margin:0 22px 8px;padding:0 0 14px;border-bottom:1px solid rgba(255,255,255,.07);position:relative}
.sb-portal:after{content:"";position:absolute;left:0;bottom:-1px;width:42px;height:1px;background:linear-gradient(90deg,#e8aa44,transparent)}
.sb-portal span{display:inline-flex;align-items:center;gap:7px;font:600 10.5px "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e8c58a;background:rgba(232,170,68,.1);border:1px solid rgba(232,170,68,.22);padding:4px 10px;border-radius:999px}
.sb-portal span:before{content:"";width:6px;height:6px;border-radius:50%;background:#e8aa44;box-shadow:0 0 0 3px rgba(232,170,68,.18)}

/* sections */
.sb{overflow:hidden}
.sb nav{padding:4px 12px 14px;gap:1px;flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(232,170,68,.25) transparent}
.sb nav::-webkit-scrollbar{width:6px}.sb nav::-webkit-scrollbar-thumb{background:rgba(232,170,68,.22);border-radius:6px}
.sb .sb-brand,.sb-portal{flex:none}
.sb-sec{font:600 10.5px "DM Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(200,212,222,.45);padding:16px 12px 6px}
.sb-sec:first-child{padding-top:8px}

/* items */
.sb a.nv,.sb summary.nv,.sb button.nv{position:relative;gap:11px;padding:7px 10px;border-radius:10px;border-left:0;color:#c8d4de;font:500 13.8px/1.2 "DM Sans",sans-serif;letter-spacing:.01em;transition:background .18s,color .18s}
.sb .nv-i{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none;color:#9fb3c3;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05);transition:background .18s,color .18s,border-color .18s}
.sb .nv .ico{width:17px;height:17px;opacity:1}
.sb .nv-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.sb a.nv:hover,.sb summary.nv:hover,.sb button.nv:hover{background:rgba(255,255,255,.045);color:#fff}
.sb a.nv:hover .nv-i,.sb summary.nv:hover .nv-i{color:#e8c58a;border-color:rgba(232,170,68,.25)}
.sb .nv.on{background:linear-gradient(90deg,rgba(232,170,68,.16),rgba(232,170,68,.04) 70%,transparent);color:#fff}
.sb .nv.on:before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#f3c46d,#c98a2e);box-shadow:0 0 12px rgba(232,170,68,.55)}
.sb .nv.on .nv-i{color:#1a1206;background:linear-gradient(145deg,#f3c46d,#d1953a);border-color:transparent;box-shadow:0 6px 14px -6px rgba(232,170,68,.7)}
.sb .nv-b{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e8aa44;color:#1a1206;font:700 11px/20px "DM Sans",sans-serif;text-align:center;flex:none}
.sb summary .chev{width:15px;height:15px;opacity:.55;margin-left:2px}
.sb details[open]>summary .chev{opacity:.9}

/* sub-items with a guide line */
.sb .sub{position:relative;gap:0;padding:4px 0 8px 52px}
.sb .sub:before{content:"";position:absolute;left:26px;top:2px;bottom:10px;width:1px;background:linear-gradient(180deg,rgba(232,170,68,.35),rgba(255,255,255,.06))}
.sb .sub a{position:relative;padding:7px 10px;border-radius:8px;border-left:0;font-size:13.2px;color:#a9bac8}
.sb .sub a:before{content:"";position:absolute;left:-30px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#0b2537;border:1px solid rgba(255,255,255,.22);transition:border-color .18s,background .18s}
.sb .sub a:hover{color:#fff;background:rgba(255,255,255,.04)}.sb .sub a:hover:before{border-color:#e8aa44}
.sb .sub a.on{color:#f0cf91;background:rgba(232,170,68,.09);border-left:0}
.sb .sub a.on:before{background:#e8aa44;border-color:#e8aa44;box-shadow:0 0 0 3px rgba(232,170,68,.18)}

/* footer: website link + profile card */
.sb-foot{flex:none;padding:12px 14px 16px;border-top:1px solid rgba(255,255,255,.07);background:#081c2a}
.sb-site{display:flex;align-items:center;gap:9px;padding:8px 10px;margin-bottom:10px;border-radius:9px;color:#a9bac8;font-size:13px;border:1px dashed rgba(255,255,255,.1)}
.sb-site:hover{color:#fff;border-color:rgba(232,170,68,.4);background:rgba(232,170,68,.06)}.sb-site .ico{width:16px;height:16px}.sb-site .sb-ext{margin-left:auto;width:13px;height:13px;opacity:.6}
.sb-me{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}
.sb-me .av{flex:none;box-shadow:0 0 0 2px rgba(232,170,68,.35)}
.sb-who{flex:1;min-width:0;display:flex;flex-direction:column;color:#fff;line-height:1.25}.sb-who b{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-who span{font-size:11.5px;color:#9fb3c3}
.sb-who:hover b{color:#f0cf91}
.sb-me form{margin:0}.sb-out{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:transparent;border:1px solid rgba(255,255,255,.1);color:#a9bac8;cursor:pointer;transition:all .18s}
.sb-out:hover{color:#fff;background:rgba(210,59,59,.22);border-color:rgba(210,59,59,.45)}.sb-out .ico{width:16px;height:16px}

@media (prefers-reduced-motion:reduce){.sb *{transition:none!important}}
