@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Inter',system-ui,sans-serif;background:#060610;color:#e2e8f0;min-height:100vh;-webkit-font-smoothing:antialiased;}

::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(139,92,246,.3);border-radius:10px;}

/* ─── Background ─── */
.admin-bg{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 90% 70% at 5% 0%,rgba(109,40,217,.16) 0%,transparent 55%),
             radial-gradient(ellipse 70% 60% at 95% 100%,rgba(0,114,245,.12) 0%,transparent 55%),
             #060610;}
.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:44px 44px;}

/* ─── Sidebar ─── */
.sidebar{width:252px;background:rgba(6,6,16,.96);backdrop-filter:blur(32px);
  border-right:1px solid rgba(255,255,255,.06);
  position:fixed;left:0;top:0;bottom:0;z-index:100;
  display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1);}
.sidebar-logo{padding:24px 20px 20px;border-bottom:1px solid rgba(255,255,255,.05);}
.logo-emblem{width:40px;height:40px;border-radius:12px;
  background:linear-gradient(135deg,#7c3aed,#4f46e5);
  box-shadow:0 4px 20px rgba(124,58,237,.45);
  display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:12px;}
.logo-name{font-size:17px;font-weight:800;letter-spacing:3.5px;
  background:linear-gradient(135deg,#c4b5fd,#818cf8,#60a5fa);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.logo-sub{font-size:9.5px;color:rgba(255,255,255,.2);letter-spacing:2.5px;margin-top:2px;}
.nav-scroll{flex:1;overflow-y:auto;padding:8px 10px;}
.nav-group-label{font-size:9px;font-weight:600;color:rgba(255,255,255,.18);
  letter-spacing:2px;text-transform:uppercase;padding:14px 10px 5px;}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;
  border-radius:10px;cursor:pointer;font-size:13.5px;font-weight:500;
  color:rgba(255,255,255,.38);transition:all .18s;margin-bottom:1px;position:relative;}
.nav-item:hover{background:rgba(255,255,255,.05);color:rgba(255,255,255,.72);}
.nav-item.active{background:linear-gradient(135deg,rgba(124,58,237,.22),rgba(79,70,229,.12));
  color:#c4b5fd;border:1px solid rgba(139,92,246,.2);
  box-shadow:0 2px 14px rgba(124,58,237,.12);}
.nav-item.active::before{content:'';position:absolute;left:-10px;top:50%;transform:translateY(-50%);
  width:3px;height:16px;border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,#a78bfa,#818cf8);}
.nav-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;font-size:15px;flex-shrink:0;transition:all .18s;}
.nav-item.active .nav-icon{background:rgba(139,92,246,.2);}
.nav-item:hover:not(.active) .nav-icon{background:rgba(255,255,255,.06);}
.nav-badge{margin-left:auto;background:rgba(124,58,237,.3);color:#c4b5fd;
  font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:20px;}
.sidebar-bottom{padding:12px 10px;border-top:1px solid rgba(255,255,255,.05);}

/* ─── Topbar ─── */
.topbar{height:58px;background:rgba(6,6,16,.88);backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(255,255,255,.05);
  display:flex;align-items:center;padding:0 26px;
  position:sticky;top:0;z-index:50;gap:12px;}
.topbar-left{flex:1;display:flex;align-items:center;gap:10px;}
.page-title{font-size:15.5px;font-weight:600;color:rgba(255,255,255,.78);}
.topbar-right{display:flex;align-items:center;gap:8px;}
.topbar-chip{display:flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:22px;padding:5px 13px;font-size:12.5px;color:rgba(255,255,255,.4);}
.online-dot{width:7px;height:7px;background:#34d399;border-radius:50%;
  box-shadow:0 0 8px rgba(52,211,153,.7);animation:blink 2s ease infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
.admin-avatar{width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,#7c3aed,#4f46e5);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;flex-shrink:0;}

/* ─── Stat Cards ─── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;}
@media(max-width:1280px){.stats-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.stats-grid{grid-template-columns:1fr;}}

.scard{position:relative;overflow:hidden;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;padding:20px;
  transition:transform .2s,border-color .2s,box-shadow .2s;cursor:default;}
.scard:hover{transform:translateY(-3px);border-color:var(--c-dim);box-shadow:0 12px 36px var(--c-shadow);}
.scard-glow{position:absolute;top:-50px;right:-30px;width:140px;height:140px;border-radius:50%;
  background:radial-gradient(circle,var(--c-shine) 0%,transparent 70%);opacity:.45;pointer-events:none;}
.scard-stripe{position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--c-grad);opacity:.5;border-radius:0 0 18px 18px;}
.scard-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;}
.scard-icon{width:44px;height:44px;border-radius:12px;
  background:var(--c-icon-bg);border:1px solid var(--c-icon-border);
  display:flex;align-items:center;justify-content:center;font-size:20px;}
.scard-trend{display:flex;align-items:center;gap:4px;
  font-size:10.5px;font-weight:600;padding:4px 9px;border-radius:20px;}
.trend-up{background:rgba(52,211,153,.1);color:#34d399;border:1px solid rgba(52,211,153,.2);}
.trend-neu{background:rgba(148,163,184,.08);color:rgba(148,163,184,.6);border:1px solid rgba(148,163,184,.1);}
.scard-val{font-size:28px;font-weight:800;line-height:1;margin-bottom:4px;
  background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.scard-label{font-size:12px;color:rgba(255,255,255,.38);font-weight:500;}
.scard-desc{font-size:11px;color:rgba(255,255,255,.2);margin-top:2px;}
.scard-bar{margin-top:14px;}
.scard-bar-track{height:3px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden;}
.scard-bar-fill{height:100%;border-radius:2px;background:var(--c-grad);transition:width 1.2s cubic-bezier(.4,0,.2,1);}
.mini-sparkline{display:flex;align-items:flex-end;gap:2.5px;height:32px;}
.sparkbar{flex:1;border-radius:2px 2px 0 0;min-width:4px;
  background:var(--c-grad);opacity:.55;transition:opacity .2s;}
.sparkbar:hover{opacity:.9;}

/* ─── Glass panel ─── */
.glass{background:rgba(255,255,255,.032);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.07);border-radius:18px;}
.panel-head{display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.05);}
.panel-title{font-size:13.5px;font-weight:600;color:rgba(255,255,255,.72);
  display:flex;align-items:center;gap:8px;}
.panel-dot{width:7px;height:7px;border-radius:50%;}
.panel-body{padding:18px 20px;}

/* ─── Table ─── */
.tbl{width:100%;border-collapse:collapse;}
.tbl th{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;
  color:rgba(255,255,255,.22);padding:10px 16px;text-align:left;
  border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap;}
.tbl td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.035);
  font-size:13px;vertical-align:middle;}
.tbl tbody tr{transition:background .14s;}
.tbl tbody tr:hover td{background:rgba(139,92,246,.04);}
.tbl tbody tr:last-child td{border-bottom:none;}

/* ─── Badges ─── */
.badge{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;
  border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;}
.b-premium{background:rgba(251,191,36,.1);color:#fbbf24;border:1px solid rgba(251,191,36,.18);}
.b-free{background:rgba(255,255,255,.05);color:rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.07);}
.b-active{background:rgba(52,211,153,.1);color:#34d399;border:1px solid rgba(52,211,153,.18);}
.b-blocked{background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.18);}
.b-pending{background:rgba(251,191,36,.08);color:#fbbf24;border:1px solid rgba(251,191,36,.15);}
.b-completed{background:rgba(52,211,153,.1);color:#34d399;border:1px solid rgba(52,211,153,.18);}
.b-cancelled{background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.18);}
.b-stars{background:rgba(251,191,36,.1);color:#fbbf24;border:1px solid rgba(251,191,36,.18);}
.b-purple{background:rgba(139,92,246,.1);color:#a78bfa;border:1px solid rgba(139,92,246,.18);}

/* ─── Inputs ─── */
.inp{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
  border-radius:10px;padding:10px 14px;color:#e2e8f0;font-size:13.5px;
  outline:none;transition:all .2s;width:100%;font-family:inherit;}
.inp:focus{border-color:rgba(139,92,246,.5);box-shadow:0 0 0 3px rgba(139,92,246,.08);
  background:rgba(255,255,255,.06);}
.inp::placeholder{color:rgba(255,255,255,.18);}
.inp-sm{padding:8px 12px;font-size:13px;}
.search-wrap{position:relative;}
.search-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);
  color:rgba(255,255,255,.22);pointer-events:none;font-size:14px;}
.search-wrap .inp{padding-left:40px;}

/* ─── Buttons ─── */
.btn-primary{background:linear-gradient(135deg,#7c3aed,#4f46e5);
  border:none;border-radius:10px;padding:10px 20px;
  color:#fff;font-size:13.5px;font-weight:600;font-family:inherit;
  cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(124,58,237,.35);}
.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px rgba(124,58,237,.5);}
.btn-primary:disabled{opacity:.55;cursor:not-allowed;}
.btn-ghost{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);
  border-radius:10px;padding:9px 16px;color:rgba(255,255,255,.6);
  font-size:13px;font-family:inherit;cursor:pointer;transition:all .2s;}
.btn-ghost:hover{background:rgba(255,255,255,.09);color:#fff;}
.btn-xs{border-radius:7px;padding:5px 11px;font-size:11.5px;font-family:inherit;cursor:pointer;transition:all .15s;border:1px solid;}
.btn-xs-success{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.2);color:#34d399;}
.btn-xs-success:hover{background:rgba(52,211,153,.2);}
.btn-xs-warn{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.2);color:#fbbf24;}
.btn-xs-warn:hover{background:rgba(251,191,36,.2);}
.btn-xs-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.2);color:#f87171;}
.btn-xs-danger:hover{background:rgba(239,68,68,.2);}

/* ─── Filter tabs ─── */
.filter-tabs{display:flex;gap:6px;flex-wrap:wrap;}
.ftab{padding:6px 14px;border-radius:8px;font-size:12px;font-weight:500;
  cursor:pointer;transition:all .18s;border:1px solid rgba(255,255,255,.07);
  color:rgba(255,255,255,.38);background:rgba(255,255,255,.03);}
.ftab:hover{color:rgba(255,255,255,.65);background:rgba(255,255,255,.06);}
.ftab.active{background:rgba(124,58,237,.2);color:#c4b5fd;border-color:rgba(139,92,246,.25);}

/* ─── Progress bars (analysis panel) ─── */
.prog-row{margin-bottom:16px;}
.prog-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.prog-label{display:flex;align-items:center;gap:7px;font-size:13px;color:rgba(255,255,255,.48);}
.prog-val{font-size:13px;font-weight:700;}
.prog-track{height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden;}
.prog-fill{height:100%;border-radius:3px;transition:width 1.3s cubic-bezier(.4,0,.2,1);}

/* ─── Stat row ─── */
.stat-row{display:flex;align-items:center;justify-content:space-between;
  padding:11px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px;}
.stat-row:last-child{border-bottom:none;}
.stat-row-label{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.42);}
.stat-row-val{font-weight:700;}

/* ─── Login ─── */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;}
.login-card{width:400px;
  background:rgba(8,8,20,.94);backdrop-filter:blur(48px);
  border:1px solid rgba(139,92,246,.15);border-radius:26px;padding:44px;
  position:relative;overflow:hidden;
  box-shadow:0 32px 80px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.04);}
.login-card::before{content:'';position:absolute;top:-80px;left:-80px;
  width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(124,58,237,.18),transparent 70%);pointer-events:none;}
.login-card::after{content:'';position:absolute;bottom:-60px;right:-60px;
  width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(59,130,246,.14),transparent 70%);pointer-events:none;}

/* ─── Avatar ─── */
.uavatar{border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;flex-shrink:0;border:1.5px solid rgba(255,255,255,.1);}

/* ─── Pagination ─── */
.pager{display:flex;justify-content:center;gap:5px;padding:14px 16px;
  border-top:1px solid rgba(255,255,255,.04);}
.pgbtn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  color:rgba(255,255,255,.45);cursor:pointer;font-size:13px;transition:all .15s;}
.pgbtn:hover:not(:disabled){background:rgba(255,255,255,.09);color:#fff;}
.pgbtn:disabled{opacity:.28;cursor:not-allowed;}
.pgbtn.active{background:rgba(124,58,237,.25);border-color:rgba(139,92,246,.4);color:#c4b5fd;}

/* ─── Toast ─── */
.toast{position:fixed;bottom:24px;right:24px;z-index:999;
  background:rgba(10,10,22,.97);border:1px solid rgba(255,255,255,.08);
  border-radius:14px;padding:13px 18px;
  display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;
  box-shadow:0 12px 48px rgba(0,0,0,.55);
  animation:toastIn .32s cubic-bezier(.22,1,.36,1);}
.toast.success{border-color:rgba(52,211,153,.25);}
.toast.error{border-color:rgba(239,68,68,.25);}
@keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}

/* ─── Misc ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
.fade-in{animation:fadeUp .32s cubic-bezier(.4,0,.2,1) forwards;}
.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.1);
  border-top-color:#a78bfa;border-radius:50%;animation:spin .65s linear infinite;display:inline-block;}
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;}
.section-title{font-size:20px;font-weight:700;color:#f1f5f9;}
.section-sub{font-size:12.5px;color:rgba(255,255,255,.28);margin-top:3px;}
.divider{height:1px;background:rgba(255,255,255,.05);}
.empty-state{text-align:center;padding:56px 20px;color:rgba(255,255,255,.2);}
.empty-icon{font-size:40px;margin-bottom:12px;}
.price-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
  border-radius:14px;padding:16px;transition:all .2s;}
.price-card:hover{border-color:rgba(139,92,246,.3);background:rgba(139,92,246,.05);}
.mobile-toggle{display:none;}
@media(max-width:768px){
  .sidebar{transform:translateX(-100%);}
  .sidebar.open{transform:translateX(0);box-shadow:0 0 60px rgba(0,0,0,.8);}
  .main-content{margin-left:0!important;}
  .mobile-toggle{display:flex;}
  .stats-grid{grid-template-columns:1fr 1fr!important;}
  .two-col{grid-template-columns:1fr!important;}
}
