/* Solo móvil: este archivo no aplica por encima de 700px. */
@media (max-width: 700px) {
    body { padding: 1rem .75rem; padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
    main, main.ancho, main > * { min-width: 0; max-width: 100%; box-sizing: border-box; }
    main { overflow-wrap: anywhere; }
    h1 { font-size: 1.35rem; line-height: 1.4; }
    p, li { line-height: 1.6; }
    .logo { max-width: 100%; box-sizing: border-box; }
    .logo img { width: min(270px, 100%); }

    .nav-mobile[hidden] { display: none; }
    .nav-mobile:not([hidden]) { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; margin: 0 0 .75rem; }
    nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; padding: .6rem; }
    nav[data-mobile-collapsed="true"] { display: none; }
    nav a, nav button.enlace { display: flex; align-items: center; min-height: 44px; padding: .45rem .35rem; margin: 0; box-sizing: border-box; }
    nav a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--acento); outline-offset: 3px; }
    .nav-cuenta { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: .4rem 0 0; padding-top: .5rem; border-top: 1px solid var(--borde); }
    .nav-cuenta > .nota { grid-column: 1 / -1; margin: .2rem 0; overflow-wrap: anywhere; }

    form, .informe, .tarjeta, .ficha { padding: 1rem; min-width: 0; box-sizing: border-box; }
    input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea {
        max-width: 100%; min-width: 0; box-sizing: border-box; font-size: 16px; min-height: 44px;
    }
    textarea { width: 100%; }
    input[type="file"] { width: 100%; }
    input[type="file"]::file-selector-button { min-height: 44px; max-width: 100%; font: inherit; }
    label:has(input[type="checkbox"]), label.opcion { min-height: 44px; padding: .4rem 0; box-sizing: border-box; cursor: pointer; }
    button, a.boton-enlace { width: 100%; min-height: 44px; margin-right: 0; white-space: normal; text-align: center; box-sizing: border-box; font-size: 16px; }
    button.enlace { width: auto; }
    summary { min-height: 44px; padding: .6rem 0; box-sizing: border-box; }
    .cuadricula, .planes-grid, .criptos-grid { grid-template-columns: minmax(0, 1fr); }
    .fichas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
    .ficha { padding: .8rem; }
    .ficha-valor { font-size: 1.7rem; }
    .tarjeta-cabecera > div { min-width: 0; }
    .dato-etiqueta { min-width: 0; display: block; margin-bottom: .2rem; }
    .riesgo-cabecera { flex-wrap: wrap; gap: .35rem 1rem; }
    .sitio { margin-left: .5rem; }
    .chip { max-width: 100%; box-sizing: border-box; }
    a.chip { min-height: 44px; display: inline-flex; align-items: center; padding: .4rem .7rem; }
    pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
    table.tabla { display: block; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
    table.tabla th, table.tabla td { min-width: 5rem; }
    .pie { line-height: 2.4; }

    main .lab { margin: 16px auto; }
    main .lab h1 { font-size: 1.55rem; }
    main .lab h2 { font-size: 1.15rem; }
    main .lab .card { padding: 14px; margin: 14px 0; min-width: 0; }
    main .lab .card form { padding: 12px; }
    main .lab .zona-carga { padding: 12px; }
    main .lab .pasos { display: grid; grid-template-columns: 1fr; gap: 6px; }
    main .lab .pasos a { font-size: .9rem; min-height: 44px; box-sizing: border-box; }
    main .lab .acciones { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
    main .lab .boton { width: 100%; box-sizing: border-box; text-align: center; min-height: 44px; }
    main .lab .buscar { display: block; }
    main .lab .buscar label { min-width: 0; }
    main .lab .dos-columnas { grid-template-columns: minmax(0, 1fr); }
    main .lab .scroll { max-width: 100%; overscroll-behavior-inline: contain; }
    main .lab .scroll table { min-width: 540px; overflow-wrap: normal; }
    main .lab .scroll td { overflow-wrap: anywhere; }
    main .lab .resumen { gap: 12px; }
}
@media (max-width: 359px) {
    .fichas { grid-template-columns: minmax(0, 1fr); }
}
