@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz@0,14..32;1,14..32&family=Poppins:wght@500&display=swap&family=Cabin:ital,wght@0,400..700;1,400..700&display=swap');
@import url('https://cdn.jsdelivr.net/npm/primeicons@7.0.0/primeicons.css');

/* Production keeps the browser root at 16px and applies 0.85rem only to body.
   parity.css was shrinking both html and body, which made every rem-based auth
   size smaller than Angular production. */
html{font-size:16px!important}
body{font-family:"Inter",sans-serif!important;font-optical-sizing:auto!important;font-weight:400!important;font-size:.85rem!important;font-style:normal!important;line-height:1.5!important}
button,input,select,textarea{font-family:"Inter",sans-serif!important}
h1,h2,h3,h4,h5,h6{font-family:"Cabin",sans-serif!important}

/* AuthLayout: exact geometry from auth-layout.html. */
.fm-auth-page{min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;position:relative;background:url('/imagenes/bg-blur.webp') center center/cover no-repeat;padding:0;overflow:auto}.fm-auth-page::before{content:"";position:absolute;inset:0;background:rgb(15 23 42/.50);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.fm-auth-content{position:relative;z-index:1;width:100%;padding:0 1rem;display:grid;place-items:center}.fm-auth-content>*{grid-column:1;grid-row:1}

/* Login / forgot / reset card: PrimeNG + Tailwind dimensions from source. */
.fm-auth-card{width:100%;max-width:28rem;background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px rgb(0 0 0/.10),0 8px 10px -6px rgb(0 0 0/.10);padding:2rem 1.5rem;text-align:center}.fm-auth-card>img{display:block;width:9rem;height:auto;margin:0 auto 2rem}.fm-auth-card h1,.fm-auth-card [data-forgot-form-state]>h1,.fm-auth-card [data-reset-form-state]>h1,.fm-auth-success h1{margin:0;font-family:"Cabin",sans-serif!important;font-size:1.25rem;line-height:1.75rem;font-weight:600;color:#223646}.fm-auth-card>p,.fm-auth-card [data-forgot-form-state]>p,.fm-auth-card [data-reset-form-state]>p,.fm-auth-success p{margin:.75rem 0 2rem;color:#334155;font-size:.875rem;line-height:1.625}.fm-auth-form{display:flex;flex-direction:column;gap:1rem;margin:0 0 2rem}.fm-fluid{width:100%}

/* PrimeNG FloatLabel variant=on + InputText large. */
.fm-float{position:relative;width:100%}.fm-float input{display:block;width:100%;height:2.875rem;padding:.6875rem .875rem;border:1px solid #cbd5e1!important;border-radius:6px!important;background:#fff!important;color:#334155!important;font:400 1rem/1.25rem Inter,sans-serif!important;outline:0;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}.fm-float input:hover{border-color:#94a3b8!important}.fm-float input:focus{border-color:#00409c!important;box-shadow:0 0 0 1px #00409c!important}.fm-float label{position:absolute;z-index:2;left:.75rem;top:-.48rem;padding:0 .25rem;background:#fff;color:#64748b;font:400 .75rem/1rem Inter,sans-serif}.fm-password{position:relative}.fm-password input{padding-right:3rem}.fm-password-toggle{position:absolute;z-index:3;right:.45rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:2.25rem;height:2.25rem;border:0!important;border-radius:999px!important;background:transparent!important;color:#475569!important;cursor:pointer}.fm-password-toggle:hover{background:#f1f5f9!important}.fm-password-toggle .pi{font-size:.9rem}.fm-auth-link{font-size:.875rem;color:#00327c;text-decoration:none}.fm-auth-link:hover{text-decoration:underline}

/* Prime button large, primary / secondary text / outlined. */
.fm-auth-actions{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.fm-auth-actions .button,.fm-auth-actions .secondary-link{width:100%;min-height:2.875rem;border-radius:6px!important;font:500 .875rem/1.25rem Inter,sans-serif!important}.fm-auth-actions .button{display:flex;align-items:center;justify-content:center;border:1px solid #00398c!important;background:#00398c!important;color:#fff!important;cursor:pointer;text-decoration:none}.fm-auth-actions .button:hover{background:#00327c!important;border-color:#00327c!important}.fm-auth-actions .button:disabled{opacity:.6;cursor:default}.fm-auth-actions .button.button-secondary{background:#fff!important;border:1px solid #cbd5e1!important;color:#475569!important}.fm-auth-actions .button.button-secondary:hover{background:#f8fafc!important;border-color:#94a3b8!important}.fm-auth-actions .secondary-link{display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:#475569;text-decoration:none}.fm-auth-actions .secondary-link:hover{background:#f1f5f9}
.notice{display:none;margin:0 0 1rem;padding:.7rem .85rem;border:1px solid #a7f3d0;border-radius:6px;background:#ecfdf5;color:#047857;text-align:left;font-size:.8rem}.notice.visible{display:block}.notice.error{border-color:#fecaca;background:#fef2f2;color:#b91c1c}

/* RegisterPage: direct translation of grid-cols-1 lg:grid-cols-2. */
.fm-register-card{width:min(100%,64rem);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#fff;border-radius:.375rem;overflow:hidden;box-shadow:none}.fm-register-intro{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:46rem;padding:2rem 2.5rem;overflow:hidden}.fm-register-intro .fm-logo{display:block;width:9rem;height:auto;margin:0 0 1.5rem}.fm-register-intro h2{display:flex;align-items:center;gap:.5rem;margin:0;font-family:"Cabin",sans-serif!important;font-size:1.25rem;line-height:1.75rem;font-weight:600;color:#1e293b}.fm-check{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.5rem;height:1.5rem;border-radius:999px;background:#10b981;color:#fff;font-size:.875rem}.fm-register-intro p{margin:1rem 0 0;max-width:28rem;color:#475569;font-size:.85rem;line-height:1.65}.fm-register-intro p.fm-register-lead{margin-top:1.5rem;color:#334155;font-weight:500}.fm-register-intro ul{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;color:#475569}.fm-register-intro li{display:flex;align-items:flex-start;gap:.5rem;line-height:1.5}.fm-register-intro li span{color:#10b981}.fm-register-illustration{position:absolute;z-index:0;left:0;right:0;bottom:-140px;width:100%;height:auto}.fm-register-intro>div{position:relative;z-index:1}.fm-register-form-wrap{display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem}.fm-register-form{width:100%;max-width:28rem;text-align:left}.fm-register-form>.fm-logo{display:none;width:9rem;height:auto;margin:0 auto 1.5rem}.fm-register-form h1{margin:0;font-family:"Cabin",sans-serif!important;font-size:1.5rem;line-height:2rem;font-weight:600;color:#223646}.fm-register-form>p{margin:.5rem 0 0;color:#334155;font-size:.85rem;line-height:1.5}.fm-register-fields{display:flex;flex-direction:column;gap:.25rem;margin-top:1.5rem}.fm-register-fields .fm-float{margin-bottom:.35rem}.fm-divider{display:flex;align-items:center;gap:.75rem;margin:.75rem 0;font-weight:700;color:#334155;text-align:center}.fm-divider::before,.fm-divider::after{content:"";height:1px;background:#e5e7eb;flex:1}.fm-divider b{white-space:nowrap}.fm-phone{display:flex;width:100%;margin-bottom:.35rem}.fm-phone>span{display:grid;place-items:center;min-width:3.75rem;height:2.875rem;padding:0 .75rem;border:1px solid #cbd5e1;border-right:0;border-radius:6px 0 0 6px;background:#fff;color:#475569;font-size:1rem}.fm-phone .fm-float{margin:0;flex:1}.fm-phone .fm-float input{border-radius:0 6px 6px 0!important}.fm-terms{display:flex;align-items:center;gap:.5rem;margin-top:1rem;color:#334155;text-align:left}.fm-terms input{appearance:none;width:1.25rem!important;height:1.25rem!important;flex:none;margin:0;border:1px solid #cbd5e1!important;border-radius:4px!important;background:#fff!important;cursor:pointer}.fm-terms input:checked{border-color:#00398c!important;background:#00398c!important}.fm-terms input:checked::after{content:"✓";display:grid;place-items:center;height:100%;color:#fff;font-size:.8rem}.fm-free-note{display:flex;align-items:center;gap:.45rem;margin:.75rem 0 1rem;color:#a16207;font-size:.75rem}.fm-free-note i{font-size:.8rem}.fm-register-fields .fm-auth-actions{margin-top:0}.fm-auth-success{display:none}.fm-auth-success.visible{display:block}

@media(min-width:768px){.fm-auth-card h1,.fm-auth-card [data-forgot-form-state]>h1,.fm-auth-card [data-reset-form-state]>h1,.fm-auth-success h1{font-size:1.5rem;line-height:2rem}.fm-auth-card>p,.fm-auth-card [data-forgot-form-state]>p,.fm-auth-card [data-reset-form-state]>p,.fm-auth-success p{font-size:1rem}.fm-register-form{text-align:left}}
@media(max-width:1023px){.fm-register-card{display:block;max-width:28rem;border-radius:.375rem}.fm-register-intro{display:none}.fm-register-form-wrap{padding:2.5rem 1.5rem}.fm-register-form>.fm-logo{display:flex}.fm-register-form{text-align:center}.fm-register-fields{text-align:left}}
@media(max-width:575px){.fm-auth-content{padding:0 1rem}.fm-auth-card{padding:2rem 1.5rem}.fm-register-form-wrap{padding:2rem 1.5rem}}

/* FARMATRIX_REGISTER_SELLER_V1 */
.fm-select-field{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  width:100%;
  margin:.15rem 0 .65rem;
}
.fm-select-field label{
  color:#475569;
  font:500 .75rem/1rem Inter,sans-serif;
}
.fm-select-field select{
  display:block;
  width:100%;
  height:2.875rem;
  padding:.6875rem .875rem;
  border:1px solid #cbd5e1!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#334155!important;
  font:400 1rem/1.25rem Inter,sans-serif!important;
  outline:0;
  box-shadow:none!important;
  cursor:pointer;
  transition:border-color .15s,box-shadow .15s;
}
.fm-select-field select:hover{
  border-color:#94a3b8!important;
}
.fm-select-field select:focus{
  border-color:#00409c!important;
  box-shadow:0 0 0 1px #00409c!important;
}
.fm-select-field select:disabled{
  opacity:.6;
  cursor:wait;
}
.fm-select-field small{
  color:#64748b;
  font-size:.7rem;
  line-height:1.25;
}
