@media (max-width: 700px) {
  .adm-trigger,
  .add-trigger,
  .aap-trigger,
  .avp-trigger {
    box-sizing: border-box;
    width: auto;
    min-height: 48px;
    margin: 0;
    padding: 7px 10px;
    font-size: 12px;
    line-height: 1.15;
    white-space: normal;
    touch-action: manipulation;
  }

  .adm-trigger {
    left: 8px;
    right: calc(50% + 4px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 8px);
  }

  .add-trigger {
    left: calc(50% + 4px);
    right: 8px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 8px);
  }

  .aap-trigger {
    left: 8px;
    right: calc(50% + 4px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 60px);
  }

  .avp-trigger {
    left: calc(50% + 4px);
    right: 8px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 60px);
  }

  .adm-modal,
  .add-modal,
  .aap-modal,
  .avp-modal {
    box-sizing: border-box;
    place-items: stretch;
    padding: env(safe-area-inset-top, 0px) 0 env(safe-area-inset-bottom, 0px);
  }

  .adm-panel,
  .add-panel,
  .aap-panel,
  .avp-panel {
    width: 100%;
    max-height: 100dvh;
    border-radius: 0;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .adm-field input,
  .adm-field select,
  .adm-field textarea,
  .add-field input,
  .add-field select,
  .add-field textarea,
  .aap-field input,
  .aap-field select,
  .aap-field textarea,
  .avp-field input,
  .avp-field textarea,
  .avp-traps input {
    min-height: 44px;
    font-size: 16px;
  }

  .adm-actions button,
  .add-actions button,
  .aap-actions button,
  .avp-actions button {
    width: 100%;
    min-height: 46px;
  }
}

/* Apatronic — complément iPhone, 2026-09-13.
   Règles précédentes conservées ; aucune modification fonctionnelle. */
@supports (-webkit-touch-callout: none) {
  @media screen and (hover: none) and (pointer: coarse) {
    /* Champs lisibles sur Safari, sans réduire les codes de vérification. */
    #root input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
    #root select,
    #root textarea {
      font-size: max(16px, 1em);
    }
  }
  @media screen and (max-width: 860px) and (hover: none) and (pointer: coarse) {
    /* Encoche et indicateur d'accueil, y compris en paysage. */
    #root .sidebar {
      padding-top: calc(23px + env(safe-area-inset-top, 0px));
      padding-left: calc(17px + env(safe-area-inset-left, 0px));
      padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px));
    }
    #root .topbar {
      height: calc(68px + env(safe-area-inset-top, 0px));
      padding-top: env(safe-area-inset-top, 0px);
      padding-left: max(17px, env(safe-area-inset-left, 0px));
      padding-right: max(17px, env(safe-area-inset-right, 0px));
    }
    #root .content {
      padding-left: max(18px, env(safe-area-inset-left, 0px));
      padding-right: max(18px, env(safe-area-inset-right, 0px));
      padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px));
    }
    #root .bottom-nav {
      left: max(10px, env(safe-area-inset-left, 0px));
      right: max(10px, env(safe-area-inset-right, 0px));
    }
    #root .login-visual {
      padding-top: calc(30px + env(safe-area-inset-top, 0px));
      padding-left: max(30px, env(safe-area-inset-left, 0px));
      padding-right: max(30px, env(safe-area-inset-right, 0px));
    }
    #root .login-panel {
      padding-left: max(18px, env(safe-area-inset-left, 0px));
      padding-right: max(18px, env(safe-area-inset-right, 0px));
      padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px));
    }
    #root .setup-page {
      padding-top: calc(40px + env(safe-area-inset-top, 0px));
      padding-left: max(24px, env(safe-area-inset-left, 0px));
      padding-right: max(24px, env(safe-area-inset-right, 0px));
      padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px));
    }
  }
  @media screen and (max-width: 700px) and (hover: none) and (pointer: coarse) {
    .adm-modal, .add-modal, .aap-modal, .avp-modal {
      min-width: 0;
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: minmax(0, 1fr);
      padding-left: env(safe-area-inset-left, 0px);
      padding-right: env(safe-area-inset-right, 0px);
    }
    .adm-panel, .add-panel, .aap-panel, .avp-panel {
      min-width: 0;
      min-height: 0;
      max-height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
      max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    }
    .adm-close, .add-close, .aap-close, .avp-close {
      flex: 0 0 44px;
      width: 44px;
      height: 44px;
    }
    .avp-history {
      display: block;
      max-width: 100%;
      overflow-x: auto;
    }
  }
}
