:root {
    --brand: #2563eb;
    --brand-dark: #1d4ed8;
    --soft-bg: #f3f6fb;
}

body {
    background: radial-gradient(circle at top left, #dbeafe 0, transparent 32%), linear-gradient(135deg, #f8fafc 0%, #e5edf8 100%);
    min-height: 100vh;
}

.auth-card, .app-card {
    border: 0;
    border-radius: 24px;
    box-shadow: 0 24px 80px rgba(15, 23, 42, .12);
}

.brand-header {
    background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
    color: #fff;
    border-radius: 24px 24px 0 0;
}

.logo-circle {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem;
}

.option-card {
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 14px 16px;
    cursor: pointer;
    transition: .2s ease;
    background: #fff;
}
.option-card:hover { background: #f8fafc; border-color: #bfdbfe; }
.option-card.selected { background: #eff6ff; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.12); }

.question-number {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #374151;
    font-weight: 700;
}
.question-number.active { background: #2563eb; color: #fff; border-color: #2563eb; }
.question-number.done { background: #dcfce7; color: #166534; border-color: #86efac; }

.stat-card {
    border: 0;
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
}

.timer-box {
    border-radius: 16px;
    background: #fef2f2;
    color: #dc2626;
    padding: 10px 16px;
    font-weight: 800;
    letter-spacing: .08em;
}

@media print {
    .no-print, .dataTables_filter, .dataTables_length, .dataTables_paginate, .dataTables_info { display: none !important; }
    body { background: #fff !important; }
    .card, .stat-card { box-shadow: none !important; border: 1px solid #ddd !important; }
}
