/* Epicrisis - sitio público (layouts default_front / default_front_home). Azul corporativo = botón "Nuevo Paciente". */
:root{
  --fm-primary:#0079de; --fm-primary-dark:#005fba; --fm-primary-soft:#eaf4ff; --fm-navy:#0b2a4a;
  --fm-bg:#f4f7f9; --fm-surface:#fff; --fm-text:#17212b; --fm-muted:#5d6b79; --fm-border:#e5e9ee;
  --fm-radius:14px; --fm-shadow:0 8px 28px rgba(15,35,50,.08);
  --fm-font:"Inter","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
body.fm{margin:0;padding:0;background:#fff !important;color:var(--fm-text);font-family:var(--fm-font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;width:auto;min-width:0;background-image:none !important}
.fm *,.fm *::before,.fm *::after{box-sizing:border-box}
.fm img{max-width:100%;height:auto}
.fm a{color:var(--fm-primary-dark)}
.fm h1,.fm h2,.fm h3{font-family:var(--fm-font);color:var(--fm-navy);line-height:1.2;margin:0 0 .5em;font-weight:750;letter-spacing:-.01em;text-shadow:none;padding:0;float:none;width:auto}
.fm h1{font-size:clamp(2rem,5vw,3.2rem)} .fm h2{font-size:clamp(1.5rem,3.2vw,2.2rem)} .fm h3{font-size:1.15rem}
.fm p{margin:0 0 1em;padding:0;font-size:inherit;line-height:1.65;color:var(--fm-text)}
.fm-wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
.fm-narrow{max-width:860px}
.fm-center{text-align:center;margin-top:28px}
.fm-mt{margin-top:28px}
.fm-skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:8px 12px;z-index:100}
.fm-skip:focus{left:8px;top:8px}

/* Botones */
.fm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:10px;border:1.5px solid transparent;font:600 15px/1.2 var(--fm-font);text-decoration:none !important;cursor:pointer;transition:background .15s,box-shadow .15s,transform .1s;text-align:center}
.fm-btn:hover{transform:translateY(-1px)}
.fm-btn:focus-visible,.fm a:focus-visible,.fm summary:focus-visible,.fm-burger:focus-visible{outline:3px solid #8cc4f5;outline-offset:2px}
.fm-btn-primary{background:var(--fm-primary);color:#fff !important;box-shadow:0 5px 15px rgba(0,121,222,.28)}
.fm-btn-primary:hover{background:var(--fm-primary-dark)}
.fm-btn-ghost{background:transparent;color:var(--fm-primary-dark) !important;border-color:#b8d9f7}
.fm-btn-ghost:hover{background:var(--fm-primary-soft)}
.fm-btn-outline{background:#fff;color:var(--fm-primary-dark) !important;border-color:var(--fm-primary)}
.fm-btn-outline:hover{background:var(--fm-primary-soft)}
.fm-btn-white{background:#fff;color:var(--fm-primary-dark) !important}
.fm-btn-outline-white{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.7)}
.fm-btn-outline-white:hover{background:rgba(255,255,255,.12)}
.fm-btn-lg{padding:15px 28px;font-size:17px;border-radius:12px}
.fm-btn-block{display:flex;width:100%}
.fm-link-arrow{font-weight:650;text-decoration:none}
.fm-link-arrow::after{content:" \2192"}
.fm-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.fm-cta-center{justify-content:center}

/* Cabecera */
.fm-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--fm-border)}
.fm-header-in{display:flex;align-items:center;gap:16px;min-height:68px}
.fm-brand{display:flex;align-items:center;flex-shrink:0}
.fm-brand img{height:36px;width:auto;display:block}
.fm-nav{display:flex;align-items:center;flex:1;gap:16px;justify-content:space-between}
.fm-nav-list{list-style:none;display:flex;gap:2px;margin:0 0 0 12px;padding:0;flex-wrap:wrap}
.fm-nav-list a{display:block;padding:8px 11px;border-radius:9px;color:var(--fm-text);text-decoration:none;font-size:14.5px;font-weight:550}
.fm-nav-list a:hover{background:var(--fm-primary-soft);color:var(--fm-primary-dark)}
.fm-nav-list a.is-active{background:var(--fm-primary-soft);color:var(--fm-primary-dark);font-weight:700}
.fm-nav-cta{display:flex;gap:8px;align-items:center;flex-shrink:0}
.fm-nav-cta .fm-btn{padding:9px 15px;font-size:14px}
.fm-burger,.fm-acceso-mobile{display:none}
.fm-burger{margin-left:auto;width:44px;height:44px;border:0;background:none;border-radius:10px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.fm-burger span{display:block;width:22px;height:2.5px;background:var(--fm-navy);border-radius:2px;transition:transform .2s,opacity .2s}
.fm-header.is-open .fm-burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.fm-header.is-open .fm-burger span:nth-child(2){opacity:0}
.fm-header.is-open .fm-burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media (max-width:1060px){
  .fm-burger{display:flex}
  .fm-acceso-mobile{display:inline-flex;margin-left:auto;padding:8px 14px;font-size:14px}
  .fm-acceso-mobile + .fm-burger{margin-left:0}
  .fm-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--fm-border);box-shadow:0 14px 24px rgba(15,35,50,.1);flex-direction:column;align-items:stretch;padding:12px 20px 20px;gap:12px;max-height:calc(100vh - 68px);overflow:auto}
  .fm-header.is-open .fm-nav{display:flex}
  .fm-nav-list{flex-direction:column;margin:0}
  .fm-nav-list a{padding:12px;font-size:16px}
  .fm-nav-cta{flex-direction:column;align-items:stretch}
  .fm-nav-cta .fm-btn{padding:13px 15px;font-size:15px}
}

/* Secciones */
.fm-section{padding:72px 0}
.fm-section-alt{background:var(--fm-bg)}
.fm-section-head{max-width:760px;margin:0 auto 40px;text-align:center}
.fm-section-head p{color:var(--fm-muted);font-size:1.075rem}
.fm-eyebrow{display:inline-block;color:var(--fm-primary);font-size:12.5px;font-weight:750;text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px}
.fm-lead{font-size:clamp(1.05rem,2vw,1.25rem) !important;color:var(--fm-muted) !important;max-width:720px}

/* Hero */
.fm-hero{background:linear-gradient(135deg,#eaf4ff 0%,#fff 55%,#f1f8ff 100%);padding:64px 0 56px;overflow:hidden}
.fm-hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.fm-hero h1{margin-bottom:.4em}
.fm-checks{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--fm-muted);font-size:14.5px}
.fm-checks li::before{content:"\2713";color:var(--fm-primary);font-weight:800;margin-right:7px}
.fm-hero-art{position:relative;height:430px}
.fm-shot{position:absolute;width:210px;height:auto;filter:drop-shadow(0 18px 28px rgba(15,35,50,.25))}
.fm-shot-1{left:0;top:40px;z-index:2} .fm-shot-2{left:50%;top:0;transform:translateX(-50%);z-index:3} .fm-shot-3{right:0;top:60px;z-index:1}
.fm-strip{background:var(--fm-navy);color:#d7e6f5;font-size:14px}
.fm-strip-in{display:flex;flex-wrap:wrap;gap:6px 22px;padding-top:14px;padding-bottom:14px;align-items:center;justify-content:center}
.fm-strip-in span:first-child{color:#fff;font-weight:650}
.fm-strip-in span:not(:first-child)::before{content:"\00b7";margin-right:22px;opacity:.6}
.fm-pagehero{background:linear-gradient(135deg,#eaf4ff,#fff);padding:56px 0 44px;border-bottom:1px solid var(--fm-border)}
.fm-pagehero h1{font-size:clamp(1.8rem,4vw,2.7rem)}

/* Grillas y tarjetas */
.fm-grid{display:grid;gap:22px}
.fm-grid-2{grid-template-columns:repeat(2,1fr)} .fm-grid-3{grid-template-columns:repeat(3,1fr)} .fm-grid-4{grid-template-columns:repeat(4,1fr)}
.fm-card,.fm-feature,.fm-plan,.fm-press{background:var(--fm-surface);border:1px solid var(--fm-border);border-radius:var(--fm-radius);padding:24px;box-shadow:var(--fm-shadow);min-width:0}
.fm-card-lg{padding:32px}
.fm-card p,.fm-feature p{color:var(--fm-muted);margin:0;font-size:.97rem}
.fm-feature{box-shadow:none;border-left:4px solid var(--fm-primary)}
.fm-icon{width:46px;height:46px;border-radius:12px;background:var(--fm-primary-soft);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.fm-icon svg{width:24px;height:24px;fill:var(--fm-primary)}
.fm-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
.fm-steps li{background:#fff;border:1px solid var(--fm-border);border-radius:var(--fm-radius);padding:26px;text-align:left}
.fm-steps p{color:var(--fm-muted);margin:0}
.fm-step-n{display:inline-flex;width:38px;height:38px;border-radius:50%;background:var(--fm-primary);color:#fff;font-weight:750;align-items:center;justify-content:center;margin-bottom:12px}
.fm-split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.fm-split-top{align-items:start}
.fm-split-art{text-align:center}
.fm-photo{border-radius:var(--fm-radius);box-shadow:var(--fm-shadow)}
.fm-logos{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:center}
.fm-logos img{max-height:62px;width:auto;max-width:100%;opacity:.9}
.fm-logo-dark{background:#1f2f4a;padding:8px 14px;border-radius:10px}
.fm-store{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;margin-top:30px}

/* Precios */
.fm-plan{display:flex;flex-direction:column;position:relative}
.fm-plan-hl{border:2px solid var(--fm-primary);box-shadow:0 14px 34px rgba(0,121,222,.18)}
.fm-plan-tag{position:absolute;top:-12px;left:20px;background:var(--fm-primary);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px}
.fm-plan h3{margin-bottom:6px}
.fm-price{font-size:2rem;font-weight:800;color:var(--fm-navy);margin-bottom:12px}
.fm-price small{font-size:.9rem;font-weight:600;color:var(--fm-muted)}
.fm-plan p{color:var(--fm-muted);flex:1}
.fm-plan-list{list-style:none;margin:0 0 18px;padding:0;flex:1}
.fm-plan-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--fm-border);font-size:.95rem;color:var(--fm-muted)}
.fm-plan-list strong{color:var(--fm-text)}
.fm-note{text-align:center;color:var(--fm-muted);font-size:.95rem;margin-top:22px}
.fm-pricing{align-items:stretch}

/* FAQ / prosa / prensa */
.fm-faq{background:#fff;border:1px solid var(--fm-border);border-radius:12px;margin-bottom:12px;overflow:hidden}
.fm-faq summary{cursor:pointer;padding:16px 48px 16px 20px;font-weight:650;color:var(--fm-navy);list-style:none;position:relative}
.fm-faq summary::-webkit-details-marker{display:none}
.fm-faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--fm-primary)}
.fm-faq[open] summary::after{content:"\2212"}
.fm-faq[open] summary{background:var(--fm-primary-soft)}
.fm-faq p,.fm-faq-body{padding:0 20px}
.fm-faq-body{padding-top:14px;padding-bottom:6px;overflow-x:auto}
.fm-faq-body img{margin:6px 0;border-radius:8px;border:1px solid var(--fm-border)}
.fm-prose h2{margin-top:1.6em;font-size:1.5rem}
.fm-prose h2:first-child{margin-top:0}
.fm-prose ul,.fm-prose ol{padding-left:1.4em;margin:0 0 1em}
.fm-prose li{margin-bottom:.4em}
.fm-prose img{height:auto}
.fm-prose table{max-width:100%;display:block;overflow-x:auto}
.fm-prose{overflow-wrap:anywhere}
.fm-list{padding-left:1.2em}
.fm-list li{margin-bottom:.5em}
.fm-press-list{display:grid;gap:18px}
.fm-press h2{font-size:1.25rem;margin-bottom:.3em}
.fm-press h3{font-size:.85rem;color:var(--fm-primary);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.fm-press p{margin:0;color:var(--fm-text);overflow-wrap:anywhere}
.fm-press img{float:right;margin:0 0 10px 16px;max-width:40%}

/* Contacto */
.fm-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:start}
.fm-contact-info,.fm-contact-form{background:#fff;border:1px solid var(--fm-border);border-radius:var(--fm-radius);padding:28px;box-shadow:var(--fm-shadow)}
.fm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fm-field{display:block;margin-bottom:16px}
.fm-field span{display:block;font-size:13px;font-weight:650;margin-bottom:6px;color:var(--fm-navy)}
.fm-field input,.fm-field textarea{width:100%;padding:12px 14px;border:1.5px solid #cfd8e2;border-radius:10px;font:inherit;color:var(--fm-text);background:#fff;margin:0;height:auto}
.fm-field input:focus,.fm-field textarea:focus{outline:none;border-color:var(--fm-primary);box-shadow:0 0 0 3px var(--fm-primary-soft)}
.fm-contact-form .g-recaptcha{margin:4px 0 16px;max-width:100%;overflow:hidden}

/* CTA final y pie */
.fm-final{background:linear-gradient(135deg,var(--fm-primary-dark),var(--fm-primary));color:#fff;text-align:center;padding:72px 0}
.fm-final h2,.fm-final p{color:#fff}
.fm-final p{font-size:1.1rem;opacity:.95}
.fm-final-sm{padding:52px 0}
.fm-footer{background:var(--fm-navy);color:#c9d8e8;font-size:14.5px}
.fm-footer a{color:#c9d8e8;text-decoration:none}
.fm-footer a:hover{color:#fff;text-decoration:underline}
.fm-footer-cta{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding:36px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.fm-footer-cta h2{color:#fff;font-size:1.4rem;margin:0 0 4px} .fm-footer-cta p{color:#c9d8e8;margin:0}
.fm-footer-cta-btns{display:flex;flex-wrap:wrap;gap:10px}
.fm-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding:36px 0}
.fm-footer h3{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}
.fm-footer ul{list-style:none;margin:0;padding:0} .fm-footer li{margin-bottom:8px}
.fm-footer-brand p{color:#a9bdd2;max-width:300px;margin-top:12px}
.fm-footer-bottom{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;padding:18px 0 26px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#a9bdd2}

/* Flash */
.fm-flash{padding-top:18px;padding-bottom:0}
.fm-flash .ep-flash,.fm-flash .message,.fm-flash .error-message{padding:13px 18px;border-radius:10px;border:1px solid;font-size:15px;margin:0 0 8px}
.fm-flash .ep-flash-success,.fm-flash .success{background:#e9f8ef;border-color:#9bdcb4;color:#15663a}
.fm-flash .ep-flash-error,.fm-flash .error-message{background:#fdecec;border-color:#f3b3b3;color:#8f1d1d}
.fm-flash .ep-flash-info,.fm-flash .ep-flash-warning{background:var(--fm-primary-soft);border-color:#b8d9f7;color:var(--fm-primary-dark)}

/* Pantallas heredadas dentro del nuevo marco (login, alta, turnos) */
.fm-legacy .fm-main{min-height:50vh;padding:24px 16px 40px}
.fm-legacy #contenido2,.fm-legacy #contenido{width:100%;max-width:1160px;min-height:0;top:0;margin:0 auto;overflow:visible}
.fm-legacy #dentro-libre,.fm-legacy #dentro-in,.fm-legacy #dentro{position:relative;top:0;left:0;margin:0 auto 24px;width:100%;max-width:1160px;min-height:0;overflow-x:auto}
.fm-legacy .fm-main > #dentro-libre{margin-top:0}
.fm-legacy #dentro-libre{border-radius:var(--fm-radius);box-shadow:var(--fm-shadow)}
.fm-legacy #dentro-libre img{max-width:100%;height:auto}
.fm-legacy h1.loginHeader{margin:0 !important;padding:20px 24px;font-size:clamp(1.5rem,3vw,2.2rem)}
.fm-legacy .fm-main input[type=text],.fm-legacy .fm-main input[type=password],.fm-legacy .fm-main input[type=email],.fm-legacy .fm-main select{max-width:100%}
.fm-legacy .fm-main h1,.fm-legacy .fm-main h2{color:var(--fm-primary-dark)}

/* Responsive */
@media (max-width:980px){
  .fm-grid-4{grid-template-columns:repeat(2,1fr)} .fm-grid-3{grid-template-columns:repeat(2,1fr)}
  .fm-hero-in,.fm-split,.fm-contact{grid-template-columns:1fr}
  .fm-hero-art{height:380px;max-width:520px;margin:0 auto;width:100%}
  .fm-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .fm-section{padding:48px 0}
  .fm-hero{padding:40px 0 36px}
  .fm-grid-2,.fm-grid-3,.fm-grid-4,.fm-steps,.fm-form-row{grid-template-columns:1fr}
  .fm-hero-art{height:290px}
  .fm-shot{width:140px} .fm-shot-1{top:30px} .fm-shot-3{top:44px}
  .fm-cta-row .fm-btn{flex:1 1 100%}
  .fm-footer-grid{grid-template-columns:1fr 1fr}
  .fm-footer-brand{grid-column:1/-1}
  .fm-footer-cta-btns .fm-btn{flex:1 1 100%}
  .fm-press img{float:none;max-width:100%;margin:0 0 10px}
  .fm-contact-info,.fm-contact-form,.fm-card-lg{padding:20px}
  .fm-strip-in span:not(:first-child)::before{display:none}
}
@media (prefers-reduced-motion:reduce){.fm *{transition:none !important}}

/* Neutralizar reglas globales de rm-front.css en pantallas heredadas */
.fm header.fm-header{height:auto;background-image:none;background-color:rgba(255,255,255,.96);width:100%}
.fm-narrow{margin-left:auto;margin-right:auto}
.fm-pricing + .fm-note{margin-top:30px}
.fm-footer-bottom,.fm-footer-bottom span{color:#a9bdd2;text-shadow:none}
.fm-footer{height:auto;position:static}
.fm-legacy .fm-main{position:relative;z-index:1}
.fm-legacy .fm-main h1,.fm-legacy .fm-main h2,.fm-legacy .fm-main h3{font-weight:400;letter-spacing:0;line-height:1.15;margin:0}
.fm-legacy .fm-main h1{font-size:34px}
.fm-legacy .fm-main h2{font-size:26px}
.fm-legacy .fm-main h3{font-size:20px}
.fm-legacy .fm-main p{font-size:inherit;line-height:inherit;margin:0;padding:revert}
.fm-legacy .fm-main{font-size:14px;line-height:1.4}
.fm-legacy .fm-main a{color:inherit}
.fm-legacy .fm-main p a,.fm-legacy .fm-main li a{color:var(--fm-primary-dark)}
.fm-legacy .fm-main .btn,.fm-legacy .fm-main .btn_verde{text-decoration:none}
@media (max-width:640px){.fm-legacy .fm-main h1{font-size:26px}.fm-legacy .fm-main h2{font-size:21px}}

/* ===== Imagen principal (slide1_img.png) en home y login ===== */
.fm-hero-art-single{height:auto;display:flex;align-items:center;justify-content:center}
.fm-hero-frame{background:linear-gradient(145deg,#fff 0%,#eaf4ff 100%);border:1px solid #d6e8fa;border-radius:28px;box-shadow:0 22px 50px rgba(0,60,120,.16);padding:28px;width:100%;max-width:440px;display:flex;align-items:center;justify-content:center}
.fm-hero-img{display:block;width:100%;max-width:360px;height:auto}
@media (max-width:980px){.fm-hero-art-single{height:auto;max-width:420px}}
@media (max-width:640px){.fm-hero-art-single{height:auto}.fm-hero-frame{padding:18px;border-radius:22px}}

/* ===== Login y alta de cuenta (fl-*) ===== */
.fm-legacy .fm-main{padding:32px 16px 56px;background:linear-gradient(180deg,#eaf4ff 0,#f4f7f9 320px)}
.fm-legacy .fm-main .fl-page{max-width:1160px;margin:0 auto}
.fl-page{font-size:17px;line-height:1.55;color:var(--fm-text)}
.fl-page h1{font-size:clamp(1.7rem,4vw,2.4rem) !important;font-weight:750 !important;letter-spacing:-.01em !important;line-height:1.15 !important;color:var(--fm-navy) !important;margin:6px 0 10px !important}
.fl-page p{font-size:1rem !important;line-height:1.6 !important;margin:0 0 .8em;padding:0}
.fl-page .fm-eyebrow{display:inline-block}
.fl-sub{color:var(--fm-muted)}
.fl-page a{color:var(--fm-primary-dark) !important;text-decoration:underline;text-underline-offset:3px}
.fl-page a:focus-visible,.fl-submit:focus-visible{outline:3px solid #8cc4f5;outline-offset:2px}
.fl-form{width:100% !important;margin:0 !important;padding:0}
.fl-form div{clear:none}
.fl-field,.fl-form .input{margin:0 0 18px;padding:0}
.fl-form label,.fl-page label{display:block;font-size:17px;font-weight:650;color:var(--fm-navy);margin:0 0 6px;line-height:1.3}
.fl-input,.fl-form input[type=text],.fl-form input[type=password],.fl-form input[type=email],.fl-form input[type=date],.fl-form select{display:block;width:100% !important;max-width:100%;min-height:52px;padding:11px 14px !important;font:400 17px/1.3 var(--fm-font) !important;color:var(--fm-text);background:#fff;border:2px solid #8b9aaa;border-radius:10px;box-shadow:none;margin:0;height:auto;box-sizing:border-box}
.fl-form select{padding-right:34px !important}
.fl-input:hover{border-color:#5d6b79}
.fl-input:focus,.fl-form input:focus,.fl-form select:focus{outline:3px solid rgba(0,121,222,.35);outline-offset:0;border-color:var(--fm-primary);background:#fff}
.fl-input[readonly]{background:#eef2f6;color:#3b4856}
.fl-form .error-message,.fl-form .input.error .error-message{background:none;border:0;color:#b3261e;font-size:15px;font-weight:600;padding:4px 0 0;margin:0}
.fl-form .input.error .fl-input,.fl-form .error input,.fl-form .error select{border-color:#b3261e;background:#fff8f7}
.fl-submit{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 32px;border:0;border-radius:12px;background:var(--fm-primary);color:#fff;font:700 18px/1.2 var(--fm-font);cursor:pointer;box-shadow:0 6px 16px rgba(0,121,222,.3);transition:background .15s,transform .1s;width:auto;float:none;margin:0}
.fl-submit:hover{background:var(--fm-primary-dark);transform:translateY(-1px)}
.fl-links{margin:18px 0 0 !important;font-size:16px}
.fl-links-alt{color:var(--fm-muted)}

/* Login: dos columnas */
.fl-login{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#fff;border:1px solid var(--fm-border);border-radius:20px;box-shadow:var(--fm-shadow);overflow:hidden;max-width:980px;margin:0 auto}
.fl-login-form{padding:44px 48px}
.fl-login-form .fl-submit{width:100%;margin-top:6px}
.fl-login-art{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:36px 32px;background:linear-gradient(145deg,#eaf4ff 0%,#d7eafc 100%);border-left:1px solid #d6e8fa}
.fl-art-img{display:block;width:100%;max-width:300px;height:auto;filter:drop-shadow(0 14px 22px rgba(0,60,120,.22))}
.fl-art-text{color:var(--fm-navy);font-weight:600;max-width:300px;margin:0 !important}
.fl-stores{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.fl-stores img{height:44px;width:auto;display:block}

/* Alta de cuenta */
.fl-add{max-width:900px;margin:0 auto}
.fl-add-head{padding:4px 4px 18px}
.fl-card{background:#fff;border:1px solid var(--fm-border) !important;border-radius:18px;box-shadow:var(--fm-shadow);padding:26px 28px 12px !important;margin:0 0 22px !important;min-width:0}
.fl-card legend{display:flex;align-items:center;gap:10px;float:none;width:auto;padding:0 8px;margin:0;font-size:1.3rem !important;font-weight:750 !important;color:var(--fm-navy) !important;background:transparent !important;border:0}
.fl-step{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--fm-primary);color:#fff;font-size:16px;font-weight:700}
.fl-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding-top:10px}
.fl-grid > .input,.fl-grid > .fl-full{margin:0 0 18px;min-width:0}
.fl-grid > .fl-full{grid-column:1/-1}
.fl-grid > .fl-full > .input{margin:0}
.fl-help{font-size:15px !important;color:var(--fm-muted);margin:6px 0 0 !important}
.fl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:6px 0 0}
.fl-note{color:var(--fm-muted);font-size:15px}
.fm-legacy .fm-flash .ep-flash,.fm-legacy .fm-flash .message{font-size:16px}
.fm-legacy .fm-flash{padding-top:0}

@media (max-width:860px){
  .fl-login{grid-template-columns:1fr;max-width:560px}
  .fl-login-art{order:2;border-left:0;border-top:1px solid #d6e8fa;padding:28px 20px}
  .fl-art-img{max-width:240px}
  .fl-login-form{padding:30px 22px}
}
@media (max-width:640px){
  .fm-legacy .fm-main{padding:20px 16px 40px}
  .fl-grid{grid-template-columns:1fr}
  .fl-card{padding:20px 16px 6px !important}
  .fl-submit{width:100%}
  .fl-actions{flex-direction:column;align-items:stretch}
  .fl-note{text-align:center}
}

/* ---------- /clients/impago ---------- */
.ip-wrap { max-width: 1100px; margin: 0 auto; padding: 8px 0 24px; font-size: 15px; }
.ip-alert { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; margin-bottom: 20px; border-radius: 14px; background: #fff1f0; border: 1px solid #f5c2bd; border-left: 6px solid #d92d20; color: #7a1a12; }
.ip-alert strong { font-size: 17px; color: #b42318; }
.ip-card { background: #fff; border: 1px solid #dbe7f3; border-radius: 16px; box-shadow: 0 8px 26px rgba(15,35,50,.07); padding: 22px 24px; margin-bottom: 20px; }
.ip-card h2 { font-size: 24px; margin: 0 0 16px; color: #12263a; }
.ip-scroll { overflow-x: auto; }
.ip-table { width: 100%; border-collapse: collapse; }
.ip-table th { text-align: left; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: #5b6b7b; padding: 10px 12px; border-bottom: 2px solid #dbe7f3; }
.ip-table td { padding: 12px; border-bottom: 1px solid #edf2f7; vertical-align: middle; }
.ip-table tr:hover td { background: #f6faff; }
.ip-badge { display: inline-block; padding: 4px 12px; border-radius: 999px; background: #fee4e2; color: #b42318; font-weight: 700; font-size: 13px; }
.ip-btn, .ip-card button, .ip-card input[type=submit] {
    display: inline-flex; align-items: center; padding: 10px 18px; border-radius: 9px; border: 1px solid #0079de; background: #0079de; color: #fff !important;
    font-size: 15px; font-weight: 600; text-decoration: none !important; cursor: pointer; box-shadow: 0 4px 12px rgba(0,121,222,.22);
}
.ip-btn:hover, .ip-card button:hover { background: #005fba; border-color: #005fba; }
.ip-tabs > ul { list-style: none; display: flex; gap: 4px; margin: 0 0 18px; padding: 0; border-bottom: 2px solid #dbe7f3; flex-wrap: wrap; }
.ip-tabs > ul > li { margin: 0 0 -2px; }
.ip-tabs > ul > li > a { display: block; padding: 10px 20px; border-radius: 10px 10px 0 0; font-weight: 600; font-size: 15px; color: #5b6b7b; text-decoration: none; }
.ip-tabs > ul > li > a:hover { background: #eaf4ff; color: #005fba; }
.ip-tabs > ul > li.active > a { background: #0079de; color: #fff; box-shadow: 0 -3px 10px rgba(0,121,222,.18); }
.ip-pane[hidden] { display: none; }
.ip-pane img[align=right] { float: right; max-width: 220px; margin: 0 0 10px 20px; }
.ip-pane form table { background: #f1f5f9 !important; border: 1px solid #dbe7f3 !important; border-radius: 12px; }
.ip-pane form input[type=text] { width: 100%; padding: 9px 10px; border: 1px solid #c9d8e6; border-radius: 8px; font-size: 15px; }
.ip-pane form label { font-weight: 600; font-size: 14px; }
.ip-pane form div.input { margin: 0; }
.ip-card h2 { position: static !important; padding: 0 !important; margin: 0 0 16px !important; font-family: inherit; font-weight: 700; line-height: 1.2; color: #12263a !important; }
.ip-pane p, .ip-pane { font-size: 15px !important; line-height: 1.55; color: #243447; }
.ip-pane p { margin: 0 0 12px; }
.ip-pane form table { width: 100%; margin-top: 8px; }
.ip-pane form td { padding: 12px; }
.ip-pane a.btn-ep-primary, .ip-pane a.btn-ep-primary span { color: #fff !important; }
.ip-pane a.btn-ep-primary { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 8px; background: #0079de; text-decoration: none; font-weight: 600; font-size: 14px; }
