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

main {
    flex: 1;
}

.hero-section {
    background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%);
}

.file-card {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.file-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
}

.drop-zone {
    border: 2px dashed #0d6efd;
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    background: #f0f7ff;
}

.drop-zone:hover,
.drop-zone.drag-over {
    background: #dceeff;
    border-color: #0a58ca;
}

.file-icon {
    font-size: 2rem;
    line-height: 1;
}

.navbar-brand {
    font-size: 1.3rem;
    letter-spacing: -0.3px;
}
