
            * {
                box-sizing: border-box
            }

            body {
                margin: 0;
                font-family: Arial,Helvetica,sans-serif;
                background: #e9eef5;
                color: #111
            }

            .app {
                display: flex;
                gap: 16px;
                align-items: flex-start;
                padding: 16px
            }

            .panel {
                width: 390px;
                background: #fff;
                border-radius: 14px;
                padding: 16px;
                box-shadow: 0 6px 24px #0002;
                position: sticky;
                top: 12px;
                max-height: 96vh;
                overflow: auto
            }

            h1 {
                font-size: 19px;
                margin: 0 0 6px
            }

            h2 {
                font-size: 14px;
                margin: 16px 0 8px;
                border-top: 1px solid #ddd;
                padding-top: 12px
            }

            h3 {
                font-size: 12px;
                margin: 10px 0 5px
            }

            label {
                display: block;
                font-size: 12px;
                font-weight: 700;
                margin-top: 8px
            }

            input,textarea,select {
                width: 100%;
                padding: 7px;
                border: 1px solid #bbb;
                border-radius: 8px;
                font-size: 13px;
                text-transform: uppercase
            }

            textarea {
                height: 50px
            }

            .row {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 8px
            }

            button {
                border: 0;
                border-radius: 10px;
                padding: 9px 11px;
                background: #0f172a;
                color: #fff;
                font-weight: 700;
                margin: 7px 4px 0 0;
                cursor: pointer
            }

            button.secondary {
                background: #475569
            }

            button.light {
                background: #e2e8f0;
                color: #111
            }

            button.red {
                background: #991b1b
            }

            .hint {
                font-size: 12px;
                color: #475569;
                line-height: 1.35
            }

            .mini {
                font-size: 11px;
                color: #64748b
            }

            .checks {
                display: grid;
                grid-template-columns: repeat(2,1fr);
                gap: 4px
            }

            .checks label {
                font-weight: 600;
                margin-top: 2px
            }

            .checks input {
                width: auto;
                margin-right: 4px
            }

            .activeField {
                outline: 2.2pt solid #ef4444!important;
                background: rgba(255,230,0,.32)!important;
                box-shadow: 0 0 0 2pt rgba(239,68,68,.18)!important
            }

            .pageWrap {
                margin: auto
            }

            .page {
                position: relative;
                width: 612pt;
                height: 792pt;
                background: white;
                box-shadow: 0 8px 28px #0003
            }

            .bg {
                position: absolute;
                inset: 0;
                width: 100%;
                height: 100%;
                z-index: 0;
                display: block
            }

            .f {
                position: absolute;
                z-index: 1;
                border: 0;
                background: transparent;
                text-align: center;
                text-transform: uppercase;
                font-family: Arial,Helvetica,sans-serif;
                font-weight: 700;
                font-size: 8.5pt;
                padding: 0;
                color: #111
            }

            .wide {
                text-align: left;
                padding-left: 2pt;
                font-size: 7.8pt
            }

            @media print {
                * {
                    -webkit-print-color-adjust: exact!important;
                    print-color-adjust: exact!important
                }

                html,body {
                    background: #fff!important;
                    margin: 0!important;
                    padding: 0!important;
                    overflow: hidden!important
                }

                body>*:not(.app) {
                    display: none!important
                }

                .panel {
                    display: none!important
                }

                .app {
                    padding: 0!important;
                    margin: 0!important;
                    display: block!important;
                    width: 8.5in!important;
                    height: 11in!important;
                    overflow: hidden!important
                }

                .pageWrap {
                    margin: 0!important;
                    padding: 0!important;
                    width: 8.5in!important;
                    height: 11in!important;
                    overflow: hidden!important;
                    break-after: avoid!important;
                    page-break-after: avoid!important
                }

                .page {
                    position: relative!important;
                    box-shadow: none!important;
                    margin: 0!important;
                    width: 8.5in!important;
                    height: 11in!important;
                    overflow: hidden!important;
                    break-after: avoid!important;
                    page-break-after: avoid!important;
                    transform: none;
                    transform-origin: top left
                }

                .bg {
                    height: 100%!important
                }

                .activeField {
                    outline: none!important;
                    background: transparent!important;
                    box-shadow: none!important
                }

                @page {
                    size: letter portrait;
                    margin: 0
                }
            }

            /* --- Fix & Fly v15 móvil: conserva impresión original --- */
            .mobileOnly {
                display: none
            }

            .mobileBottomBar {
                display: none
            }

            @media(max-width: 800px) {
                html,body {
                    width:100%;
                    overflow-x: hidden;
                    background: #fff
                }

                .app {
                    display: block!important;
                    padding: 0 0 78px!important
                }

                .panel {
                    position: relative!important;
                    top: auto!important;
                    width: 100%!important;
                    max-height: none!important;
                    border-radius: 0!important;
                    box-shadow: none!important;
                    padding: 14px!important;
                }

                .pageWrap {
                    display: block!important;
                    width: 100%!important;
                    overflow: auto!important;
                    padding: 10px!important;
                    background: #e9eef5!important;
                }

                .page {
                    transform: scale(.55);
                    transform-origin: top left;
                    margin: 0!important;
                }

                .pageWrap:after {
                    content: "";
                    display: block;
                    height: 360px;
                }

                input,textarea,select {
                    font-size: 16px!important
                }

                button {
                    font-size: 14px!important
                }

                .mobileOnly {
                    display: inline-block
                }

                .mobileBottomBar {
                    display: flex;
                    position: fixed;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    z-index: 9999;
                    background: rgba(255,255,255,.96);
                    border-top: 1px solid #ddd;
                    padding: 8px;
                    gap: 8px;
                    box-shadow: 0 -4px 18px #0002;
                }

                .mobileBottomBar button {
                    flex: 1;
                    margin: 0!important
                }
            }

            @media print {
                .mobileBottomBar {
                    display: none!important
                }
            }

            /* --- Fix v16: evitar segunda hoja en blanco al imprimir --- */
            @media print {
                html,body {
                    width: 8.5in!important;
                    height: 11in!important;
                    margin: 0!important;
                    padding: 0!important;
                    overflow: hidden!important;
                    background: #fff!important;
                }

                .app {
                    width: 8.5in!important;
                    height: 11in!important;
                    max-height: 11in!important;
                    overflow: hidden!important;
                    display: block!important;
                    padding: 0!important;
                    margin: 0!important;
                    page-break-after: avoid!important;
                    break-after: avoid!important;
                }

                .pageWrap {
                    width: 8.5in!important;
                    height: 11in!important;
                    max-height: 11in!important;
                    overflow: hidden!important;
                    margin: 0!important;
                    padding: 0!important;
                    page-break-after: avoid!important;
                    break-after: avoid!important;
                }

                .pageWrap:after {
                    display: none!important;
                    content: none!important;
                }

                .page {
                    width: 8.5in!important;
                    height: 11in!important;
                    max-height: 11in!important;
                    overflow: hidden!important;
                    page-break-after: avoid!important;
                    break-after: avoid!important;
                }

                .mobileBottomBar {
                    display: none!important;
                }

                body::after, html::after {
                    display: none!important;
                    content: none!important;
                }

                @page {
                    size: letter portrait;
                    margin: 0;
                }
            }
        
/* --- Fix & Fly logo header v1: solo visual, no modifica impresión ni funciones --- */
.ffBrandHeader{
  text-align:center;
  padding:4px 0 10px;
  margin-bottom:8px;
  border-bottom:1px solid #d9e2ec;
}
.ffBrandHeader .ffLogo{
  display:block;
  width:128px;
  max-width:72%;
  height:auto;
  margin:0 auto 4px;
}
.ffBrandHeader h1{
  margin:3px 0 2px!important;
  font-size:20px!important;
  line-height:1.15!important;
}
.ffBrandHeader .ffBeta{
  color:#0f172a;
  font-size:12px;
  font-weight:800;
}
.ffBrandHeader .ffTagline{
  color:#475569;
  font-size:11px;
  margin-top:1px;
}
@media(max-width:800px){
  .ffBrandHeader .ffLogo{width:116px}
  .ffBrandHeader h1{font-size:19px!important}
}
@media print{
  .ffBrandHeader{display:none!important}
}





/* --- Fix & Fly Beta 2026 como campo real del formulario --- */
.ffMarkField{
  pointer-events:none!important;
  background:transparent!important;
  border:0!important;
}
@media print{
  .ffMarkField{
    color:#777!important;
    outline:none!important;
    box-shadow:none!important;
    background:transparent!important;
  }
}


/* --- Placeholders guía v1 --- */
input::placeholder, textarea::placeholder{
  color:#b0b0b0;
  font-style:italic;
}


/* --- Placeholders guía profesional pública --- */
input::placeholder, textarea::placeholder{
  color:#a7a7a7;
  font-style:italic;
}


/* --- Fix & Fly V3 segura: placeholders sin parche JS --- */
input::placeholder, textarea::placeholder{
  color:#a7a7a7!important;
  font-style:italic!important;
}


/* --- Fix & Fly V6: guía gris en panel y vista previa AFAC --- */
input::placeholder, textarea::placeholder{
  color:#a7a7a7!important;
  font-style:italic!important;
}
.f.guideField{
  color:#8f8f8f!important;
  font-style:italic!important;
  font-weight:600!important;
}
@media print{
  .f.guideField{
    color:transparent!important;
  }
}


/* --- Fix & Fly v6.2: placeholders grises estables --- */
input::placeholder, textarea::placeholder{
  color:#a7a7a7!important;
  font-style:italic!important;
}
.f.guideField{
  color:#8f8f8f!important;
  font-style:italic!important;
  font-weight:600!important;
}
@media print{
  .f.guideField{
    color:transparent!important;
  }
}


/* --- Fix & Fly v6.4 Observaciones panel --- */
#observations{
  height:58px;
  resize:vertical;
}



.cls-1{fill:#3c3c3b;}.cls-2{fill:#83d0f5;}

' + css + '


.ffProModal{display:none;position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.62);padding:18px}
.ffProModal.show{display:flex;align-items:flex-start;justify-content:center}
.ffProModalBox{width:min(920px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 18px 55px #0005;padding:14px}
.ffProModalHead{display:flex;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8f0;padding-bottom:8px;margin-bottom:10px}
.ffProModalHead h2{margin:0!important;border:0!important;padding:0!important;font-size:18px!important}
.ffProTable{width:100%;border-collapse:collapse;font-size:13px}
.ffProTable th,.ffProTable td{border-bottom:1px solid #e2e8f0;padding:8px;text-align:left;vertical-align:top}
.ffProTable th{background:#f8fafc;font-weight:800}
.ffProActions button{padding:7px 9px;margin:2px;border-radius:8px;font-size:12px!important}
.ffProEmpty{padding:18px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;color:#475569}
.ffProNote{font-size:12px;color:#475569;line-height:1.35;margin:8px 0}
.ffProBadge{display:inline-block;padding:3px 7px;border-radius:999px;background:#dbeafe;color:#1e3a8a;font-size:11px;font-weight:800}
.ffProWatermark{position:absolute;z-index:2;right:43pt;top:50pt;color:#777;font-size:8pt;font-weight:700;pointer-events:none}
@media print{.ffProModal{display:none!important}.ffProWatermark{color:#777!important}}
@media(max-width:800px){.ffProModal{padding:8px}.ffProModalBox{width:100%;max-height:94vh;border-radius:12px}.ffProTable{font-size:12px}.ffProTable th,.ffProTable td{padding:6px}}
