:root{
  --bg:#F0F4F0;--surface:#fff;--surface2:#F7FAF7;
  --border:#E5EBE5;--text:#1A2416;--text2:#4A5E46;--text3:#8A9E86;
  --sidebar:#0F1A0C;--sidebar-t:rgba(255,255,255,.55);
  --green:#18A558;--green-l:#4DC77A;--green-pale:#E6F7EE;
  --blue:#2563EB;--blue-pale:#EFF6FF;
  --gold:#D97706;--gold-pale:#FFFBEB;
  --red:#DC2626;--red-pale:#FEF2F2;
  --purple:#7C3AED;--purple-pale:#F5F3FF;
  --orange:#EA580C;--orange-pale:#FFF7ED;
  --shadow:0 2px 14px rgba(0,0,0,.07);--shadow-lg:0 8px 32px rgba(0,0,0,.12);
  --radius:14px;--radius-sm:8px;
}
[data-theme="dark"]{
  --bg:#0A0F09;--surface:#111A0F;--surface2:#162112;
  --border:#1F2E1C;--text:#E8F5E0;--text2:#9EBD98;--text3:#5A7A55;
  --green-pale:#0D2E1A;--blue-pale:#0D1B3E;
  --gold-pale:#1C1200;--red-pale:#1C0505;
  --purple-pale:#1A0D38;--orange-pale:#1C0E00;
  --shadow:0 2px 14px rgba(0,0,0,.3);--shadow-lg:0 8px 32px rgba(0,0,0,.4);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;transition:background .3s,color .3s}

/* TOPBAR */
.topbar{background:var(--sidebar);padding:0 20px;height:56px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:200;box-shadow:0 2px 16px rgba(0,0,0,.35)}
.tl-logo{display:flex;align-items:center;gap:8px}.tl-icon{font-size:22px}.tl-name{color:#fff;font-weight:900;font-size:16px}.tl-badge{background:#18A558;color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:6px}
.topbar-spacer{flex:1}
.tsearch{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:7px 14px;color:#fff;font-size:13px;font-family:inherit;outline:none;width:240px}
.tsearch::placeholder{color:rgba(255,255,255,.4)}
.tbtn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:18px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;font-family:inherit;transition:background .2s}
.tbtn:hover{background:rgba(255,255,255,.15)}
.ndot{position:absolute;top:5px;right:5px;width:8px;height:8px;background:#F87171;border-radius:50%;border:2px solid var(--sidebar);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}
.tavatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#18A558,#4DC77A);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px;cursor:pointer}

/* LAYOUT */
.layout{display:flex;min-height:calc(100vh - 56px)}

/* SIDEBAR */
.sidebar{width:228px;background:var(--sidebar);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto}
.sidebar::-webkit-scrollbar{width:0}
.ss{padding:10px 10px 4px;font-size:10px;font-weight:700;color:rgba(255,255,255,.22);letter-spacing:1px;text-transform:uppercase}
.si{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-left:3px solid transparent;color:var(--sidebar-t);font-weight:600;font-size:13px;font-family:inherit;background:transparent;width:100%;text-align:left;border-top:none;border-right:none;border-bottom:none;white-space:nowrap;overflow:hidden;transition:all .18s}
.si:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.85)}
.si.active{background:rgba(24,165,88,.15);border-left-color:#4DC77A;color:#7EE07A;font-weight:700}
.si-icon{font-size:17px;flex-shrink:0}.si-label{flex:1}.si-badge{background:#F87171;color:#fff;font-size:9px;font-weight:800;padding:2px 6px;border-radius:10px;flex-shrink:0}
.sfooter{padding:14px;border-top:1px solid rgba(255,255,255,.07);margin-top:auto}
.sf-a{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#18A558,#4DC77A);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:13px;flex-shrink:0}

/* CONTENT */
.content{flex:1;padding:24px;overflow-x:hidden;min-width:0}
.ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:12px}
.pt{font-size:22px;font-weight:900;color:var(--text)}.ps{font-size:13px;color:var(--text3);margin-top:2px}

/* CARDS */
.card{background:var(--surface);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);border:1px solid var(--border)}
.ct{font-size:14px;font-weight:800;color:var(--text);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.ctb{font-size:11px;background:var(--green-pale);color:var(--green);padding:2px 8px;border-radius:10px;font-weight:700}

/* GRIDS */
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* STAT */
.sc{border-radius:var(--radius);padding:18px 16px;color:#fff;position:relative;overflow:hidden}
.sc::after{content:'';position:absolute;right:-16px;top:-16px;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.1)}
.sc-n{font-size:28px;font-weight:900;line-height:1}.sc-l{font-size:12px;opacity:.85;margin-top:4px}.sc-c{font-size:11px;margin-top:10px;background:rgba(255,255,255,.2);padding:3px 10px;border-radius:20px;display:inline-block;font-weight:600}

/* BADGES */
.b{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}
.bg{background:var(--green-pale);color:var(--green)}.bb{background:var(--blue-pale);color:var(--blue)}.bo{background:var(--gold-pale);color:var(--gold)}.br{background:var(--red-pale);color:var(--red)}.bp{background:var(--purple-pale);color:var(--purple)}.bk{background:var(--surface2);color:var(--text3)}.bwa{background:#D9F7E7;color:#075E54}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);border:none;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;transition:all .18s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-p{background:var(--green);color:#fff}.btn-p:hover{background:#15924E}
.btn-d{background:var(--red-pale);color:var(--red)}.btn-d:hover{background:#FEE2E2}
.btn-g{background:var(--surface2);color:var(--text2)}.btn-g:hover{background:var(--border)}
.btn-b{background:var(--blue-pale);color:var(--blue)}
.btn-wa{background:#25D366;color:#fff}
.btn-sm{padding:5px 10px;font-size:11px;border-radius:6px}

/* INPUT */
.inp{width:100%;padding:9px 13px;border-radius:9px;border:1.5px solid var(--border);font-size:13px;font-family:inherit;background:var(--surface);color:var(--text);outline:none;transition:border-color .2s}
.inp:focus{border-color:var(--green)}
select.inp{cursor:pointer}
.il{font-size:11px;font-weight:700;color:var(--text3);margin-bottom:5px;display:block;text-transform:uppercase;letter-spacing:.5px}
.fg{margin-bottom:12px}

/* TABLE */
.tw{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border)}
.ttb{padding:14px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--border)}
table{width:100%;border-collapse:collapse}
thead tr{background:var(--surface2)}
th{padding:11px 14px;text-align:left;font-size:11px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}
td{padding:11px 14px;font-size:13px;border-bottom:1px solid var(--border);vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover td{background:var(--surface2)}

/* TABS */
.tabs{display:flex;gap:4px;background:var(--surface2);padding:4px;border-radius:10px;width:fit-content}
.tab{padding:7px 16px;border-radius:7px;border:none;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;background:transparent;color:var(--text3);transition:all .2s}
.tab.active{background:var(--surface);color:var(--text);font-weight:700;box-shadow:var(--shadow)}

/* PROGRESS */
.pt-r{background:var(--surface2);border-radius:4px;height:7px;overflow:hidden}
.pt-f{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--green-l),var(--green))}
.pr{margin-bottom:12px}
.prh{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}

/* BAR CHART */
.bc{display:flex;align-items:flex-end;gap:8px;height:130px}
.bc-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.bc-v{font-size:10px;color:var(--text3);font-weight:700}
.bc-f{width:100%;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--green-l),var(--green));min-height:4px}
.bc-l{font-size:10px;color:var(--text3)}

/* NOTIFICATION PANEL */
.np{position:fixed;top:56px;right:0;width:360px;height:calc(100vh - 56px);background:var(--surface);box-shadow:-4px 0 24px rgba(0,0,0,.15);z-index:300;display:none;flex-direction:column;border-left:1px solid var(--border)}
.np.open{display:flex}
.nph{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.npb{flex:1;overflow-y:auto;padding:10px 0}
.npb::-webkit-scrollbar{width:0}
.ni{padding:12px 18px;display:flex;gap:12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;position:relative}
.ni:hover{background:var(--surface2)}
.ni.unread::before{content:'';position:absolute;left:6px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--green)}
.ni-ic{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}

/* ADD USER MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:400;display:none;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal{background:var(--surface);border-radius:20px;padding:24px;width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.modal-title{font-size:18px;font-weight:800}

/* BANNER POSITION */
.pos-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:6px}
.pos-item{border-radius:8px;padding:8px 4px;text-align:center;font-size:11px;font-weight:700;border:2px solid transparent}
.pos-normal{background:var(--surface2);color:var(--text3);border-color:var(--border)}
.pos-sponsored{background:var(--gold-pale);color:var(--gold);border-color:var(--gold)}
.pos-priority{background:var(--red-pale);color:var(--red);border-color:var(--red)}
.pos-video{background:var(--blue-pale);color:var(--blue);border-color:var(--blue)}
.pos-num{font-size:16px;font-weight:900;display:block;margin-bottom:2px}

/* BANNER PREVIEW */
.banner-preview{border-radius:12px;overflow:hidden;border:2px solid var(--border)}
.bp-label{background:var(--sidebar);color:#fff;padding:6px 12px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:6px}
.bp-img{background:linear-gradient(120deg,var(--green),var(--green-l));height:80px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700}
.bp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--border)}
.bp-stat{padding:10px;text-align:center;border-right:1px solid var(--border)}
.bp-stat:last-child{border-right:none}
.bp-sv{font-size:18px;font-weight:900;color:var(--green)}
.bp-sl{font-size:10px;color:var(--text3);margin-top:2px}

/* VERIFY */
.vcard{display:flex;align-items:flex-start;gap:14px;padding:14px;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--surface);margin-bottom:10px;transition:border-color .2s}
.vcard:hover{border-color:var(--green)}
.va{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.vi{flex:1}
.vn{font-weight:700;font-size:14px;color:var(--text)}
.vs{font-size:12px;color:var(--text3);margin-top:2px}
.vd{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}
.vdoc{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:8px}
.vb{display:flex;flex-direction:column;gap:5px}

/* OVERLAY */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:140;display:none}
.overlay.show{display:block}

/* TOAST */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--sidebar);color:#fff;padding:11px 22px;border-radius:24px;font-size:13px;font-weight:700;z-index:999;transition:transform .35s;box-shadow:0 8px 24px rgba(0,0,0,.3);max-width:90vw;text-align:center}
.toast.show{transform:translateX(-50%) translateY(0)}

/* CHAT */
.cw{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;height:400px}
.cw-h{padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.cw-m{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--surface2)}
.cw-m::-webkit-scrollbar{width:0}
.msg{max-width:75%;padding:9px 13px;border-radius:12px;font-size:13px;line-height:1.5}
.msg-i{background:var(--surface);color:var(--text);border-bottom-left-radius:3px;align-self:flex-start}
.msg-o{background:var(--green);color:#fff;border-bottom-right-radius:3px;align-self:flex-end}
.msg-t{font-size:10px;opacity:.65;margin-top:3px;text-align:right}
.cw-inp{padding:10px 14px;background:var(--surface);border-top:1px solid var(--border);display:flex;gap:8px}

/* LOG */
.log-i{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.log-i:last-child{border-bottom:none}
.log-ic{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}

/* ANIM */
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fadein{animation:fadeIn .3s ease both}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}

@media(max-width:900px){.g4{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr}.g2{grid-template-columns:1fr}}
@media(max-width:600px){.sidebar{position:fixed;left:0;top:56px;z-index:150;transform:translateX(-100%);transition:transform .25s}.sidebar.mob{transform:translateX(0)}.tsearch{width:120px}.g4{grid-template-columns:1fr 1fr}}