:root{--bg0:#050a14;--bg1:#0a1120;--bg2:#101c32;--bg3:#152240;--acc:#00e5a0;--acc2:rgba(0,229,160,.12);--ora:#ff7a3d;--ora2:rgba(255,122,61,.12);--red:#ff4d6a;--blu:#3d9eff;--ylw:#ffc233;--tx1:#e8f0f8;--tx2:#7b8da8;--bd:#1a2844;--bd2:#243660}
body.light-mode {
    --bg0: #f8fafc;
    --bg1: #ffffff;
    --bg2: #f1f5f9;
    --bg3: #e2e8f0;
    --tx1: #0f172a;
    --tx2: #475569;
    --bd: #e2e8f0;
    --bd2: #cbd5e1;
    --acc: #059669;
    --acc2: rgba(5, 150, 105, .1);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg0);color:var(--tx1);overflow-x:hidden;transition: background-color 0.3s, color 0.3s}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg1)}::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--acc)}

#appPage{min-height:100vh}
.appWrap{display:flex;min-height:100vh}

/* SIDEBAR */
.sidebar{width:256px;background:var(--bg1);border-right:1px solid var(--bd);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;transition:transform .3s}
.sh{padding:1.3rem 1.5rem;border-bottom:1px solid var(--bd)}.slogo{font-size:1.45rem;font-weight:900;letter-spacing:-1px}.slogo span{color:var(--acc)}
.sn{flex:1;padding:.8rem 0;overflow-y:auto}
.ns{padding:.4rem 1.4rem;font-size:.68rem;font-weight:700;color:var(--tx2);text-transform:uppercase;letter-spacing:.8px;margin-top:.4rem}
.ni{display:flex;align-items:center;gap:.7rem;padding:.65rem 1.4rem;margin:1px .7rem;border-radius:9px;color:var(--tx2);font-size:.86rem;font-weight:500;cursor:pointer;transition:all .18s;text-decoration:none}
.ni:hover{background:var(--bg2);color:var(--tx1)}.ni.on{background:var(--acc2);color:var(--acc)}
.ni i{width:18px;text-align:center;font-size:.9rem}

.sf{padding:.9rem 1.4rem;border-top:1px solid var(--bd)}
.uinfo{display:flex;align-items:center;gap:.7rem}
.uav{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;color:#fff;flex-shrink:0}
.uav.tb{background:linear-gradient(135deg,#00e5a0,#00b87a)}.uav.sb{background:linear-gradient(135deg,#3d9eff,#2563eb)}
.un{font-size:.82rem;font-weight:600}.ur{font-size:.68rem;color:var(--tx2);text-transform:capitalize}

/* MAIN CONTENT */
.mc{flex:1;margin-left:256px}
.topbar{position:sticky;top:0;z-index:40;padding:.85rem 2rem;background:rgba(5,10,20,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between}
.tpt{font-size:1.15rem;font-weight:700;display:flex;align-items:center;gap:.8rem}
.aibdg{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .7rem;background:var(--acc2);border-radius:7px;font-size:.72rem;font-weight:700;color:var(--acc)}
.ca{padding:2rem}

/* CARDS */
.sc{background:var(--bg2);border:1px solid var(--bd);border-radius:14px;padding:1.3rem;transition:all .28s}
.sc:hover{border-color:var(--bd2);transform:translateY(-2px)}
.si{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1rem;margin-bottom:.8rem}
.sv{font-size:1.9rem;font-weight:800;line-height:1}.sl{font-size:.78rem;color:var(--tx2);margin-top:.25rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.7rem 1.4rem;border-radius:10px;font-size:.88rem;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:all .22s}
.btn-p{background:var(--acc);color:#050a14}.btn-p:hover{background:#00ffb3;transform:translateY(-1px);box-shadow:0 4px 18px rgba(0,229,160,.3)}
.btn-d{background:rgba(255,77,106,.1);color:var(--red);border:1px solid rgba(255,77,106,.25)}.btn-d:hover{background:rgba(255,77,106,.2)}

.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.mb4{margin-bottom:2rem}
.fadein{animation:fi .35s ease}@keyframes fi{from{opacity:0;transform:translateY(8