@font-face{font-family:'Vazirmatn';src:url('fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Vazirmatn',Tahoma,sans-serif;direction:rtl;background:#f4f6fb;color:#2c3e50;line-height:1.8;min-height:100vh}
.auth-page{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;min-height:100vh}
.auth-box{background:#fff;padding:40px;border-radius:20px;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.auth-box h1{text-align:center;margin-bottom:25px;color:#4a3a8c;font-size:22px}
.auth-box label{display:block;margin:12px 0 6px;font-weight:600;font-size:14px}
.auth-box input{width:100%;padding:12px 14px;border:2px solid #e0e4ec;border-radius:10px;font-family:inherit;font-size:15px}
.auth-box input:focus{outline:none;border-color:#667eea}
.auth-link{text-align:center;margin-top:18px;font-size:14px}
.auth-link a{color:#667eea;text-decoration:none;font-weight:700}
.btn-primary{display:inline-block;width:100%;padding:13px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:.25s;margin-top:15px;text-align:center;text-decoration:none}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(102,126,234,.4)}
.btn-primary.big{padding:18px;font-size:17px}
.btn-sm{padding:6px 14px;border-radius:8px;font-size:13px;border:none;background:#eef1ff;color:#4a3a8c;cursor:pointer;text-decoration:none;font-weight:600;display:inline-block}
.btn-sm.danger{background:#fdeaea;color:#c0392b}
.topbar{background:#fff;padding:15px 25px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 15px rgba(0,0,0,.05);position:sticky;top:0;z-index:10;flex-wrap:wrap;gap:10px}
.brand{font-weight:700;color:#4a3a8c}
.nav{display:flex;gap:15px;flex-wrap:wrap}
.nav a{color:#555;text-decoration:none;font-size:14px;font-weight:600}
.nav a:hover{color:#667eea}
.user-info{font-size:14px}
.user-info a{color:#e74c3c;text-decoration:none;font-weight:600}
.timer{background:#ffe9e9;color:#e74c3c;padding:8px 18px;border-radius:30px;font-weight:700;font-variant-numeric:tabular-nums}
.container{max-width:1100px;margin:25px auto;padding:0 15px}
.card{background:#fff;padding:25px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.06);margin-bottom:22px}
.card h2{margin-bottom:18px;color:#4a3a8c;font-size:19px}
.card h3{margin:15px 0 10px;color:#333;font-size:16px}
.grid-form,.form-stack{display:grid;gap:12px}
.grid-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}
.form-stack input,.form-stack textarea,.form-stack select,.grid-form input,.grid-form select,.grid-form textarea{padding:11px 14px;border:2px solid #e0e4ec;border-radius:10px;font-family:inherit;font-size:15px;width:100%}
.form-stack textarea{min-height:90px;resize:vertical}
.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus{outline:none;border-color:#667eea}
.exam-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.exam-card{background:#f8faff;padding:20px;border-radius:14px;border:2px solid #eef1f6;transition:.25s}
.exam-card:hover{transform:translateY(-4px);border-color:#667eea;box-shadow:0 10px 25px rgba(102,126,234,.15)}
.exam-card p{font-size:14px;color:#666;margin:6px 0}
.question .option{display:flex;align-items:center;gap:10px;padding:12px 15px;margin:8px 0;border-radius:10px;background:#f8faff;cursor:pointer;transition:.2s;border:2px solid transparent}
.question .option:hover{background:#eef1ff}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th,.table td{padding:12px;text-align:right;border-bottom:1px solid #eef1f6}
.table th{background:#f8faff;font-weight:700;color:#4a3a8c}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin-bottom:22px}
.stat{background:#fff;padding:25px;border-radius:16px;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.06)}
.stat span{display:block;font-size:32px;font-weight:700;color:#667eea}
.stat small{color:#888;font-size:14px}
.alert{padding:13px 18px;border-radius:10px;margin-bottom:18px;font-size:14px}
.alert.success{background:#e7f7ee;color:#1b8a4c}
.alert.error{background:#fdeaea;color:#c0392b}
.badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}
.badge.success{background:#e7f7ee;color:#1b8a4c}
.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.tab{padding:10px 20px;border:none;background:#fff;border-radius:10px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.05);color:#666}
.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}
.tab-content{display:none}
.tab-content.active{display:block}
.q-item{background:#f8faff;padding:15px;border-radius:10px;margin:10px 0;border-right:4px solid #667eea}
.q-meta{font-size:13px;color:#666;margin-top:8px}
@media (max-width:640px){
.topbar{padding:12px 15px}
.brand{font-size:14px}
.card{padding:18px}
.auth-box{padding:25px}
.grid-form{grid-template-columns:1fr}
.table{font-size:12px}
.table th,.table td{padding:8px}
}