    *{box-sizing:border-box;}
    body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#eef0f2;color:#333;font-size:13px;zoom:1.15;}

    /* ===== Barra roja de advertencia (fija, siempre visible) ===== */
    .aviso-fijo{position:sticky;top:0;left:0;right:0;z-index:100;background:#C0392B;color:#fff;text-align:center;
        padding:10px 16px;font-weight:700;font-size:14px;box-shadow:0 2px 6px rgba(0,0,0,.25);letter-spacing:.2px;}
    .aviso-fijo small{display:block;font-weight:400;font-size:11.5px;opacity:.92;margin-top:2px;}

    /* ===== Barra superior azul (imita SUNAT) ===== */
    .topbar{background:#0B5CA6;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:8px 18px;font-size:12.5px;}
    .topbar__izq{opacity:.95;}
    .topbar__der{display:flex;align-items:center;gap:16px;}
    .topbar__der b{font-weight:700;}
    .btn-salir{background:#17A8B8;color:#fff;border:none;border-radius:4px;padding:6px 16px;font-size:12.5px;font-weight:700;cursor:pointer;}

    /* ===== Barra de pasos ===== */
    .stepbar{background:#fff;border-bottom:1px solid #d8dbe0;display:flex;align-items:center;padding:8px 18px;gap:0;font-size:12.5px;flex-wrap:wrap;}
    .stepbar__inicio{display:flex;align-items:center;gap:6px;color:#0B5CA6;font-weight:700;padding-right:14px;border-right:1px solid #d8dbe0;margin-right:14px;text-decoration:none;}
    .stepbar__inicio:hover{text-decoration:underline;}
    .paso{padding:8px 20px;color:#8a8f97;font-weight:600;position:relative;}
    .paso.activo{background:#1479C9;color:#fff;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%);padding-right:34px;}
    .stepbar__resto{margin-left:auto;display:flex;align-items:center;gap:16px;}
    .importe-total{font-size:12.5px;color:#333;}
    .importe-total b{font-size:14px;color:#111;}
    .icono-redondo{width:24px;height:24px;border-radius:50%;border:1px solid #b8bcc2;display:inline-flex;align-items:center;justify-content:center;color:#7a7f87;font-size:12px;flex-shrink:0;}
    .btn-ayuda{background:#8E2434;color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:12.5px;font-weight:700;cursor:pointer;}

    /* ===== Layout general ===== */
    .layout{display:flex;align-items:flex-start;}
    .sidebar{width:230px;flex-shrink:0;background:#fff;border-right:1px solid #d8dbe0;min-height:calc(100vh - 92px);padding:14px 0;}
    .sidebar h3{font-size:12.5px;color:#0B5CA6;font-weight:800;margin:0 14px 10px;letter-spacing:.2px;}
    .sidebar__item{padding:8px 14px;font-size:12.5px;color:#2f6fae;cursor:pointer;border-left:3px solid transparent;}
    .sidebar__item.grupo{color:#333;font-weight:700;}
    .sidebar__item.sub{padding-left:26px;}
    .sidebar__item.activo{background:#EAF1F8;color:#0B5CA6;font-weight:700;border-left:3px solid #0B5CA6;}

    .contenido{flex:1;padding:18px 22px;min-width:0;}

    .aviso-amarillo{background:#FFF6D9;border:1px solid #F0E0A0;border-radius:3px;padding:10px 16px;font-size:12.5px;color:#6b5218;margin-bottom:16px;display:flex;align-items:center;gap:8px;}
    .aviso-amarillo b{font-weight:700;}

    .form-card{background:#fff;border:1px solid #d8dbe0;border-radius:3px;}
    .form-card__head{background:#909499;color:#fff;padding:10px 16px;font-weight:700;font-size:13.5px;display:flex;justify-content:space-between;align-items:center;}
    .toolbar-mini{display:flex;justify-content:flex-end;gap:8px;padding:8px 16px;background:#fff;border-bottom:1px solid #e5e7ea;}
    .btn-mini-top{background:#EAF1F8;border:1px solid #c7d6e5;color:#0B5CA6;border-radius:3px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;}

    /* Pestañas principales: Información General / Detalle de Declaración / Determinación de la Deuda */
    .tabs{display:flex;border-bottom:1px solid #d8dbe0;background:#fff;}
    .tab{padding:12px 22px;font-size:13px;color:#7a7f87;cursor:pointer;border-bottom:3px solid transparent;font-weight:600;}
    .tab.activa{color:#0B5CA6;border-bottom-color:#0B5CA6;}

    /* Sub-pestañas dentro de Detalle de Declaración: IGV / IVAP / RENTA */
    .subtabs2{display:flex;gap:28px;padding:14px 20px 0;border-bottom:1px solid #d8dbe0;background:#fff;}
    .subtab2{font-size:13px;font-weight:600;color:#333;padding-bottom:12px;border-bottom:3px solid transparent;cursor:pointer;}
    .subtab2.activa{color:#0B5CA6;border-bottom-color:#0B5CA6;}
    .subtab2.deshabilitada{color:#c2c5ca;cursor:not-allowed;}

    /* Sub-sub-pestañas: Ventas / Compras */
    .subtabs3{background:#E4E6E9;display:flex;padding:0 20px;}
    .subtab3{padding:14px 18px;font-size:13px;color:#8a8f97;cursor:pointer;border-bottom:3px solid transparent;font-weight:600;}
    .subtab3.activa{color:#0B5CA6;border-bottom-color:#0B5CA6;background:#fff;}

    .form-body{padding:20px;}
    .fila-secciones{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:18px;}
    .seccion{border:1px solid #d8dbe0;border-radius:3px;padding:14px 16px;}
    .seccion h4{font-size:12px;color:#555;font-weight:700;margin:0 0 12px;}
    .campo label{display:block;font-size:12.5px;color:#333;margin-bottom:6px;}
    .campo-input{display:flex;align-items:center;gap:6px;}
    .campo-input input,.campo-input select{flex:1;border:1px solid #b8bcc2;border-radius:3px;padding:7px 9px;font-size:12.5px;color:#333;background:#f4f5f7;}

    .seccion-grande{border:1px solid #d8dbe0;border-radius:3px;padding:16px 18px;margin-bottom:18px;}
    .dos-columnas{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
    .dos-columnas h5{font-size:12.5px;font-weight:700;color:#222;margin:0 0 10px;}
    .radio-linea{display:flex;align-items:center;gap:8px;margin-bottom:9px;font-size:12.5px;color:#333;}
    .radio-linea input{width:14px;height:14px;}
    .subgrupo{margin-top:16px;}

    .subopciones-igv{margin:0 0 9px 26px;}
    .checkbox-linea{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12.5px;color:#333;}
    .checkbox-linea input{width:14px;height:14px;}

    /* ===== Calendario del Período Tributario ===== */
    .calendario-periodo{display:none;position:absolute;top:100%;left:0;z-index:50;background:#fff;border:1px solid #c7cbd1;border-radius:4px;box-shadow:0 6px 18px rgba(0,0,0,.15);padding:12px 16px;width:230px;}
    .calendario-periodo.abierto{display:block;}
    .calendario-periodo__cabecera{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:14px;font-weight:700;color:#333;}
    .calendario-periodo__cabecera button{background:none;border:none;font-size:16px;cursor:pointer;color:#333;padding:2px 8px;}
    .calendario-periodo__cabecera button:disabled{color:#c2c5ca;cursor:not-allowed;}
    .calendario-periodo__meses{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;}
    .cal-mes{text-align:center;padding:8px 4px;border-radius:4px;font-size:12.5px;font-weight:600;color:#333;cursor:pointer;}
    .cal-mes:hover{background:#EAF1F8;}
    .cal-mes--seleccionado{background:#0B5CA6;color:#fff;}
    .cal-mes--seleccionado:hover{background:#0B5CA6;}
    .cal-mes--deshabilitado{color:#c2c5ca;cursor:not-allowed;}
    .cal-mes--deshabilitado:hover{background:none;}

    /* ===== Burbuja de ayuda de las casillas (ícono "?") ===== */
    .icono-ayuda{cursor:pointer;}
    .icono-ayuda:hover{background:#EAF1F8;border-color:#0B5CA6;color:#0B5CA6;}
    .ayuda-burbuja{display:none;position:absolute;z-index:300;background:#fff;border:1px solid #c7cbd1;border-radius:4px;box-shadow:0 4px 14px rgba(0,0,0,.18);padding:10px 14px;font-size:12px;line-height:1.5;color:#333;max-width:260px;}
    .ayuda-burbuja.abierta{display:block;}

    /* ===== Declaración jurada de requisitos: IGV Tasa Especial Ley 31556 ===== */
    .caja-tasa-especial{border:1px solid #c7cbd1;border-radius:4px;padding:14px 16px;margin:6px 0 9px 26px;max-width:560px;}
    .caja-tasa-especial__titulo{font-size:12.5px;font-weight:700;color:#333;margin:0 0 12px;}
    .tabla-tasa-especial{width:100%;border-collapse:collapse;font-size:12px;color:#333;}
    .tabla-tasa-especial th{font-size:11.5px;font-weight:700;color:#555;text-align:center;width:44px;padding-bottom:8px;}
    .tabla-tasa-especial td{padding:8px 4px;border-top:1px solid #eef0f2;vertical-align:middle;}
    .tabla-tasa-especial td:first-child{line-height:1.5;padding-right:10px;}
    .tabla-tasa-especial td:not(:first-child){text-align:center;width:44px;}
    .tabla-tasa-especial input[type="radio"]{width:15px;height:15px;cursor:pointer;}

    /* ===== Modal de aviso (ej: no cumple requisitos de la Ley 31556) ===== */
    .overlay-modal{display:none;position:fixed;inset:0;background:rgba(10,20,35,.4);z-index:400;}
    .overlay-modal.abierto{display:block;}
    .modal-aviso{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:6px;box-shadow:0 12px 40px rgba(0,0,0,.28);width:560px;max-width:92vw;z-index:401;}
    .modal-aviso.abierto{display:block;}
    .modal-aviso__cuerpo{display:flex;align-items:flex-start;gap:16px;padding:28px 26px 22px;}
    .modal-aviso__icono{font-size:24px;line-height:1;flex-shrink:0;}
    .modal-aviso__texto{margin:0;font-size:13.5px;line-height:1.6;color:#444;}
    .modal-aviso__pie{border-top:1px solid #e3e5e8;padding:14px 24px;display:flex;justify-content:flex-end;}
    .btn-aceptar-modal{background:#1479C9;color:#fff;border:none;border-radius:4px;padding:9px 28px;font-size:13px;font-weight:700;cursor:pointer;}
    .btn-aceptar-modal:hover{background:#0f66ad;}

    /* ===== Modal "Asistente de la casilla" (ej: casilla 127) ===== */
    .modal-asistente{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:6px;box-shadow:0 12px 40px rgba(0,0,0,.28);width:560px;max-width:92vw;z-index:401;overflow:hidden;}
    .modal-asistente.abierto{display:block;}
    .modal-asistente__header{background:#8b8f95;color:#fff;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;}
    .modal-asistente__titulo{margin:0;font-size:16px;font-weight:700;}
    .modal-asistente__cerrar{background:none;border:none;color:#fff;font-size:16px;font-weight:700;cursor:pointer;line-height:1;padding:2px 4px;}
    .tabla-asistente{width:100%;border-collapse:collapse;font-size:13px;color:#333;}
    .tabla-asistente th{font-size:12px;font-weight:700;color:#333;text-align:center;padding:16px 20px 10px;}
    .tabla-asistente th:first-child{text-align:left;}
    .tabla-asistente td{padding:10px 20px;border-top:1px solid #eef0f2;vertical-align:middle;}
    .tabla-asistente td:nth-child(2){text-align:center;}
    .tabla-asistente input[type="text"]{width:140px;padding:7px 10px;border:1px solid #cfd4d8;border-radius:3px;font-size:13px;text-align:right;}
    .tabla-asistente input[type="text"]:focus{outline:none;border-color:#1479C9;}
    .modal-asistente__pie{border-top:1px solid #e3e5e8;padding:14px 20px;display:flex;justify-content:flex-end;gap:10px;}
    .btn-salir-modal{background:#fff;color:#333;border:1px solid #c9ccd0;border-radius:4px;padding:9px 22px;font-size:13px;font-weight:700;cursor:pointer;}
    .btn-salir-modal:hover{background:#f2f3f4;}
    .modal-asistente__nota{background:#aebeeb;color:#20305e;font-size:13.5px;font-weight:700;text-align:center;line-height:1.5;padding:18px 26px;margin:0;}

    /* ===== Modal "Casilla 380 - Coeficiente Renta" (Impuesto Calculado / Ingresos Netos) ===== */
    .fila-asistente-380{display:flex;align-items:center;gap:16px;padding:16px 24px;border-top:1px solid #eef0f2;}
    .fila-asistente-380__label{flex:1;font-size:13px;color:#333;}
    .icono-redondo--oscuro{background:#1a1a1a;border-color:#1a1a1a;color:#fff;}
    .modal-aviso__icono--info{color:#1a1a1a;}

    /* ===== Modal "Asistente de la casilla 173 - Coeficiente IGV" ===== */
    .modal-asistente--ancho{width:920px;max-height:90vh;overflow-y:auto;}
    .tabla-coeficiente{width:100%;border-collapse:collapse;font-size:13px;color:#333;}
    .tabla-coeficiente th{font-size:13px;font-weight:700;color:#333;text-align:center;padding:14px 10px;}
    .tabla-coeficiente td{padding:8px 10px;border-top:1px solid #eef0f2;text-align:center;vertical-align:middle;}
    .tabla-coeficiente td:first-child{text-align:left;padding-left:16px;}
    .tabla-coeficiente input[type="text"]{width:130px;padding:7px 10px;border:1px solid #cfd4d8;border-radius:3px;font-size:13px;text-align:right;}
    .tabla-coeficiente input[type="text"]:focus{outline:none;border-color:#1479C9;}
    .tabla-coeficiente input.input-calculado-coef{background:#d9ecfb;border-color:#bcdcf3;}

    /* ===== Panel flotante "Lista de Errores" (validación al pasar de sección) ===== */
    .panel-errores{display:none;position:fixed;right:24px;bottom:24px;width:320px;max-width:90vw;background:#fff;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:390;overflow:hidden;}
    .panel-errores.abierto{display:block;}
    .panel-errores__header{background:#0d5f9e;color:#fff;padding:12px 16px;display:flex;align-items:center;gap:10px;}
    .panel-errores__titulo{font-size:14px;font-weight:700;flex:1;}
    .panel-errores__badge{background:#c0173c;color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
    .panel-errores__colapsar{background:none;border:1px solid rgba(255,255,255,.6);color:#fff;width:20px;height:20px;line-height:1;font-size:14px;cursor:pointer;border-radius:2px;flex-shrink:0;}
    .panel-errores__lista{max-height:280px;overflow-y:auto;padding:10px;}
    .panel-errores.colapsado .panel-errores__lista{display:none;}
    .panel-errores__item{display:flex;gap:10px;align-items:flex-start;border:1px solid #e3e5e8;border-radius:4px;padding:12px 14px;margin-bottom:10px;}
    .panel-errores__item:last-child{margin-bottom:0;}
    .panel-errores__item p{margin:0;font-size:13px;line-height:1.5;color:#1479C9;}
    .panel-errores__icono{color:#a30d38;font-size:16px;line-height:1.4;flex-shrink:0;}

    .seccion-pregunta{border:1px solid #d8dbe0;border-radius:3px;padding:16px 18px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
    .seccion-pregunta b{font-size:12px;color:#555;display:block;margin-bottom:8px;}
    .radios-si-no{display:flex;gap:22px;font-size:12.5px;}
    .radios-si-no label{display:flex;align-items:center;gap:6px;}

    .btn-siguiente-wrap{text-align:center;padding:10px 0 4px;display:flex;justify-content:center;gap:14px;}
    .btn-siguiente{background:#5B92C4;color:#fff;border:none;border-radius:4px;padding:10px 30px;font-size:13.5px;font-weight:600;cursor:pointer;}
    .btn-siguiente:disabled{background:#BBD3EA;cursor:not-allowed;}
    .btn-siguiente--activo{background:#0B5CA6;}
    .btn-siguiente--activo:hover{background:#094a86;}
    .btn-atras{background:#E4E6E9;color:#555;border:none;border-radius:4px;padding:10px 30px;font-size:13.5px;font-weight:600;cursor:pointer;}

    .nota-proximamente{max-width:520px;margin:16px auto 0;background:#EAF1F8;border:1px solid #c7d6e5;color:#0B5CA6;border-radius:4px;padding:10px 14px;font-size:12.5px;text-align:center;}

    /* ===== Filas de casillas (Detalle de Declaración) ===== */
    .fila-casilla{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #eef0f2;flex-wrap:wrap;gap:10px;}
    .fila-casilla__label{font-size:12.5px;color:#333;flex:1;min-width:220px;padding-right:16px;}
    .fila-casilla__grupo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
    /* Dos columnas fijas (igual posición en todas las filas, tenga o no la fila una segunda casilla) */
    .fila-casilla__cols{display:flex;gap:24px;flex-wrap:wrap;}
    .fila-casilla__col{display:flex;align-items:center;gap:10px;min-width:224px;}
    .casilla{display:flex;align-items:stretch;border:1px solid #c7cbd1;border-radius:3px;overflow:hidden;}
    .casilla__num{background:#ECEDEF;color:#555;font-size:12px;padding:0 10px;border-right:1px solid #c7cbd1;min-width:34px;display:flex;align-items:center;justify-content:center;}
    .casilla__valor{width:150px;}
    .casilla__valor input{width:100%;height:100%;border:none;padding:8px 10px;font-size:12.5px;color:#333;background:#fff;text-align:right;}
    .casilla--calculada .casilla__valor{background:#CFE4F5;}
    .casilla--calculada .casilla__valor input{background:#CFE4F5;}
    .casilla--bloqueada .casilla__valor{background:#D7E8B0;}
    .casilla--bloqueada .casilla__valor input{background:#D7E8B0;}
    .casilla--gris .casilla__valor{background:#e5e7ea;}
    .casilla--gris .casilla__valor input{background:#e5e7ea;color:#555;font-weight:700;}
    .fila-casilla--total{background:#fafbfc;}
    .fila-casilla--total .fila-casilla__label{text-align:right;font-weight:700;color:#333;}

    .vista-principal{display:none;}
    .vista-principal.activa{display:block;}
    .vista-sub{display:none;}
    .vista-sub.activa{display:block;}
    .vista-subtab2{display:none;}
    .vista-subtab2.activa{display:block;}

    /* ===== Sección RENTA: título + preguntas Sí/No ===== */
    .seccion-titulo{font-size:13px;color:#8a8f97;padding:16px 20px 10px;border-bottom:1px solid #eef0f2;margin-bottom:14px;}
    .pregunta-card{border:1px solid #d8dbe0;border-radius:4px;padding:16px 20px;margin:0 20px 14px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
    .pregunta-card.deshabilitada{opacity:.5;}
    .pregunta-card__texto{font-size:13px;color:#555;line-height:1.5;}
    .pregunta-card__texto b{color:#444;font-weight:700;}
    .pregunta-card .radios-si-no{flex-shrink:0;}
    .pregunta-card .radios-si-no input{width:14px;height:14px;}

    .casilla--num-azul .casilla__num{color:#2f6fae;font-weight:700;background:#fff;}

    /* ===== Determinación de la Deuda: tabla de dos columnas (IGV / RENTA) ===== */
    .seccion-colapsable{background:#F4F5F6;padding:12px 20px;font-size:13px;color:#333;font-weight:600;border-bottom:1px solid #e5e7ea;}
    .fila-deuda{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef0f2;gap:16px;flex-wrap:wrap;}
    .fila-deuda__label{flex:1.6;min-width:200px;font-size:12.5px;color:#333;}
    .fila-deuda__col{flex:1;display:flex;align-items:center;gap:10px;min-width:150px;}
    .fila-deuda--encabezado{padding-top:18px;padding-bottom:8px;border-bottom:none;}
    .fila-deuda--encabezado .fila-deuda__col{justify-content:center;font-weight:700;color:#555;font-size:12.5px;}
    .fila-deuda--espacio{padding:6px 20px;border-bottom:1px solid #eef0f2;}
    .fila-deuda .casilla{flex:1;}
    .fila-deuda .casilla__valor{width:auto;flex:1;}

    .btn-agregar-bandeja{background:#C0392B;color:#fff;border:none;border-radius:4px;padding:10px 26px;font-size:13.5px;font-weight:600;cursor:pointer;}
    .btn-validar{background:#1B3B57;color:#fff;border:none;border-radius:4px;padding:10px 26px;font-size:13.5px;font-weight:600;cursor:pointer;}
    .btn-descargar-resumen{background:#3f7a3a;color:#fff;border:none;border-radius:4px;padding:10px 26px;font-size:13.5px;font-weight:600;cursor:pointer;}

    /* ===== Contenedor con scroll horizontal para tablas anchas (ej: asistente 173) ===== */
    .tabla-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;}

    /* ======================================================================
       VISTA MÓVIL / TABLET
       El simulador se pensó originalmente para escritorio (columnas fijas,
       barra lateral, tablas anchas). Estos ajustes reacomodan todo en
       pantallas angostas para que se pueda usar cómodamente desde el
       celular o una tablet, sin perder ninguna funcionalidad.
       ====================================================================== */
    @media (max-width: 900px){
        body{zoom:1;font-size:14px;}
        .layout{display:block;}
        .sidebar{display:none;}
        .contenido{padding:14px 10px;}
        .topbar{flex-wrap:wrap;gap:6px;padding:8px 12px;}
        .stepbar{padding:8px 12px;}
        .paso{padding:8px 12px;font-size:12px;}
        .paso.activo{padding-right:22px;}
        .stepbar__resto{gap:10px;margin-left:0;}

        .form-card__head{flex-wrap:wrap;gap:6px;}
        .toolbar-mini{flex-wrap:wrap;}

        /* Barras de pestañas: si no caben, se deslizan horizontalmente
           en vez de romper el diseño o amontonarse. */
        .tabs,.subtabs2,.subtabs3{overflow-x:auto;-webkit-overflow-scrolling:touch;}
        .tab{padding:12px 16px;white-space:nowrap;}
        .subtabs2{gap:20px;padding:12px 12px 0;}
        .subtab2{white-space:nowrap;}
        .subtabs3{padding:0 12px;}
        .subtab3{padding:12px 14px;white-space:nowrap;}

        .form-body{padding:14px;}
        .fila-secciones{grid-template-columns:1fr;gap:12px;}
        .dos-columnas{grid-template-columns:1fr;gap:20px;}
        .seccion-grande{padding:14px;}
        .caja-tasa-especial{margin-left:0;max-width:100%;}
        .subopciones-igv{margin-left:0;}

        .calendario-periodo{width:auto;min-width:220px;max-width:88vw;}

        .seccion-pregunta{padding:14px;}
        .pregunta-card{margin:0 0 12px;padding:14px;}

        /* Filas de casillas: label y cada columna pasan a ocupar todo el
           ancho, así se apilan en vez de comprimirse. */
        .fila-casilla{padding:12px 14px;}
        .fila-casilla__label{min-width:100%;}
        .fila-casilla__cols{gap:12px;width:100%;}
        .fila-casilla__col{min-width:100%;}
        .fila-casilla__grupo{width:100%;}
        .casilla__valor{width:140px;}

        .fila-deuda{padding:12px 14px;}
        .fila-deuda__label{min-width:100%;}
        .fila-deuda__col{min-width:100%;}

        /* Botones: más altos (mejor para el dedo) y se acomodan en filas
           según el espacio disponible en vez de desbordar. */
        .btn-siguiente-wrap{flex-wrap:wrap;gap:10px;}
        .btn-siguiente,.btn-atras,.btn-validar,.btn-descargar-resumen,.btn-agregar-bandeja{
            flex:1 1 160px;padding:12px 18px;min-height:46px;
        }

        /* Modales: ocupan casi toda la pantalla y su contenido interno
           (tablas de los asistentes) se puede deslizar si no entra. */
        .modal-aviso,.modal-asistente{width:94vw;max-width:94vw;max-height:90vh;overflow-y:auto;}
        .modal-asistente--ancho{width:96vw;max-width:96vw;}
        .modal-asistente__header{padding:14px 16px;}
        .modal-asistente__titulo{font-size:14.5px;}
        .modal-asistente__pie{flex-wrap:wrap;padding:12px 16px;}
        .modal-aviso__cuerpo{padding:20px 16px 16px;}
        .modal-aviso__pie{padding:12px 16px;}
        .fila-asistente-380{padding:12px 16px;flex-wrap:wrap;}

        .tabla-asistente{min-width:420px;}
        .tabla-asistente th,.tabla-asistente td{padding:8px 10px;}
        .tabla-asistente input[type="text"]{width:120px;}

        .tabla-coeficiente{min-width:640px;}
        .tabla-coeficiente th,.tabla-coeficiente td{padding:8px 6px;font-size:12px;}
        .tabla-coeficiente input[type="text"]{width:110px;}

        .panel-errores{right:10px;left:10px;width:auto;bottom:10px;}
    }

    @media (max-width: 480px){
        body{font-size:13.5px;}
        .icono-redondo{width:22px;height:22px;font-size:11px;}
        .casilla__num{min-width:30px;padding:0 6px;font-size:11px;}
        .casilla__valor{width:118px;}
        .casilla__valor input{padding:9px 8px;}
        .btn-siguiente,.btn-atras{flex:1 1 100%;}
        .btn-validar,.btn-descargar-resumen,.btn-agregar-bandeja{flex:1 1 100%;}
        .radios-si-no{gap:16px;}
        .aviso-fijo{font-size:12.5px;padding:8px 12px;}
        .aviso-amarillo{font-size:12px;padding:8px 12px;}
    }
