/* ==========================================================================
   RESPONSIVE
   Mobile-first responsive styles
   ========================================================================== */

@media (max-width: 640px) {
    .container {
        padding: 1rem;
    }

    h1 {
        font-size: 1.5rem;
    }

    .header-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .form-actions {
        flex-direction: column-reverse;
    }

    .form-actions .btn {
        width: 100%;
    }

    /* Responsive Table - Stack vertically on mobile */
    .birthday-table {
        border: none;
    }

    .birthday-table thead {
        display: none;
    }

    .birthday-table tbody tr {
        display: block;
        margin-bottom: 1rem;
        border: 1px solid var(--border-color);
        border-radius: 8px;
        overflow: hidden;
    }

    .birthday-table tbody tr:last-child {
        margin-bottom: 0;
    }

    .birthday-table td {
        display: block;
        text-align: left;
        padding: 0.75rem 1rem;
        border-bottom: 1px solid var(--border-color);
    }

    .birthday-table td:last-child {
        border-bottom: none;
    }

    .birthday-table td::before {
        content: attr(data-label);
        font-weight: 600;
        color: var(--text-secondary);
        display: block;
        font-size: 0.75rem;
        margin-bottom: 0.25rem;
        text-transform: uppercase;
    }

    .name-cell {
        font-weight: 600;
        font-size: 1.125rem;
        background: var(--surface-hover);
    }

    .name-cell::before {
        display: none;
    }

    .actions-cell {
        flex-direction: row;
        justify-content: flex-start;
        gap: 0.75rem;
    }
}