:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#222;background:#0082c9;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse at 80% 0%,#1198d6 0%,transparent 55%),radial-gradient(ellipse at 15% 100%,#00619c 0%,transparent 65%),linear-gradient(145deg,#0082c9,#0075b7)}
main{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 20px 28px}
.brand{color:white;display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:30px}.brand svg{width:136px;height:68px}.brand span{font-size:27px;letter-spacing:-1px;font-weight:400}
.guest-box{width:360px;max-width:100%;background:#fff;border-radius:14px;padding:28px 26px 22px;box-shadow:0 12px 48px #00477740;text-align:center}
h1{font-size:21px;line-height:1.4;font-weight:600;margin:0 0 24px}form{display:flex;flex-direction:column;gap:12px}
.field{display:flex;align-items:center;border:2px solid #d8d8d8;border-radius:10px;min-height:52px;padding:0 12px;gap:10px;transition:border-color .15s}.field:focus-within{border-color:#0082c9;box-shadow:0 0 0 1px #0082c9}
svg{flex-shrink:0}.field>svg,.show-password svg{width:20px;height:20px;stroke:#707070;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
input[type=text],input[type=password]{min-width:0;flex:1;width:100%;border:0;outline:0;background:transparent;color:#222;font:inherit;font-size:15px;padding:12px 0}input::placeholder{color:#666;opacity:1}
button{font:inherit;cursor:pointer}.show-password{display:flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:8px;width:28px;height:36px;padding:0;margin-right:-4px}.show-password:hover{background:#f0f0f0}
.remember{display:flex;align-items:center;gap:8px;text-align:left;font-size:14px;color:#555;padding:0 1px 4px}.remember input{width:17px;height:17px;accent-color:#0082c9;margin:0}
.primary{display:flex;justify-content:center;align-items:center;gap:9px;position:relative;min-height:48px;border:0;border-radius:24px;background:#0082c9;color:#fff;font-size:16px;font-weight:600;transition:background .15s}.primary:hover{background:#006fac}.primary:disabled{cursor:wait;background:#007bbd}.arrow{position:absolute;right:18px;font-size:22px;font-weight:400}
.text-button{border:0;background:transparent;color:#555;margin-top:15px;padding:8px 12px;border-radius:18px;font-size:14px}.text-button:hover{background:#f0f0f0;color:#222}
.message{text-align:left;line-height:1.45;font-size:14px;border-radius:8px;padding:12px 13px;margin:0 0 18px}.error{background:#fce9e9;color:#9e2121;border-left:4px solid #d64040}.notice{background:#e6f3fc;color:#145074;border-left:4px solid #0082c9}
.spinner{width:17px;height:17px;border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}[hidden]{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}
footer{max-width:380px;text-align:center;color:#ffffffda;font-size:13px;line-height:1.5;margin-top:28px}footer a{color:inherit;text-decoration:none;font-weight:600}footer a:hover{text-decoration:underline}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button:focus-visible,a:focus-visible{outline:3px solid #8acaff;outline-offset:3px}
@media(max-width:420px){main{padding:24px 16px}.brand{margin-bottom:22px}.guest-box{padding:25px 22px 18px}.brand svg{width:120px;height:60px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}*{transition:none!important}}
