:root{
    --bg:#0d0d0d;
    --card:#1a1a1a;
    --card-hover:#252525;
    --muted:#a0a0a0;
    --text:#f5f5f5;
    --text-bright:#ffffff;
    --accent:#ffffff;
    --accent-dark:#e0e0e0;
    --accent-glow:rgba(255,255,255,0.08);
    --border:#2a2a2a;
    --radius:12px;
    --shadow:0 4px 24px rgba(0,0,0,0.6);
    --sidebar-w:220px;
    --transition:all 0.2s ease;
}

*{box-sizing:border-box;margin:0;padding:0}

html,body{height:100%;overflow-x:hidden}

body{
    font-family:'IRANSans','Vazirmatn',Tahoma,Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
    direction:rtl;
    -webkit-font-smoothing:antialiased;
    display:flex;
    flex-direction:column;
    min-height:100vh;
    line-height:1.7;
    font-size:14px;
}

input,textarea,select,button{font-family:inherit}

.fa,.fas,.far,.fab{font-family:"Font Awesome 6 Brands","Font Awesome 6 Free"!important;font-weight:400}

/* Site Header */
.site-header{
    width:100%;
    background:var(--card);
    border-bottom:1px solid var(--border);
    position:sticky;
    top:0;
    z-index:100;
    box-shadow:0 2px 12px rgba(0,0,0,0.5);
}

.header-inner{
    max-width:1200px;
    margin:0 auto;
    padding:16px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.site-logo a{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.logo-text{
    font-size:1.5rem;
    font-weight:900;
    color:var(--text-bright);
    letter-spacing:0.02em;
}

.main-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
}

.nav-auth-buttons{
    display:flex;
    gap:12px;
    align-items:center;
}

.tt-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 20px;
    border-radius:8px;
    border:2px solid var(--accent);
    background:var(--accent);
    color:#0d0d0d;
    font-weight:700;
    font-size:0.85rem;
    cursor:pointer;
    transition:var(--transition);
    text-decoration:none;
    outline:none;
}

.tt-btn:hover{
    background:var(--accent-dark);
    border-color:var(--accent-dark);
    transform:translateY(-1px);
    box-shadow:0 4px 12px var(--accent-glow);
}

/* Login Body */
.login-body{
    background:var(--bg);
    justify-content:flex-start;
    align-items:center;
    position:relative;
    overflow:visible;
    padding-top:0;
}

.login-wrapper{
    width:100%;
    max-width:500px;
    padding:40px 20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    position:relative;
    z-index:1;
    margin-top:60px;
}

.login-card{
    width:100%;
    background:var(--card);
    border-radius:var(--radius);
    padding:40px 32px;
    box-shadow:var(--shadow);
    border:1px solid var(--border);
    display:flex;
    flex-direction:column;
    align-items:center;
}

.login-card .brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-bottom:28px;
}

.login-card h1{
    font-size:1.8rem;
    font-weight:800;
    text-align:center;
    color:var(--text-bright);
    margin-bottom:8px;
}

.login-card .subtitle{
    text-align:center;
    width:100%;
    color:var(--muted);
    font-size:0.95rem;
    font-weight:500;
}

.login-card form{width:100%}

.login-card label{
    display:block;
    margin-bottom:8px;
    margin-top:20px;
    color:var(--text);
    font-size:0.85rem;
    font-weight:700;
}

.login-card input[type="text"],
.login-card input[type="password"]{
    width:100%;
    padding:12px 14px;
    border-radius:8px;
    border:1px solid var(--border);
    background:#111;
    color:var(--text-bright);
    font-size:0.95rem;
    font-weight:500;
    transition:var(--transition);
    outline:none;
}

.login-card input[type="text"]:focus,
.login-card input[type="password"]:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 3px var(--accent-glow);
}

/* Layout */
.layout{
    display:flex;
    max-width:1200px;
    margin:24px auto 0 auto;
    gap:24px;
    padding:0 20px;
    flex:1;
    width:100%;
}

.sidebar{width:var(--sidebar-w);flex-shrink:0}

.menu{
    list-style:none;
    padding:6px;
    background:var(--card);
    border-radius:var(--radius);
    border:1px solid var(--border);
    position:sticky;
    top:76px;
    box-shadow:0 2px 8px rgba(0,0,0,0.4);
}

.menu li{margin-bottom:4px}
.menu li:last-child{margin-bottom:0}

.menu li a{
    display:flex;
    align-items:center;
    padding:12px 14px;
    color:var(--text);
    text-decoration:none;
    border-radius:8px;
    font-weight:600;
    font-size:0.9rem;
    transition:var(--transition);
}

.menu li a:hover{
    background:var(--card-hover);
    color:var(--accent);
}

.menu li a.active-menu{
    background:var(--accent);
    color:#0d0d0d;
    font-weight:800;
    box-shadow:0 2px 8px var(--accent-glow);
}

.content{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:0;
}

.section-card{
    background:var(--card);
    border-radius:var(--radius);
    padding:24px;
    margin-bottom:20px;
    border:1px solid var(--border);
    width:100%;
    max-width:850px;
    transition:var(--transition);
    box-shadow:0 2px 8px rgba(0,0,0,0.4);
}

.section-card:hover{border-color:#444}

.table-responsive{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border-radius:8px;
}

h4{
    color:var(--text-bright);
    font-size:1.1rem;
    font-weight:800;
    margin-bottom:20px;
    padding-bottom:12px;
    border-bottom:2px solid var(--border);
}

table{width:100%;border-collapse:collapse;font-size:0.85rem}

thead{
    background:#111;
    position:sticky;
    top:0;
}

th{
    text-align:right;
    color:var(--muted);
    padding:12px 14px;
    border-bottom:2px solid var(--border);
    font-weight:700;
    font-size:0.8rem;
    text-transform:uppercase;
}

td{
    padding:12px 14px;
    border-bottom:1px solid var(--border);
    color:var(--text);
    font-weight:500;
}

tr:last-child td{border-bottom:none}
tbody tr{transition:var(--transition)}
tbody tr:hover{background:var(--card-hover)}

a.link{
    color:var(--text-bright);
    text-decoration:none;
    font-weight:700;
    transition:var(--transition);
}

a.link:hover{color:#ccc;text-decoration:underline}

#status-data{min-width:0!important}
#status-profiles,#sessions-sessions,#payments-payments{min-width:500px}

.loginbtn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 20px;
    border-radius:8px;
    border:none;
    background:var(--accent);
    color:#0d0d0d;
    font-weight:700;
    font-size:0.9rem;
    cursor:pointer;
    transition:var(--transition);
    outline:none;
    position:relative;
    overflow:hidden;
    width:100%;
}

.loginbtn:hover{
    background:var(--accent-dark);
    transform:translateY(-1px);
    box-shadow:0 4px 12px var(--accent-glow);
}

.btn-logout{
    min-width:75px;
    padding:8px 14px!important;
    margin:0!important;
    font-size:0.8rem!important;
}

input[type="radio"]{
    width:17px;
    height:17px;
    accent-color:var(--accent);
    cursor:pointer;
}

label{cursor:pointer;user-select:none}

#buy-form label{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    margin-bottom:10px;
    background:var(--bg);
    border:2px solid var(--border);
    border-radius:8px;
    transition:var(--transition);
    font-weight:600;
}

#buy-form label:hover{
    border-color:var(--accent);
    background:var(--card-hover);
}

#buy-form label:has(input:checked){
    border-color:var(--accent);
    background:var(--accent-glow);
}

/* Main Footer */
.main-footer{
    width:100%;
    max-width:850px;
    margin:40px auto 0 auto;
    padding:30px 20px;
    text-align:center;
    border-top:1px solid var(--border);
    background:var(--card);
    border-radius:var(--radius);
    box-shadow:0 2px 8px rgba(0,0,0,0.4);
}

.footer-text{
    color:var(--muted);
    font-size:0.9rem;
    font-weight:600;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
}

.footer-text a{
    color:var(--text-bright);
    text-decoration:none;
    font-weight:800;
    transition:var(--transition);
}

.footer-text a:hover{
    text-decoration:underline;
}

/* Global Blocker */
#global-blocker{
    position:fixed;
    inset:0;
    background:rgba(13,13,13,0.95);
    backdrop-filter:blur(8px);
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
}

#global-blocker.visible{display:flex!important}

#global-blocker .card{
    padding:28px;
    background:var(--card);
    border-radius:var(--radius);
    border:1px solid var(--border);
    box-shadow:var(--shadow);
}

/* Mobile Responsive */
@media(max-width:991px){
    .main-footer{display:none!important}
}

@media(max-width:850px){
    .layout{flex-direction:column;margin-top:16px;padding:0 16px;gap:18px}
    .sidebar{width:100%}
    .menu{display:flex;overflow-x:auto;white-space:nowrap;gap:8px;padding:8px;position:static;scrollbar-width:none}
    .menu::-webkit-scrollbar{display:none}
    .menu li{margin-bottom:0}
    .menu li a{white-space:nowrap}
    .content{align-items:stretch}
    .section-card{padding:18px}
    .main-footer{max-width:100%;padding:28px 16px 22px}
    .login-wrapper{padding:16px}
    .login-card{padding:28px 20px}
    th,td{padding:9px 11px;font-size:0.8rem}
}

@media(max-width:450px){
    body{font-size:13px}
    .section-card{padding:14px}
    h4{font-size:1rem;margin-bottom:14px;font-weight:700}
    .login-card h1{font-size:1.4rem;font-weight:800}
    th,td{padding:8px 10px;font-size:0.75rem}
    .login-card{padding:24px 18px}
    .footer-text{font-size:0.85rem}
}
