/* ═══════════════════════════════════════════════════
   SAFR PROJECT — BASE
   Berisi: CSS Variables, Reset, Scrollbar,
           Layout utama, Sidebar, Topbar, Content shell
   ═══════════════════════════════════════════════════ */

/* ── RESET & VARIABLES ── */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#0a0a0a; --black2:#111; --black3:#1a1a1a; --black4:#222; --black5:#2a2a2a;
  --orange:#E8593C; --orange2:#F0997B; --orange-dim:rgba(232,89,60,0.12);
  --white:#fff; --w2:rgba(255,255,255,0.85); --w3:rgba(255,255,255,0.55);
  --w4:rgba(255,255,255,0.25); --w5:rgba(255,255,255,0.08);
  --border:rgba(255,255,255,0.08); --border2:rgba(255,255,255,0.14);
  --green:#4ade80; --green-dim:rgba(74,222,128,0.1);
  --amber:#fbbf24; --amber-dim:rgba(251,191,36,0.1);
  --red:#f87171;   --red-dim:rgba(248,113,113,0.1);
  --blue:#60a5fa;  --blue-dim:rgba(96,165,250,0.1);
  --purple:#a78bfa;--purple-dim:rgba(167,139,250,0.1);
  --teal:#2dd4bf; --teal-dim:rgba(45,212,191,0.1);
  --nav-w:220px;
  --fd:'Barlow',sans-serif; --fh:'Barlow Condensed',sans-serif;
  --r:8px; --r-lg:12px;
}
html,body{height:100%;overflow:hidden}
body{font-family:var(--fd);background:var(--black);color:var(--w2);font-size:13px;line-height:1.5}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--black5);border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:var(--orange)}

/* ── LAYOUT ── */
.layout{display:flex;height:100vh}

/* ── SIDEBAR ── */
.sidebar{
  width:var(--nav-w);min-width:var(--nav-w);
  background:var(--black);border-right:1px solid var(--border);
  display:flex;flex-direction:column;overflow:hidden;position:relative;
}
.sidebar::after{
  content:'';position:absolute;top:0;right:0;width:1px;height:100%;
  background:linear-gradient(to bottom,transparent,var(--orange),transparent);
  opacity:0.3;
}
.sb-logo{
  padding:14px 16px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:10px;
}
.logo-brand{font-family:var(--fh);font-size:15px;font-weight:800;letter-spacing:2px;color:var(--white);line-height:1.1}
.logo-brand em{color:var(--orange);font-style:normal}
.logo-tag{font-size:9px;color:var(--w4);letter-spacing:0.5px;text-transform:uppercase;margin-top:1px}

/* Stats di sidebar */
.sb-stats{padding:10px 16px;border-bottom:1px solid var(--border)}
.sb-stat-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0}
.sb-stat-label{font-size:10px;color:var(--w4);text-transform:uppercase;letter-spacing:0.6px}
.sb-stat-val{font-family:var(--fh);font-size:15px;font-weight:700;color:var(--white)}

/* Nav */
.nav-scroll{flex:1;overflow-y:auto;padding:6px 0}
.nav-section-label{padding:10px 16px 4px;font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--w4)}
.nav-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 16px;cursor:pointer;color:var(--w3);font-size:12px;font-weight:500;
  transition:all 0.15s;border-left:2px solid transparent;
}
.nav-item:hover{color:var(--white);background:var(--w5)}
.nav-item.active{color:var(--white);border-left-color:var(--orange);background:linear-gradient(to right,var(--orange-dim),transparent)}
.nav-ico{width:16px;height:16px;flex-shrink:0;opacity:0.7}
.nav-item.active .nav-ico,.nav-item:hover .nav-ico{opacity:1}
.nav-badge{margin-left:auto;background:var(--orange);color:#fff;font-size:9px;font-weight:700;border-radius:10px;padding:1px 7px;font-family:var(--fh)}

/* Sidebar user */
.sb-user{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}
.avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;font-family:var(--fh);letter-spacing:1px;flex-shrink:0}
.sb-uname{font-size:12px;font-weight:600;color:var(--white)}
.sb-urole{font-size:10px;color:var(--w4)}
.conn-badge{display:inline-flex;align-items:center;gap:4px;background:var(--green-dim);color:var(--green);font-size:9px;font-weight:700;padding:2px 7px;border-radius:10px;letter-spacing:0.5px;margin-top:3px}
.conn-dot{width:5px;height:5px;border-radius:50%;background:currentColor;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.3}}

/* ── MAIN ── */
.main{flex:1;display:flex;flex-direction:column;overflow:hidden}
.topbar{
  background:var(--black);border-bottom:1px solid var(--border);
  padding:10px 20px;display:flex;align-items:center;gap:12px;flex-shrink:0;
}
.topbar-title{font-family:var(--fh);font-size:18px;font-weight:700;color:var(--white);letter-spacing:1px;flex:1;text-transform:uppercase}
.topbar-actions{display:flex;gap:8px;align-items:center}

/* ── CONTENT SHELL ── */
.content{flex:1;overflow:hidden;display:flex;flex-direction:column}
