:root{
  --bg:#0b0f14;
  --panel:#0f1621;
  --panel2:#111b28;
  --text:#ffffff;
  --muted:#9aa4b2;
  --green:#00e676;
  --red:#ff3b30;
  --white:#ffffff;
  --border:rgba(255,255,255,.08);
  --shadow: 0 14px 40px rgba(0,0,0,.35);
  --radius: 16px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: radial-gradient(1200px 600px at 10% 0%, rgba(0,230,118,.12), transparent 60%),
              radial-gradient(1000px 500px at 90% 20%, rgba(255,59,48,.12), transparent 55%),
              var(--bg);
  color:var(--text);
}

a{color:inherit;text-decoration:none}
a:hover{opacity:.9}

.container{max-width:1200px;margin:0 auto;padding:24px}
.grid{display:grid;gap:16px}

.btn{
  border:0;
  padding:12px 16px;
  border-radius:12px;
  cursor:pointer;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  transition:transform .06s ease, opacity .2s ease;
}
.btn:active{transform:translateY(1px)}
.btn-green{background:linear-gradient(180deg, rgba(0,230,118,1), rgba(0,180,90,1)); color:#001a0d;}
.btn-red{background:linear-gradient(180deg, rgba(255,59,48,1), rgba(204,20,10,1)); color:#fff;}
.btn-ghost{background:transparent;color:#fff;border:1px solid var(--border)}
.badge{
  padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;
  border:1px solid var(--border); color:var(--muted);
}
.badge.pro{color:var(--green); border-color: rgba(0,230,118,.35)}
.badge.free{color:#fff}
.badge.lock{color:var(--red); border-color: rgba(255,59,48,.35)}

.card{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card .hd{padding:18px 18px 0}
.card .bd{padding:18px}
.card .ft{padding:0 18px 18px}

.input{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(0,0,0,.25);
  color:var(--text);
  outline:none;
}
.input::placeholder{color:rgba(255,255,255,.35)}

.topbar{
  position:sticky; top:0; z-index:20;
  backdrop-filter: blur(10px);
  background: rgba(11,15,20,.65);
  border-bottom:1px solid var(--border);
}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:38px;height:38px;border-radius:12px;
  background: radial-gradient(circle at 30% 30%, rgba(0,230,118,1), rgba(0,0,0,0));
  border:1px solid rgba(0,230,118,.35);
  box-shadow: 0 10px 30px rgba(0,230,118,.15);
}
.brand h1{margin:0;font-size:16px;letter-spacing:.4px}
.brand small{display:block;color:var(--muted);font-weight:600;margin-top:2px}
.nav{display:flex;align-items:center;gap:14px}
.nav a{color:var(--muted);font-weight:700}
.nav a.active{color:#fff}
.nav a:hover{color:#fff}

.layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 64px)}
.sidebar{
  padding:18px;
  border-right:1px solid var(--border);
  background: rgba(0,0,0,.18);
}
.side-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 12px;border-radius:12px;color:var(--muted);
  border:1px solid transparent;
  font-weight:800;
}
.side-item:hover{color:#fff;border-color:var(--border);background:rgba(255,255,255,.03)}
.side-item.active{color:#fff;border-color:rgba(0,230,118,.25);background:rgba(0,230,118,.06)}
.main{padding:22px}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi{padding:16px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.03)}
.kpi .v{font-size:22px;font-weight:900}
.kpi .l{color:var(--muted);font-weight:700;margin-top:6px}

.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{padding:12px;border-bottom:1px solid var(--border);text-align:left}
.table th{color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.table tr:hover td{background:rgba(255,255,255,.02)}

.hero{
  padding:40px 0 18px;
}
.hero h2{margin:0;font-size:34px}
.hero p{color:var(--muted);font-weight:700;margin:10px 0 0}

.row{display:flex;gap:12px;flex-wrap:wrap}

@media (max-width: 980px){
  .layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .kpis{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 520px){
  .kpis{grid-template-columns:1fr}
}
