body { background: #f7f7fb; }
.hero-box { background: linear-gradient(135deg, #212529, #495057); color: #fff; border-radius: 1rem; padding: 2rem; }
.card-soft { border: 0; border-radius: 1rem; box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.podium-card { border-radius: 1rem; padding: 1rem; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,0.06); height: 100%; }
.badge-cat { font-size: 0.85rem; }
.chrono-shell { min-height: 100vh; background: #0f172a; }
.chrono-box { font-size: clamp(3rem, 10vw, 7rem); font-weight: 800; text-align: center; background: #111827; color: #fff; border-radius: 1rem; padding: 1rem 1.5rem; letter-spacing: 2px; box-shadow: 0 10px 30px rgba(0,0,0,0.25); }
.quick-input { font-size: 2rem; height: 72px; text-align: center; font-weight: 700; }
.quick-select { font-size: 1.25rem; height: 72px; }
.quick-submit { height: 72px; font-size: 1.4rem; font-weight: 700; }
.action-btn { min-height: 64px; font-size: 1.1rem; font-weight: 700; }
.last-arrival { border-bottom: 1px solid #eee; padding: 0.6rem 0; }
.live-rank td, .live-rank th { white-space: nowrap; }
.dashboard-btn { height: 120px; font-size: 1.2rem; font-weight: 600; }
.wave-badge { font-size: 1rem; }
@media (max-width: 768px) {
    .quick-input, .quick-select, .quick-submit { height: 64px; font-size: 1.2rem; }
    .action-btn { width: 100%; }
}


.footer-partners {
    background: #ffffff;
    border-top: 1px solid #e5e7eb;
}

.footer-partners h3 {
    font-weight: 700;
    font-size: 1.2rem;
}

.partner-logo {
    max-height: 60px;
    max-width: 100%;
    object-fit: contain;
    opacity: 0.85;
    transition: all 0.3s ease;
}

.partner-logo:hover {
    opacity: 1;
    transform: scale(1.05);
}