/* HotelPreflight v0.17.2 — public landing / sign-in presentation + hero reveal only.
   No auth, API, tenant, registration, PMS or Preflight behavior changes. */

#authScreen.auth-screen{
  min-height:100vh;
  padding:0;
  display:block;
  justify-items:stretch;
  align-items:stretch;
  background:#eef3fb;
  color:#122b52;
}
.landing-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr);background:linear-gradient(135deg,#f4f7fc 0%,#edf3fb 100%)}
.landing-sidebar{
  position:sticky;top:0;height:100vh;z-index:3;
  display:flex;flex-direction:column;gap:24px;
  padding:24px 18px 18px;
  background:linear-gradient(180deg,#0c2a52 0%,#123967 100%);
  border-inline-end:1px solid rgba(255,255,255,.09);
  color:#fff;
}
.landing-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:2px 4px 20px;border-bottom:1px solid rgba(255,255,255,.12)}
.landing-brand-logo{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.landing-brand-logo .brand-logo{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;object-fit:contain}
.landing-brand-copy{min-width:0;display:grid;gap:3px}
.landing-brand-copy strong{font-size:18px;line-height:1.1}
.landing-brand-copy small{font-size:11px;line-height:1.35;color:#b8c8de}
.landing-nav{display:grid;gap:8px}
.landing-nav-link{min-height:46px;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;color:#c8d5e8;text-decoration:none;font-size:14px;font-weight:800;transition:background .16s ease,color .16s ease,transform .16s ease}
.landing-nav-link:hover,.landing-nav-link:focus-visible{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px);outline:none}
.landing-nav-link.active{background:#fff;color:#17365f;box-shadow:0 10px 24px rgba(4,18,42,.18)}
.landing-nav-icon{width:22px;text-align:center;font-size:15px;color:#80a5d8}
.landing-nav-link.active .landing-nav-icon{color:#2c67c9}
.landing-sidebar-bottom{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.landing-sidebar-bottom p{margin:0 4px;color:#b3c4da;font-size:11px;line-height:1.55}

.landing-stage{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.landing-ticker.slogan-ticker{grid-column:auto;grid-row:auto;flex:0 0 38px;height:38px;border-bottom:0;box-shadow:0 4px 16px rgba(16,37,74,.08)}
.landing-ticker .slogan-ticker-track{animation-duration:30s}
.landing-ticker .slogan-ticker-group{gap:22px;padding-right:22px}
.landing-ticker .slogan-ticker-text{font-size:12px}
.landing-public-header{
  min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:8px 38px;border-bottom:1px solid #dce5f1;background:rgba(255,255,255,.9);
  box-shadow:0 6px 20px rgba(16,37,74,.035);backdrop-filter:blur(10px);
}
.landing-public-brandmark{display:flex;align-items:center;gap:9px;color:#6b7e98;font-size:11px;letter-spacing:.13em}
.landing-public-dot{width:8px;height:8px;border-radius:999px;background:#c69b3c;box-shadow:0 0 0 4px rgba(198,155,60,.12)}
.landing-language-control{display:flex;align-items:center;gap:8px;padding:5px 6px 5px 10px;border:1px solid #d4dfed;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(20,48,85,.05)}
.landing-language-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#eef4ff;color:#1e56ad;font-size:11px;font-weight:900}
#landingLangSelect{min-width:72px;height:36px;border:0;background:transparent;color:#17365f;font-weight:850;outline:none;cursor:pointer}
.landing-main{flex:1;display:grid;align-content:center;gap:22px;width:min(1240px,100%);margin:0 auto;padding:38px 38px 44px}
.landing-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.72fr);gap:36px;align-items:center}
.landing-copy{max-width:720px;padding:18px 4px;position:relative;isolation:isolate}
.landing-copy::before{content:"";position:absolute;z-index:-1;inset:-34px -34px -30px -26px;border-radius:34px;background:radial-gradient(circle at 24% 34%,rgba(47,105,229,.13),transparent 42%),radial-gradient(circle at 76% 20%,rgba(198,155,60,.11),transparent 34%);filter:blur(1px);animation:landingHeroGlow 5.6s ease-in-out infinite alternate;pointer-events:none}
.landing-copy>.landing-eyebrow,.landing-copy>h1,.landing-copy>.landing-intro,.landing-copy>.landing-cta,.landing-copy>.landing-status-row{animation:landingRiseFlash .78s cubic-bezier(.2,.78,.22,1) both;will-change:transform,opacity,filter}
.landing-copy>.landing-eyebrow{animation-delay:.04s}
.landing-copy>h1{animation-delay:.14s}
.landing-copy>.landing-intro{animation-delay:.26s}
.landing-copy>.landing-cta{animation-delay:.38s}
.landing-copy>.landing-status-row{animation-delay:.50s}
.landing-eyebrow,.landing-login-eyebrow,.landing-feature-kicker{margin:0 0 10px;color:#5f7392;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.landing-copy .landing-eyebrow{display:flex;align-items:center;gap:10px;color:#315f9e}
.landing-copy .landing-eyebrow::before{content:"";width:28px;height:2px;border-radius:999px;background:linear-gradient(90deg,#c69b3c,#efd58f);box-shadow:0 0 0 4px rgba(198,155,60,.08)}
.landing-copy h1{margin:0;max-width:760px;font-size:clamp(38px,4vw,60px);line-height:1.02;letter-spacing:-.035em;color:#0e2d58;text-shadow:0 10px 34px rgba(19,57,103,.10)}
.landing-intro{max-width:660px;margin:20px 0 0;padding-left:14px;border-left:3px solid rgba(198,155,60,.5);color:#5e6f87;font-size:18px;line-height:1.55}
.landing-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.landing-register-cta{min-height:48px;padding:12px 20px;font-size:15px}
.landing-status-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;color:#5d6d84;font-size:12px;font-weight:850}
.landing-status-row>span{display:flex;align-items:center;gap:7px}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:999px;box-shadow:0 0 0 4px rgba(88,119,168,.09)}
.status-dot.ready{background:#25a55b}.status-dot.risk{background:#bb7900}.status-dot.blocked{background:#cb3a31}

#authScreen .auth-card.landing-login-card{width:100%;max-width:440px;justify-self:end;padding:24px;border-radius:22px;border:1px solid #d7e1ef;box-shadow:0 28px 65px rgba(17,43,80,.16);background:rgba(255,255,255,.97);scroll-margin-top:62px}
#authScreen .landing-login-card .auth-brand{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #e8edf5}
#authScreen .landing-login-card .auth-brand .brand-logo{width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important;object-fit:contain}
#authScreen .landing-login-card .auth-brand-copy{display:grid;gap:3px;min-width:0}
#authScreen .landing-login-card .auth-brand-copy strong{display:block;font-size:18px;line-height:1.1;color:#122b52}
#authScreen .landing-login-card .auth-brand-copy small{display:block;color:#66778f;font-size:11px;line-height:1.4}
#authScreen .landing-login-card h2{margin:0 0 5px;font-size:27px;line-height:1.15;color:#122b52}
#authScreen .landing-login-card .landing-login-eyebrow{margin-bottom:7px;color:#6b7e9a}
#authScreen .landing-login-card .landing-login-intro{margin:0 0 16px;color:#718098;font-size:14px}
#authScreen .landing-login-card .field{margin:11px 0}
#authScreen .landing-login-card .field input{min-height:45px;background:#fbfcfe}
#authScreen .landing-login-card .auth-error{margin:6px 0;min-height:18px}
#authScreen .landing-login-card .auth-actions{margin-top:3px}
#authScreen .landing-login-card .auth-actions select{min-height:45px;border:1px solid #cbd7e8;border-radius:11px;padding:0 10px;background:#173e72;color:#fff;font-weight:800}
#authScreen .landing-login-card .auth-actions .primary{min-height:45px}
#authScreen .landing-login-card .auth-register-link{margin-top:18px;padding-top:15px;border-top:1px solid #e8edf5;text-align:center;color:#7a8799;font-size:13px}
#authScreen .landing-login-card .auth-register-btn{border:0;background:transparent;color:#2766e8;font-weight:850;cursor:pointer;padding:5px 7px}
#authScreen .landing-login-card .auth-register-btn:hover{text-decoration:underline}

.landing-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.landing-feature-card{min-height:150px;display:flex;gap:14px;padding:19px;border:1px solid #d7e1ef;border-radius:18px;background:rgba(255,255,255,.76);box-shadow:0 10px 30px rgba(17,43,80,.06);scroll-margin-top:60px}
.landing-feature-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eaf1ff;color:#2364d9;font-size:18px;font-weight:900}
.landing-feature-card:nth-child(2) .landing-feature-icon{background:#e9f8ef;color:#128244}
.landing-feature-card:nth-child(3) .landing-feature-icon{background:#fff4dc;color:#9a6500}
.landing-feature-kicker{margin-bottom:6px;font-size:10px}
.landing-feature-card h2{margin:0;color:#14345f;font-size:18px;line-height:1.25}
.landing-feature-card p:last-child{margin:8px 0 0;color:#6a7a91;font-size:13px;line-height:1.5}

html[data-hpf-host-mode="root"] #authScreen .landing-login-card h2,
html[data-hpf-host-mode="root"] #authScreen .landing-login-card .auth-register-link,
html[data-hpf-host-mode="root"] #authScreen .landing-login-card #authLangSelect{display:none!important}
html[data-hpf-host-mode="root"] #authScreen .landing-login-card .auth-actions{display:block}
html[data-hpf-host-mode="root"] #authScreen .landing-login-card .auth-actions .primary{width:100%}

html[data-hpf-host-mode="tenant"] #authScreen.auth-screen{display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0d1f3d 0%,#163f78 55%,#eef3ff 55%,#f7f9fd 100%)}
html[data-hpf-host-mode="tenant"] .landing-shell{display:block;min-height:auto;background:transparent}
html[data-hpf-host-mode="tenant"] .landing-sidebar,
html[data-hpf-host-mode="tenant"] .landing-ticker,
html[data-hpf-host-mode="tenant"] .landing-public-header,
html[data-hpf-host-mode="tenant"] .landing-copy,
html[data-hpf-host-mode="tenant"] .landing-features{display:none!important}
html[data-hpf-host-mode="tenant"] .landing-stage{display:block;min-height:auto}
html[data-hpf-host-mode="tenant"] .landing-main{display:block;width:auto;margin:0;padding:0}
html[data-hpf-host-mode="tenant"] .landing-hero{display:block}
html[data-hpf-host-mode="tenant"] #authScreen .auth-card.landing-login-card{width:min(430px,94vw);max-width:none;justify-self:auto;padding:28px}


@keyframes landingRiseFlash{
  0%{opacity:0;transform:translateY(30px);filter:blur(7px)}
  58%{opacity:1;transform:translateY(-3px);filter:blur(0)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
@keyframes landingHeroGlow{
  0%{opacity:.62;transform:translateY(8px) scale(.985)}
  100%{opacity:1;transform:translateY(-4px) scale(1.02)}
}

@media(max-width:1050px){
  .landing-shell{grid-template-columns:220px minmax(0,1fr)}
  .landing-public-header{padding-inline:26px}
  .landing-main{padding:30px 26px 36px}
  .landing-hero{grid-template-columns:1fr minmax(340px,.8fr);gap:24px}
  .landing-copy h1{font-size:clamp(34px,4.7vw,50px)}
  .landing-intro{font-size:16px}
  .landing-features{grid-template-columns:1fr}
  .landing-feature-card{min-height:auto}
}
@media(max-width:780px){
  .landing-shell{display:block;min-height:100vh}
  .landing-sidebar{position:sticky;top:0;height:auto;z-index:6;padding:9px 10px;display:flex;flex-direction:row;align-items:center;gap:8px;overflow-x:auto;border-inline-end:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .landing-brand{flex:0 0 auto;padding:0 9px 0 0;border-bottom:0;border-inline-end:1px solid rgba(255,255,255,.13)}
  .landing-brand-logo{width:42px;height:42px;border-radius:11px}.landing-brand-logo .brand-logo{width:39px!important;height:39px!important;min-width:39px!important;min-height:39px!important}
  .landing-brand-copy{display:none}
  .landing-nav{display:flex;gap:5px;min-width:max-content}
  .landing-nav-link{min-height:40px;padding:8px 10px;font-size:12px}.landing-nav-icon{width:18px}
  .landing-sidebar-bottom{display:none}
  .landing-ticker.slogan-ticker{height:34px;flex-basis:34px}
  .landing-public-header{min-height:50px;padding:6px 14px}
  .landing-public-brandmark{font-size:10px}
  .landing-main{padding:22px 14px 32px;gap:16px}
  .landing-hero{display:flex;flex-direction:column;gap:18px}
  .landing-copy{max-width:none;padding:8px 2px 0}
  .landing-copy h1{font-size:clamp(34px,10vw,46px)}
  .landing-intro{margin-top:14px;font-size:15px}
  .landing-cta{margin-top:18px}
  .landing-status-row{margin-top:18px;gap:13px}
  #authScreen .auth-card.landing-login-card{justify-self:stretch;max-width:none;padding:20px}
  .landing-features{grid-template-columns:1fr;gap:10px}
  .landing-feature-card{padding:16px;border-radius:15px}
}
@media(max-width:480px){
  .landing-nav-link span:last-child{display:none}
  .landing-nav-link{padding:8px 9px}.landing-nav-icon{font-size:16px}
  .landing-copy h1{font-size:34px}
  .landing-cta{display:block}.landing-register-cta{width:100%;padding-inline:12px}
  #authScreen .landing-login-card .auth-brand .brand-logo{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important}
}
@media(prefers-reduced-motion:reduce){.landing-nav-link{transition:none}.landing-copy::before,.landing-copy>.landing-eyebrow,.landing-copy>h1,.landing-copy>.landing-intro,.landing-copy>.landing-cta,.landing-copy>.landing-status-row{animation:none!important}}

/* v0.17.4 — keep ticker + public header together during anchor navigation.
   Presentation only: no auth, registration, tenant, PMS or Preflight behavior changes. */
.landing-sticky-head{display:block}
@media (min-width:781px){
  .landing-sticky-head{
    position:sticky;
    top:0;
    z-index:9;
    background:#fff;
    box-shadow:0 6px 18px rgba(16,37,74,.045);
  }
  .landing-sticky-head .landing-ticker.slogan-ticker,
  .landing-sticky-head .landing-public-header{
    position:relative;
    top:auto;
  }
  #landingHome,
  .landing-feature-card{
    scroll-margin-top:112px;
  }
}

/* v0.18.0 — public pricing, contact and legal navigation for Paddle live review.
   Presentation only. Tenant workspaces remain unchanged. */
.landing-commercial{scroll-margin-top:112px;padding:26px;border:1px solid #d7e1ef;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(17,43,80,.07)}
.landing-commercial-head{max-width:760px;margin-bottom:18px}
.landing-commercial-head h2,.landing-contact-card h2{margin:0;color:#14345f;font-size:26px;line-height:1.2}
.landing-commercial-head>p:last-child,.landing-contact-card p{margin:8px 0 0;color:#687990;line-height:1.55}
.landing-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.landing-price-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:245px;padding:22px;border:1px solid #d9e3f0;border-radius:18px;background:#f9fbff}
.landing-price-card.landing-price-featured{border-color:#a8c2f6;background:linear-gradient(180deg,#f8fbff 0%,#eef4ff 100%)}
.landing-price-name{margin:0;color:#294a76;font-size:17px;font-weight:900}
.landing-price-value{display:flex;align-items:baseline;gap:7px;margin:12px 0 9px;color:#14345f}
.landing-price-value strong{font-size:40px;line-height:1;letter-spacing:-.04em}
.landing-price-value span{color:#75849a;font-size:14px;font-weight:700}
.landing-price-card>p:nth-of-type(3){flex:1;margin:0 0 20px;color:#65768f;line-height:1.55}
.landing-price-card .landing-register-cta{width:100%;justify-content:center}
.landing-save-badge{position:absolute;top:18px;right:18px;padding:6px 9px;border-radius:999px;background:#e8eef8;color:#355278;font-size:11px;font-weight:900}
.landing-tax-note{margin:16px 0 0;color:#718097;font-size:12px;line-height:1.55;text-align:center}
.landing-contact-card{scroll-margin-top:112px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 26px;border:1px solid #d7e1ef;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f4f8ff 100%);box-shadow:0 10px 30px rgba(17,43,80,.055)}
.landing-contact-link{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #b8c9e2;border-radius:12px;background:#fff;color:#1e5fcb;text-decoration:none;font-weight:900}
.landing-contact-link:hover,.landing-contact-link:focus-visible{border-color:#2c67c9;outline:none}
.landing-legal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:4px 2px 0;color:#708098;font-size:12px}
.landing-legal-footer nav{display:flex;gap:16px;flex-wrap:wrap}
.landing-legal-footer a{color:#365d92;text-decoration:none;font-weight:800}
.landing-legal-footer a:hover,.landing-legal-footer a:focus-visible{text-decoration:underline;outline:none}
.landing-legal-footer p{margin:0;text-align:right}
html[data-hpf-host-mode="tenant"] .landing-root-only{display:none!important}
@media(max-width:780px){
  .landing-commercial{padding:19px 16px;border-radius:18px}
  .landing-pricing-grid{grid-template-columns:1fr}
  .landing-contact-card{align-items:flex-start;flex-direction:column;padding:19px 16px}
  .landing-contact-link{width:100%}
  .landing-legal-footer{align-items:flex-start;flex-direction:column;padding-bottom:8px}
  .landing-legal-footer p{text-align:left}
}
