/* Sofelyx V78, fichas de software de facturación. Aislado bajo .v78 */
.v78{--v78-navy:#102d49;--v78-muted:#496276;--v78-teal:#087b86;--v78-line:#d5e4eb;--v78-bg:#f3f8fa;color:var(--v78-navy);font-size:16px;line-height:1.68;overflow-wrap:break-word}
.v78 *{box-sizing:border-box}.v78 .v78-container{width:min(1090px,calc(100% - 36px));margin-inline:auto}.v78 .v78-hero{padding:clamp(44px,6vw,80px) 0 45px;background:linear-gradient(140deg,#eaf7f9 0%,#eaf1fb 62%,#fff 100%)}
.v78 .v78-eyebrow,.v78 .v78-kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.09em;color:#126e86;font-weight:800;margin:0 0 10px}.v78 h1{font-size:clamp(2rem,4.4vw,3.35rem);max-width:920px;letter-spacing:-.035em;line-height:1.16;margin:14px 0;color:var(--v78-navy)}
.v78 h2{font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.02em;line-height:1.25;margin:0 0 14px;color:var(--v78-navy)}.v78 h3{font-size:1.2rem}.v78 p{margin:0 0 17px;max-width:83ch}.v78 .v78-lead{font-size:clamp(1.05rem,1.75vw,1.28rem);max-width:77ch;color:#304c61;line-height:1.6}.v78 .v78-notes,.v78 .v78-small{color:var(--v78-muted);font-size:.9rem}.v78 .v78-actions,.v78 .v78-formactions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.v78 .v78-btn{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:44px;border:2px solid #0e7188;padding:10px 16px;border-radius:11px;text-decoration:none;font-weight:750;font-size:.94rem;line-height:1.35;cursor:pointer}.v78 .v78-primary{background:#0b7286;color:white}.v78 .v78-primary:hover{background:#07556a;color:#fff}.v78 .v78-secondary{background:white;color:#075b6f}.v78 .v78-secondary:hover{background:#e4f6f8;color:#07556a}.v78 .v78-btn[disabled]{opacity:.45;cursor:not-allowed}.v78 .v78-btn:focus-visible,.v78 a:focus-visible,.v78 input:focus-visible,.v78 select:focus-visible,.v78 summary:focus-visible{outline:3px solid #e39a25;outline-offset:3px}
.v78 .v78-body{padding:25px 0 70px}.v78 .v78-nav{display:flex;flex-wrap:wrap;gap:8px;padding:5px 0 24px;border-bottom:1px solid var(--v78-line)}.v78 .v78-nav a{color:#11566a;background:#ecf7f9;padding:8px 14px;text-decoration:none;border-radius:25px;font-size:.93rem;font-weight:700}.v78 .v78-nav a:hover{background:#d6ecf0}
.v78 .v78-section{padding:38px 0 28px;border-bottom:1px solid var(--v78-line);scroll-margin-top:30px}.v78 .v78-section:last-child{border-bottom:0}.v78 .v78-section p,.v78 .v78-section ul,.v78 .v78-section ol{max-width:89ch}.v78 .v78-section li{padding-left:2px;margin-bottom:9px}.v78 .v78-section a:not(.v78-btn){color:#086a87;text-decoration:underline;text-underline-offset:3px}.v78 .v78-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--v78-line);border-radius:12px;margin:18px 0 22px}.v78 .v78-scroll table{border-collapse:collapse;width:100%;min-width:610px;margin:0}.v78 table caption{caption-side:bottom;font-size:.82rem;background:#f1f6f9;padding:9px 15px;color:#435c6b;text-align:left}.v78 th,.v78 td{padding:13px 16px;vertical-align:top;border-bottom:1px solid #e5eef2;text-align:left}.v78 thead th{background:#e8f5f7;font-size:.91rem;color:#143c56}.v78 tbody th{background:#f5f9fb;font-weight:750;min-width:130px}.v78 tbody tr:last-child th,.v78 tbody tr:last-child td{border-bottom:0}.v78 .v78-faq{display:grid;gap:10px}.v78 .v78-faq details{border:1px solid var(--v78-line);border-radius:11px;background:#fff;overflow:hidden}.v78 .v78-faq summary{padding:15px 18px;cursor:pointer;font-weight:750;color:#133a50}.v78 .v78-faq details[open]{border-color:#95c1d0}.v78 .v78-faq details>div{padding:0 18px 16px}.v78 .v78-faq p{margin:0}.v78 .v78-links{padding-left:20px}.v78 .v78-links li{margin:0 0 9px}
.v78 .v78-tool{border:1px solid #bcdbe4;border-radius:17px;background:#f4fafb;padding:clamp(16px,3vw,27px);margin:20px 0 16px}.v78 label{display:flex;flex-direction:column;gap:7px;font-size:.92rem;line-height:1.4;font-weight:750;color:#183b54}.v78 input,.v78 select{background:white;color:#123249;width:100%;min-height:44px;padding:9px 11px;border:1px solid #9abac6;border-radius:8px;font-weight:450;font:inherit;max-width:100%}.v78 input::placeholder{color:#637b8a;opacity:1}.v78 .v78-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 19px}.v78 .v78-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v78 .v78-offer{min-width:0;border:1px solid #c3dce4;border-radius:13px;padding:18px;background:white}.v78 .v78-offer legend{font-weight:800;padding:0 8px;font-size:1.1rem;color:#0a6680}.v78 .v78-offer .v78-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v78 .v78-output{background:white;padding:17px 20px;border:1px solid #bcdbe4;border-radius:10px;min-height:60px;overflow-wrap:anywhere}.v78 .v78-output p{margin-bottom:7px}.v78 .v78-output ul{margin:10px 0 0;padding-left:22px}.v78 .v78-output .v78-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v78 .v78-output .v78-value{border:1px solid #d2e4ea;border-radius:9px;padding:12px;background:#f5f9fb}.v78 .v78-value span{font-size:.83rem;color:#416174;display:block}.v78 .v78-value strong{font-size:1.2rem;color:#173b52;display:block}.v78 .v78-output .v78-result-title{font-weight:800;margin:6px 0 14px}.v78 .v78-error{margin:15px 0;border-left:4px solid #af3229;color:#84261f;background:#fff0ee;padding:12px 14px;font-weight:700;border-radius:5px}.v78 .v78-error[hidden]{display:none}.v78 .v78-output table{min-width:480px}.v78 .v78-output .v78-scroll{margin:10px 0}.v78 .v78-flag{font-weight:800;color:#145b72}.v78 button{touch-action:manipulation}
@media(max-width:880px){.v78 .v78-offers{grid-template-columns:1fr}.v78 .v78-offer .v78-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.v78 .v78-container{width:calc(100% - 30px)}.v78 .v78-hero{padding:37px 0 33px}.v78 .v78-grid,.v78 .v78-offer .v78-grid,.v78 .v78-output .v78-values{grid-template-columns:1fr}.v78 .v78-tool{padding:14px}.v78 .v78-offer{padding:12px}.v78 .v78-formactions .v78-btn{flex:1 1 100%}.v78 .v78-section{padding-top:32px}.v78 .v78-nav{gap:6px}.v78 .v78-nav a{padding:7px 11px;font-size:.84rem}.v78 h1{font-size:clamp(1.85rem,8vw,2.4rem)}}

.v78 .v78-checkgroup{border:0;padding:0;margin:0}.v78 .v78-checkgroup legend{font-weight:800;margin-bottom:12px}.v78 .v78-check{flex-direction:row;align-items:flex-start;gap:12px;padding:12px;border-bottom:1px solid #d6e5ec;cursor:pointer}.v78 .v78-check input{width:21px;height:21px;min-height:21px;flex:none;margin:0}.v78 .v78-check span{font-weight:500}.v78 .v78-note{color:#466379;font-size:.9rem}.v78 .v78-result{font-weight:800}.v78 .v78-tool select{width:100%}

/* V78: avisos y etiquetas de herramienta. */
.v78 .v78-tool fieldset{min-width:0}.v78 .v78-note{line-height:1.55}.v78 .v78-result-row{display:flex;flex-wrap:wrap;gap:10px}.v78 .v78-result-row strong{font-size:1.05rem}.v78 .v78-output strong{font-weight:800}

.v78 .v78-tool p{max-width:100%}.v78 .v78-output .v78-result-row{display:flex;flex-wrap:wrap;gap:10px}.v78 .v78-output strong{font-weight:800}.v78 .v78-scroll:focus-visible{outline:3px solid #e39a25;outline-offset:3px}

.v78 .v78-choices{border:1px solid #bcdbe4;border-radius:10px;padding:13px 16px;margin:19px 0;background:#fff;min-width:0}.v78 .v78-choices legend{font-weight:750;padding:0 6px}.v78 .v78-choices label{display:flex;flex-direction:row;gap:10px;align-items:flex-start;margin:8px 0}.v78 .v78-choices input[type=checkbox]{min-height:18px;width:18px;flex:0 0 18px;margin-top:3px}.v78 .v78-output{white-space:normal}.v78 .v78-output ol{padding-left:22px}.v78 .v78-scroll:focus-visible{outline:3px solid #e39a25;outline-offset:3px}

.v78 .v78-choices{border:1px solid #c4dce2;border-radius:10px;padding:12px 16px;margin:20px 0;background:#fff;min-width:0}.v78 .v78-choices legend{font-weight:750;padding:0 6px}.v78 .v78-choices label{display:flex;flex-direction:row;gap:10px;align-items:flex-start;margin:10px 0}.v78 .v78-choices input[type=checkbox]{min-height:18px;width:18px;flex:0 0 18px;margin-top:4px}.v78 .v78-output{white-space:pre-line}.v78 .v78-scroll:focus-visible{outline:3px solid #e39a25;outline-offset:3px}

/* Controles adaptados a la semántica del lote */
.v78 .v78-input-table input{min-width:125px;width:100%;text-align:right}.v78 .v78-input-table{min-width:770px}.v78 .v78-scroll table{min-width:610px}.v78 .v78-output{white-space:pre-line}.v78 .v78-choices input[type=checkbox]{width:20px;height:20px;min-height:20px}.v78 .v78-choices label{cursor:pointer}.v78 .v78-output{overflow-wrap:break-word}.v78 .v78-tool fieldset{border:1px solid #c4dce2;border-radius:10px;padding:12px 16px;min-width:0}.v78 .v78-tool legend{font-weight:800;padding:0 8px}
