@font-face{font-family:Inter;src:local('Inter');font-display:swap}
:root{color-scheme:light;--page:#edf2f8;--page-secondary:#f8fafc;--text:#102442;--muted:#586c84;--subtle:#6a7d94;--card:rgba(255,255,255,.82);--border:rgba(129,154,187,.26);--input:#fff;--input-border:#cbd6e4;--accent:#235fd0;--accent-hover:#194eaf;--focus:rgba(35,95,208,.18);--toggle:#fff;--shadow:0 30px 90px rgba(25,48,83,.12);--error-bg:#fff0f0;--error-text:#a12f38;--error-border:#f0c4c8;--footer:#64748b}
:root[data-theme=dark]{color-scheme:dark;--page:#071121;--page-secondary:#0c192d;--text:#edf3ff;--muted:#a9b9ce;--subtle:#a1b2c9;--card:rgba(17,34,58,.79);--border:rgba(155,185,225,.16);--input:rgba(7,20,38,.64);--input-border:#354964;--accent:#6e9cff;--accent-hover:#89aeff;--focus:rgba(110,156,255,.2);--toggle:#213652;--shadow:0 35px 110px rgba(0,0,0,.3);--error-bg:rgba(157,46,61,.17);--error-text:#ffb9c0;--error-border:rgba(243,114,134,.3);--footer:#9bacc2}
*{box-sizing:border-box}html{min-height:100%;background:var(--page)}body{margin:0;min-height:100vh;min-height:100svh;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--text);background:radial-gradient(ellipse at 78% 22%,rgba(97,148,238,.12),transparent 44%),linear-gradient(140deg,var(--page-secondary),var(--page));-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{width:20px;height:20px;flex:none}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.page{max-width:1440px;margin:auto;padding:32px 52px 22px;min-height:100vh;min-height:100svh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-emblem{width:44px;height:48px;object-fit:contain}.brand-name{font-size:19px;font-weight:750;letter-spacing:2px}.brand-caption{display:block;font-size:9px;font-weight:650;letter-spacing:1.8px;margin-top:5px;color:var(--muted)}.theme-switch{display:flex;padding:4px;gap:3px;border:1px solid var(--border);border-radius:14px;background:var(--card)}.theme-switch button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:var(--muted);padding:9px 12px;border-radius:10px;font-size:12px;font-weight:650}.theme-switch button svg{width:16px;height:16px}.theme-switch button[aria-pressed=true]{background:var(--toggle);color:var(--text);box-shadow:0 2px 7px rgba(12,33,66,.09)}.main-layout{display:grid;grid-template-columns:1.08fr 1fr;flex:1;align-items:center;gap:76px;padding:46px 0 42px}.story{position:relative;background:#0e2547;border:1px solid rgba(137,175,228,.16);border-radius:30px;min-height:590px;overflow:hidden;padding:47px 42px 31px;color:#f5f8ff;display:flex;flex-direction:column;isolation:isolate;box-shadow:0 24px 65px rgba(8,28,58,.13)}.story:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 80% 55%,rgba(47,100,186,.39),transparent 60%),linear-gradient(155deg,#16345a,#0a1a33 84%)}.story:after{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(139,176,224,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(139,176,224,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(transparent,#000)}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:650;letter-spacing:2.2px;text-transform:uppercase;color:#b5c9e6}.eyebrow .line{width:23px;height:2px;background:#d9b775}.story h1{font-size:clamp(35px,3.2vw,47px);line-height:1.16;letter-spacing:-1.8px;font-weight:650;margin:27px 0 20px;max-width:410px}.story h1 span{color:#a6c4f3}.story-copy{max-width:335px;font-size:14px;line-height:1.8;color:#b6c8df;margin:0}.architecture{position:relative;flex:1;min-height:150px;margin-top:14px;display:flex;align-items:flex-end;justify-content:center;gap:9px;padding:0 22px 0}.architecture:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(151,185,234,.35),transparent)}.building{position:relative;border:1px solid rgba(163,195,239,.24);background:linear-gradient(150deg,rgba(147,188,246,.11),rgba(36,72,120,.04));border-radius:4px 4px 0 0;overflow:hidden}.building:after{content:'';position:absolute;inset:14px 11px 0;background:repeating-linear-gradient(0deg,transparent 0 17px,rgba(184,211,252,.13) 17px 19px),repeating-linear-gradient(90deg,transparent 0 14px,rgba(184,211,252,.1) 14px 16px)}.building-left{width:82px;height:87px}.building-main{width:132px;height:145px}.building-right{width:75px;height:106px}.building-main:before{content:'HOTEL';position:absolute;top:8px;left:0;width:100%;text-align:center;color:#d9b775;font-size:8px;letter-spacing:3px}.building-main:after{top:29px}.architecture .orbit{position:absolute;width:285px;height:285px;bottom:-92px;border:1px solid rgba(140,182,239,.1);border-radius:50%;z-index:-1}.architecture .orbit:before{content:'';position:absolute;inset:-38px;border:1px solid rgba(140,182,239,.06);border-radius:50%}.story-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid rgba(163,195,239,.12);padding-top:21px;margin-top:28px}.story-feature{display:flex;align-items:center;gap:8px;font-size:10px;color:#bbcee7;white-space:nowrap}.story-feature svg{width:15px;height:15px;color:#d9b775}.form-section{width:100%;max-width:430px;justify-self:center}.portal-tag{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--border);border-radius:30px;padding:7px 11px;font-size:10px;font-weight:650;letter-spacing:.5px;color:var(--muted);margin-bottom:19px;background:var(--card)}.portal-tag span{width:5px;height:5px;border-radius:50%;background:#428a79}.form-section h2{font-size:35px;line-height:1.15;font-weight:650;letter-spacing:-1.2px;margin:0 0 11px}.intro{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 25px}.login-card{border:1px solid var(--border);background:var(--card);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.field{margin-bottom:21px}.field label{display:block;font-size:12px;font-weight:650;margin-bottom:9px}.input-shell{display:flex;align-items:center;position:relative;background:var(--input);border:1px solid var(--input-border);border-radius:11px;transition:border-color .15s,box-shadow .15s}.input-shell:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.input-shell>.input-icon{margin-left:15px;color:var(--subtle);width:17px;height:17px}.input-shell input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:13px;line-height:24px;padding:13px 13px 13px 11px;border-radius:11px}.input-shell input::placeholder{color:var(--subtle);opacity:.85}.input-shell:has([aria-invalid=true]){border-color:var(--error-text)}.input-shell input:-webkit-autofill{-webkit-text-fill-color:var(--text);transition:background-color 99999s ease-in-out}.password-toggle{width:42px;height:44px;border:0;display:flex;align-items:center;justify-content:center;margin-right:4px;background:transparent;color:var(--subtle);border-radius:8px}.password-toggle:hover{color:var(--text);background:var(--focus)}.password-toggle svg{width:18px;height:18px}.field-error{font-size:11px;line-height:1.6;color:var(--error-text);margin:7px 0 0}.caps-warning{font-size:11px;color:var(--muted);margin:7px 0 0}.form-notice{font-size:12px;line-height:1.7;padding:12px 14px;border:1px solid var(--error-border);border-radius:10px;background:var(--error-bg);color:var(--error-text);margin-bottom:21px}.form-notice.info{border-color:var(--border);background:var(--focus);color:var(--text)}.submit-button{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 17px;min-height:51px;border:1px solid transparent;border-radius:11px;background:#235fd0;box-shadow:0 6px 15px rgba(35,95,208,.2);color:#fff;font-size:13px;font-weight:650;transition:background .15s,transform .15s}.submit-button:hover{background:#194eaf;transform:translateY(-1px)}.submit-button:active{transform:none}.submit-button:disabled{opacity:.75;cursor:wait;transform:none}.submit-button svg{width:17px;height:17px}.is-submitting .submit-arrow{display:none}.submit-spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}.is-submitting .submit-spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}.secure-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:18px 0 0;color:var(--muted);font-size:10px}.secure-note svg{width:12px;height:12px}.access-help{text-align:center;color:var(--muted);font-size:11px;margin:22px 0 0;line-height:1.7}.access-help strong{font-weight:600;color:var(--text)}.page-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:10px;color:var(--footer);line-height:1.7}.footer-status{display:flex;align-items:center;gap:7px}.footer-status:before{content:'';width:4px;height:4px;border-radius:50%;background:var(--footer)}
@media(min-width:1450px){.main-layout{gap:105px}.story{min-height:650px}.story h1{font-size:49px}.architecture{min-height:190px}}
@media(max-width:1100px){.page{padding:25px 30px 20px}.main-layout{gap:35px}.story{padding:34px 28px 27px;min-height:555px}.story h1{font-size:36px;letter-spacing:-1px}.story-feature{font-size:9px;gap:4px}.story-footer{gap:7px}.login-card{padding:24px}.brand-caption{letter-spacing:1.1px}}
@media(max-width:800px){.page{max-width:570px;padding:22px 25px 20px}.main-layout{display:block;padding:47px 0 40px;flex:1}.story{display:none}.form-section{max-width:440px;margin:auto}.form-section h2{font-size:33px}.portal-tag{margin-bottom:19px}.intro{margin-bottom:26px}.login-card{padding:27px}.brand-name{font-size:17px}.brand-emblem{width:35px;height:42px}.brand-caption{font-size:8px;letter-spacing:.8px}.theme-switch button{padding:9px}.theme-switch button span{display:none}.theme-switch{border-radius:12px}.page-footer{font-size:9px;display:block;text-align:center}.footer-status{justify-content:center;margin-top:4px}}
@media(max-width:380px){.page{padding:18px 17px}.login-card{padding:21px}.form-section h2{font-size:29px}.brand-caption{font-size:7px}.topbar{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
