* { margin:0; padding:0; box-sizing:border-box; }
body {
    font-family: 'Vazirmatn','Segoe UI',system-ui,sans-serif;
    background:#0a0c10; color:#eef2ff; line-height:1.6;
}
a { color:#f97316; text-decoration:none; }
a:hover { color:#fb923c; }
.container { max-width:1200px; margin:0 auto; padding:0 20px; }

/* Nav */
.nav {
    background:#11151e; border-bottom:1px solid #252c3a; padding:14px 0;
    position:sticky; top:0; z-index:100;
}
.nav-inner { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.brand {
    font-size:1.4rem; font-weight:800;
    background:linear-gradient(135deg,#fff,#f97316);
    -webkit-background-clip:text; background-clip:text; color:transparent;
}
.nav-links { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.nav-links a {
    color:#cbd5e1; padding:8px 14px; border-radius:30px; font-size:.9rem;
    transition:.2s;
}
.nav-links a:hover, .nav-links a.active { background:rgba(249,115,22,.15); color:#f97316; }
.user-chip {
    display:flex; align-items:center; gap:8px; background:#1a1f2a;
    padding:6px 14px; border-radius:30px; font-size:.85rem;
}

/* Main */
main { padding:32px 0 60px; }
.page-title { font-size:1.8rem; font-weight:800; margin-bottom:8px; }
.page-sub { color:#9ca3af; margin-bottom:28px; font-size:.95rem; }

/* Card */
.card {
    background:#11151e; border:1px solid #252c3a; border-radius:20px;
    padding:24px; margin-bottom:20px;
}
.card-title { font-size:1.15rem; font-weight:700; margin-bottom:16px; }

/* Grid */
.grid { display:grid; gap:20px; }
.grid-2 { grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.grid-3 { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }

/* Stat */
.stat {
    background:#11151e; border:1px solid #252c3a; border-radius:18px;
    padding:20px; display:flex; align-items:center; gap:16px;
}
.stat-icon {
    width:52px; height:52px; border-radius:14px; background:rgba(249,115,22,.15);
    color:#f97316; display:flex; align-items:center; justify-content:center; font-size:22px;
}
.stat-num { font-size:1.6rem; font-weight:800; color:#f97316; }
.stat-label { color:#9ca3af; font-size:.8rem; }

/* Table */
.table-wrap { overflow-x:auto; border-radius:16px; border:1px solid #252c3a; }
table { width:100%; border-collapse:collapse; }
th, td { padding:14px 16px; text-align:right; font-size:.9rem; }
thead { background:#1a1f2a; }
th { color:#f97316; font-weight:700; font-size:.8rem; }
tbody tr { border-top:1px solid #252c3a; }
tbody tr:hover { background:rgba(249,115,22,.04); }

/* Badge */
.badge {
    display:inline-block; padding:3px 10px; border-radius:20px; font-size:.72rem; font-weight:600;
}
.badge-active { background:rgba(34,197,94,.15); color:#22c55e; }
.badge-pending { background:rgba(234,179,8,.15); color:#eab308; }
.badge-failed, .badge-expired { background:rgba(239,68,68,.15); color:#ef4444; }
.badge-suspended { background:rgba(107,114,128,.2); color:#9ca3af; }

/* Buttons */
.btn {
    display:inline-flex; align-items:center; gap:6px; padding:10px 20px;
    border-radius:30px; font-size:.88rem; font-weight:600; cursor:pointer;
    border:none; transition:.2s; text-decoration:none;
}
.btn-primary { background:linear-gradient(135deg,#f97316,#ea580c); color:#fff; }
.btn-primary:hover { transform:translateY(-1px); color:#fff; box-shadow:0 6px 16px rgba(249,115,22,.3); }
.btn-outline { background:transparent; border:1.5px solid #f97316; color:#f97316; }
.btn-outline:hover { background:#f97316; color:#fff; }
.btn-sm { padding:6px 14px; font-size:.8rem; }
.btn-ghost { background:#1a1f2a; color:#cbd5e1; }
.btn-ghost:hover { background:#252c3a; }

/* Forms */
.form-group { margin-bottom:18px; }
.form-label { display:block; margin-bottom:6px; font-size:.85rem; color:#cbd5e1; font-weight:600; }
.form-input, .form-select {
    width:100%; padding:11px 16px; background:#0a0c10; border:1px solid #2d3748;
    border-radius:12px; color:#fff; font-family:inherit; font-size:.9rem; outline:none;
}
.form-input:focus, .form-select:focus { border-color:#f97316; }
.form-help { font-size:.75rem; color:#6b7280; margin-top:4px; }
.form-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }

.alert { padding:12px 18px; border-radius:12px; font-size:.88rem; margin-bottom:20px; }
.alert-error { background:rgba(239,68,68,.12); border:1px solid rgba(239,68,68,.3); color:#fca5a5; }
.alert-info { background:rgba(59,130,246,.12); border:1px solid rgba(59,130,246,.3); color:#93c5fd; }
.alert-success { background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.3); color:#86efac; }

/* Empty */
.empty {
    text-align:center; padding:60px 20px; color:#6b7280;
}
.empty i { font-size:48px; color:#f97316; margin-bottom:16px; display:block; }

/* Credentials box */
.cred-box {
    background:#0a0c10; border:1px dashed #f97316; border-radius:12px;
    padding:16px; font-family:'Courier New',monospace; font-size:.85rem; direction:ltr;
    margin:8px 0;
}
.cred-box .label { color:#6b7280; font-size:.72rem; direction:rtl; display:block; margin-bottom:2px; }
.cred-box .val { color:#f97316; word-break:break-all; }