/* Responsive - All @media queries consolidated */

@media (max-width: 768px) {
    /* Layout */
    .topnav {
        flex-direction: column;
        padding: 1rem;
        gap: 1rem;
    }

    .topnav-left {
        flex-direction: column;
        gap: 0.5rem;
        width: 100%;
    }

    .topnav-right {
        flex-direction: column;
        gap: 0.75rem;
        width: 100%;
    }

    .nav {
        flex-wrap: wrap;
    }

    .project-selector {
        width: 100%;
    }

    .main-content {
        padding: 0 1rem 1rem;
    }

    .container {
        padding: 1.5rem;
    }

    /* Forms */
    .form-row {
        grid-template-columns: 1fr;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .feature-cols {
        grid-template-columns: 1fr;
    }

    .form-inline {
        flex-direction: column;
        align-items: stretch;
    }

    .form-inline input[type="datetime-local"],
    .form-inline input[type="text"] {
        width: 100%;
        flex: none;
    }

    .form-inline button {
        width: 100%;
    }

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

    .btn {
        width: 100%;
    }

    /* Appointments edit */
    .appt-edit {
        flex-direction: column;
        align-items: stretch;
    }

    .appt-edit input[type="datetime-local"],
    .appt-edit input[type="text"] {
        width: 100%;
        flex: none;
    }

    .appt-edit button {
        width: auto;
    }

    /* Checklist */
    #checklist-form .row {
        flex-direction: column;
        gap: 0.5rem;
    }

    #checklist-form .options {
        flex-wrap: wrap;
    }

    /* Invitation */
    .invite-input-group {
        flex-direction: column;
    }

    /* Calendar */
    .calendar-url-container {
        flex-direction: column;
    }

    .subscription-buttons {
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    /* Auth pages */
    .login-container,
    .register-container {
        padding: 1.5rem;
    }

    /* New project form */
    .form-row {
        grid-template-columns: 1fr;
    }
}
