:root{
  --bg:#0f1115; --card:#171a21; --border:#262b35; --text:#e6e8ee; --muted:#9aa3b2;
  --primary:#4f7cff; --primary-d:#3a63e0; --danger:#ff5d6c; --success:#37c279;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'Vazirmatn', Tahoma, sans-serif; line-height:1.9;
}
a{color:var(--primary); text-decoration:none}
.container{max-width:980px; margin:0 auto; padding:24px 16px}
.topbar{background:var(--card); border-bottom:1px solid var(--border)}
.topbar-inner{max-width:980px; margin:0 auto; padding:14px 16px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px}
.brand{font-weight:700}
.topbar nav a{margin-inline-start:18px; color:var(--muted)}
.topbar nav a:hover{color:var(--text)}
.topbar nav a.danger{color:var(--danger)}

.card{background:var(--card); border:1px solid var(--border); border-radius:14px; padding:22px; margin-bottom:20px}
h1{font-size:22px; margin-top:0}
h2{font-size:18px}
.muted{color:var(--muted); font-size:14px}

table{width:100%; border-collapse:collapse; margin-top:10px}
th,td{padding:10px 8px; text-align:right; border-bottom:1px solid var(--border); font-size:14px}
th{color:var(--muted); font-weight:600}

.btn{
  display:inline-block; background:var(--primary); color:#fff; border:none; padding:10px 18px;
  border-radius:10px; cursor:pointer; font-family:inherit; font-size:14px;
}
.btn:hover{background:var(--primary-d)}
.btn.danger{background:var(--danger)}
.btn.ghost{background:transparent; border:1px solid var(--border); color:var(--text)}

input[type=text], input[type=password], input[type=number], select{
  width:100%; padding:10px 12px; border-radius:10px; border:1px solid var(--border);
  background:#10131a; color:var(--text); font-family:inherit; font-size:14px;
}
label{display:block; margin-bottom:6px; font-size:14px; color:var(--muted)}
.field{margin-bottom:16px}

.alert{padding:12px 16px; border-radius:10px; margin-bottom:18px; font-size:14px}
.alert.success{background:rgba(55,194,121,.12); color:var(--success); border:1px solid rgba(55,194,121,.3)}
.alert.error{background:rgba(255,93,108,.12); color:var(--danger); border:1px solid rgba(255,93,108,.3)}

.token-box{
  background:#10131a; border:1px dashed var(--primary); border-radius:10px; padding:14px;
  font-family:monospace; direction:ltr; text-align:left; word-break:break-all; margin:14px 0;
}
.login-wrap{max-width:380px; margin:80px auto}
.badge{display:inline-block; padding:2px 10px; border-radius:20px; font-size:12px}
.badge.ok{background:rgba(55,194,121,.15); color:var(--success)}
.badge.bad{background:rgba(255,93,108,.15); color:var(--danger)}
