/* Medications — exceptions à <= 760px ; feuille chargée à <= 899px. */

@media (max-width: 899px) {
    .settings-page-v131 .avatar-settings {
        display: grid;
        grid-template-columns: 96px minmax(0, 1fr);
        align-items: center;
        gap: 14px;
    }

    .settings-page-v131 .avatar-settings-actions {
        display: contents;
    }

    .settings-page-v131 .avatar-settings-actions > form {
        grid-column: 2;
        min-width: 0;
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 9px;
    }

    .settings-page-v131 .avatar-settings-actions > form:first-child {
        grid-row: 1;
    }

    .settings-page-v131 .avatar-settings .avatar-preview {
        grid-column: 1;
        grid-row: 1;
        align-self: center;
    }

    .settings-page-v131 .avatar-settings-actions .action-link,
    .settings-page-v131 .avatar-settings-actions button {
        width: 100%;
        min-width: 0;
        text-align: center;
        justify-content: center;
        white-space: normal;
    }

    .settings-page-v131 .avatar-settings-actions > .field-help {
        grid-column: 1 / -1;
        margin: 0;
    }

    .calendar-day.before-month {
        visibility: hidden;
    }

    .calendar-day.after-month {
        display: none;
    }

    .calendar-mobile-day-link:not([hidden]) {
        position: absolute;
        inset: 0;
        z-index: 1;
        display: block;
        border-radius: 8px;
    }

    .calendar-mobile-day-link[aria-current="true"],
    .calendar-mobile-day-link:focus-visible {
        outline: 2px solid var(--blue);
        outline-offset: -3px;
    }

    #calendar-day-details {
        scroll-margin-top: 90px;
    }

    #calendar-day-details .calendar-upcoming-empty {
        padding: 18px;
    }

    #calendar-day-details .action-link.primary {
        min-height: 44px;
        padding: 10px 15px;
        color: #fff;
        font-size: .9rem;
    }

    #calendar-day-details .action-link.primary > span {
        color: inherit;
        font-size: inherit;
    }

    #calendar-day-details .action-link.primary > .ui-icon {
        width: 18px;
        height: 18px;
        color: inherit;
    }
}

@media (max-width: 760px) {
    .form-grid.two-columns,
    .contact-summary-grid,
    .contact-card-grid,
    .data-export-grid,
    .backup-actions-grid {
        grid-template-columns: 1fr;
    }

    .field-span-2,
    .data-settings-section {
        grid-column: auto;
    }

    .danger-zone {
        align-items: stretch;
        flex-direction: column;
    }

    .calendar-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .calendar-month-nav {
        justify-content: space-between;
    }

    .calendar-month-nav h2 {
        min-width: 0;
    }

    .calendar-shell {
        overflow-x: hidden;
    }

    .calendar-weekdays,
    .calendar-grid {
        min-width: 0;
        width: 100%;
    }

    .calendar-day {
        min-height: 64px;
        padding: 7px 2px 5px;
        border-right: 0;
        background: transparent;
    }

    .calendar-day.outside-month {
        background: transparent;
    }

    .calendar-day.is-today {
        box-shadow: none;
    }

    .calendar-weekdays {
        background: transparent;
    }

    .calendar-weekdays span {
        padding: 9px 0;
        font-size: .6rem;
        letter-spacing: 0;
    }

    .calendar-day-head {
        justify-content: center;
    }

    .calendar-day-number {
        width: 32px;
        height: 32px;
        font-size: 1rem;
    }

    .calendar-day-add {
        display: none;
    }

    .calendar-day-events {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 2px;
        margin-top: 0;
    }

    .calendar-day-events > .calendar-event-chip {
        position: relative;
        align-items: center;
        justify-content: center;
        flex: 0 0 8px;
        width: 8px;
        height: 12px;
        padding: 0;
        border-radius: 0;
        background: transparent;
    }

    .calendar-event-chip::before {
        content: '';
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: currentColor;
    }

    .calendar-event-chip > span,
    .calendar-event-chip > strong {
        /* Conserver le nom et l’heure pour les lecteurs d’écran. */
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .calendar-more {
        display: grid;
        place-items: center;
        width: 6px;
        height: 12px;
        font-size: 0;
    }

    .calendar-more::before {
        content: '';
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--text-muted);
    }

    /* Réutiliser le bouton de la carte vide, comme sur l’accueil. */
    .page:has(> .medication-page-shell) .page-toolbar-actions > .action-link.primary {
        flex: 0 0 auto;
        width: auto;
        margin-inline: auto;
    }

    .page:has(> .medication-page-shell .empty-state .mobile-duplicate-action) .page-toolbar-actions > .action-link.primary {
        display: none;
    }

    .medication-page-shell .empty-state > .mobile-duplicate-action {
        display: inline-flex !important;
    }

    .settings-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 6px;
        scrollbar-width: thin;
    }

    .settings-tab {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .settings-section-heading-row,
    .permission-editor-head {
        align-items: stretch;
        flex-direction: column;
    }

    .settings-user-card {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .settings-user-avatar {
        width: 42px;
        height: 42px;
        border-radius: 13px;
    }

    .settings-user-meta,
    .settings-user-card > .action-link {
        grid-column: 2 / 3;
        justify-self: start;
    }

    .access-memberships,
    .permission-options,
    .shared-space-options {
        grid-template-columns: 1fr;
    }

    .bottom-nav {
        grid-template-columns: none !important;
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
    }

    .settings-page-v131 .primary-btn,
    .settings-page-v131 .secondary-btn,
    .settings-page-v131 .action-link.primary,
    .settings-page-v131 .action-link.secondary,
    .managed-user-page .primary-btn,
    .managed-user-page .secondary-btn,
    .managed-user-page .action-link.primary,
    .managed-user-page .action-link.secondary {
        min-height: 38px;
        padding: 8px 12px;
    }

    .archived-medications-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .archived-search-form {
        width: 100%;
        margin-left: 0;
    }

    .danger-confirmation-card {
        padding: 20px;
        flex-direction: column;
    }

    .danger-medication-summary {
        grid-template-columns: 1fr;
    }

    .danger-confirm-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .danger-confirm-actions .action-link {
        width: 100%;
    }

}
