    *{box-sizing:border-box;}
    body{margin:0;font-family:Verdana,Tahoma,Arial,Helvetica,sans-serif;background:#d9dde2;color:#222;font-size:13px;}

    /* ===== Barra roja de advertencia (igual que en los otros simuladores) ===== */
    .aviso-fijo{position:sticky;top:0;left:0;right:0;z-index:100;background:#C0392B;color:#fff;text-align:center;
        padding:10px 16px;font-family:Arial,Helvetica,sans-serif;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-aula{max-width:1280px;margin:14px auto 10px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-family:Arial,Helvetica,sans-serif;font-size:12.5px;}
    .barra-aula a{color:#0B5CA6;font-weight:700;text-decoration:none;white-space:nowrap;}
    .barra-aula a:hover{text-decoration:underline;}
    .barra-aula span{color:#5a6472;}
    .barra-aula button{background:none;border:0;padding:0;color:#0B5CA6;font:700 12.5px Arial,Helvetica,sans-serif;text-decoration:underline;cursor:pointer;}

    /* ===== Portal SUNAT Menú SOL ===== */
    .portal{max-width:1280px;margin:0 auto 40px;background:#fff;border:1px solid #b9bfc7;box-shadow:0 10px 30px rgba(0,0,0,.18);}
    .portal__cab{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 26px;flex-wrap:wrap;}
    .logo-sunat{display:flex;align-items:center;gap:8px;font:900 30px Arial Black,Arial,Helvetica,sans-serif;color:#1b3f8f;letter-spacing:.5px;}
    .logo-sunat svg{width:44px;height:44px;}
    .portal__acc{display:flex;gap:28px;flex-wrap:wrap;}
    .portal__acc button{background:none;border:0;padding:0;font:15px Arial,Helvetica,sans-serif;color:#a51a3b;cursor:pointer;display:flex;gap:6px;align-items:center;}
    .portal__franja{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#1d62b7;color:#fff;padding:10px 26px;font:700 14.5px Arial,Helvetica,sans-serif;}
    .portal__franja .der{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
    .btn-salir{background:#1aa3d9;color:#fff;border:0;padding:9px 20px;font:15px Arial,Helvetica,sans-serif;cursor:pointer;}
    .portal__cuerpo{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:900px;}
    .menu-sol{border-right:1px solid #e1e4e8;padding:14px 0;font-family:Arial,Helvetica,sans-serif;}
    .menu-sol .inicio{display:flex;justify-content:space-between;align-items:center;padding:4px 14px 16px;color:#a51a3b;font-size:15px;}
    .menu-sol .inicio button{background:none;border:0;color:#a51a3b;font:15px Arial,Helvetica,sans-serif;cursor:pointer;padding:0;}
    .menu-sol h3{margin:0 0 10px;padding:0 16px;font-size:18px;color:#1d4f9a;line-height:1.15;}
    .menu-sol .m1{display:block;width:100%;text-align:left;background:none;border:0;padding:8px 16px;font:700 15.5px Arial,Helvetica,sans-serif;color:#333;cursor:pointer;}
    .menu-sol .m2{display:block;width:100%;text-align:left;background:none;border:0;padding:7px 16px 7px 32px;font:15px Arial,Helvetica,sans-serif;color:#222;cursor:pointer;}
    .menu-sol .m3{display:flex;justify-content:space-between;width:100%;text-align:left;background:none;border:0;padding:8px 18px 8px 54px;font:14.5px Arial,Helvetica,sans-serif;color:#1d5fb4;cursor:pointer;}
    .menu-sol .m3.activo{background:#dcdfe3;}
    .menu-sol .m1:hover,.menu-sol .m2:hover,.menu-sol .m3:hover{background:#f1f3f5;}
    .menu-sol .m3.activo:hover{background:#dcdfe3;}
    .contenido{padding:8px 10px 30px;min-width:0;}

    /* ===== Formulario del T-REGISTRO ===== */
    .titulo-treg{border:2px solid #222;padding:2px;margin-bottom:24px;}
    .titulo-treg h1{margin:0;background:#3399cc;text-align:center;font:700 21px Verdana,Arial,sans-serif;padding:6px;color:#111;}
    .franja{background:#ebe8db;font:700 15.5px Verdana,Arial,sans-serif;padding:9px 8px;margin:0;color:#111;}
    .caja{border:1px solid #3b6fb6;}
    .ident{padding:6px 8px 4px;font-size:13.5px;}
    .ident p{margin:4px 0 12px;}
    .ident .rejilla{display:grid;grid-template-columns:180px 1fr 190px 120px 190px 1fr;gap:8px 12px;align-items:center;}
    .ident2{border-top:1px solid #3b6fb6;padding:6px 8px 8px;display:grid;grid-template-columns:200px 360px 1fr;gap:6px 18px;align-items:center;font-size:13.5px;}
    .ident2 .tel{display:flex;gap:10px;}
    .ident2 .dir{display:grid;grid-template-columns:200px 1fr;gap:4px 14px;}
    a.lnk,button.lnk{color:#1d22d6;font-style:italic;background:none;border:0;padding:0;font:italic 14.5px Verdana,Arial,sans-serif;cursor:pointer;text-decoration:none;}
    button.lnk:hover{text-decoration:underline;}
    button.lnk:disabled{color:#a7a9b8;cursor:default;text-decoration:none;}
    .in{height:22px;border:1px solid #9aa0a7;padding:0 4px;font:13.5px Verdana,Arial,sans-serif;color:#111;background:#fff;width:100%;}
    .in:disabled{background:#ececec;color:#999;border-color:#c4c7cb;}
    .in.error{border:2px solid #d9261c;}
    .sel{height:22px;border:1px solid #9aa0a7;font:13px Verdana,Arial,sans-serif;background:linear-gradient(#fff,#ececec);color:#111;width:100%;}
    .sel:disabled{color:#999;background:#ececec;border-color:#c4c7cb;}
    .categoria{margin-top:20px;}
    .tabs{display:flex;gap:4px;padding:2px 6px 0;border-bottom:1px solid #c9ccd1;flex-wrap:wrap;}
    .tab{border:1px solid #c9ccd1;border-bottom:0;background:#f4f4f4;padding:4px 12px;font:14.5px Verdana,Arial,sans-serif;cursor:pointer;color:#222;margin-bottom:-1px;}
    .tab.activa{background:#fff;}
    .panel{border:1px solid #c9ccd1;border-top:0;padding:14px 8px 18px;}
    .panel[hidden]{display:none;}
    .resumen{padding:0 0 0 6px;font-size:14.5px;line-height:1.55;}
    .resumen div{display:flex;align-items:center;gap:12px;}
    .resumen .ok{width:22px;height:22px;flex-shrink:0;}
    .resumen .vacio{width:22px;flex-shrink:0;}
    .botones{display:flex;justify-content:center;gap:12px;margin:22px 0 14px;}
    .btn{min-width:62px;padding:3px 9px;border:1px solid #9aa0a7;border-radius:2px;background:linear-gradient(#fbfbfb,#dedede);font:14.5px Verdana,Arial,sans-serif;cursor:pointer;color:#111;}
    .btn:hover{background:linear-gradient(#fff,#e9e9e9);}
    .btn:disabled{color:#a4a7ac;cursor:default;}
    .ayuda-treg{font:italic 14px Verdana,Arial,sans-serif;margin:16px 0 0 4px;}
    .ayuda-treg button{font:italic 14px Verdana,Arial,sans-serif;color:#1d22d6;text-decoration:underline;background:none;border:0;padding:0;cursor:pointer;}
    .acordeon .franja{cursor:pointer;margin-top:4px;user-select:none;}
    .acordeon .franja:hover{background:#e3dfcd;}
    .seccion{padding:12px 0 6px;}
    .seccion[hidden]{display:none;}
    .dos-col{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.9fr);gap:8px;align-items:start;}
    .col{display:flex;flex-direction:column;gap:4px;}
    .bloque{border:1px solid #3b6fb6;padding:6px 8px;font-size:14px;}
    .bloque .et{font-style:italic;font-size:13.5px;}
    .g-periodo{display:grid;grid-template-columns:80px minmax(0,185px) minmax(0,185px) minmax(60px,1fr) auto;gap:2px 8px;align-items:end;}
    .g-tipo{display:grid;grid-template-columns:86px minmax(0,300px) minmax(0,185px) minmax(0,185px) auto;gap:2px 8px;align-items:end;}
    .g-reg{display:grid;grid-template-columns:minmax(120px,205px) minmax(0,1fr);gap:8px 10px;align-items:center;}
    .g-reg .fila2{display:grid;grid-template-columns:92px minmax(0,1fr);gap:2px 12px;align-items:end;}
    .g-reg .fila2b{display:grid;grid-template-columns:90px minmax(0,250px);gap:12px;}
    .g-estab{display:grid;grid-template-columns:130px 70px 1fr auto;gap:2px 8px;align-items:end;}
    .g-check{display:grid;grid-template-columns:130px 1fr;gap:6px;align-items:start;}
    .g-check label{display:flex;gap:12px;align-items:center;margin-bottom:6px;}
    .g-check input{width:18px;height:18px;margin:0;}
    .g-radio{display:grid;grid-template-columns:130px 100px 100px;gap:6px;align-items:center;}
    .g-radio label,.radios label{display:flex;gap:8px;align-items:center;}
    .g-radio input,.radios input{width:17px;height:17px;margin:0;}
    .g-salud{display:grid;grid-template-columns:minmax(110px,165px) minmax(0,185px) minmax(0,185px) auto;gap:2px 14px;align-items:end;}
    .g-sctr{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,185px) minmax(0,185px) auto;gap:6px 12px;align-items:center;}
    .g-trib{display:grid;grid-template-columns:200px 120px 120px;gap:6px;align-items:center;}
    .tipo-local{font-style:italic;font-size:13px;}
    .nota-edu{font-weight:700;margin:2px 0 14px;}
    .bloque[aria-disabled="true"]{color:#9aa0a7;}
    /* Pestaña Pensionista: todo deshabilitado */
    .gris{opacity:.55;pointer-events:none;}
    .g-pens{display:grid;grid-template-columns:330px minmax(0,1fr);gap:0;border:1px solid #8aa5cf;}
    .g-pens > div{padding:8px 8px;border-bottom:3px solid #b8c7df;}
    .g-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:start;}
    .g-form .bloque{display:grid;grid-template-columns:330px minmax(0,1fr);gap:6px;align-items:center;}
    .g-form .radios{display:flex;flex-direction:column;gap:12px;}
    .g-form .der .bloque{grid-template-columns:minmax(0,1fr) auto auto;}

    /* ===== Ventanas (mensajes y detalles) ===== */
    .msj-fondo{position:fixed;inset:0;z-index:400;background:rgba(255,255,255,.45);display:flex;align-items:flex-start;justify-content:center;padding:140px 12px 12px;}
    .msj-fondo[hidden]{display:none;}
    .msj{width:860px;max-width:100%;background:#fff;border:1px solid #8aa5cf;box-shadow:0 4px 18px rgba(0,0,0,.25);font-family:Verdana,Arial,sans-serif;}
    .msj__cab{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e1e4e8;font-weight:700;font-size:14px;background:linear-gradient(#fff,#f2f2f2);}
    .msj__cab button{width:20px;height:20px;border-radius:50%;border:1px solid #9aa0a7;background:#e5e5e5;color:#666;font:700 12px Arial;cursor:pointer;line-height:1;padding:0;}
    .msj__cuerpo{padding:22px 14px 8px;font-size:14px;line-height:1.55;max-height:65vh;overflow:auto;}
    .msj__cuerpo p{margin:0 0 10px;}
    .msj__cuerpo ul{margin:0;padding-left:20px;}
    .msj__pie{display:flex;justify-content:center;gap:10px;padding:6px 12px 14px;}
    .tabla-d{width:100%;border-collapse:collapse;font-size:13px;}
    .tabla-d th{background:#3b6fb6;color:#fff;padding:5px 6px;font-weight:700;border:1px solid #2b5b9f;}
    .tabla-d td{border:1px solid #c9ccd1;padding:4px 6px;}
    .tabla-d tr:nth-child(even) td{background:#f3f6fb;}
    .form-d{display:grid;grid-template-columns:150px minmax(0,1fr) 150px minmax(0,1fr);gap:8px 12px;align-items:center;font-size:13px;}
    .form-d .ancho{grid-column:2 / -1;}

    /* ===== Celular ===== */
    @media (max-width:1100px){
        .portal__cuerpo{grid-template-columns:1fr;}
        .menu-sol{border-right:0;border-bottom:1px solid #e1e4e8;}
        .ident .rejilla{grid-template-columns:160px 1fr 160px 1fr;}
        .ident2{grid-template-columns:160px 1fr;}
        .ident2 .dir{grid-column:1 / -1;}
        .dos-col,.g-form{grid-template-columns:1fr;}
    }
    @media (max-width:700px){
        .ident .rejilla,.ident2,.ident2 .dir,.g-reg,.g-pens,.form-d{grid-template-columns:1fr;}
        .g-periodo,.g-tipo,.g-salud,.g-sctr,.g-estab{grid-template-columns:1fr 1fr;}
        .g-periodo > *,.g-tipo > *,.g-salud > *,.g-sctr > *,.g-estab > *{grid-column:auto !important;}
        .g-form .bloque,.g-form .der .bloque{grid-template-columns:1fr;}
        .g-radio,.g-trib{grid-template-columns:1fr 70px 70px;}
        .g-check{grid-template-columns:1fr;}
        .titulo-treg h1{font-size:16px;}
        .logo-sunat{font-size:24px;}
        .portal__franja{font-size:13px;}
        .aviso-fijo{font-size:12.5px;}
        .form-d .ancho{grid-column:auto;}
        .msj-fondo{padding-top:70px;}
        /* Los anchos fijos escritos en cada campo (pensados para la pantalla
           de SUNAT en computadora) no caben en el celular: ocupan todo el ancho. */
        .in[style*="width"],.sel[style*="width"]{width:100% !important;max-width:100% !important;}
        .g-reg[style*="grid-template-columns"]{grid-template-columns:1fr !important;}
    }

    /* ===== Modo táctil (celular y tablet) =====
       Campos de 40 px de alto y letra de 16 px: con 22 px eran difíciles de
       tocar y el iPhone hacía zoom en cada uno. */
    @media (pointer:coarse){
        .in,.sel{height:40px;font-size:16px;}
        .msj__cab button{width:36px;height:36px;font-size:16px;}
    }
