/* InovaFight · mobile foundation · 2026-10-17
 * Shared only by interface pages, never by printable brackets or fullscreen scoreboards.
 * iOS focuses/zooms input controls below 16px. Do not restrict pinch zoom.
 */
@media screen {
  *, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  img, video, picture, iframe { max-inline-size: 100%; }
  img, video { height: auto; }
  input, select, textarea { min-inline-size: 0; }
  input[type="date"], input[type="datetime-local"], input[type="time"] { min-inline-size: 0; }
  .if-mobile-table-scroll { inline-size: 100%; max-inline-size: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .if-mobile-table-scroll > table { max-inline-size: none; }
  .if-mobile-table-scroll:focus-visible { outline: 2px solid #e10600; outline-offset: 2px; }
  .if-mobile-scroll-hint { font-size: 12px; color: #a7adb7; padding-block: 6px; display: none; }
}
/* Also covers iPad and coarse-pointer devices: iOS may zoom fields below 16 px. */
@media screen and (max-width: 1023px), screen and (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
  select, textarea, .form-input, .form-select, .q-fields input, .q-fields select,
  .tox .tox-textfield, .tox .tox-textarea {
    font-size: 16px !important;
    max-inline-size: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .if-mobile-table-scroll + .if-mobile-scroll-hint { display: block; }
}
@media screen and (max-width: 767px) {
  html { max-inline-size: 100%; }
  body { max-inline-size: 100%; min-inline-size: 0; }
  main, section, article, form, fieldset, .container, .q-main, .q-card,
  .if-card, .if-card-body, .if-modal, .modal-content, .card, .panel,
  .tab-content, .form-group, .form-row, .filters, .filters-grid,
  .row, .grid, .flex, .q-fields, .q-fields > label {
    min-inline-size: 0;
    max-inline-size: 100%;
  }
  :is(main, section, article, form, .container, .grid, .row, .flex, .q-card) > * {
    min-inline-size: 0;
  }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
  select, textarea, .form-input, .form-select, .q-fields input, .q-fields select,
  .tox .tox-textfield, .tox .tox-textarea {
    font-size: 16px !important;
    line-height: 1.35;
    max-inline-size: 100%;
    box-sizing: border-box;
  }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
  select, textarea { border-radius: 6px; }
  input[type="date"], input[type="datetime-local"], input[type="time"] { max-inline-size: 100%; min-inline-size: 0; }
  textarea { inline-size: 100%; overflow-wrap: anywhere; }
  input[type="file"] { width: 100%; }
  pre, code { overflow-wrap: anywhere; }
  p, label, td, th, .card, .panel, .if-card, .q-card, .modal-content,
  .form-group { overflow-wrap: break-word; }
  .q-fields, form .grid-cols-2, form .grid-cols-3, form .grid-cols-4,
  form .grid-cols-5, .grid.filters-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .q-card { padding-inline: clamp(14px, 4vw, 23px); }
  .q-main { inline-size: min(calc(100% - 24px), 800px); }
  .q-head { gap: 12px; }
  .if-modal, [role="dialog"], dialog[open], .modal-content,
  .tox-tinymce, .tox .tox-dialog { max-inline-size: calc(100vw - 24px); }
  .if-modal, [role="dialog"], dialog[open] { max-block-size: calc(100dvh - 24px); overflow-y: auto; }
  .if-modal-backdrop { padding: 12px; }
  .if-modal-body, .if-modal-header, .if-modal-footer { padding-inline: 14px; }
  .tox .tox-dialog__body-content { max-height: calc(100dvh - 170px); overflow-y: auto; }
  .if-mobile-table-scroll { margin-block: 8px 12px; }
  .if-mobile-table-scroll > table { min-inline-size: 100%; inline-size: max-content; }
  .if-mobile-table-scroll + .if-mobile-scroll-hint { display: block; }
  .if-mobile-table-scroll > table :is(th, td) { min-width: 0; }
  .if-mobile-table-scroll th, .if-mobile-table-scroll td { white-space: normal; vertical-align: middle; }
  .if-nav-shell, .if-mobile-navigation { max-inline-size: 100%; }
  .if-nav-brand, .if-brand { min-inline-size: 0; }
  .if-nav-actions, .if-nav-links { min-inline-size: 0; }
  .toast { max-inline-size: calc(100vw - 24px); inset-inline: 12px; }
  /* Key long-form pages and category screens */
  #inscritos, #categorias, #checagem, #resumo, #financeiro { min-inline-size: 0; }
  .bracket, .chaveamento, .chaves-container { max-inline-size: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media screen and (max-width: 360px) {
  .if-nav-shell { padding-inline: 10px; }
  .q-card { padding-inline: 12px; }
  .q-head { padding-inline: 12px; }
}
