
:root{
  color-scheme: light;
  --zf-bg:#f4f8fb;
  --zf-card:#ffffff;
  --zf-ink:#061426;
  --zf-muted:#60728c;
  --zf-line:#dce8f4;
  --zf-turq:#20d6c4;
  --zf-blue:#2563ff;
  --zf-ok:#16a36b;
  --zf-warn:#f5b84b;
  --zf-bad:#d94747;
  --zf-shadow:0 18px 50px rgba(15,36,66,.12);
  --zf-radius:24px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at 8% 0%,rgba(32,214,196,.18),transparent 34%),radial-gradient(circle at 92% 4%,rgba(37,99,255,.16),transparent 30%),var(--zf-bg);color:var(--zf-ink)}
body{overflow-x:hidden}.zf-shell{width:min(100% - 26px,980px);margin:0 auto;padding:18px 0 90px}.zf-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 18px;position:sticky;top:0;background:linear-gradient(180deg,rgba(244,248,251,.96),rgba(244,248,251,.82));backdrop-filter:blur(14px);z-index:20}.zf-brand{display:flex;align-items:center;gap:12px}.zf-logo-mark{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,var(--zf-turq),var(--zf-blue));box-shadow:0 16px 30px rgba(37,99,255,.22);position:relative;flex:0 0 auto}.zf-logo-mark:before{content:"";position:absolute;left:14px;top:10px;width:21px;height:27px;background:#fff;border-radius:8px 8px 7px 7px;box-shadow:inset 0 -6px 0 rgba(32,214,196,.12)}.zf-logo-mark:after{content:"✓";position:absolute;right:7px;bottom:4px;background:#061426;color:#fff;font-weight:900;width:19px;height:19px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px}.zf-logo-word{font-size:clamp(1.02rem,3.5vw,1.18rem);font-weight:900;letter-spacing:-.04em;line-height:1}.zf-logo-word .zaidor{color:var(--zf-turq)}.zf-logo-word .facturas{color:var(--zf-ink)}.zf-by{font-size:.68rem;color:var(--zf-muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.zf-company{font-size:.84rem;color:var(--zf-muted);font-weight:700}.zf-card{background:rgba(255,255,255,.92);border:1px solid rgba(220,232,244,.9);border-radius:var(--zf-radius);box-shadow:var(--zf-shadow);padding:18px}.zf-hero{padding:26px 20px 22px;overflow:hidden;position:relative}.zf-hero:after{content:"";position:absolute;width:220px;height:220px;right:-90px;top:-90px;background:linear-gradient(135deg,rgba(32,214,196,.18),rgba(37,99,255,.18));border-radius:50%;z-index:0}.zf-hero>*{position:relative;z-index:1}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--zf-blue);font-size:.75rem}h1{font-size:clamp(2rem,7vw,3.2rem);line-height:.95;margin:0 0 12px;letter-spacing:-.07em}h2{font-size:1.25rem;margin:0 0 8px;letter-spacing:-.03em}h3{margin:0 0 6px;font-size:1.05rem}.muted{color:var(--zf-muted)}.small{font-size:.86rem}.zf-grid{display:grid;gap:14px}.zf-home-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.zf-action-card{border:1px solid var(--zf-line);border-radius:22px;background:#fff;padding:15px;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(15,36,66,.06);transition:.18s ease;min-height:132px}.zf-action-card:hover{transform:translateY(-2px);border-color:rgba(37,99,255,.28);box-shadow:0 18px 40px rgba(37,99,255,.11)}.zf-action-card b{display:block;font-size:1rem;margin:7px 0}.zf-icon{width:40px;height:40px;border-radius:15px;background:linear-gradient(135deg,rgba(32,214,196,.17),rgba(37,99,255,.14));display:flex;align-items:center;justify-content:center;font-size:21px}.zf-page{display:none;animation:efFade .18s ease}.zf-page.active{display:block}@keyframes efFade{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}.zf-bottom{position:fixed;z-index:30;left:50%;bottom:14px;transform:translateX(-50%);width:min(100% - 22px,520px);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:rgba(255,255,255,.88);border:1px solid rgba(220,232,244,.95);border-radius:24px;padding:8px;box-shadow:0 20px 60px rgba(15,36,66,.16);backdrop-filter:blur(14px)}.zf-nav-btn{border:0;background:transparent;border-radius:18px;padding:10px 6px;color:var(--zf-muted);font-weight:900;cursor:pointer}.zf-nav-btn.active{background:linear-gradient(135deg,rgba(32,214,196,.18),rgba(37,99,255,.14));color:var(--zf-ink)}.zf-nav-btn span{display:block;font-size:1.1rem}.zf-form{display:grid;gap:14px}.zf-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field label{display:block;font-size:.78rem;font-weight:900;color:#3d526d;margin:0 0 6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--zf-line);background:#fff;color:var(--zf-ink);border-radius:16px;padding:12px 13px;font:inherit;outline:none}.field textarea{min-height:82px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(37,99,255,.45);box-shadow:0 0 0 4px rgba(37,99,255,.08)}.zf-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.zf-space{justify-content:space-between}.zf-btn{border:0;border-radius:16px;padding:12px 15px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;min-height:46px}.zf-btn.primary{background:linear-gradient(135deg,var(--zf-turq),var(--zf-blue));color:#fff;box-shadow:0 14px 30px rgba(37,99,255,.22)}.zf-btn.secondary{background:#eaf3ff;color:#0b306c}.zf-btn.ghost{background:#fff;border:1px solid var(--zf-line);color:var(--zf-ink)}.zf-btn.warn{background:#fff3d2;color:#7a4b00}.zf-btn.bad{background:#fee2e2;color:#8a1f1f}.zf-btn:disabled{opacity:.55;cursor:not-allowed}.zf-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.zf-step{height:7px;border-radius:99px;background:#dbe8f5;overflow:hidden}.zf-step.active{background:linear-gradient(90deg,var(--zf-turq),var(--zf-blue))}.zf-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--zf-line);padding:7px 10px;font-weight:900;font-size:.8rem;background:#fff}.zf-pill.ok{background:#e9fbf2;color:#0a6b40;border-color:#c9f4dc}.zf-pill.warn{background:#fff6dd;color:#805200;border-color:#fee6a8}.zf-pill.bad{background:#feecec;color:#982626;border-color:#ffd0d0}.zf-list{display:grid;gap:10px}.zf-item{border:1px solid var(--zf-line);background:#fff;border-radius:20px;padding:13px;display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.zf-item strong{display:block}.zf-item small{display:block;color:var(--zf-muted);margin-top:4px}.zf-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.zf-kpi{background:#f7fbff;border:1px solid var(--zf-line);border-radius:18px;padding:12px}.zf-kpi span{display:block;color:var(--zf-muted);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.zf-kpi b{font-size:1.1rem}.zf-modal-backdrop{position:fixed;z-index:80;inset:0;background:rgba(6,20,38,.58);display:none;align-items:center;justify-content:center;padding:14px;backdrop-filter:blur(8px)}.zf-modal-backdrop.show{display:flex}.zf-modal{width:min(100%,620px);max-height:90vh;overflow:auto;background:#fff;border-radius:28px;padding:18px;box-shadow:0 30px 90px rgba(6,20,38,.34)}.zf-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--zf-line);padding-bottom:12px;margin-bottom:14px}.zf-close{border:0;background:#eef5ff;border-radius:14px;font-weight:900;padding:9px 12px}.zf-summary{display:grid;gap:10px}.zf-summary-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed #d9e5f1;padding:8px 0}.zf-toast{position:fixed;z-index:100;left:50%;top:18px;transform:translateX(-50%);width:min(100% - 24px,520px);background:#061426;color:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 18px 60px rgba(6,20,38,.3);display:none}.zf-toast.show{display:block}.zf-login{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:20px}.zf-login-card{width:min(100%,460px)}.zf-login-context{border:1px solid var(--zf-line);background:#f7fbff;border-radius:16px;padding:11px 13px;line-height:1.35}.zf-login-context b{color:var(--zf-ink)}
.zf-progress-list{display:grid;gap:8px;margin-top:12px}.zf-progress-line{display:flex;align-items:center;gap:10px;color:var(--zf-muted);font-weight:800}.zf-progress-dot{width:10px;height:10px;border-radius:99px;background:#c7d7e9}.zf-progress-line.active{color:var(--zf-ink)}.zf-progress-line.active .zf-progress-dot{background:linear-gradient(135deg,var(--zf-turq),var(--zf-blue));box-shadow:0 0 0 5px rgba(32,214,196,.12)}.zf-progress-line.done .zf-progress-dot{background:var(--zf-ok)}.zf-hidden{display:none!important}.zf-link{color:var(--zf-blue);font-weight:900}.zf-danger-zone{border:1px solid #ffd2d2;background:#fff7f7;border-radius:20px;padding:14px}.zf-safe-zone{border:1px solid rgba(32,214,196,.24);background:rgba(32,214,196,.08);border-radius:20px;padding:14px}@media(max-width:860px){.zf-home-grid{grid-template-columns:repeat(2,1fr)}.zf-row{grid-template-columns:1fr}.zf-kpis{grid-template-columns:1fr}.zf-header{align-items:flex-start}.zf-company{display:none}}@media(max-width:520px){.zf-shell{width:min(100% - 20px,980px);padding-top:10px}.zf-home-grid{grid-template-columns:1fr}.zf-hero{padding:21px 16px}.zf-card{padding:15px;border-radius:22px}.zf-action-card{min-height:auto}.zf-steps{grid-template-columns:repeat(4,1fr)}.zf-bottom{bottom:9px;border-radius:21px}.zf-nav-btn{font-size:.78rem;padding:9px 4px}.zf-modal{border-radius:24px;padding:15px}.zf-toolbar .zf-btn{width:100%}}
/* v9.1.455 · Zaidor Facturas: editor multi-línea, resumen y documento más claro */
.zf-lines-editor{display:grid;gap:14px;margin-top:14px}
.zf-line-row{border:1px solid var(--zf-line);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff);padding:14px;box-shadow:0 10px 28px rgba(15,36,66,.06)}
.zf-line-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.zf-line-head b{font-size:.95rem;color:#0f2444}
.zf-remove-line{min-height:36px;padding:8px 11px;font-size:.82rem}
.zf-line-total{border:1px solid var(--zf-line);border-radius:16px;background:#f7fbff;padding:12px 13px;display:flex;flex-direction:column;justify-content:center;min-height:72px}
.zf-line-total span{font-size:.78rem;font-weight:900;color:#3d526d;margin-bottom:5px}
.zf-line-total b{font-size:1.15rem;letter-spacing:-.03em}.zf-line-total small{margin-top:4px}
.zf-invoice-total-card{border:1px solid rgba(37,99,255,.16);background:linear-gradient(135deg,rgba(32,214,196,.10),rgba(37,99,255,.08));border-radius:24px;padding:16px;display:grid;gap:14px}
.zf-total-top{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px dashed rgba(37,99,255,.20);padding-bottom:12px}
.zf-total-top span{font-weight:900;color:#45607c}.zf-total-top b{font-size:clamp(1.9rem,6vw,2.8rem);letter-spacing:-.06em;color:#061426}
.zf-total-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.zf-total-grid div{background:#fff;border:1px solid var(--zf-line);border-radius:18px;padding:12px}.zf-total-grid span{display:block;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--zf-muted)}.zf-total-grid b{font-size:1.05rem}
.zf-vat-breakdown{display:grid;gap:8px}.zf-vat-row{display:grid;grid-template-columns:1fr auto;gap:6px;border:1px solid var(--zf-line);background:rgba(255,255,255,.78);border-radius:16px;padding:10px 12px}.zf-vat-row span{font-weight:900}.zf-vat-row small{grid-column:1/-1;color:var(--zf-muted)}
.zf-summary-lines{display:grid;gap:8px;margin:10px 0}.zf-summary-line{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--zf-line);border-radius:16px;background:#f8fbff;padding:10px}.zf-summary-line small{display:block;color:var(--zf-muted);margin-top:3px}.zf-summary-total b,.zf-summary-total span{font-size:1.12rem;color:#061426}.zf-review-card{border:1px solid var(--zf-line);border-radius:22px;background:#fff;padding:14px}.zf-review-title{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px dashed var(--zf-line);padding-bottom:10px;margin-bottom:10px}.zf-review-title span{font-weight:900;color:var(--zf-muted)}.zf-review-title b{font-size:1.7rem;letter-spacing:-.05em;color:#061426}
.zf-success-document{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border:1px solid rgba(32,214,196,.28);background:linear-gradient(135deg,rgba(32,214,196,.12),rgba(37,99,255,.08));border-radius:24px;padding:16px}.zf-success-document span{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#2563ff}.zf-success-document h3{font-size:1.35rem;margin:5px 0 4px}.zf-success-document p{margin:0;color:var(--zf-muted)}.zf-success-document>b{font-size:1.7rem;white-space:nowrap}
.zf-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.zf-status-grid div{border:1px solid var(--zf-line);border-radius:18px;background:#fff;padding:12px}.zf-status-grid span{display:block;color:var(--zf-muted);font-weight:900;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.zf-status-grid b{display:block;margin-top:4px}
@media(max-width:720px){.zf-total-grid,.zf-status-grid{grid-template-columns:1fr}.zf-success-document{display:block}.zf-success-document>b{display:block;margin-top:10px}.zf-review-title{display:block}.zf-review-title b{display:block;margin-top:5px}.zf-summary-line{display:block}.zf-summary-line strong{display:block;margin-top:6px}.zf-vat-row{grid-template-columns:1fr}.zf-total-top{display:block}.zf-total-top b{display:block;margin-top:6px}.zf-line-head{align-items:flex-start}.zf-remove-line{width:auto!important}}

/* v9.1.457 · limpieza móvil y más aire en formulario Zaidor Facturas */
.zf-form{gap:18px}.zf-row{gap:16px}.field label{margin-bottom:8px}.field input,.field select,.field textarea{padding:14px 15px;border-radius:18px}.zf-step-pane{display:grid;gap:16px}.zf-step-pane.zf-hidden{display:none!important}.zf-lines-editor{gap:18px}.zf-line-row{padding:18px;border-radius:26px}.zf-card{box-shadow:0 18px 54px rgba(15,36,66,.08)}.zf-summary-row{padding:11px 0}.zf-toolbar{gap:12px}.zf-modal{padding:22px}.zf-review-card{padding:17px}.zf-safe-zone,.zf-danger-zone{padding:16px;border-radius:22px}.zf-item{gap:16px}.zf-item>div{min-width:0}.zf-item strong,.zf-item small{overflow-wrap:anywhere}.zf-btn{white-space:normal;text-align:center}.zf-company{max-width:38ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){.zf-login{padding:14px}.zf-login-card{border-radius:26px}.zf-shell{padding-bottom:92px}.zf-header{gap:12px}.zf-brand{min-width:0}.zf-logo-word{font-size:1.1rem}.zf-by,.zf-company{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zf-card{padding:18px;border-radius:24px}.zf-hero h1{font-size:clamp(2rem,12vw,3.2rem)}.zf-form{gap:20px}.zf-row{gap:14px}.field input,.field select,.field textarea{font-size:16px;min-height:52px}.zf-line-row{padding:16px}.zf-line-head{margin-bottom:14px}.zf-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch}.zf-toolbar .zf-btn{width:100%}.zf-modal{max-height:92vh;padding:17px}.zf-modal-head{gap:10px}.zf-success-document{padding:18px}.zf-status-grid{gap:12px}.zf-bottom{grid-template-columns:repeat(4,minmax(0,1fr));}.zf-nav-btn{min-width:0}.zf-nav-btn span{font-size:1rem}}

/* v9.1.480 · Cierre visual de factura y retorno de pago */
body.zf-payment-returning #loginView{display:none!important}
.zf-toolbar.zf-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.zf-toolbar.zf-action-grid .zf-btn{width:100%;min-width:0}
@media(max-width:760px){.zf-toolbar.zf-action-grid{grid-template-columns:1fr 1fr}.zf-toolbar.zf-action-grid .zf-btn{width:100%}}
@media(max-width:520px){.zf-toolbar.zf-action-grid{grid-template-columns:1fr}}

/* v9.1.480 · Customer history suggestions */
.zf-customer-suggestions{display:grid;gap:10px;margin-top:10px}
.zf-customer-suggestions .zf-item{align-items:center;padding:12px 14px;border-radius:18px}
.zf-customer-hit small{display:block;line-height:1.35;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zf-more-customers{justify-self:flex-start;margin-top:2px}
#customerMatches:empty{display:none}
#customerMatches .zf-customer-suggestions{margin-top:8px}
@media(max-width:640px){.zf-customer-suggestions .zf-item{grid-template-columns:1fr;align-items:stretch}.zf-customer-suggestions .zf-btn{width:100%}}

.zf-history-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px 14px;border:1px solid rgba(30,70,120,.14);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(15,36,66,.04)}
.zf-history-pager-top{margin:16px 0 12px}.zf-history-pager-bottom{margin:16px 0 118px}.zf-history-pager small{font-weight:900;color:#23405f}.zf-history-pager .zf-toolbar{margin:0;gap:8px;display:flex;align-items:center;flex-wrap:nowrap}.zf-page-pill{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:10px 12px;border-radius:999px;background:#eef6ff;font-weight:900;color:#061426;white-space:nowrap}.zf-btn[disabled]{opacity:.45;pointer-events:none}@media(max-width:640px){.zf-history-pager{align-items:stretch;flex-direction:column}.zf-history-pager-bottom{margin-bottom:126px}.zf-history-pager .zf-toolbar{width:100%;justify-content:space-between}.zf-history-pager .zf-btn{flex:1}.zf-page-pill{min-width:108px}}


/* v9.1.486 · API-first lifecycle UI */
.zf-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:14px;align-items:stretch;margin-top:18px}
.zf-action-card{min-height:128px;height:100%;padding:14px;border-radius:20px;display:flex;flex-direction:column;justify-content:flex-start}
.zf-action-card b{font-size:.98rem;margin:8px 0 4px;}
.zf-action-card small{display:block;font-size:.79rem;line-height:1.32;min-height:2.5em;}
.zf-icon{width:36px;height:36px;border-radius:13px;font-size:18px;}
.zf-back-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--zf-line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:900;color:#0b306c;margin:0 0 12px;cursor:pointer;}
.zf-back-btn:hover{border-color:rgba(37,99,255,.35);box-shadow:0 10px 24px rgba(37,99,255,.08);}
.zf-lifecycle-card{border:1px solid var(--zf-line);background:#fff;border-radius:20px;padding:14px;display:grid;gap:10px;}
.zf-lifecycle-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;}
.zf-lifecycle-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:stretch;}
.zf-lifecycle-actions .zf-btn{min-height:40px;padding:8px 6px;font-size:.78rem;line-height:1.15;border-radius:14px;width:100%;white-space:normal;text-wrap:balance;}
.zf-provider-status{border:1px solid rgba(32,214,196,.24);background:rgba(32,214,196,.07);border-radius:18px;padding:12px;}
.zf-bottom{grid-template-columns:repeat(5,1fr);}
@media(max-width:980px){.zf-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.zf-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zf-lifecycle-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.zf-bottom{grid-template-columns:repeat(5,minmax(0,1fr));}.zf-nav-btn{font-size:.72rem;padding:8px 3px}}
@media(max-width:420px){.zf-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zf-lifecycle-actions{grid-template-columns:repeat(5,minmax(0,1fr))}}


/* v9.1.486 · Gestión de facturas como herramienta de seguimiento/auditoría */
.zf-home-grid{align-items:stretch}
.zf-action-card{height:100%;min-height:116px;display:flex;flex-direction:column;justify-content:flex-start}
.zf-action-card small{display:block;min-height:2.35em}
.zf-modal .zf-toolbar.zf-action-grid{align-items:stretch}
.zf-modal .zf-toolbar.zf-action-grid .zf-btn{min-height:48px;border-radius:16px}
.zf-warn-zone{border-color:rgba(245,158,11,.28);background:rgba(255,251,235,.92)}
.zf-lifecycle-card{overflow:hidden}
.zf-lifecycle-head>div{display:grid;gap:3px;min-width:0}
.zf-lifecycle-head strong{display:block;overflow-wrap:anywhere;line-height:1.2}
.zf-lifecycle-head small{display:block;overflow-wrap:anywhere;line-height:1.35}
.zf-audit-strip{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0 2px;border-top:1px dashed rgba(37,99,255,.14)}
.zf-audit-chip{display:inline-flex;align-items:center;border:1px solid rgba(37,99,255,.16);background:#f8fbff;color:#314864;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:850}
.zf-audit-chip.ok{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.zf-audit-chip.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.zf-audit-chip.bad{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.zf-audit-panel{margin-top:12px;border:1px solid rgba(37,99,255,.14);background:#f8fbff;border-radius:18px;padding:12px;display:grid;gap:8px}
.zf-audit-panel>b{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#526b88}.zf-audit-panel div{display:grid;gap:2px}.zf-audit-panel span{font-weight:900;color:#0f2444}.zf-audit-panel small{color:var(--zf-muted);line-height:1.35}.zf-copy-url{overflow-wrap:anywhere;font-family:ui-monospace,Menlo,Consolas,monospace}
@media(max-width:720px){.zf-action-card{min-height:118px}.zf-lifecycle-head{display:grid;gap:8px}.zf-lifecycle-head .zf-pill{justify-self:start}.zf-lifecycle-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.zf-lifecycle-actions .zf-btn{min-height:38px;padding:7px 4px;font-size:.72rem}.zf-modal .zf-toolbar.zf-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.zf-lifecycle-actions,.zf-modal .zf-toolbar.zf-action-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.zf-lifecycle-actions .zf-btn{font-size:.69rem;padding:6px 4px}}


/* v9.1.486 · navegación segura, textos limpios y gestión más usable */
.zf-back-btn{background:linear-gradient(135deg,rgba(32,214,196,.12),rgba(37,99,255,.10));border-color:#cfe0f4;color:#0f2444;box-shadow:0 8px 20px rgba(15,36,66,.05);min-height:40px;padding:9px 14px;margin-bottom:16px}
.zf-back-btn:hover{background:#fff;border-color:#9fc2f2;transform:translateY(-1px)}
.zf-provider-status b{font-size:.9rem}.zf-provider-status p{margin:.35rem 0 0;line-height:1.45}
.zf-lifecycle-card{padding:16px}.zf-lifecycle-actions{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}.zf-lifecycle-actions .zf-btn{width:100%;min-height:42px}
.zf-lifecycle-head strong{font-size:1rem}.zf-lifecycle-head small{font-size:.84rem}
.zf-page .muted.small{line-height:1.42}
@media(max-width:720px){.zf-back-btn{width:auto;justify-self:start}.zf-lifecycle-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.zf-lifecycle-actions .zf-btn{min-height:40px}}
@media(max-width:460px){.zf-lifecycle-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.zf-back-btn{width:100%;justify-content:center}}

/* v9.1.487 · layout polish */
.zf-hero{padding-bottom:24px}
.zf-hero .muted{max-width:64ch}
.zf-home-grid .zf-action-card{box-shadow:0 10px 28px rgba(15,36,66,.06)}
.zf-home-grid .zf-action-card:hover{box-shadow:0 18px 36px rgba(37,99,255,.10)}
.zf-lifecycle-head{padding-bottom:2px}
.zf-lifecycle-card .zf-audit-strip{margin-top:2px}
.zf-lifecycle-card .zf-btn{font-weight:850}

/* v9.1.489 · feedback de acciones y protección contra doble pulsación */
.zf-btn.is-loading{opacity:.72;cursor:progress;filter:saturate(.85)}
.zf-btn:disabled{cursor:not-allowed}
.zf-lifecycle-actions .zf-btn:disabled{opacity:.6}


/* v9.1.490 · seguimiento plegado y limpieza de auditoría */
.zf-audit-panel{gap:10px}
.zf-audit-latest{display:grid;gap:2px;border:1px solid rgba(37,99,255,.12);background:#fff;border-radius:14px;padding:10px 11px}
.zf-audit-latest span{font-weight:900;color:#0f2444}.zf-audit-latest small{color:var(--zf-muted);line-height:1.35}
.zf-audit-details{border:1px solid rgba(37,99,255,.12);border-radius:14px;background:#fff;overflow:hidden}
.zf-audit-details summary{cursor:pointer;list-style:none;padding:10px 12px;font-weight:900;color:#0b306c;background:#f1f7ff}
.zf-audit-details summary::-webkit-details-marker{display:none}
.zf-audit-details summary:after{content:'+';float:right;font-weight:900}.zf-audit-details[open] summary:after{content:'−'}
.zf-audit-details>div{padding:10px 12px;border-top:1px dashed rgba(37,99,255,.12)}
@media(max-width:520px){.zf-audit-details summary{font-size:.86rem}.zf-audit-latest{padding:9px 10px}}

/* v9.1.494 · mobile result modal and payment actions */
@media(max-width:640px){
  .zf-modal{width:min(100% - 18px,620px);max-height:88vh;padding:16px;border-radius:24px}
  .zf-modal-head{align-items:flex-start}
  .zf-modal .zf-toolbar.zf-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important}
  .zf-modal .zf-toolbar.zf-action-grid .zf-btn{width:100%!important;min-height:54px!important;padding:10px 8px!important;font-size:.9rem!important;line-height:1.16!important;border-radius:16px!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
  .zf-success-document{display:grid!important;grid-template-columns:1fr!important;gap:10px;padding:16px!important}
  .zf-success-document>b{margin-top:0!important;font-size:1.65rem!important}
  .zf-status-grid{grid-template-columns:1fr!important}
}
@media(max-width:380px){
  .zf-modal .zf-toolbar.zf-action-grid .zf-btn{font-size:.84rem!important;min-height:50px!important;padding:9px 6px!important}
}


/* v9.1.496 · Zaidor Facturas: navegación móvil anclada arriba */
html{scroll-behavior:auto!important;overflow-anchor:none;}
body.zf-payment-returning{overflow-anchor:none;}
.zf-shell,.zf-page,.zf-card{scroll-margin-top:0!important;}
@media(max-width:640px){.zf-header{top:0}.zf-page.active{animation:efFadeTop .16s ease}@keyframes efFadeTop{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}}

/* v9.1.501 · retorno de pago limpio y progreso vivo */
body.zf-payment-returning #loginView{display:none!important}
body.zf-payment-returning:before{content:"";position:fixed;inset:0;z-index:70;background:rgba(6,20,38,.58);backdrop-filter:blur(8px)}
body.zf-payment-returning:after{content:"Registrando cobro y generando factura…";position:fixed;z-index:71;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100% - 42px,360px);background:#fff;color:var(--zf-ink);border-radius:24px;padding:22px 20px;text-align:center;font-weight:950;box-shadow:0 30px 90px rgba(6,20,38,.26)}
body.zf-payment-returning .zf-modal-backdrop.show{z-index:80}
.zf-progress-line.active .zf-progress-dot{animation:zfPulseWork 1.05s ease-in-out infinite}
.zf-progress-line.active .zf-progress-label:after{content:"…";display:inline-block;width:1.1em;margin-left:2px;animation:zfDotsPulse 1.05s ease-in-out infinite}
.zf-progress-hint{margin-top:10px;color:var(--zf-muted);font-size:.84rem;line-height:1.35}
@keyframes zfPulseWork{0%,100%{transform:scale(.82);box-shadow:0 0 0 4px rgba(32,214,196,.12)}50%{transform:scale(1.22);box-shadow:0 0 0 9px rgba(37,99,255,.12)}}
@keyframes zfDotsPulse{0%,100%{opacity:.28}50%{opacity:1}}

html.zf-payment-returning-html body #loginView{display:none!important}
html.zf-payment-returning-html body:before{content:"";position:fixed;inset:0;z-index:70;background:rgba(6,20,38,.58);backdrop-filter:blur(8px)}
html.zf-payment-returning-html body:after{content:"Registrando cobro y generando factura…";position:fixed;z-index:71;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100% - 42px,360px);background:#fff;color:var(--zf-ink);border-radius:24px;padding:22px 20px;text-align:center;font-weight:950;box-shadow:0 30px 90px rgba(6,20,38,.26)}
html.zf-payment-returning-html body .zf-modal-backdrop.show{z-index:80}

/* v9.1.507 · historial y estados de pago diferido */
.zf-history-item{align-items:stretch}.zf-history-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:190px}.zf-history-item .zf-audit-strip{margin-top:8px}@media(max-width:720px){.zf-history-item{display:grid}.zf-history-actions{justify-content:flex-start;min-width:0}.zf-history-actions .zf-btn{width:auto;min-width:135px}}

/* v9.1.521 · cabecera con aire, transferencia con mínimos obligatorios y botones revisados */
.zf-header{padding-left:clamp(10px,2vw,22px);padding-right:clamp(14px,2.8vw,30px);border-radius:0 0 22px 22px;}
.zf-header #logoutBtn{margin-right:clamp(4px,1.2vw,12px);flex:0 0 auto;}
.zf-settings-card{border:1px solid var(--zf-line);background:#fbfdff;border-radius:22px;padding:16px;margin-top:14px;display:grid;gap:14px;}
.zf-settings-card h3{margin:0;font-size:1.05rem;}
.zf-check{display:flex;gap:10px;align-items:flex-start;font-weight:850;color:#0f2444;line-height:1.35;}
.zf-check input{margin-top:3px;accent-color:var(--zf-blue);}.zf-required{display:inline-flex;margin-left:5px;padding:2px 7px;border-radius:999px;background:#fff6dd;color:#805200;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em;}
@media(max-width:640px){.zf-header{padding-left:12px;padding-right:16px;gap:10px}.zf-header #logoutBtn{min-width:88px}.zf-settings-card{padding:14px}.zf-settings-card .zf-toolbar .zf-btn{width:100%;}}

/* v9.1.522 · cierre UX Zaidor Facturas: tres opciones, vueltas limpias, gestión usable */
.zf-bottom{grid-template-columns:repeat(5,minmax(0,1fr));}
.zf-final-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;align-items:stretch}
.zf-choice-card{border:1px solid var(--zf-line);background:#fff;border-radius:22px;padding:14px 13px;text-align:left;cursor:pointer;min-height:150px;display:grid;grid-template-rows:auto auto 1fr;gap:8px;box-shadow:0 12px 28px rgba(15,36,66,.06);transition:.18s ease;color:var(--zf-ink);font:inherit;width:100%}
.zf-choice-card span{width:34px;height:34px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;font-weight:950;background:#eef6ff;color:#0b306c}
.zf-choice-card b{font-size:1rem;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}.zf-choice-card small{color:var(--zf-muted);line-height:1.34}.zf-choice-card.primary{border-color:rgba(37,99,255,.32);background:linear-gradient(135deg,rgba(32,214,196,.14),rgba(37,99,255,.10))}.zf-choice-card.secondary:hover,.zf-choice-card.primary:hover{transform:translateY(-2px);border-color:rgba(37,99,255,.38);box-shadow:0 20px 42px rgba(37,99,255,.12)}.zf-choice-card:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.5)}.zf-choice-card:disabled:hover{transform:none;box-shadow:0 12px 28px rgba(15,36,66,.06)}.zf-review-footer{justify-content:flex-end;gap:10px;flex-wrap:wrap}.zf-review-footer .zf-btn{min-width:130px}
.zf-more-actions{margin-top:12px;border:1px solid rgba(37,99,255,.14);background:#f8fbff;border-radius:16px;overflow:hidden}.zf-more-actions summary{cursor:pointer;list-style:none;padding:11px 13px;font-weight:950;color:#0b306c;background:#f1f7ff}.zf-more-actions summary::-webkit-details-marker{display:none}.zf-more-actions summary:after{content:'+';float:right}.zf-more-actions[open] summary:after{content:'−'}.zf-more-actions>.zf-toolbar,.zf-more-actions>div{padding:12px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.zf-inline-more{margin-top:0}.zf-inline-more summary{min-height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:8px 10px;background:#fff}.zf-inline-more>div{grid-template-columns:1fr;padding:8px;background:#fff}.zf-lifecycle-actions.compact{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.zf-list-counter{font-size:.82rem;font-weight:900;color:#23405f;margin:6px 0 8px}.zf-empty{border:1px dashed rgba(37,99,255,.22);background:#f8fbff;border-radius:18px;padding:14px;color:var(--zf-muted);font-weight:750;line-height:1.4}
@media(max-width:720px){.zf-final-options{grid-template-columns:1fr}.zf-choice-card{min-height:auto}.zf-review-footer{display:grid;grid-template-columns:1fr 1fr}.zf-review-footer .zf-btn{width:100%;min-width:0}.zf-lifecycle-actions.compact{grid-template-columns:1fr 1fr}.zf-inline-more{grid-column:1 / -1}.zf-more-actions>.zf-toolbar,.zf-more-actions>div{grid-template-columns:1fr}}
@media(max-width:430px){.zf-review-footer{grid-template-columns:1fr}.zf-lifecycle-actions.compact{grid-template-columns:1fr}.zf-bottom{gap:5px}.zf-nav-btn{font-size:.68rem}}

/* v9.1.525 · botones reales de finalización, feedback táctil y filtros más claros */
.zf-final-button-options{gap:14px;margin-top:18px;}
.zf-decision-btn{
  min-height:86px;
  padding:16px 18px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  text-align:left;
  border:1px solid rgba(37,99,255,.24);
  box-shadow:0 16px 34px rgba(15,36,66,.10);
  position:relative;
  overflow:hidden;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.zf-decision-btn.primary{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--zf-turq),var(--zf-blue));
  box-shadow:0 18px 38px rgba(37,99,255,.24);
}
.zf-decision-btn.secondary{
  color:#0b306c;
  background:linear-gradient(135deg,#f7fcff,#eaf3ff);
}
.zf-decision-btn span{
  flex:0 0 auto;
  background:rgba(255,255,255,.9);
  color:#0b306c;
  box-shadow:0 8px 18px rgba(15,36,66,.10);
}
.zf-decision-btn.primary span{background:rgba(255,255,255,.22);color:#fff;box-shadow:none;}
.zf-decision-btn b{font-size:clamp(1rem,2.5vw,1.08rem);line-height:1.15;letter-spacing:-.025em;}
.zf-decision-btn small{display:none;}
.zf-decision-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 24px 46px rgba(37,99,255,.18);}
.zf-decision-btn:active:not(:disabled),.zf-btn:active:not(:disabled),.zf-action-card:active:not(:disabled),.zf-nav-btn:active:not(:disabled),.zf-back-btn:active:not(:disabled){transform:translateY(1px) scale(.985);filter:saturate(.92);}
.zf-decision-btn:focus-visible,.zf-btn:focus-visible,.zf-action-card:focus-visible,.zf-nav-btn:focus-visible,.zf-back-btn:focus-visible{outline:3px solid rgba(37,99,255,.28);outline-offset:3px;}
.zf-decision-btn.is-loading:after,.zf-btn.is-loading:after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:zfSpin .75s linear infinite;margin-left:2px;}
@keyframes zfSpin{to{transform:rotate(360deg)}}
.zf-final-note{margin:10px 2px 0;padding:10px 12px;border-radius:14px;background:#fff8df;border:1px solid #fee6a8;color:#715000;font-weight:800;}
.zf-history-pager .zf-btn,.zf-toolbar #historySearchBtn,.zf-toolbar #historyClearBtn,.zf-toolbar #managementSearchBtn,.zf-toolbar #managementClearBtn,.zf-toolbar #customersSearchBtn,.zf-toolbar #customersClearBtn{box-shadow:0 8px 20px rgba(15,36,66,.06);}
@media(max-width:720px){
  .zf-final-button-options{grid-template-columns:1fr;}
  .zf-decision-btn{min-height:64px;justify-content:flex-start;padding:14px 15px;border-radius:18px;}
  .zf-decision-btn b{font-size:1rem;}
}

/* v9.1.526 · UX final: botones de decisión limpios y ajustes de transferencia más profesionales */
.zf-final-button-options{
  grid-template-columns:repeat(3,minmax(160px,1fr));
  gap:12px;
  margin-top:18px;
}
.zf-final-button-options .zf-decision-btn{
  min-height:56px;
  padding:13px 18px;
  border-radius:999px;
  display:none;
  align-items:center;
  justify-content:center;
  gap:0;
  text-align:center;
  white-space:nowrap;
  border:1px solid rgba(37,99,255,.24);
  box-shadow:0 12px 28px rgba(15,36,66,.10);
  font-weight:950;
  letter-spacing:-.02em;
}
.zf-final-button-options .zf-decision-btn b{
  font-size:clamp(.92rem,1.9vw,1.02rem);
  line-height:1.05;
  white-space:nowrap;
}
.zf-final-button-options .zf-decision-btn span,
.zf-final-button-options .zf-decision-btn small{display:none!important;}
.zf-final-button-options .zf-decision-btn.primary{
  background:linear-gradient(135deg,var(--zf-turq),var(--zf-blue));
  color:#fff;
  border-color:transparent;
  box-shadow:0 14px 34px rgba(37,99,255,.26);
}
.zf-final-button-options .zf-decision-btn.secondary{
  background:#fff;
  color:#0b306c;
  border-color:rgba(37,99,255,.30);
}
.zf-final-button-options .zf-decision-btn:hover:not(:disabled){
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(37,99,255,.16);
}
.zf-final-button-options .zf-decision-btn:active:not(:disabled){
  transform:translateY(1px) scale(.985);
}
.zf-review-footer{justify-content:center;margin-top:18px!important;}
.zf-review-footer .zf-btn{min-width:150px;}

.zf-transfer-settings{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid rgba(37,99,255,.13);
  box-shadow:0 14px 36px rgba(15,36,66,.06);
  padding:18px;
  gap:16px;
}
.zf-settings-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:2px;
}
.zf-settings-head h3{font-size:1.14rem;letter-spacing:-.03em;margin-bottom:4px;}
.zf-settings-head p{margin:0;max-width:62ch;line-height:1.45;}
.zf-status-chip{
  flex:0 0 auto;
  border-radius:999px;
  padding:7px 10px;
  font-size:.76rem;
  font-weight:950;
  border:1px solid var(--zf-line);
  background:#fff;
}
.zf-status-chip.ok{background:#eafbf3;color:#08683d;border-color:#c9f4dc;}
.zf-status-chip.warn{background:#fff7df;color:#7a5200;border-color:#fee6a8;}
.zf-transfer-settings .field label{color:#203a59;}
.zf-transfer-settings .field input,
.zf-transfer-settings .field textarea{
  background:#fff;
  border-color:#d7e5f4;
  min-height:54px;
}
.zf-transfer-settings .field textarea{min-height:78px;}
.zf-settings-note{
  margin:0;
  padding:10px 12px;
  border-radius:14px;
  background:#f3f8ff;
  border:1px solid #dcecff;
  line-height:1.4;
}
.zf-settings-actions{margin-top:2px;justify-content:flex-end;}
.zf-settings-actions .zf-btn{min-width:190px;}

@media(max-width:760px){
  .zf-final-button-options{grid-template-columns:1fr;gap:10px;}
  .zf-final-button-options .zf-decision-btn{width:100%;min-height:52px;border-radius:18px;justify-content:center;padding:13px 14px;}
  .zf-final-button-options .zf-decision-btn b{font-size:.98rem;}
  .zf-review-footer{display:grid;grid-template-columns:1fr 1fr;}
  .zf-review-footer .zf-btn{width:100%;min-width:0;}
  .zf-settings-head{display:grid;gap:8px;}
  .zf-status-chip{width:max-content;}
  .zf-settings-actions .zf-btn{width:100%;min-width:0;}
}
@media(max-width:420px){
  .zf-final-button-options .zf-decision-btn b{font-size:.94rem;}
  .zf-review-footer{grid-template-columns:1fr;}
}

/* v9.1.527 · cierre UX: botones finales legibles, estado de transferencia coherente y ajustes más limpios */
.zf-final-button-options{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.zf-final-button-options .zf-decision-btn{
  min-height:64px!important;
  border-radius:18px!important;
  padding:12px 10px!important;
  white-space:normal!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:visible!important;
}
.zf-final-button-options .zf-decision-btn b{
  display:block!important;
  white-space:normal!important;
  max-width:13.5ch!important;
  line-height:1.08!important;
  font-size:clamp(.86rem,1.55vw,.98rem)!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.zf-final-button-options .zf-decision-btn.primary{
  background:linear-gradient(135deg,var(--zf-turq),var(--zf-blue))!important;
  color:#fff!important;
}
.zf-final-button-options .zf-decision-btn.secondary{
  background:linear-gradient(180deg,#fff,#f7fbff)!important;
  color:#0b306c!important;
  border-color:rgba(37,99,255,.28)!important;
}
.zf-status-chip.ready{background:#eff6ff;color:#174ea6;border-color:#cfe0ff;}
.zf-transfer-settings{padding:20px!important;border-radius:24px!important;}
.zf-settings-head{align-items:center!important;border-bottom:1px solid rgba(37,99,255,.08);padding-bottom:14px!important;margin-bottom:4px;}
.zf-settings-head p{max-width:46ch!important;}
.zf-transfer-settings .zf-row{gap:18px!important;}
.zf-transfer-settings .field label{font-size:.82rem;font-weight:900;color:#173455;}
.zf-settings-actions{padding-top:2px!important;}
.zf-settings-actions .zf-btn:disabled{opacity:.45;filter:saturate(.65);}
@media(max-width:760px){
  .zf-final-button-options{grid-template-columns:1fr!important;gap:10px!important;}
  .zf-final-button-options .zf-decision-btn{min-height:54px!important;border-radius:17px!important;padding:12px 14px!important;}
  .zf-final-button-options .zf-decision-btn b{max-width:none!important;font-size:.98rem!important;}
  .zf-settings-head{align-items:flex-start!important;}
  .zf-transfer-settings{padding:16px!important;}
}
@media(min-width:761px) and (max-width:980px){
  .zf-final-button-options .zf-decision-btn b{font-size:.86rem!important;max-width:12ch!important;}
}

/* v9.1.529 · UX pago igualada, vueltas y estados de administración reforzados */
.zf-progress-card{border:1px solid rgba(37,99,255,.12);background:linear-gradient(180deg,#fff,#f7fbff);border-radius:18px;padding:14px;margin-top:8px;box-shadow:0 12px 30px rgba(15,36,66,.06)}
.zf-progress-title{font-weight:950;color:#0b2446;margin-bottom:8px;letter-spacing:-.02em}
.zf-final-button-options .zf-decision-btn{min-width:0!important;}
.zf-final-button-options .zf-decision-btn b{max-width:15ch!important;}
@media(min-width:761px){.zf-final-button-options .zf-decision-btn{min-height:68px!important;padding-left:8px!important;padding-right:8px!important}.zf-final-button-options .zf-decision-btn b{font-size:clamp(.78rem,1.25vw,.94rem)!important;}}
@media(max-width:760px){.zf-final-button-options .zf-decision-btn b{max-width:none!important;}}

/* v9.1.529 · métodos de pago iguales y feedback móvil */
.zf-pay-method-grid .zf-pay-method-btn{min-height:54px;box-shadow:0 14px 32px rgba(37,99,235,.18);white-space:normal;line-height:1.15}
.zf-pay-method-grid .zf-pay-method-btn:active{transform:translateY(1px)}
@media(max-width:680px){.zf-pay-method-grid{grid-template-columns:1fr}.zf-pay-method-grid .zf-pay-method-btn{width:100%;font-size:.95rem}}

/* v9.1.532 · respiración visual en líneas de factura y campos de importes */
.zf-line-row .zf-row{gap:18px!important;align-items:start;}
.zf-line-row .zf-row + .zf-row{margin-top:10px;}
.zf-line-row .field{min-width:0;}
.zf-line-row .field label{margin-bottom:9px;line-height:1.2;}
.zf-line-row .field input{min-height:52px;}
.zf-line-row .line-gross,.zf-line-row .line-net{font-variant-numeric:tabular-nums;}
@media(max-width:720px){.zf-line-row .zf-row + .zf-row{margin-top:12px;}.zf-line-row .field label{margin-bottom:10px;}}


/* v9.1.545 · acceso directo Zaidor Facturas por portal */
.zf-login-card{position:relative;overflow:hidden;}
.zf-install-shortcut{
  position:absolute;
  top:16px;
  right:16px;
  appearance:none;
  border:1px solid rgba(37,99,235,.14);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(245,250,255,.86));
  color:#174ea6;
  border-radius:999px;
  padding:8px 11px;
  display:none;
  align-items:center;
  gap:6px;
  font:800 .75rem/1 Inter,system-ui,sans-serif;
  letter-spacing:-.01em;
  box-shadow:0 10px 26px rgba(30,90,190,.10);
  cursor:pointer;
  z-index:3;
}
.zf-install-shortcut span{width:20px;height:20px;border-radius:999px;display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--zf-turq),var(--zf-blue));color:#fff;font-size:.78rem;box-shadow:0 8px 18px rgba(37,99,235,.20);}
.zf-install-shortcut:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(30,90,190,.16);}
.zf-install-shortcut:active{transform:translateY(0);}
.zf-shortcut-overlay{position:fixed;inset:0;z-index:80;background:rgba(15,23,42,.38);backdrop-filter:blur(12px);display:grid;place-items:center;padding:22px;}
.zf-shortcut-card{width:min(440px,100%);background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(37,99,235,.14);border-radius:28px;padding:22px;box-shadow:0 30px 80px rgba(15,36,66,.22);color:#0b2446;position:relative;}
.zf-shortcut-close{position:absolute;top:12px;right:12px;border:0;background:#edf5ff;color:#174ea6;border-radius:999px;width:34px;height:34px;font-weight:900;cursor:pointer;}
.zf-shortcut-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.zf-shortcut-head img{width:48px;height:48px;border-radius:16px;box-shadow:0 12px 24px rgba(37,99,235,.18);}
.zf-shortcut-card h3{margin:0;font-size:1.18rem;letter-spacing:-.03em;}
.zf-shortcut-card p{margin:8px 0;color:#4b6287;line-height:1.45;}
.zf-shortcut-card ol{margin:12px 0 0;padding-left:20px;color:#29415f;line-height:1.55;}
.zf-shortcut-card .zf-toolbar{margin-top:16px;}
@media(max-width:900px){body:not(.zf-payment-returning) #loginView:not(.zf-hidden) .zf-install-shortcut:not([hidden]){display:inline-flex!important;top:12px;right:12px;padding:7px 10px;gap:6px}.zf-install-shortcut b{display:inline}.zf-login-card{padding-top:54px!important;}}
@media(max-width:420px){body:not(.zf-payment-returning) #loginView:not(.zf-hidden) .zf-install-shortcut:not([hidden]){gap:0}.zf-install-shortcut b{display:none}}
@media(min-width:901px){.zf-install-shortcut{display:none!important;}}

/* v9.1.546 · acceso directo Zaidor Facturas por portal */
.zf-install-shortcut span{font-weight:900;font-family:Inter,system-ui,sans-serif;letter-spacing:-.05em;}
.zf-install-shortcut{backdrop-filter:blur(16px);}
