body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f5f6fa;
}

main {
    flex: 1;
}

.navbar-brand {
    font-size: 1.4rem;
}

.card {
    border-radius: 0.75rem;
    transition: transform 0.15s ease;
}

.card:hover {
    transform: translateY(-2px);
}

.table th {
    white-space: nowrap;
}

footer {
    margin-top: auto;
}

/* Landing page hero */
.hero-landing {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    border-radius: 1rem;
    margin: -1.5rem -0.75rem 2rem;
    padding: 0;
    overflow: hidden;
}

.hero-overlay {
    padding: 5rem 2rem;
    background: radial-gradient(ellipse at top right, rgba(13, 110, 253, 0.15), transparent 60%);
}

/* Feature icons */
.feature-icon {
    width: 80px;
    height: 80px;
}

/* Responsive hero */
@media (max-width: 768px) {
    .hero-overlay {
        padding: 3rem 1.5rem;
    }
    .hero-landing h1 {
        font-size: 2rem;
    }
}
