/* Login: reference composition at 1280 × 960, scaled proportionally on desktop. */
.access{--u:calc(100vw / 1280);display:grid;grid-template-columns:59.53125% 40.46875%;width:100%;height:calc(960 * var(--u));min-height:100vh;font-family:Inter,Arial,sans-serif;background:#f4f5f8}
.access .login-art{display:block;position:relative;min-height:0;padding:0;margin:0;background-image:url('bodega-acceso.png');background-size:100% 100%;background-position:0 0;overflow:hidden;isolation:isolate}
.access .login-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0005,#0000 65%);z-index:-1}
.access .login-art:after{content:'';position:absolute;left:0;bottom:0;width:calc(337 * var(--u));height:calc(193 * var(--u));background:linear-gradient(25deg,#ffcc22,#ffd43b);clip-path:polygon(0 0,100% 100%,0 100%);z-index:3}
.access .art-corner{position:absolute;right:0;top:0;width:calc(190 * var(--u));height:calc(111 * var(--u));background:#ffcc24;clip-path:polygon(0 0,100% 0,100% 100%);z-index:2}
.access .access-brand{position:absolute;display:block;background-image:url('login-brand-reference.jpg');background-repeat:no-repeat;background-size:calc(1280 * var(--u)) calc(960 * var(--u));padding:0;margin:0}
.access .brand-white{left:calc(56 * var(--u));top:calc(59 * var(--u));width:calc(323 * var(--u));height:calc(92 * var(--u));background-position:calc(-56 * var(--u)) calc(-59 * var(--u));z-index:2;border-radius:4px}
.access .art-rule{position:absolute;left:calc(60 * var(--u));top:calc(177 * var(--u));width:calc(72 * var(--u));height:calc(4 * var(--u));background:#ffd029}
.access .login-art h1{position:absolute;left:calc(58 * var(--u));top:calc(224 * var(--u));font-size:calc(54 * var(--u));line-height:.88;font-weight:900;letter-spacing:calc(-1.8 * var(--u));margin:0;padding:0;color:#fff;z-index:2}
.access .login-art h1 em{font-style:normal;color:#ffca25}
.access .login-art>.art-description{position:absolute;left:calc(60 * var(--u));top:calc(383 * var(--u));font-size:calc(20 * var(--u));line-height:1.16;letter-spacing:calc(-.25 * var(--u));margin:0;padding:0;max-width:none;color:#eee;z-index:2}
.access .login-benefits{position:absolute;left:calc(60 * var(--u));top:calc(513 * var(--u));width:calc(270 * var(--u));display:grid;gap:calc(33 * var(--u));margin:0;padding:0;z-index:2}
.access .login-benefits>div{display:flex;align-items:flex-start;gap:calc(22 * var(--u));min-height:calc(54 * var(--u))}
.access .login-benefits>div>span{display:grid;place-items:center;width:calc(51 * var(--u));height:calc(54 * var(--u));border:calc(2 * var(--u)) solid #ffce29;border-radius:calc(12 * var(--u));padding:calc(9 * var(--u));flex-shrink:0}
.access .login-benefits svg{width:100%;height:100%;fill:none;stroke:#ffce29;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.access .login-benefits p{font-size:calc(12 * var(--u));line-height:1.35;padding-top:calc(3 * var(--u))}
.access .login-benefits b{display:block;font-size:calc(16 * var(--u));font-weight:700;margin-bottom:calc(4 * var(--u));white-space:nowrap;letter-spacing:calc(-.4 * var(--u))}
.access .login-art .login-bottles{position:absolute;left:calc(297 * var(--u));top:calc(387 * var(--u));width:calc(458 * var(--u));height:calc(458 * var(--u));object-fit:fill;max-height:none;margin:0;padding:0;filter:drop-shadow(0 calc(8 * var(--u)) calc(6 * var(--u)) #0005);z-index:1}
.access .login-side{position:relative;display:block;padding:0;margin:0;background:linear-gradient(137deg,#fafbfc 0%,#f3f4f7 72%,#eef0f4 100%);overflow:hidden}
.access .login-side:before{content:'';position:absolute;inset:0;background:#e7eaf04d;clip-path:polygon(98% 0,100% 0,100% 30%,77% 42%,39% 28%)}
.access .login-box{position:absolute;left:calc(32 * var(--u));top:calc(129 * var(--u));width:calc(454 * var(--u));height:calc(689 * var(--u));padding:0;margin:0;border:0;border-radius:calc(14 * var(--u));background:#fff;box-shadow:0 calc(10 * var(--u)) calc(32 * var(--u)) #172e5010}
.access .brand-dark{width:calc(272 * var(--u));height:calc(84 * var(--u));top:calc(39 * var(--u));left:calc(106 * var(--u));background-position:calc(-900 * var(--u)) calc(-168 * var(--u))}
.access .login-box h2{position:absolute;left:0;right:0;top:calc(157 * var(--u));margin:0;font-size:calc(34 * var(--u));line-height:1.2;font-weight:800;letter-spacing:calc(-1 * var(--u));color:#080808;text-align:center}
.access .login-intro{position:absolute;left:calc(24 * var(--u));right:calc(24 * var(--u));top:calc(204 * var(--u));margin:0;padding:0;font-size:calc(18 * var(--u));line-height:1.28;color:#59616a;text-align:center;letter-spacing:calc(-.25 * var(--u))}
.access .access-email,.access .access-password{position:absolute;left:calc(36 * var(--u));right:calc(34 * var(--u));margin:0;padding:0;font-size:calc(14 * var(--u));font-weight:600;line-height:1.2;color:#111}
.access .access-email{top:calc(283 * var(--u))}.access .access-password{top:calc(383 * var(--u))}
.access .input-wrap{position:relative;display:block;margin-top:calc(10 * var(--u))}
.access .input-wrap>svg{position:absolute;left:calc(15 * var(--u));top:calc(15 * var(--u));width:calc(20 * var(--u));height:calc(21 * var(--u));fill:none;stroke:#89919a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;z-index:1}
.access .input-wrap input{display:block;width:100%;height:calc(51 * var(--u));min-height:0;margin:0;border:calc(1.5 * var(--u)) solid #dedfe3;border-radius:calc(8 * var(--u));padding:0 calc(44 * var(--u)) 0 calc(49 * var(--u));font:400 calc(14 * var(--u))/1.2 Inter,Arial,sans-serif;background:#fefefe;color:#222;box-shadow:0 1px 2px #00000004}
.access .input-wrap input::placeholder{color:#999fa7;opacity:1}
.access #show-password{position:absolute;right:calc(10 * var(--u));top:calc(10 * var(--u));width:calc(31 * var(--u));height:calc(31 * var(--u));display:grid;place-items:center;border:0;background:none;padding:calc(5 * var(--u));color:#858d97}
.access #show-password svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.access .access-options{position:absolute;left:calc(36 * var(--u));right:calc(34 * var(--u));top:calc(487 * var(--u));display:flex;align-items:center;justify-content:space-between;height:calc(22 * var(--u));gap:calc(9 * var(--u))}
.access .remember{display:flex;align-items:center;gap:calc(10 * var(--u));margin:0;font-size:calc(14 * var(--u));font-weight:400;white-space:nowrap}
.access .remember input{width:calc(19 * var(--u));height:calc(19 * var(--u));min-height:0;padding:0;margin:0;accent-color:#ffc722}
.access .forgot-password{border:0;background:none;color:#1e64a8;text-decoration:underline;padding:0;font-size:calc(14 * var(--u));white-space:nowrap;letter-spacing:calc(-.3 * var(--u))}
.access #login-error{position:absolute;left:calc(36 * var(--u));right:calc(34 * var(--u));top:calc(518 * var(--u));color:#b42318;font-size:calc(12 * var(--u));line-height:1.1;margin:0;text-align:left}
.access .access-submit{position:absolute;left:calc(36 * var(--u));right:calc(34 * var(--u));top:calc(544 * var(--u));width:auto;height:calc(58 * var(--u));min-height:0;display:flex;align-items:center;justify-content:center;gap:calc(13 * var(--u));padding:0;margin:0;border-radius:calc(14 * var(--u));border:0;background:linear-gradient(100deg,#ffcb28,#ffc424);color:#080808;font-size:calc(21 * var(--u));font-weight:800;letter-spacing:calc(-.5 * var(--u))}
.access .access-submit svg{width:calc(20 * var(--u));height:calc(22 * var(--u));fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.access .access-secure{position:absolute;left:calc(36 * var(--u));right:calc(34 * var(--u));top:calc(631 * var(--u));display:flex;align-items:center;gap:calc(10 * var(--u));height:calc(23 * var(--u));color:#8c939c}
.access .access-secure>span{height:1px;background:#d8dce1;flex:1}.access .access-secure>svg{width:calc(15 * var(--u));height:calc(19 * var(--u));fill:none;stroke:currentColor;stroke-width:2}
.access .access-secure small{margin:0;font-size:calc(12 * var(--u));white-space:nowrap;font-weight:400;color:inherit}
.access .access-footer{position:absolute;top:calc(869 * var(--u));left:calc(32 * var(--u));width:calc(454 * var(--u));margin:0;padding:calc(20 * var(--u)) calc(50 * var(--u)) 0;border-top:1px solid #d5d9df;display:flex;align-items:center;justify-content:space-between;gap:calc(15 * var(--u));background:none;color:#28313b;font-size:calc(12 * var(--u));white-space:nowrap}
.access .access-footer span+span{border-left:1px solid #d5d9df;padding-left:calc(19 * var(--u))}
#recovery-dialog{padding:28px;width:min(460px,92vw)}#close-recovery{float:right;border:0;background:none;font-size:26px}#recovery-dialog p{margin:18px 0 25px;line-height:1.5;color:#555}#recovery-dialog .primary{display:inline-block;font-size:14px}
@media(max-width:900px){.access{--u:1px;display:block;height:auto;min-height:100vh}.access .login-art{display:none}.access .login-side{min-height:960px}.access .login-box{left:50%;transform:translateX(-50%);top:80px}.access .access-footer{left:50%;transform:translateX(-50%);top:820px}}
@media(max-width:500px){.access{--u:calc((100vw - 32px)/454)}.access .login-side{min-height:100vh;padding-top:24px}.access .login-box{top:35px}.access .access-footer{top:calc(35px + 730 * var(--u));padding-left:16px;padding-right:16px;font-size:11px}.access .input-wrap input{font-size:16px}.access .login-box h2{font-size:calc(33 * var(--u))}}

.access .login-art{background-image:url('bodega-acceso-referencia.png')}.access .brand-white{mix-blend-mode:screen}.access .login-art .login-bottles{left:calc(249 * var(--u));width:calc(552 * var(--u))}

.access .brand-white{mix-blend-mode:normal;filter:url('#brand-knockout')}.access .login-benefits>div:nth-child(2) b{font-size:calc(15 * var(--u));letter-spacing:calc(-.55 * var(--u))}.access .login-benefits>div:nth-child(2){transform:translateY(calc(-5 * var(--u)))}.access .login-benefits>div:nth-child(3){transform:translateY(calc(-7 * var(--u)))}

/* Logo vectorial de alta resolución para el panel. */
.access .brand-dark{background-image:none!important}.access .brand-dark img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
