/* ============================================================
   TG Panel — Modern UI (Claude tomonidan yangilandi)
   Eski klass nomlari saqlangan: topbar, brand, card, grid, stat,
   inline, alert, muted, table, tr, btn*, login-page, footer
   ============================================================ */

:root{
  --primary:#7C3AED;
  --primary-2:#a855f7;
  --bg:#0b0b12;
  --card:#15152a;
  --card-2:#1b1b34;
  --text:#ececff;
  --muted:#a3a3c2;
  --border:rgba(255,255,255,.09);
  --ok:#22c55e;
  --warn:#f59e0b;
  --danger:#ef4444;
  --radius:16px;
  --shadow:0 10px 40px rgba(0,0,0,.35);
}

*{ box-sizing:border-box; }

html,body{ height:100%; }

body{
  margin:0;
  font-family:Inter,-apple-system,system-ui,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1100px 560px at 12% -10%, rgba(124,58,237,.30), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(168,85,247,.16), transparent 55%),
    linear-gradient(180deg,#0b0b12,#08080d);
  background-attachment:fixed;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}

/* ---------------- TOPBAR ---------------- */
.topbar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:14px 22px;
  background:linear-gradient(90deg, rgba(124,58,237,.92), rgba(76,29,149,.92));
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 30px rgba(0,0,0,.30);
}
.topbar .brand{
  font-weight:900; letter-spacing:.4px; font-size:18px;
  display:flex; align-items:center; gap:9px;
}
.topbar .brand::before{
  content:"⚡"; font-size:18px;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.5));
}
.topbar nav{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.topbar nav a{
  text-decoration:none; color:#fff; font-weight:700; font-size:14px;
  padding:9px 14px; border-radius:11px; transition:all .15s ease;
  border:1px solid transparent;
}
.topbar nav a:hover{ background:rgba(255,255,255,.16); transform:translateY(-1px); }

/* btn variantlar (header.php ishlatadi) */
.btn{ display:inline-flex; align-items:center; gap:6px; cursor:pointer;
  text-decoration:none; font-weight:700; border-radius:11px; border:1px solid transparent;
  padding:9px 14px; font-size:14px; transition:all .15s ease; }
.btn-sm{ padding:8px 12px; font-size:13px; }
.btn-outline-light{ color:#fff; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.06); }
.btn-outline-light:hover{ background:rgba(255,255,255,.18); transform:translateY(-1px); }
.btn-danger{ background:#fff; color:#7c1d1d; }
.btn-danger:hover{ filter:brightness(.96); transform:translateY(-1px); }

/* ---------------- LAYOUT ---------------- */
.container{ padding:26px 22px 60px; max-width:1160px; margin:0 auto; }

h1,h2,h3{ margin:0 0 14px; font-weight:800; letter-spacing:.2px; }
h2{ font-size:20px; }

/* ---------------- CARDS ---------------- */
.card{
  background:linear-gradient(180deg, var(--card-2), var(--card));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:20px; margin:16px 0;
  box-shadow:var(--shadow);
}

.grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media(max-width:820px){ .grid{ grid-template-columns:1fr; } }

/* ---------------- STAT CARDS ---------------- */
.stat{ position:relative; overflow:hidden; }
.stat::after{
  content:""; position:absolute; right:-30px; top:-30px;
  width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(124,58,237,.35), transparent 70%);
}
.stat .stat-num{
  font-size:38px; font-weight:900; line-height:1.05;
  background:linear-gradient(90deg,#fff,#c9b8ff);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.stat .stat-label{ color:var(--muted); font-weight:600; margin-top:6px; }

/* ---------------- FORMS ---------------- */
.inline{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
label{ display:block; margin:10px 0 6px; font-weight:600; color:#d6d6f5; }
input[type=text],input[type=password],input[type=number],input[type=email],select,textarea{
  width:100%; padding:11px 13px; border-radius:12px;
  background:#0e0e1d; border:1px solid var(--border); color:var(--text);
  font-size:14px; outline:none; transition:border .15s, box-shadow .15s;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--primary-2);
  box-shadow:0 0 0 3px rgba(124,58,237,.25);
}

button{
  padding:11px 18px; border-radius:12px; border:0; font-weight:800;
  background:linear-gradient(90deg,var(--primary),var(--primary-2));
  color:#fff; cursor:pointer; font-size:14px; transition:all .15s ease;
}
button:hover{ filter:brightness(1.08); transform:translateY(-1px); }
button:active{ transform:translateY(0); }

/* ---------------- ALERTS ---------------- */
.alert{ background:linear-gradient(180deg,#2a1239,#1c0f2b);
  border:1px solid rgba(255,255,255,.15); padding:12px 14px; border-radius:12px; margin:10px 0; }
.alert.success{ background:linear-gradient(180deg,#0f3a1c,#0c2a16); border-color:rgba(34,197,94,.35); }
.muted{ color:var(--muted); font-size:14px; }

/* ---------------- TABLE ---------------- */
.table{ display:grid; gap:8px; }
.tr{ display:grid;
  grid-template-columns:60px 1fr 130px 120px 110px 170px 1fr; gap:8px;
  padding:12px; border:1px solid var(--border); border-radius:12px;
  background:rgba(255,255,255,.02); transition:background .15s; align-items:center; }
.tr:hover{ background:rgba(255,255,255,.05); }
.tr.th{ background:rgba(124,58,237,.16); font-weight:800; border-color:rgba(124,58,237,.3); }
@media(max-width:820px){ .tr{ grid-template-columns:1fr 1fr; } .tr.th{ display:none; } }

/* ---------------- LOGIN ---------------- */
.login-page{ display:grid; place-content:center; min-height:100vh; padding:20px; }
.login-page .card{
  width:380px; max-width:92vw; padding:28px;
  background:linear-gradient(180deg, rgba(124,58,237,.28), rgba(12,12,20,.96));
  border:1px solid rgba(124,58,237,.35);
  box-shadow:0 20px 60px rgba(124,58,237,.25);
}
.login-page h1{
  text-align:center; font-size:26px; margin-bottom:20px;
  display:flex; align-items:center; justify-content:center; gap:9px;
}
.login-page h1::before{ content:"⚡"; }
.login-page button{ width:100%; margin-top:18px; padding:13px; font-size:15px; }
.login-page input{ margin-bottom:4px; }

/* ---------------- FOOTER ---------------- */
.footer{ text-align:center; color:var(--muted); padding:26px; font-size:13px;
  border-top:1px solid var(--border); margin-top:30px; }

/* ---------------- SCROLLBAR ---------------- */
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:rgba(124,58,237,.5); border-radius:10px; }
::-webkit-scrollbar-track{ background:transparent; }
