.login-app{--err:#c0392b;--err-soft:#c0392b14;--ok:#1e8a5a;--warn:#8a5a00;--card:#ffffffdb;text-align:start}body{font-family:var(--font);color:var(--ink);background:#0d1433;min-height:100%;margin:0;overflow-x:hidden}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:calc(var(--z-topbar) + 1);background:var(--head);position:fixed;inset:0 0 auto}.login-app .bg{z-index:-2;background:#0d1433 url(/spa/assets/beach-BGvatiqy.jpg) 50%/cover no-repeat;position:fixed;inset:0}.login-app .bg:after{content:"";background:linear-gradient(270deg,#0d14330d 25%,#0d143380);position:absolute;inset:0}.login-app[dir=ltr] .bg:after{background:linear-gradient(90deg,#0d14330d 25%,#0d143380)}.login-app header{top:env(safe-area-inset-top,0px);z-index:var(--z-topbar);background:var(--head);-webkit-backdrop-filter:blur(14px);position:sticky;box-shadow:0 2px 20px #00000014}.login-app .bar{padding-block:10px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));align-items:center;gap:14px;display:flex}.login-app .logo{color:var(--navy);letter-spacing:-1px;font-size:28px;font-weight:800;line-height:1;display:block}.login-app .logo b{color:var(--gold)}.login-app .logo small{color:var(--gold);letter-spacing:0;margin-bottom:3px;font-size:11px;font-weight:400;display:block}.login-app .spacer{flex:1 1 0}.login-app .lang{cursor:pointer;color:var(--navy);font:inherit;background:#fff9;border:1.5px solid #16236b4d;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.login-app .lang:hover{border-color:var(--navy);background:#fff}.login-app .lang+.lang{margin-inline-start:-8px}.login-app .lang[aria-busy=true]{cursor:progress}.login-app .lang svg{width:17px;height:17px}.login-app .brand2{color:var(--navy);text-align:left;direction:ltr;font-size:18px;font-weight:800;line-height:.9}.login-app .brand2 span{color:var(--gold);display:block}.login-app main{max-width:1080px;min-height:calc(100svh - 104px);padding-block:40px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));grid-template-columns:minmax(0,440px);grid-template-areas:"card";place-content:center;margin:0 auto;display:grid}.login-app .card{background:var(--card);-webkit-backdrop-filter:blur(18px)saturate(1.4);border:1px solid #fff9;border-radius:24px;grid-area:card;align-self:center;min-width:0;padding:30px 30px 20px;box-shadow:0 30px 70px -25px #0a143ca6}.login-app .view{gap:16px;animation:.35s cubic-bezier(.2,.8,.2,1) viewIn;display:grid}@keyframes viewIn{0%{opacity:0;transform:translateY(8px)}}.login-app .vhead{align-items:center;gap:14px;display:flex}.login-app .chip{background:var(--teal-soft);width:56px;height:56px;color:var(--teal);border-radius:18px;flex:none;place-items:center;display:grid}.login-app .chip svg{width:36px;height:36px}.login-app .chip.ok{color:var(--ok);background:#1e8a5a1f}.login-app .chip.warn{color:var(--warn);background:#e9a42629}.login-app .chip.ok svg,.login-app .chip.key svg,.login-app .chip.warn svg{width:28px;height:28px}.login-app .vhead small{letter-spacing:.04em;color:#17685f;margin-bottom:2px;font-size:12.5px;font-weight:600;display:block}.login-app .vhead h1{color:var(--navy);text-wrap:balance;margin:0;font-size:23px;font-weight:800;line-height:1.2}.login-app .vhead h1:focus{outline:none}.login-app .note{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.login-app .note strong{color:var(--ink);overflow-wrap:anywhere}.login-app .checking{align-items:center;gap:10px;display:flex}.login-app .checking .spin{border-color:#16236b2e;border-top-color:var(--navy);flex:none}.login-app form{gap:14px;margin:0;display:grid}.login-app .field{gap:6px;display:grid}.login-app .field label{font-size:14px;font-weight:600}.login-app .ctl{position:relative}.login-app .ctl input{width:100%;font:inherit;color:var(--ink);border:1.5px solid var(--field-b);background:var(--field);border-radius:14px;outline:none;padding-block:13px;padding-inline:44px 14px;font-size:16px;transition:border-color .2s,background .2s,box-shadow .2s}.login-app .ctl.pw input{padding-inline-end:48px}.login-app .ctl input::placeholder{color:var(--muted)}.login-app .ctl input:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 4px #16236b1f}.login-app .ctl>svg{inset-inline-start:14px;width:20px;height:20px;color:var(--muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.login-app .eye{inset-inline-end:6px;width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.login-app .eye:hover{color:var(--ink);background:#eef1f8}.login-app .eye svg{width:20px;height:20px}.login-app .field.bad input{border-color:var(--err);background:var(--err-soft)}.login-app .err{color:var(--err);font-size:13px;font-weight:600}.login-app .err:empty,.login-app .caps[hidden]{display:none}.login-app .caps{color:var(--warn);align-items:center;gap:6px;font-size:13px;display:flex}.login-app .caps svg{width:15px;height:15px}.login-app .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.login-app .check{cursor:pointer;align-items:center;gap:8px;font-size:15px;display:inline-flex}.login-app .check input{width:18px;height:18px;accent-color:var(--teal);margin:0}.login-app .link{font:inherit;color:var(--navy-2);cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:15px;font-weight:600;text-decoration:none}.login-app .link:hover{text-decoration:underline}.login-app .back{justify-self:center;align-items:center;gap:6px;display:inline-flex}.login-app .back svg{width:16px;height:16px}.login-app .primary{background:linear-gradient(135deg, var(--navy), var(--navy-2));color:#fff;width:100%;font:inherit;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:14px 18px;font-size:17px;font-weight:800;text-decoration:none;transition:transform .2s,filter .2s;display:flex;box-shadow:0 12px 24px -12px #16236bcc}.login-app .primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.login-app .primary[aria-busy=true]{cursor:progress;filter:saturate(.8)}.login-app .primary svg{width:20px;height:20px}.login-app[dir=ltr] .fwd,.login-app[dir=ltr] .back svg{transform:scaleX(-1)}.login-app .spin{border:2.5px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-app .rules{color:var(--muted);gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.login-app .rules li{align-items:center;gap:8px;transition:color .2s;display:flex}.login-app .rules li:before{content:"";border:1.5px solid var(--field-b);background:#fff;border-radius:50%;flex:none;width:16px;height:16px;transition:background .2s,border-color .2s}.login-app .rules li.ok{color:#15603a}.login-app .rules li.ok:before{border-color:var(--ok);background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat}.login-app .alert{background:var(--err-soft);color:var(--err);border:1px solid #c0392b38;border-radius:12px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:14px;font-weight:600;line-height:1.45;display:flex}.login-app .alert svg{flex:none;width:18px;height:18px;margin-block-start:1px}.login-app .alert .link{font-size:14px;text-decoration:underline}.login-app .foot{color:var(--muted);border-top:1px solid #e6e9f3;gap:8px;margin-top:18px;padding-top:14px;font-size:13.5px;line-height:1.5;display:grid}.login-app footer{color:#ffffffd9;text-shadow:0 1px 4px #000;text-align:center;padding-block:0 calc(14px + env(safe-area-inset-bottom,0px));padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));font-size:12px}.login-app .primary:focus-visible,.login-app .link:focus-visible,.login-app .lang:focus-visible,.login-app .eye:focus-visible,.login-app .check input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (max-width:860px){.login-app main{grid-template-columns:minmax(0,1fr);max-width:520px;padding-block:24px 28px}.login-app .brand2{display:none}}@media (max-width:480px){.login-app .logo{font-size:24px}.login-app .card{border-radius:20px;padding:24px 18px 16px}.login-app .bar{flex-wrap:wrap;gap:8px}.login-app .lang{padding:6px 10px;font-size:13px}.login-app .lang svg{display:none}.login-app .lang+.lang{margin-inline-start:-2px}}@media (prefers-reduced-motion:reduce){.login-app .view,.login-app .spin{animation:none}.login-app .primary,.login-app .rules li,.login-app .rules li:before{transition:none}}
