/* Shared hotel identity: official Ciao emblem, Saigon Ruby legal company. */
:root{--ruby:#8c2541;--ruby-dark:#6c1930;--ruby-soft:#f7edf0;--paper:#f7f5f1;--ink:#283d37;--gold:#dfcaa7}
body{background:var(--paper);color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#ae6d82}
.btn.primary{background:var(--ruby);border-color:var(--ruby)}
.btn.primary:hover{background:var(--ruby-dark);border-color:var(--ruby-dark)}
.hotel-lockup{display:flex;align-items:center;gap:13px;min-width:0}
.hotel-emblem{display:block;flex:0 0 auto;width:64px;height:64px;object-fit:contain}
.hotel-type{display:flex;flex-direction:column;gap:6px;min-width:0}
.hotel-type strong{font-family:Georgia,'Times New Roman',serif;font-size:1.6rem;font-weight:normal;line-height:1.15;color:var(--ruby-dark);letter-spacing:-.035em}
.hotel-type small{font-size:.6rem;letter-spacing:.16em;color:#6b786f;line-height:1.5}
.sidebar{background:#fffdfb;border-color:#e7e0d8;padding-top:26px}
.sidebar .brand{padding:0 0 24px;display:block}
.sidebar .hotel-lockup{gap:9px}
.sidebar .hotel-emblem{width:44px;height:44px}
.sidebar .hotel-type strong{font-size:1.16rem}
.sidebar .hotel-type small{font-size:.52rem;letter-spacing:.09em}
.sidebar .property{padding:13px 12px;background:#f8f4f0;border-color:#e9e0d7;margin-bottom:17px}
.sidebar .property>svg{display:none}
.organization-identity{line-height:1.5}
.organization-identity .identity-label{display:block;margin:0 0 6px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#8c756b}
.organization-identity strong{font-size:.85rem;font-weight:600;line-height:1.55;color:#563b3d}
.organization-identity small{font-size:.71rem;color:#777c72;margin-top:6px}
.nav a{color:#66786d}
.nav a:hover{background:#f7f3ef}
.nav a.active{background:var(--ruby-soft);color:var(--ruby)}
.nav .count{background:var(--ruby)}
.topbar{background:#fffdfb;border-color:#e7e0d8}
.page-title h1{letter-spacing:-.035em}
.card{border-color:#e7e2da;box-shadow:0 2px 4px #3b2d1f04}
.mobile-brand .hotel-emblem{width:34px;height:34px}
.mobile-brand .hotel-lockup{gap:8px}
.mobile-brand .hotel-type strong{font-size:1.02rem}
.mobile-brand .hotel-type small{display:none}
.organization-mobile{background:#fbf6f1;border:1px solid #e9e0d7}
.bottom-nav a.active{background:var(--ruby-soft);color:var(--ruby)}
.boot{justify-items:center;gap:12px;background:var(--paper)}
.boot strong{font-family:Georgia,serif;font-size:1.5rem;color:var(--ruby-dark);font-weight:normal}
.boot p{margin-top:10px}

/* Login is one responsive surface; the legal name remains visible on mobile. */
.login-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:0 clamp(24px,4.2vw,68px);background:var(--paper)}
.login-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:1370px;margin:0 auto;padding:25px 0;border-bottom:1px solid #e3dcd3}
.login-company{display:flex;flex-direction:column;align-items:flex-end;gap:2px;border-left:1px solid #dcd0c7;padding:2px 0 2px 30px}
.login-company span{font-size:.65rem;letter-spacing:.2em;color:#897369;font-weight:600}
.login-company strong{font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;line-height:1.3;letter-spacing:.11em;color:var(--ruby);font-weight:normal}
.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;max-width:1370px;width:100%;margin:28px auto;flex:1;min-height:570px}
.login-brand{display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-height:0;border-radius:22px;background:#213f35;padding:clamp(30px,3.5vw,52px);color:#fffdf8}
.login-panel-kicker{display:flex;align-items:center;gap:10px;font-size:.62rem;letter-spacing:.15em;color:#e0d7c4;line-height:1.5}
.login-panel-line{width:22px;height:1px;background:var(--gold)}
.login-brand h1{margin:0 0 22px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.4vw,3.3rem);font-weight:normal;line-height:1.2;letter-spacing:-.045em;max-width:none}
.login-brand h1 em{font-weight:normal;color:var(--gold)}
.login-brand .login-intro p{color:#cad4c8;font-size:.92rem;line-height:1.8;max-width:395px}
.login-features{display:grid;gap:21px;margin:0}
.login-feature{display:flex;align-items:center;gap:15px}
.login-feature>svg{width:21px;height:21px;color:var(--gold);stroke-width:1.5}
.login-feature>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.login-feature strong{font-size:.84rem;font-weight:500;color:#f7f4e9}
.login-feature span{font-size:.74rem;color:#b9c9bd;line-height:1.6}
.login-ownership{padding-top:24px;border-top:1px solid #ffffff28;display:flex;flex-direction:column;gap:4px}
.login-ownership>span{font-size:.58rem;letter-spacing:.17em;color:#b4c6b7}
.login-ownership strong{font-family:Georgia,serif;font-size:1.17rem;font-weight:normal;color:#f6ecdd}
.login-ownership p{font-size:.77rem;color:#c6d2c5;line-height:1.5}
.login-form-wrap{display:flex;align-items:center;justify-content:center;background:#fffdfb;border:1px solid #e8e0d6;border-radius:22px;padding:clamp(30px,4.5vw,64px)}
.login-form{max-width:370px;width:100%}
.login-form-kicker{font-size:.61rem;letter-spacing:.17em;font-weight:650;color:var(--ruby);margin-bottom:15px}
.login-form h2{font-size:clamp(1.5rem,2.2vw,1.95rem);line-height:1.3;letter-spacing:-.04em;font-weight:600;color:#2f3f37;margin:0 0 10px}
.login-form>p{font-size:.82rem;color:#7c8176;line-height:1.75;margin:0 0 29px}
.login-form form{gap:18px}
.login-form label{font-size:.8rem;color:#46584b;gap:8px}
.login-form input{min-height:48px;background:#fff;border-color:#deded3;border-radius:8px;font-size:.85rem;padding:12px 14px}
.login-form input::placeholder{color:#8c958b}
.login-field{display:grid;gap:8px}
.password-control{position:relative}
.password-control input{width:100%;padding-right:76px}
.password-toggle{position:absolute;right:2px;top:2px;bottom:2px;min-width:64px;min-height:44px;border-radius:6px;color:var(--ruby);font-size:.77rem;font-weight:650;background:#f8f3ed}
.password-toggle:hover{background:#eee5dc}
.password-toggle:focus-visible{outline-offset:1px}
.login-form .remember-login{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-weight:500;line-height:1.45}
.login-form .remember-login input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:2px 0 0;padding:0;accent-color:var(--ruby)}
.remember-login span{display:grid;gap:2px}
.remember-login small{font-size:.68rem;font-weight:400;color:#858b80}
.login-form .form-message:empty{display:none}
.login-form form>.btn{min-height:48px;margin-top:7px;background:var(--ruby);border-color:var(--ruby);border-radius:8px;justify-content:space-between;padding-left:19px;padding-right:19px}
.login-form form>.btn:hover{background:var(--ruby-dark);border-color:var(--ruby-dark)}
.login-form .demo-options{margin-top:26px;padding-top:20px;border-color:#eae2d9}
.login-form .demo-options .eyebrow{font-size:.6rem;letter-spacing:.11em;color:#806e61}
.login-form .demo-options p{font-size:.72rem;color:#7a8277;line-height:1.6}
.login-form .demo-roles .btn{border-color:#e8e0d6;background:#fcfaf6;color:#596854;font-size:.76rem;margin:0}
.login-form .demo-roles .btn:hover{background:#f3ede4}
.login-security{display:flex;align-items:flex-start;justify-content:center;gap:7px;text-align:left;color:#737e70;font-size:.68rem;line-height:1.6;margin-top:24px}
.login-security svg{width:15px;height:15px;color:#8a987b;margin-top:1px}
.login-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:1370px;width:100%;margin:0 auto;padding:0 0 22px;font-size:.67rem;color:#8b887b;line-height:1.7}
.login-footer span[aria-hidden]{padding:0 5px}
@media(min-width:1450px){.login-layout{flex:0 0 auto;min-height:650px}.login-topbar{margin-top:12px}.login-footer{margin-top:2px}}
@media(min-width:701px) and (max-width:1050px){.login-page{padding:0 26px}.login-layout{gap:18px}.login-brand{padding:29px;gap:25px}.login-form-wrap{padding:29px}.login-brand h1{font-size:2.2rem}.login-feature span{font-size:.7rem}.login-company strong{font-size:1.3rem}.login-hotel .hotel-type strong{font-size:1.4rem}}
@media(max-width:700px){
  .login-page{padding:0 22px;min-height:100dvh;background:#fffdfb}
  .login-topbar{padding:25px 0 20px;gap:17px;flex-direction:column;align-items:flex-start}
  .login-hotel .hotel-emblem{width:51px;height:51px}
  .login-hotel .hotel-type strong{font-size:1.45rem}
  .login-hotel .hotel-type small{font-size:.55rem;letter-spacing:.12em}
  .login-company{border:0;padding:0;align-items:center;flex-direction:row;flex-wrap:wrap;gap:8px}
  .login-company span{font-size:.6rem;letter-spacing:.1em}
  .login-company strong{font-family:inherit;font-size:.78rem;font-weight:650;letter-spacing:.1em}
  .login-layout{display:block;min-height:0;margin:32px auto 24px;max-width:420px;flex:1}
  .login-brand{display:none}
  .login-form-wrap{display:block;border:0;background:transparent;border-radius:0;padding:0}
  .login-form{max-width:none}
  .login-form-kicker{font-size:.6rem;margin-bottom:11px}
  .login-form h2{font-size:1.7rem}
  .login-form>p{font-size:.83rem;margin-bottom:26px}
  .login-form input{font-size:1rem;min-height:50px}
  .login-form form>.btn{min-height:50px}
  .login-footer{border-top:1px solid #ebe4da;padding:17px 0 max(22px,env(safe-area-inset-bottom));display:block;font-size:.65rem}
  .login-footer>span{display:block}
  .login-footer>span+span{margin-top:4px;color:#8e9588}
  .topbar-right{gap:10px}
  .mobile-brand .hotel-type strong{font-size:.95rem}
  .organization-mobile{padding:11px 14px}
  .organization-mobile .identity-label{font-size:.58rem;margin:0 0 2px}
  .organization-mobile strong{font-size:.81rem}
  .organization-mobile small{font-size:.69rem;margin-top:2px}
}
@media(max-width:375px){.login-page{padding:0 18px}.mobile-brand .hotel-type strong{font-size:.86rem}.mobile-brand .hotel-emblem{width:28px;height:28px}.topbar-right{gap:6px}.topbar .demo-pill{font-size:.6rem;padding:4px 6px}}
