/* Login: diseño editorial de Florece, sin animaciones de entrada. */
:root{--bs-body-font-family:'Outfit',system-ui,sans-serif;--login-green:#0d1d1a;--login-gold:#dabc7f;--login-ink:#28312e;--login-muted:#7a8580;--login-line:#dedfd7}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:var(--bs-body-font-family);color:var(--login-ink);background:#ffffff;-webkit-font-smoothing:antialiased}
.login-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,1fr);min-height:100vh;min-height:100dvh}
.visual{position:relative;isolation:isolate;min-height:100%;padding:clamp(26px,3.5vw,56px);background:#0d1d1a;overflow:hidden}
.visual::before{content:'';position:absolute;inset:0;background:url('../images/login-family.webp') center 42%/cover no-repeat;filter:grayscale(1) contrast(.97) brightness(.92);z-index:0;pointer-events:none}
.visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0d1d1af0 0%,#0d1d1a9e 37%,#0d1d1aad 100%);z-index:1;pointer-events:none}
.v-brand{display:block;position:relative;z-index:2;width:min(300px,75%)}
.v-brand img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.19))}
.form-side{display:flex;align-items:center;justify-content:center;min-width:0;padding:clamp(28px,5vw,84px);background:#ffffff}
.form-box{width:100%;max-width:428px}
.form-box .mark{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#c6a466,#eed69b);color:var(--login-green);display:grid;place-items:center;font-family:var(--bs-body-font-family);font-size:2rem;box-shadow:0 10px 28px rgba(42,50,39,.12);margin-bottom:1.45rem;overflow:hidden}
.form-box .mark img{width:100%;height:100%;object-fit:cover}
.form-box h2{font-family:var(--bs-body-font-family);font-size:clamp(1.85rem,2.5vw,2.25rem);font-weight:600;line-height:1.2;margin:0 0 .5rem;letter-spacing:-.04em;color:#121212}
.form-box .sub{font-size:.95rem;color:#121212;margin:0 0 1.8rem;line-height:1.5}
.field{margin-bottom:1.1rem}
.field label{display:block;font-weight:600;font-size:.86rem;margin-bottom:.42rem;color:#121212}
.input{position:relative}
.input>i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#8b9d94;font-size:1.05rem;pointer-events:none}
.input input{width:100%;padding:.88rem 2.8rem .88rem 2.9rem;border:1px solid var(--login-line);border-radius:13px;font:inherit;font-size:.94rem;background:#f7f8f4;outline:0;color:var(--login-ink)}
.input input:focus{border-color:#bea16c;box-shadow:0 0 0 3px rgba(218,188,127,.2);background:#fff}
.input:focus-within>i:first-child{color:#816c46}
.eye{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:none;border:0;color:#7b8880;padding:.4rem;cursor:pointer;font-size:1.05rem}
.eye:hover{color:#294e41}
.row-opts{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;font-size:.82rem;margin:.3rem 0 1.55rem}
.row-opts label{display:flex;align-items:center;gap:.5rem;color:#121212;cursor:pointer}
.row-opts input{accent-color:#365f50;width:16px;height:16px}
.row-opts a{color:#121212;font-weight:600;text-decoration:none}
.row-opts a:hover{text-decoration:underline}
.btn-login{width:100%;min-height:53px;border:0;padding:.94rem;border-radius:13px;font:inherit;font-weight:700;font-size:1rem;color:#1b1b1c;cursor:pointer;background:linear-gradient(105deg,#bda06a 0%,#dabc7f 53%,#f0d797 100%);box-shadow:0 12px 24px rgba(152,120,64,.22)}
.btn-login:hover{background:linear-gradient(105deg,#c8aa70,#f2d898);box-shadow:0 12px 27px rgba(152,120,64,.26)}
.btn-login:focus-visible,.eye:focus-visible,.row-opts a:focus-visible{outline:3px solid #366a59;outline-offset:3px}
.alert-err{display:flex;gap:.6rem;align-items:center;background:#fff0f1;color:#a7344d;border:1px solid #f5c5cd;padding:.75rem 1rem;border-radius:12px;font-size:.86rem;margin-bottom:1.1rem}
.secure{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.6rem;color:#121212;font-size:.76rem}
@media(max-width:991px){.login-wrap{grid-template-columns:minmax(0,1fr)}.visual{display:none}.form-side{min-height:100vh;min-height:100dvh;padding:44px 28px}.form-box .mark{margin-left:auto;margin-right:auto}.form-box{text-align:left}.form-box>div:nth-child(2){text-align:center}}
@media(max-width:479px){.form-side{padding:32px 22px}.form-box{max-width:100%}.form-box h2{font-size:1.85rem}.form-box .sub{font-size:.9rem}.row-opts{font-size:.78rem}}

/* En móvil, promover el acceso a la PWA en su dominio independiente. */
.crm-app-browser-link{text-align:center;font-size:13px;margin-top:16px}
.crm-app-browser-link a{color:#174b43;font-weight:700;text-decoration:underline}
@media(min-width:1200px){.crm-app-browser-link{display:none}}
