#login-view {
  --gold: #f6c23e;
  --navy: #04182d;
  --glass: rgba(5, 25, 47, .58);
  --line: rgba(246, 194, 62, .34);
}#login-view * { box-sizing: border-box; }#login-view { background: var(--navy); scroll-behavior: smooth; }#login-view { margin: 0; min-width: 320px; color: #fff; background: var(--navy); font-family:var(--font-geist-sans),'Segoe UI',Arial,sans-serif; }#login-view button, #login-view a { font: inherit; }#login-view a { color: inherit; text-decoration: none; }#login-view { position: relative; min-height: 100vh; overflow: hidden; isolation: isolate; background: var(--navy); }#login-view .hotel-background-ambient, #login-view .hotel-background { position: fixed; inset:0; width:100%; height:100%; pointer-events:none; }#login-view .hotel-background-ambient { z-index:-4; object-fit:cover; object-position:center 52%; filter:blur(30px) saturate(.88) brightness(.9); transform:scale(1.06); opacity:.8; }#login-view .hotel-background { z-index:-3; top:-5%; left:50%; right:auto; bottom:auto; width:81vh; height:110%; object-fit:cover; object-position:center center; transform:translateX(-50%); filter:saturate(.94) contrast(1.04); -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 10%,#000 28%,#000 72%,rgba(0,0,0,.35) 90%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 10%,#000 28%,#000 72%,rgba(0,0,0,.35) 90%,transparent 100%); }#login-view .background-overlay { position:fixed; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(3,18,35,.92) 0%,rgba(4,23,43,.72) 29%,rgba(5,25,46,.48) 53%,rgba(4,21,40,.72) 75%,rgba(3,17,32,.9) 100%),linear-gradient(180deg,rgba(3,20,39,.1),rgba(2,14,28,.72)); }#login-view .portal-content { width:min(1760px,calc(100% - 160px)); margin:0 auto; padding-bottom:74px; }#login-view .portal-header { display:flex; align-items:center; justify-content:space-between; height:126px; }#login-view .portal-brand { display:flex; align-items:center; gap:22px; }#login-view .portal-brand img { width:90px; height:94px; object-fit:contain; }#login-view .portal-brand > span { width:1px; height:37px; background:rgba(255,255,255,.2); }#login-view .portal-brand strong { font-size:27px; font-weight:700; letter-spacing:-.025em; }#login-view .portal-header nav { display:flex; align-items:center; gap:52px; font-size:15px; font-weight:700; }#login-view .portal-header nav a { padding:12px 0; border-bottom:2px solid transparent; transition:border-color .18s ease,color .18s ease; }#login-view .portal-header nav a:hover, #login-view .portal-header nav a:focus-visible { color:var(--gold); border-bottom-color:var(--gold); outline:none; }#login-view .hero-panel { display:grid; grid-template-columns:minmax(0,1.34fr) minmax(390px,.66fr); align-items:start; gap:68px; min-height:476px; padding-top:58px; }#login-view .hero-message h1 { max-width:690px; margin:0 0 34px; font-size:clamp(44px,3.2vw,60px); font-weight:720; line-height:1.07; letter-spacing:-.045em; text-shadow:0 4px 24px rgba(0,0,0,.4); }#login-view .headline-line { display:block; white-space:nowrap; }#login-view .hero-message h1 em, #login-view .highlights > h2 span { color:var(--gold); font-style:normal; }#login-view .benefits-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; max-width:990px; }#login-view .benefit-item { display:grid; grid-template-columns:54px minmax(0,1fr); gap:14px; align-items:start; min-width:0; }#login-view .benefit-symbol { display:grid; place-items:center; width:54px; height:54px; border:1.5px solid var(--gold); border-radius:50%; color:var(--gold); background:rgba(4,24,45,.46); box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 25px rgba(0,0,0,.2); }#login-view .benefit-item h2 { margin:2px 0 6px; font-size:16px; font-weight:650; line-height:1.3; white-space:nowrap; }#login-view .benefit-item p { max-width:210px; margin:0; color:#dce4ec; font-size:14px; line-height:1.45; }#login-view .sign-in-panel { justify-self:start; width:100%; max-width:430px; min-height:408px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:29px; padding:38px 30px; border:1px solid rgba(255,255,255,.34); border-radius:20px; background:linear-gradient(145deg,rgba(7,31,56,.7),rgba(3,19,37,.5)); box-shadow:0 30px 75px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.11); backdrop-filter:blur(22px) saturate(1.15); }#login-view .sign-in-panel > img { width:112px; height:118px; object-fit:contain; }#login-view #login-form > button { display:flex; align-items:center; justify-content:center; gap:26px; width:100%; min-height:72px; padding:0 24px; border:0; border-radius:11px; color:#10213a; background:#fff; box-shadow:0 8px 22px rgba(0,0,0,.16); font-size:18px; font-weight:700; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }#login-view #login-form > button:hover { transform:translateY(-2px); box-shadow:0 13px 28px rgba(0,0,0,.22); }#login-view #login-form > button:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }#login-view .sign-in-panel p { margin:0; color:#d6dde5; font-size:15px; }#login-view .sign-in-panel output { margin-top:-12px; color:#f8cf67; font-size:12px; text-align:center; }#login-view .highlights { border-top:1px solid rgba(255,255,255,.22); padding-top:24px; }#login-view .highlights > h2 { margin:0 0 15px; font-size:30px; font-weight:700; letter-spacing:-.03em; }#login-view .highlight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }#login-view .highlight-card { --tone:#bd4355; --tone-dark:#823042; position:relative; display:grid; grid-template-columns:76px 1fr 24px; align-items:center; gap:18px; min-height:148px; padding:20px 24px 20px 18px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(135deg,rgba(8,34,60,.72),rgba(3,20,39,.55)); box-shadow:0 18px 42px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.06); backdrop-filter:blur(18px) saturate(1.12); }#login-view .highlight-card.orange { --tone:#b96726; --tone-dark:#80441e; }#login-view .highlight-card.green { --tone:#3b914c; --tone-dark:#276638; }#login-view .highlight-card.orange .highlight-icon svg { fill:none; stroke-width:2.2; }#login-view .highlight-icon { display:grid; place-items:center; width:70px; height:70px; border:1px solid color-mix(in srgb,var(--tone),white 24%); border-radius:50%; color:white; background:linear-gradient(145deg,color-mix(in srgb,var(--tone),white 12%),var(--tone-dark)); }#login-view .highlight-copy { min-width:0; }#login-view .highlight-badge { display:inline-block; margin-bottom:8px; padding:4px 10px; border-radius:5px; color:#fff; background:linear-gradient(180deg,color-mix(in srgb,var(--tone),white 12%),var(--tone-dark)); font-size:13px; font-weight:800; text-transform:uppercase; box-shadow:0 2px 7px rgba(0,0,0,.22); }#login-view .highlight-card h3 { margin:0 0 6px; font-size:21px; font-weight:650; }#login-view .highlight-card p { margin:0; color:#dbe3eb; font-size:14px; line-height:1.45; }#login-view .highlight-arrow { color:#d4dde5; }#login-view .portal-footer { position:absolute; inset:auto 0 0; z-index:2; display:grid; grid-template-columns:1fr 1px 1fr 1px .8fr; align-items:center; min-height:66px; padding:0 max(80px,calc((100% - 1760px)/2)); border-top:1px solid rgba(255,255,255,.2); background:rgba(4,22,40,.9); backdrop-filter:blur(14px); }#login-view .portal-footer div { display:flex; align-items:center; gap:12px; font-size:15px; font-weight:700; }#login-view .portal-footer div:nth-of-type(2) { justify-self:center; }#login-view .portal-footer > span { width:1px; height:30px; background:rgba(255,255,255,.35); }#login-view .portal-footer i { width:15px; height:15px; border-radius:50%; background:#54c755; box-shadow:0 0 0 4px rgba(84,199,85,.1); }#login-view .portal-footer strong { justify-self:end; font-size:15px; }

@media (max-width:1280px) {#login-view .portal-content { width:min(100% - 48px,1500px); }#login-view .hero-panel { grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr); gap:38px; padding-top:45px; }#login-view .hero-message h1 { font-size:46px; }#login-view .benefits-row { gap:18px; }#login-view .benefit-item { grid-template-columns:48px minmax(0,1fr); gap:11px; }#login-view .benefit-symbol { width:48px; height:48px; }#login-view .benefit-item h2 { white-space:normal; }#login-view .highlight-grid { gap:18px; }
}

@media (max-width:1100px) {#login-view { overflow:auto; }#login-view .hotel-background-ambient, #login-view .hotel-background, #login-view .background-overlay { position:absolute; }#login-view .hotel-background { top:0; left:0; width:100%; height:100%; transform:none; object-fit:cover; object-position:center top; -webkit-mask-image:none; mask-image:none; }#login-view .portal-header { height:100px; }#login-view .portal-header nav { display:none; }#login-view .hero-panel { grid-template-columns:1fr; gap:36px; padding:38px 0; }#login-view .hero-message h1 { max-width:680px; }#login-view .benefits-row { max-width:850px; }#login-view .sign-in-panel { justify-self:start; max-width:520px; min-height:330px; }#login-view .highlight-grid { grid-template-columns:1fr; }#login-view .portal-footer { position:relative; grid-template-columns:1fr; gap:15px; padding:22px 24px; }#login-view .portal-footer > span { display:none; }#login-view .portal-footer div:nth-of-type(2), #login-view .portal-footer strong { justify-self:start; }
}

@media (max-width:640px) {#login-view .portal-content { width:calc(100% - 30px); padding-bottom:34px; }#login-view .portal-brand { gap:12px; }#login-view .portal-brand img { width:66px; height:70px; }#login-view .portal-brand strong { font-size:20px; }#login-view .hero-panel { padding:25px 0 36px; }#login-view .hero-message h1 { margin-bottom:27px; font-size:34px; line-height:1.12; letter-spacing:-.035em; }#login-view .headline-line { white-space:normal; }#login-view .benefits-row { grid-template-columns:1fr; gap:17px; }#login-view .benefit-item { grid-template-columns:46px 1fr; }#login-view .benefit-symbol { width:46px; height:46px; }#login-view .sign-in-panel { min-height:310px; padding:28px 20px; }#login-view .sign-in-panel > img { width:92px; height:96px; }#login-view #login-form > button { min-height:62px; gap:15px; padding:0 15px; font-size:16px; }#login-view .highlights { padding-top:22px; }#login-view .highlight-card { grid-template-columns:58px 1fr 20px; gap:14px; min-height:132px; padding:15px; }#login-view .highlight-icon { width:56px; height:56px; }#login-view .highlight-card h3 { font-size:18px; }#login-view .highlight-card p { font-size:13px; }
}

@media (prefers-reduced-motion:reduce) {#login-view * { scroll-behavior:auto!important; transition:none!important; } }


/* Only the anonymous layout changes; authenticated shell uses original CSS. */
body.login-screen > .shell { display:block; }
body.login-screen > .shell > .sidebar,
body.login-screen > .shell > main > header { display:none; }
body.login-screen > .shell > main { padding:0; max-width:none; }
#login-view { padding:0; margin:0; border:0; border-radius:0; color:#fff; font-family:var(--font-geist-sans),"Segoe UI",Arial,sans-serif; }
#login-view .portal-header { margin:0; }
#login-view .portal-brand { margin:0; color:white; }
#login-view .portal-brand > span { padding:0; border-radius:0; }
#login-view .portal-header nav { width:auto; }
#login-view .sign-in-panel { gap:22px; }
#login-view #google-login { width:100%; display:flex; justify-content:center; }
#login-view #google-login > p { display:none; }
#login-view #google-button { width:100%; max-width:320px; }
#login-view #login-instruction { text-align:center; line-height:1.5; }
#login-view #login-form { width:100%; }
#login-view #login-form label { display:grid; gap:8px; }
#login-view #login-form input { width:100%; background:white; color:#10213a; padding:12px; border-radius:8px; }
#login-view #login-form button { min-height:46px; margin-top:12px; }
#login-view .trial-login-panel { width:100%; background:#fff; color:#10213a; }
#login-view .trial-login-panel button { min-height:52px; font-size:14px; padding:8px; }
#login-view .error { color:#ffbdc5; font-size:14px; line-height:1.5; }
#login-view #login-error:empty { display:none; }
#login-view .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#login-view .highlight-card { grid-template-columns:76px 1fr; }
#login-view .portal-updates { margin-top:24px; }
#login-view .portal-updates > summary { cursor:pointer; padding:14px 0; font-size:14px; color:#dbe3eb; }
#login-view .current-version { background:none; color:inherit; padding:0; font-size:inherit; }
#login-view .release-notes { background:#fff; color:#172033; border-radius:14px; padding:24px; margin-bottom:24px; }
#login-view .release-notes p { color:#46546a; }
#login-view .portal-footer { position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; padding:20px max(24px,calc((100% - 1760px)/2)); }
#login-view .portal-footer > span { width:auto; height:auto; background:none; font-size:14px; }
#login-view .portal-content { padding-bottom:24px; }
#login-view a:focus-visible,#login-view summary:focus-visible { outline:2px solid #f6c23e; outline-offset:5px; }
@media(max-width:640px) {
 #login-view .sign-in-panel { padding:28px 12px; }
 #login-view .highlight-card { grid-template-columns:58px 1fr; }
 #login-view .hotel-background { object-fit:contain; object-position:center top; }
}
#login-view #trial-login-buttons button { display:flex; gap:12px; width:100%; align-items:center; text-align:left; }
#login-view [hidden] { display:none !important; }
#login-view #trial-login-buttons { display:flex; flex-direction:column; gap:12px; }
#login-view #fill-test { min-height:0; padding:4px; width:auto; background:none; box-shadow:none; }
@media(max-width:1100px) { #login-view .headline-line { white-space:normal; } }
