:root{
  --bg:#070b16;
  --bg-2:#0b1120;
  --panel:rgba(255,255,255,.045);
  --panel-2:rgba(255,255,255,.07);
  --border:rgba(255,255,255,.09);
  --border-strong:rgba(255,255,255,.16);
  --text:#e7ecf5;
  --text-dim:#9aa6bd;
  --text-faint:#69748c;
  --accent:#7c5cff;
  --accent-2:#22d3ee;
  --accent-3:#ff7ac3;
  --good:#34d399;
  --warn:#fbbf24;
  --bad:#fb7185;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --grad:linear-gradient(120deg,#7c5cff,#22d3ee);
  --grad-warm:linear-gradient(120deg,#ff7ac3,#ffb86b);
  font-synthesis:none;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  overflow:hidden;
  position:relative;
}
/* animated background blobs */
.bg-blob{position:fixed;border-radius:50%;filter:blur(80px);opacity:.5;z-index:0;pointer-events:none;animation:float 18s ease-in-out infinite}
.blob-1{width:520px;height:520px;background:#5b3cff;top:-160px;left:-120px}
.blob-2{width:460px;height:460px;background:#0bb4cf;bottom:-180px;right:-100px;animation-delay:-6s}
.blob-3{width:380px;height:380px;background:#ff5fae;top:40%;left:55%;opacity:.28;animation-delay:-11s}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-30px) scale(1.08)}}
.grid-overlay{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:46px 46px;mask-image:radial-gradient(circle at 50% 30%,black,transparent 75%)}

.app{position:relative;z-index:2;height:100vh;display:flex;flex-direction:column}

/* top bar */
.topbar{display:flex;align-items:center;gap:18px;padding:14px 24px;border-bottom:1px solid var(--border);
  background:rgba(8,12,22,.6);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;min-width:230px}
.brand .logo{width:38px;height:38px;border-radius:11px;background:var(--grad);display:grid;place-items:center;font-weight:800;font-size:18px;color:#fff;box-shadow:0 8px 22px rgba(124,92,255,.5)}
.brand h1{font-size:16px;font-weight:700;letter-spacing:.3px}
.brand .sub{font-size:11px;color:var(--text-faint);letter-spacing:1.5px;text-transform:uppercase}

.cmd{flex:1;max-width:560px;display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);
  border-radius:12px;padding:10px 14px;color:var(--text-dim);transition:.2s}
.cmd:focus-within{border-color:var(--border-strong);background:var(--panel-2)}
.cmd input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:13.5px}
.cmd .k{font-size:11px;border:1px solid var(--border);border-radius:6px;padding:2px 7px;color:var(--text-faint)}

.status-cluster{display:flex;align-items:center;gap:16px;margin-left:auto}
.stat-chip{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.stat-chip .v{font-size:14px;font-weight:700}
.stat-chip .l{font-size:10.5px;color:var(--text-faint)}
.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#22d3ee,#7c5cff);display:grid;place-items:center;font-weight:700;font-size:13px;color:#04121a}

/* tabs */
.tabs{display:flex;gap:6px;padding:10px 24px 0;border-bottom:1px solid var(--border);background:rgba(8,12,22,.4)}
.tab{padding:10px 16px;font-size:13.5px;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;position:relative;top:1px;transition:.18s}
.tab:hover{color:var(--text)}
.tab.active{color:#fff;border-bottom-color:var(--accent-2)}

main{flex:1;overflow:hidden;position:relative}
.view{position:absolute;inset:0;overflow:auto;padding:24px;display:none;animation:fade .35s ease}
.view.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.section-title{font-size:15px;font-weight:700;margin:6px 0 14px;display:flex;align-items:center;gap:9px}
.section-title .bar{width:4px;height:16px;border-radius:3px;background:var(--grad)}
.section-title .hint{font-size:12px;color:var(--text-faint);font-weight:400;margin-left:auto}

/* scrollbars */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:9px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}
::-webkit-scrollbar-track{background:transparent}

@media (max-width:1200px){
  .kpis{grid-template-columns:repeat(3,1fr)}
  .emp-grid{grid-template-columns:repeat(2,1fr)}
  .social-grid{grid-template-columns:repeat(2,1fr)}
  .two-col{grid-template-columns:1fr}
}
