:root { --primary: #1e40af; --primary-dark: #1e3a8a; }
body { font-family: 'Segoe UI', sans-serif; background: #f8fafc; }
.navbar-brand { font-weight: 700; font-size: 1.3rem; }
.exam-card { border-top: 4px solid var(--primary); transition: transform .2s, box-shadow .2s; cursor: pointer; }
.exam-card:hover { transform: translateY(-4px); box-shadow: 0 8px 25px rgba(0,0,0,.12); }
.sidebar { min-height: calc(100vh - 60px); background: #fff; border-right: 1px solid #e5e7eb; }
.sidebar .nav-link { color: #374151; border-radius: 8px; padding: .6rem 1rem; margin-bottom: 2px; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { background: #eff6ff; color: var(--primary); font-weight: 600; }
.sidebar .nav-link .icon { width: 22px; display: inline-block; }
.card { border: 1px solid #e5e7eb; border-radius: 12px; }
.badge-easy { background: #dcfce7; color: #166534; }
.badge-medium { background: #fef9c3; color: #854d0e; }
.badge-hard { background: #fee2e2; color: #991b1b; }
.unit-header { background: #f0f4ff; border-left: 4px solid var(--primary); }
.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }
.hero { background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 50%, #2563eb 100%); }
.feature-badge { background: rgba(255,255,255,.15); border-radius: 20px; padding: 6px 14px; font-size: .85rem; }
.question-card { border-left: 4px solid #e5e7eb; }
.question-card.correct { border-left-color: #22c55e; background: #f0fdf4; }
.question-card.wrong { border-left-color: #ef4444; background: #fef2f2; }
.option-btn { text-align: left; border: 2px solid #e5e7eb; background: #fff; border-radius: 8px; padding: 10px 15px; width: 100%; margin-bottom: 8px; cursor: pointer; transition: all .2s; }
.option-btn:hover { border-color: var(--primary); background: #eff6ff; }
.option-btn.selected { border-color: var(--primary); background: #eff6ff; font-weight: 600; }
.option-btn.correct { border-color: #22c55e; background: #f0fdf4; font-weight: 600; }
.option-btn.wrong { border-color: #ef4444; background: #fef2f2; }
.progress-bar-custom { height: 8px; border-radius: 4px; background: #e5e7eb; overflow: hidden; }
.progress-fill { height: 100%; background: var(--primary); border-radius: 4px; transition: width .3s; }
.stat-card { border-radius: 12px; padding: 1.2rem; }
.admin-sidebar .nav-link { font-size: .9rem; }
table th { background: #f8fafc; font-weight: 600; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; }
.tag { background: #f1f5f9; color: #475569; padding: 2px 8px; border-radius: 12px; font-size: .75rem; display: inline-block; margin: 2px; }
.session-study { border-left: 3px solid #3b82f6; }
.session-revision { border-left: 3px solid #f59e0b; }
.session-test { border-left: 3px solid #10b981; }
.session-completed { opacity: .7; }
@media print { .no-print { display: none !important; } }
