*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:#19162f;background:#eeeaf8}.d-none{display:none!important}
.login-page{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);gap:clamp(24px,4vw,72px);padding:clamp(32px,5vw,88px);background:linear-gradient(100deg,rgba(249,247,255,.77),rgba(246,241,253,.4) 52%,rgba(232,225,250,.78)),url('../images/login-hospitality-v2.webp') center/cover no-repeat}
.hero{min-width:0;display:flex;flex-direction:column;justify-content:center;position:relative;padding:110px 0 72px}.product-brand{position:absolute;top:0;display:flex;align-items:center;gap:17px;color:#2d1b5e;font-size:clamp(26px,2.7vw,40px);letter-spacing:-.035em}.product-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:19px;background:#ff8c00;color:#fff;font-size:35px;flex-shrink:0}.product-brand strong{font-weight:800}
.hero h1{margin:0;color:#2d1b5e;font-size:clamp(40px,4.8vw,76px);line-height:1.12;letter-spacing:-.05em;font-weight:800}.hero h1 span{display:block;color:#f47700}.hero-copy{color:#625779;font-size:clamp(17px,1.7vw,25px);line-height:1.6;margin:22px 0 0}.hero-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:590px;margin-top:35px}.hero-features>div{background:rgba(235,225,250,.82);color:#432179;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;border-radius:17px;padding:25px 12px;font-size:18px;font-weight:700}.hero-features i{font-size:37px;line-height:1}
.access{display:flex;align-items:center;justify-content:center;min-width:0}.panel{width:100%;max-width:500px;background:rgba(255,255,255,.98);border:0;border-radius:28px;padding:clamp(28px,3.3vw,52px);box-shadow:0 22px 65px rgba(65,31,112,.13)}.brand{display:flex;align-items:center;gap:17px;margin-bottom:36px;min-width:0}.brand-logo,.brand-fallback{width:70px;height:70px;flex-shrink:0;border-radius:20px;background:#f0eafb}.brand-logo{object-fit:contain;padding:7px}.brand-fallback{display:grid;place-items:center;font-size:35px;color:#432179}.brand h2{margin:0;font-size:17px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.heading{margin-bottom:30px}.heading h3{margin:0 0 9px;font-size:clamp(24px,2.1vw,32px);line-height:1.2;letter-spacing:-.04em}.heading p{margin:0;color:#796f91;font-size:15px;line-height:1.6}
.field{margin-bottom:23px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.input-wrap{position:relative}.input-wrap>i{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#84779c;pointer-events:none}.input-wrap input{width:100%;height:54px;border:1px solid #ded8e9;border-radius:11px;background:#fdfcfe;color:#19162f;padding:0 48px;font:inherit;font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}.input-wrap input::placeholder{color:#84779c;opacity:1}.input-wrap input:focus{border-color:#7853b4;box-shadow:0 0 0 3px #7853b418}.input-wrap input[aria-invalid=true]{border-color:#c93d52}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:9px;background:transparent;color:#84779c;font-size:18px;cursor:pointer}.password-toggle:hover{background:#f0eafb}.password-toggle:focus-visible,.submit:focus-visible{outline:3px solid #6b43a3;outline-offset:3px}.submit{display:flex;align-items:center;justify-content:center;gap:15px;width:100%;min-height:55px;margin-top:8px;padding:12px;border:0;border-radius:12px;background:#ff8c00;color:#fff;font:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:background .15s,transform .15s;box-shadow:0 8px 20px #ff8c001a}.submit:hover{background:#ed7e00}.submit:active{transform:translateY(1px)}.submit:disabled{opacity:.7;cursor:wait}.submit i{font-size:20px}.footer{margin:25px 0 0;text-align:center;font-size:11px;color:#877e95;line-height:1.6}.error{margin-bottom:20px;padding:12px 14px;border-radius:10px;background:#fff0f1;color:#a72c42;font-size:14px;line-height:1.5}.field-error{color:#b32e46;font-size:12px;margin-top:7px;line-height:1.5}
@media(min-width:1600px){.login-page{padding-left:max(6vw,calc((100vw - 1700px)/2));padding-right:max(6vw,calc((100vw - 1700px)/2))}}
@media(max-width:1050px){.login-page{gap:30px;padding:35px;grid-template-columns:minmax(0,1fr) minmax(340px,1fr)}.hero h1{font-size:clamp(36px,4.6vw,50px)}.hero-features>div{font-size:14px;padding:20px 8px}.hero-features i{font-size:29px}.panel{padding:30px}.brand{gap:13px}.brand-logo,.brand-fallback{width:58px;height:58px}}
@media(max-width:760px){.login-page{grid-template-columns:1fr;gap:25px;padding:28px 24px 36px;background-position:45% center}.hero{padding:0;max-width:500px;width:100%;margin:auto}.product-brand{position:static;font-size:29px;gap:12px;margin-bottom:27px}.product-mark{width:49px;height:49px;font-size:28px;border-radius:14px}.hero h1{font-size:clamp(30px,6.7vw,44px);line-height:1.13}.hero-copy{font-size:15px;margin-top:12px}.hero-features{display:none}.panel{border-radius:24px;padding:30px}.brand{margin-bottom:25px}.heading{margin-bottom:24px}.heading h3{font-size:26px}.footer{margin-top:22px}.access{align-items:flex-start}}
@media(max-width:380px){.login-page{padding:23px 16px 28px;gap:22px}.panel{padding:25px 20px}.product-brand{font-size:27px;margin-bottom:22px}.brand h2{font-size:15px}.brand-logo,.brand-fallback{width:50px;height:50px;border-radius:14px}.heading h3{font-size:23px}.heading p{font-size:14px}.input-wrap input{font-size:14px}.hero h1{font-size:29px}}
