/* HotelShift v1.4.9 — premium login + mobile dashboard responsiveness
   Affected-only CSS. Keeps current OTP/auth visual language while fixing mobile overflow. */

:root{
    --hs-mobile-green:#10b981;
    --hs-mobile-green-dark:#059669;
    --hs-mobile-ink:#101828;
    --hs-mobile-muted:#667085;
    --hs-mobile-line:rgba(15,23,42,.075);
    --hs-mobile-glass:rgba(255,255,255,.78);
    --hs-mobile-shadow:0 28px 80px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.86);
}

/* ===== Premium login, matched to OTP screen ===== */
.hs-auth-premium-body{
    min-height:100vh;
    margin:0;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--hs-mobile-ink);
    background:
        radial-gradient(circle at 12% 10%, rgba(16,185,129,.16), transparent 30%),
        radial-gradient(circle at 88% 14%, rgba(59,130,246,.10), transparent 32%),
        linear-gradient(135deg,#f8fbfa 0%,#eef8f4 48%,#f7fbff 100%);
    overflow-x:hidden;
}
.hs-auth-premium-scene{
    width:min(1180px,calc(100% - 32px));
    min-height:100vh;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
    gap:28px;
    align-items:center;
    padding:32px 0;
    box-sizing:border-box;
}
.hs-auth-premium-card,
.hs-auth-preview-card{
    border:1px solid rgba(255,255,255,.74);
    background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.62));
    border-radius:46px;
    box-shadow:var(--hs-mobile-shadow);
    backdrop-filter:blur(20px) saturate(150%);
    -webkit-backdrop-filter:blur(20px) saturate(150%);
}
.hs-auth-premium-card{padding:42px;}
.hs-auth-premium-hero{display:grid;grid-template-columns:88px minmax(0,1fr);gap:24px;align-items:start;margin-bottom:34px;}
.hs-auth-premium-icon{
    width:88px;height:88px;border-radius:28px;display:grid;place-items:center;color:#fff;font-size:40px;
    background:linear-gradient(135deg,var(--hs-mobile-green),var(--hs-mobile-green-dark));
    box-shadow:0 22px 45px rgba(16,185,129,.28), inset 0 1px 0 rgba(255,255,255,.28);
}
.hs-auth-eyebrow{display:block;margin:2px 0 8px;color:#0f9f6e;text-transform:uppercase;letter-spacing:.13em;font-size:13px;font-weight:800;}
.hs-auth-premium-hero h1{margin:0;font-size:clamp(38px,5vw,62px);line-height:.98;letter-spacing:-.075em;font-weight:800;color:#0f172a;}
.hs-auth-premium-hero p{margin:20px 0 0;max-width:650px;color:var(--hs-mobile-muted);font-size:18px;line-height:1.7;font-weight:450;}
.hs-auth-alert{display:flex;align-items:flex-start;gap:12px;margin:0 0 20px;padding:15px 16px;border-radius:20px;border:1px solid rgba(248,113,113,.20);background:rgba(254,242,242,.82);color:#b42318;font-size:14px;font-weight:650;line-height:1.5;}
.hs-auth-alert.success{border-color:rgba(16,185,129,.22);background:rgba(236,253,245,.84);color:#047857;}
.hs-auth-form{display:grid;gap:18px;}
.hs-auth-field{display:grid;gap:10px;margin:0;}
.hs-auth-field>span,.hs-auth-row{font-size:14px;font-weight:750;color:#344054;}
.hs-auth-input-wrap{position:relative;display:flex;align-items:center;min-height:64px;border-radius:26px;border:1px solid rgba(15,23,42,.09);background:rgba(255,255,255,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 12px 32px rgba(15,23,42,.035);transition:.18s ease;}
.hs-auth-input-wrap:focus-within{border-color:rgba(16,185,129,.58);box-shadow:0 0 0 6px rgba(16,185,129,.12),inset 0 1px 0 rgba(255,255,255,.92);}
.hs-auth-input-wrap>i{width:58px;text-align:center;color:#0f9f6e;font-size:23px;flex:0 0 58px;}
.hs-auth-input-wrap input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#101828;font-size:16px;font-weight:650;padding:0 18px 0 0;}
.hs-auth-input-wrap input::placeholder{color:#98a2b3;font-weight:500;}
.hs-auth-eye{margin-right:12px;width:42px;height:42px;border:1px solid rgba(15,23,42,.075);background:#fff;border-radius:15px;color:#667085;display:grid;place-items:center;font-size:20px;}
.hs-auth-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#667085;}
.hs-auth-row label{display:inline-flex;align-items:center;gap:8px;margin:0;}
.hs-auth-row a{color:#0f766e;text-decoration:none;font-weight:800;}
.hs-auth-primary{height:70px;border:0;border-radius:28px;background:linear-gradient(135deg,var(--hs-mobile-green),var(--hs-mobile-green-dark));color:#fff;font-size:17px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 24px 48px rgba(16,185,129,.25);margin-top:4px;}
.hs-auth-primary i{font-size:24px;}
.hs-auth-security-note{display:flex;gap:12px;margin-top:28px;padding:18px;border-radius:22px;background:rgba(236,253,245,.58);border:1px solid rgba(16,185,129,.15);color:#4b5563;line-height:1.6;font-size:14px;font-weight:600;}
.hs-auth-security-note i{font-size:22px;color:#0f9f6e;}
.hs-auth-preview-card{padding:28px;display:grid;gap:22px;}
.hs-auth-preview-top{display:flex;align-items:center;gap:14px;}
.hs-auth-mini-logo{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--hs-mobile-green),var(--hs-mobile-green-dark));color:#fff;font-weight:900;box-shadow:0 16px 34px rgba(16,185,129,.22);}
.hs-auth-preview-top strong{display:block;font-size:18px;font-weight:850;letter-spacing:-.03em;}.hs-auth-preview-top small{display:block;color:#667085;font-weight:650;margin-top:3px;}
.hs-auth-preview-stat{padding:28px;border-radius:32px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 48px rgba(15,23,42,.055);}
.hs-auth-preview-stat span{display:block;color:#667085;font-size:14px;font-weight:750;}.hs-auth-preview-stat strong{display:block;margin:12px 0;font-size:40px;line-height:1;letter-spacing:-.07em;font-weight:850;color:#101828;}.hs-auth-preview-stat em{display:inline-flex;border-radius:999px;padding:8px 12px;background:rgba(16,185,129,.12);color:#059669;font-style:normal;font-size:13px;font-weight:850;}
.hs-auth-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}.hs-auth-preview-grid div{padding:18px;border-radius:24px;background:rgba(255,255,255,.64);border:1px solid rgba(255,255,255,.74);}.hs-auth-preview-grid i{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#0f9f6e;background:rgba(16,185,129,.12);font-size:22px;}.hs-auth-preview-grid strong{display:block;margin:12px 0 4px;font-size:26px;letter-spacing:-.05em;}.hs-auth-preview-grid small{color:#667085;font-weight:700;}

/* ===== Global mobile overflow protection ===== */
html, body{max-width:100%;overflow-x:hidden;}
.hs-b-body *{box-sizing:border-box;}
.hs-b-main,.hs-b-dashboard,.hs-b-topbar,.hs-b-top-actions,.hs-b-search,.hs-b-welcome,.hs-b-kpi-grid,.hs-b-top-grid,.hs-b-analytics-grid,.hs-b-bottom-grid,.hs-b-payment-row,.hs-b-ops-grid,.hs-b-build-grid,.hs-b-room-status-row,.hs-b-reservation-row,.hs-b-transaction-card,.hs-b-analytics-card,.hs-b-balance-card,.hs-b-chart-card,.hs-b-mini-card,.hs-b-room-ops-card{min-width:0!important;max-width:100%!important;}
.hs-b-analytics-card,.hs-b-balance-card,.hs-b-mini-card,.hs-b-transaction-card,.hs-b-reservation-card,.hs-b-room-ops-card,.hs-b-plan-card{overflow:hidden!important;}
.hs-b-table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;}
.hs-b-analytics-chart,.hs-b-analytics-chart-large,.apexcharts-canvas,.apexcharts-svg{max-width:100%!important;min-width:0!important;}
.apexcharts-canvas svg{max-width:100%!important;}

@media (max-width: 900px){
    .hs-auth-premium-scene{grid-template-columns:1fr;width:min(100% - 24px,680px);padding:18px 0;}
    .hs-auth-preview-card{display:none;}
    .hs-auth-premium-card{border-radius:38px;padding:30px 26px;}
    .hs-auth-premium-hero{grid-template-columns:72px minmax(0,1fr);gap:18px;margin-bottom:26px;}
    .hs-auth-premium-icon{width:72px;height:72px;border-radius:24px;font-size:34px;}
    .hs-auth-premium-hero p{font-size:16px;line-height:1.65;margin-top:15px;}

    body.hs-b-body{padding:10px!important;background:linear-gradient(135deg,#f8fbfa,#eef8f4 54%,#f8fbff)!important;}
    .hs-b-shell{display:block!important;width:100%!important;max-width:100%!important;min-height:100vh!important;}
    .hs-b-main{width:100%!important;padding:10px!important;border-radius:22px!important;overflow:hidden!important;}
    .hs-b-dashboard{padding:0!important;gap:18px!important;}

    .hs-b-topbar{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;height:auto!important;padding:16px!important;margin-bottom:18px!important;border-radius:22px!important;overflow:hidden!important;}
    .hs-b-search{width:100%!important;height:58px!important;display:flex!important;align-items:center!important;border-radius:999px!important;}
    .hs-b-search input{min-width:0!important;width:100%!important;}
    .hs-b-search kbd{display:none!important;}
    .hs-b-top-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr)) auto!important;gap:10px!important;align-items:center!important;justify-content:stretch!important;overflow:visible!important;}
    .hs-b-top-actions>button,.hs-b-notify-btn{width:100%!important;min-width:0!important;height:56px!important;border-radius:18px!important;}
    .hs-b-theme-toggle-top span,.hs-b-user-link span,.hs-b-user-link>i{display:none!important;}
    .hs-b-user-link{min-width:0!important;justify-content:center!important;}
    .hs-b-user-avatar{width:56px!important;height:56px!important;min-width:56px!important;border-radius:999px!important;}

    .hs-b-welcome{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;padding:28px 22px!important;border-radius:28px!important;min-height:auto!important;}
    .hs-b-welcome h1{font-size:clamp(40px,12vw,58px)!important;line-height:1.06!important;letter-spacing:-.075em!important;margin:0 0 20px!important;}
    .hs-b-welcome p{font-size:18px!important;line-height:1.7!important;max-width:100%!important;}
    .hs-b-welcome-actions{width:100%!important;display:grid!important;grid-template-columns:1fr auto!important;justify-content:stretch!important;gap:12px!important;}
    .hs-b-date{width:100%!important;min-width:0!important;height:60px!important;border-radius:999px!important;white-space:normal!important;}
    .hs-b-welcome-logout{width:58px!important;height:58px!important;border-radius:20px!important;}

    .hs-b-kpi-grid,.hs-b-top-grid,.hs-b-bottom-grid,.hs-b-payment-row,.hs-b-ops-grid,.hs-b-build-grid,.hs-b-plan-analytics-grid,.hs-profile-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;}
    .hs-b-analytics-grid{display:flex!important;flex-direction:column!important;gap:18px!important;overflow:visible!important;}
    .hs-b-analytics-wide{grid-column:auto!important;}
    .hs-b-analytics-card,.hs-b-balance-card,.hs-b-mini-card,.hs-b-chart-card,.hs-b-transaction-card,.hs-b-reservation-card,.hs-b-room-ops-card{width:100%!important;border-radius:28px!important;padding:22px!important;}
    .hs-b-balance-card>strong,.hs-b-mini-card>strong{font-size:clamp(38px,10vw,56px)!important;line-height:1!important;word-break:break-word!important;}
    .hs-b-money-actions{grid-template-columns:1fr!important;gap:12px!important;}
    .hs-b-money-actions button{height:64px!important;border-radius:999px!important;font-size:16px!important;}
    .hs-b-wallet-grid{grid-template-columns:1fr!important;}

    .hs-b-room-solid-grid,.hs-b-room-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
    .hs-b-room-solid{min-height:132px!important;padding:15px!important;border-radius:20px!important;}
    .hs-b-room-queue-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
    .hs-b-room-queue-item{display:grid!important;grid-template-columns:1fr!important;text-align:left!important;gap:12px!important;padding:18px!important;border-radius:22px!important;}
    .hs-b-room-queue-item>div{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important;}
    .hs-b-room-queue-item em{justify-self:center!important;min-width:150px!important;text-align:center!important;border-radius:999px!important;}

    .hs-b-card-head{gap:12px!important;align-items:center!important;}
    .hs-b-card-head h3{font-size:28px!important;line-height:1.1!important;letter-spacing:-.055em!important;}
    .hs-b-card-icon{width:58px!important;height:58px!important;border-radius:20px!important;font-size:26px!important;min-width:58px!important;}
    .hs-b-analytics-chart,.hs-b-analytics-chart-large{height:auto!important;min-height:255px!important;overflow:hidden!important;}

    .hs-b-filter-pills,.hs-b-room-ops-actions,.hs-b-reservation-filters{display:flex!important;overflow-x:auto!important;gap:10px!important;padding-bottom:6px!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
    .hs-b-filter-pills button,.hs-b-room-ops-actions button,.hs-b-reservation-filters button{white-space:nowrap!important;flex:0 0 auto!important;}
}

@media (max-width: 520px){
    .hs-auth-premium-scene{width:calc(100% - 18px);padding:10px 0;}
    .hs-auth-premium-card{padding:26px 20px;border-radius:32px;}
    .hs-auth-premium-hero{grid-template-columns:1fr;gap:16px;text-align:left;}
    .hs-auth-premium-icon{width:76px;height:76px;}
    .hs-auth-premium-hero h1{font-size:46px;}
    .hs-auth-input-wrap{min-height:60px;border-radius:22px;}
    .hs-auth-primary{height:64px;border-radius:24px;}
    .hs-auth-row{font-size:13px;}

    body.hs-b-body{padding:6px!important;}
    .hs-b-main{padding:8px!important;border-radius:18px!important;}
    .hs-b-topbar{padding:14px!important;border-radius:18px!important;}
    .hs-b-top-actions{grid-template-columns:repeat(4,minmax(0,1fr)) 58px!important;gap:8px!important;}
    .hs-b-top-actions>button,.hs-b-notify-btn,.hs-b-user-avatar{height:54px!important;min-height:54px!important;}
    .hs-b-welcome{padding:26px 20px!important;border-radius:26px!important;}
    .hs-b-welcome h1{font-size:42px!important;}
    .hs-b-welcome p{font-size:17px!important;}
    .hs-b-room-solid-grid,.hs-b-room-grid{grid-template-columns:1fr!important;}
    .hs-b-analytics-card,.hs-b-balance-card,.hs-b-mini-card,.hs-b-chart-card,.hs-b-transaction-card,.hs-b-reservation-card,.hs-b-room-ops-card{padding:20px!important;border-radius:26px!important;}
    .hs-b-card-head h3{font-size:26px!important;}
    .hs-b-table-footer{display:grid!important;gap:12px!important;}
    .hs-b-pagination{justify-content:flex-start!important;overflow-x:auto!important;}
}

/* HotelShift v1.5.0 — confidential-safe login marketing panel */
.hs-auth-v150{grid-template-columns:minmax(420px,.95fr) minmax(420px,1fr);gap:34px;}
.hs-auth-v150 .hs-auth-premium-card{padding:42px;}
.hs-auth-login-hero{grid-template-columns:88px minmax(0,1fr);margin-bottom:32px;}
.hs-auth-login-hero h1{font-size:clamp(34px,4vw,48px);line-height:1.04;letter-spacing:-.065em;max-width:620px;}
.hs-auth-login-hero p{font-size:17px;line-height:1.65;max-width:620px;margin-top:16px;}
.hs-auth-help-note{margin-top:28px;padding-top:22px;border-top:1px solid rgba(15,23,42,.07);text-align:center;color:#667085;font-size:14px;font-weight:600;}
.hs-auth-help-note strong{color:#059669;}

.hs-auth-story-card{position:relative;overflow:hidden;padding:38px 38px 34px;border:1px solid rgba(255,255,255,.78);border-radius:46px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(240,253,250,.68));box-shadow:var(--hs-mobile-shadow);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);}
.hs-auth-story-card:before{content:"";position:absolute;inset:-20% -12% auto auto;width:360px;height:360px;border-radius:999px;background:radial-gradient(circle,rgba(16,185,129,.14),transparent 68%);pointer-events:none;}
.hs-story-copy{position:relative;z-index:2;margin-bottom:22px;}
.hs-story-copy h2{margin:0;font-size:clamp(30px,3.4vw,44px);line-height:1.05;letter-spacing:-.065em;font-weight:850;color:#101828;}
.hs-story-copy p{max-width:560px;margin:14px 0 0;color:#059669;font-size:18px;line-height:1.55;font-weight:750;}

.hs-story-visual{position:relative;height:300px;margin:8px 0 28px;border-radius:36px;background:linear-gradient(180deg,rgba(236,253,245,.62),rgba(255,255,255,.35));overflow:hidden;}
.hs-story-orb{position:absolute;left:50%;top:52%;width:360px;height:210px;transform:translate(-50%,-50%);border-radius:50% 50% 44% 44%;background:linear-gradient(180deg,rgba(16,185,129,.10),rgba(16,185,129,.02));}
.hs-story-cloud{position:absolute;width:58px;height:20px;border-radius:999px;background:rgba(255,255,255,.86);box-shadow:18px -10px 0 4px rgba(255,255,255,.82),36px 0 0 rgba(255,255,255,.72);animation:hsFloat 5s ease-in-out infinite;}
.hs-cloud-one{left:46px;top:92px;}.hs-cloud-two{right:72px;top:58px;transform:scale(.8);animation-delay:1s;}
.hs-story-hotel{position:absolute;left:72px;bottom:52px;width:106px;height:125px;border-radius:16px 16px 10px 10px;background:linear-gradient(180deg,#e6f7f2,#ccefe4);border:1px solid rgba(15,23,42,.06);box-shadow:0 24px 42px rgba(15,23,42,.10);display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:20px 16px 12px;}
.hs-story-hotel:before{content:"";position:absolute;left:25px;right:25px;top:-28px;height:36px;border-radius:14px 14px 4px 4px;background:linear-gradient(180deg,#f7fbff,#d9eee9);border:1px solid rgba(15,23,42,.05);}
.hs-story-hotel span{border-radius:6px;background:rgba(255,255,255,.75);border:1px solid rgba(15,23,42,.04);}
.hs-story-hotel strong{grid-column:1/3;text-align:center;font-size:11px;letter-spacing:.08em;color:#047857;}
.hs-story-bell{position:absolute;left:210px;bottom:45px;width:74px;height:54px;display:grid;place-items:center;border-radius:28px 28px 18px 18px;background:linear-gradient(180deg,#fff,#e9f3f0);box-shadow:0 24px 36px rgba(15,23,42,.12);color:#0f9f6e;font-size:32px;}
.hs-story-laptop{position:absolute;right:112px;bottom:60px;width:250px;filter:drop-shadow(0 26px 36px rgba(15,23,42,.14));}
.hs-story-laptop-top{height:150px;border-radius:16px;background:#263642;padding:10px;display:grid;grid-template-columns:42px 1fr;gap:10px;}
.hs-story-sidebar{border-radius:10px;background:linear-gradient(180deg,#f5fbf9,#e2f6ef);position:relative;}
.hs-story-sidebar:before{content:"";position:absolute;inset:15px 10px;background:repeating-linear-gradient(to bottom,#0f9f6e 0 5px,transparent 5px 17px);opacity:.45;border-radius:8px;}
.hs-story-screen{border-radius:12px;background:linear-gradient(180deg,#fff,#f6fbfa);padding:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px;align-items:end;}
.hs-story-screen b{height:28px;border-radius:8px;background:rgba(16,185,129,.13);}.hs-story-screen b:nth-child(2){height:38px}.hs-story-screen b:nth-child(3){height:24px}.hs-story-screen b:nth-child(4){height:46px}
.hs-story-screen em{display:block;height:7px;border-radius:999px;background:rgba(100,116,139,.18);}
.hs-story-laptop-base{height:13px;margin:0 24px;border-radius:0 0 16px 16px;background:linear-gradient(180deg,#d6e1e2,#aebfc2);}
.hs-story-phone{position:absolute;right:54px;bottom:58px;width:72px;height:142px;border-radius:23px;background:#243541;padding:11px 8px;box-shadow:0 22px 36px rgba(15,23,42,.16);}
.hs-story-phone:before{content:"";display:block;width:28px;height:4px;margin:0 auto 10px;border-radius:999px;background:rgba(255,255,255,.28);}
.hs-story-phone i{display:block;height:23px;margin:8px;border-radius:10px;background:linear-gradient(90deg,rgba(16,185,129,.28),rgba(16,185,129,.08));}

.hs-story-features{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;}
.hs-story-features div{display:grid;grid-template-columns:56px 1fr;column-gap:14px;align-items:start;}
.hs-story-features i{grid-row:1/3;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(16,185,129,.12);color:#0f9f6e;font-size:25px;}
.hs-story-features strong{font-size:16px;font-weight:850;line-height:1.25;color:#101828;}.hs-story-features span{margin-top:5px;color:#667085;font-size:14px;line-height:1.55;font-weight:550;}
.hs-story-trust{position:relative;z-index:2;margin-top:26px;padding:15px 18px;border-radius:20px;border:1px solid rgba(16,185,129,.16);background:rgba(236,253,245,.58);color:#475467;font-size:14px;font-weight:700;display:flex;align-items:center;gap:10px;}.hs-story-trust i{color:#0f9f6e;font-size:20px;}
@keyframes hsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

@media (max-width: 980px){
    .hs-auth-v150{grid-template-columns:1fr;width:min(100% - 24px,720px);}
    .hs-auth-story-card{display:none;}
}
@media (max-width: 520px){
    .hs-auth-login-hero{grid-template-columns:1fr;}
    .hs-auth-login-hero h1{font-size:36px;letter-spacing:-.055em;}
    .hs-auth-login-hero p{font-size:15.5px;}
}

/* HotelShift v1.5.1 — login sizing refinements
   Reduces oversized desktop/mobile auth elements while preserving v1.5.0 design language. */
.hs-auth-v150{
    width:min(1080px, calc(100% - 36px));
    gap:28px;
}
.hs-auth-v150 .hs-auth-premium-card,
.hs-auth-v150 .hs-auth-story-card{
    border-radius:38px;
}
.hs-auth-v150 .hs-auth-premium-card{
    padding:34px 36px;
}
.hs-auth-v150 .hs-auth-premium-icon{
    width:70px;
    height:70px;
    border-radius:22px;
    font-size:31px;
}
.hs-auth-v150 .hs-auth-login-hero{
    grid-template-columns:70px minmax(0,1fr);
    gap:18px;
    margin-bottom:25px;
}
.hs-auth-v150 .hs-auth-eyebrow{
    font-size:11px;
    letter-spacing:.14em;
    margin-bottom:6px;
}
.hs-auth-v150 .hs-auth-login-hero h1{
    font-size:clamp(27px, 3vw, 38px);
    line-height:1.08;
    letter-spacing:-.052em;
}
.hs-auth-v150 .hs-auth-login-hero p{
    margin-top:11px;
    font-size:15px;
    line-height:1.58;
    max-width:540px;
}
.hs-auth-v150 .hs-auth-form{
    gap:15px;
}
.hs-auth-v150 .hs-auth-field{
    gap:8px;
}
.hs-auth-v150 .hs-auth-field>span,
.hs-auth-v150 .hs-auth-row{
    font-size:13px;
}
.hs-auth-v150 .hs-auth-input-wrap{
    min-height:54px;
    border-radius:21px;
}
.hs-auth-v150 .hs-auth-input-wrap>i{
    width:50px;
    flex-basis:50px;
    font-size:20px;
}
.hs-auth-v150 .hs-auth-input-wrap input{
    font-size:14.5px;
    font-weight:600;
}
.hs-auth-v150 .hs-auth-eye{
    width:36px;
    height:36px;
    border-radius:13px;
    font-size:18px;
    margin-right:9px;
}
.hs-auth-v150 .hs-auth-primary{
    height:58px;
    border-radius:23px;
    font-size:15px;
    margin-top:2px;
    box-shadow:0 18px 38px rgba(16,185,129,.20);
}
.hs-auth-v150 .hs-auth-primary i{
    font-size:21px;
}
.hs-auth-v150 .hs-auth-security-note{
    margin-top:22px;
    padding:14px 15px;
    border-radius:18px;
    font-size:13px;
    line-height:1.5;
}
.hs-auth-v150 .hs-auth-help-note{
    margin-top:22px;
    padding-top:18px;
    font-size:13px;
}
.hs-auth-v150 .hs-auth-story-card{
    padding:32px;
}
.hs-auth-v150 .hs-story-copy h2{
    font-size:clamp(27px, 2.8vw, 38px);
    line-height:1.08;
}
.hs-auth-v150 .hs-story-copy p{
    font-size:15.5px;
    line-height:1.5;
}
.hs-auth-v150 .hs-story-visual{
    height:260px;
    margin-bottom:22px;
}
.hs-auth-v150 .hs-story-features{
    gap:15px 18px;
}
.hs-auth-v150 .hs-story-features div{
    grid-template-columns:46px 1fr;
    column-gap:12px;
}
.hs-auth-v150 .hs-story-features i{
    width:46px;
    height:46px;
    border-radius:16px;
    font-size:21px;
}
.hs-auth-v150 .hs-story-features strong{
    font-size:14.5px;
}
.hs-auth-v150 .hs-story-features span{
    font-size:13px;
    line-height:1.45;
}
.hs-auth-v150 .hs-story-trust{
    margin-top:20px;
    padding:13px 15px;
    font-size:13px;
    border-radius:18px;
}

@media (max-width: 980px){
    .hs-auth-premium-body{
        display:block;
    }
    .hs-auth-v150{
        width:min(100% - 28px, 620px);
        min-height:100svh;
        align-items:start;
        padding:22px 0;
    }
    .hs-auth-v150 .hs-auth-premium-card{
        padding:30px 28px;
        border-radius:32px;
    }
}

@media (max-width: 520px){
    .hs-auth-premium-body{
        background:
            radial-gradient(circle at 10% 0%, rgba(16,185,129,.14), transparent 34%),
            linear-gradient(135deg,#f8fbfa 0%,#eef8f4 54%,#f7fbff 100%);
    }
    .hs-auth-v150{
        width:100%;
        min-height:100svh;
        padding:12px;
        margin:0;
        align-items:start;
    }
    .hs-auth-v150 .hs-auth-premium-card{
        width:100%;
        max-width:none;
        padding:24px 18px;
        border-radius:28px;
    }
    .hs-auth-v150 .hs-auth-login-hero{
        grid-template-columns:58px minmax(0,1fr);
        gap:14px;
        margin-bottom:22px;
        align-items:start;
    }
    .hs-auth-v150 .hs-auth-premium-icon{
        width:58px;
        height:58px;
        border-radius:19px;
        font-size:26px;
    }
    .hs-auth-v150 .hs-auth-eyebrow{
        font-size:10px;
        letter-spacing:.12em;
    }
    .hs-auth-v150 .hs-auth-login-hero h1{
        font-size:27px;
        line-height:1.12;
        letter-spacing:-.045em;
    }
    .hs-auth-v150 .hs-auth-login-hero p{
        font-size:13.5px;
        line-height:1.55;
        margin-top:9px;
    }
    .hs-auth-v150 .hs-auth-form{
        gap:14px;
    }
    .hs-auth-v150 .hs-auth-input-wrap{
        min-height:50px;
        border-radius:18px;
    }
    .hs-auth-v150 .hs-auth-input-wrap>i{
        width:44px;
        flex-basis:44px;
        font-size:18px;
    }
    .hs-auth-v150 .hs-auth-input-wrap input{
        font-size:14px;
        padding-right:10px;
    }
    .hs-auth-v150 .hs-auth-eye{
        width:34px;
        height:34px;
        margin-right:8px;
        border-radius:12px;
    }
    .hs-auth-v150 .hs-auth-row{
        gap:10px;
        font-size:12.5px;
    }
    .hs-auth-v150 .hs-auth-primary{
        height:54px;
        border-radius:19px;
        font-size:14.5px;
    }
    .hs-auth-v150 .hs-auth-security-note{
        margin-top:18px;
        padding:13px;
        border-radius:17px;
        font-size:12.5px;
    }
    .hs-auth-v150 .hs-auth-help-note{
        margin-top:18px;
        padding-top:16px;
        font-size:12.5px;
    }
}

@media (max-width: 380px){
    .hs-auth-v150{
        padding:8px;
    }
    .hs-auth-v150 .hs-auth-premium-card{
        padding:20px 15px;
        border-radius:24px;
    }
    .hs-auth-v150 .hs-auth-login-hero{
        grid-template-columns:1fr;
        gap:12px;
    }
    .hs-auth-v150 .hs-auth-login-hero h1{
        font-size:25px;
    }
    .hs-auth-v150 .hs-auth-login-hero p{
        font-size:13px;
    }
}



/* ===== v1.5.5 Mobile equal spacing refinement ===== */
@media (max-width: 768px){

    .hs-auth-premium-scene{
        width:100%;
        padding:18px 18px 26px 18px !important;
        gap:18px !important;
        box-sizing:border-box;
        overflow-x:hidden;
    }

    .hs-auth-premium-card,
    .hs-auth-preview-card{
        width:100%;
        max-width:100%;
        margin:0 auto;
        border-radius:30px !important;
        box-sizing:border-box;
    }

    .hs-auth-premium-card{
        padding:24px 20px !important;
    }

    .hs-auth-premium-hero{
        gap:16px !important;
        margin-bottom:22px !important;
    }

    .hs-auth-premium-hero h1{
        font-size:30px !important;
        line-height:1.05 !important;
    }

    .hs-auth-premium-hero p{
        font-size:14px !important;
        margin-top:10px !important;
        line-height:1.55 !important;
    }

    .hs-auth-input-wrap{
        min-height:56px !important;
        border-radius:20px !important;
    }

    .hs-auth-input-wrap > i{
        width:50px !important;
        flex:0 0 50px !important;
        font-size:19px !important;
    }

    .hs-auth-input-wrap input{
        font-size:15px !important;
    }

    .hs-auth-eye{
        width:38px !important;
        height:38px !important;
        font-size:17px !important;
    }

    .hs-auth-submit{
        min-height:56px !important;
        font-size:15px !important;
    }

    .hs-auth-footer{
        margin-top:18px !important;
    }
}



/* ===== v1.5.6 Login form scale closer to OTP screen ===== */
@media (max-width: 768px){

    .hs-auth-premium-scene{
        padding:18px 20px 26px 20px !important;
        align-items:center !important;
    }

    .hs-auth-premium-card{
        max-width:390px !important;
        width:100% !important;
        padding:22px 18px !important;
        border-radius:28px !important;
    }

    .hs-auth-premium-hero{
        margin-bottom:18px !important;
        gap:12px !important;
    }

    .hs-auth-premium-logo{
        width:50px !important;
        height:50px !important;
        border-radius:17px !important;
    }

    .hs-auth-premium-hero h1{
        font-size:27px !important;
        line-height:1.08 !important;
        letter-spacing:-0.035em !important;
    }

    .hs-auth-premium-hero p{
        font-size:13px !important;
        line-height:1.48 !important;
        margin-top:8px !important;
    }

    .hs-auth-form-group{
        margin-bottom:13px !important;
    }

    .hs-auth-form-group label{
        font-size:12px !important;
        margin-bottom:7px !important;
        font-weight:650 !important;
    }

    .hs-auth-input-wrap{
        min-height:50px !important;
        border-radius:18px !important;
    }

    .hs-auth-input-wrap > i{
        width:44px !important;
        flex:0 0 44px !important;
        font-size:17px !important;
    }

    .hs-auth-input-wrap input{
        height:50px !important;
        font-size:14px !important;
        padding-top:0 !important;
        padding-bottom:0 !important;
    }

    .hs-auth-eye{
        width:34px !important;
        height:34px !important;
        font-size:15px !important;
        margin-right:7px !important;
    }

    .hs-auth-submit{
        min-height:50px !important;
        border-radius:18px !important;
        font-size:14px !important;
        font-weight:700 !important;
        margin-top:4px !important;
    }

    .hs-auth-submit i{
        font-size:15px !important;
    }

    .hs-auth-footer{
        margin-top:15px !important;
        padding:12px 13px !important;
        border-radius:18px !important;
    }

    .hs-auth-footer strong{
        font-size:12.5px !important;
    }

    .hs-auth-footer span,
    .hs-auth-footer p{
        font-size:12px !important;
        line-height:1.42 !important;
    }

    .hs-auth-preview-card{
        max-width:390px !important;
        border-radius:26px !important;
    }
}

@media (max-width: 420px){
    .hs-auth-premium-scene{
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .hs-auth-premium-card{
        max-width:360px !important;
        padding:21px 17px !important;
    }

    .hs-auth-premium-hero h1{
        font-size:25px !important;
    }
}


/* ===== v1.6.0 Biometric login foundation ===== */
.hs-auth-biometric-btn{
    width:100%;
    margin-top:12px;
    min-height:48px;
    border:1px solid rgba(15,159,110,.20);
    border-radius:18px;
    background:rgba(255,255,255,.72);
    color:#087a58;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    font-weight:750;
    font-size:14px;
    box-shadow:0 12px 30px rgba(15,45,75,.06);
}
.hs-auth-biometric-btn i{
    font-size:18px;
}
.hs-auth-biometric-note{
    margin-top:10px;
    padding:10px 12px;
    border-radius:16px;
    background:rgba(15,159,110,.08);
    color:#315144;
    font-size:12.5px;
    line-height:1.45;
}
.hs-profile-help{
    color:#667085;
    font-size:13px;
    line-height:1.55;
}
.hs-profile-btn.muted{
    background:rgba(255,255,255,.74)!important;
    color:#667085!important;
    border:1px solid rgba(15,23,42,.10)!important;
    box-shadow:none!important;
}

.hs-auth-biometric-note.success{
    background:rgba(15,159,110,.12);
    color:#087a58;
    border:1px solid rgba(15,159,110,.20);
}
.hs-profile-link-btn{
    border:0;
    background:transparent;
    color:#087a58;
    font-weight:750;
    padding:0;
    font-size:12.5px;
}


/* ===== v1.6.4 Biometric login script fix styling ===== */
.hs-auth-biometric-btn{
    width:100%;
    margin-top:12px;
    min-height:48px;
    border:1px solid rgba(15,159,110,.20);
    border-radius:18px;
    background:rgba(255,255,255,.72);
    color:#087a58;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    font-weight:750;
    font-size:14px;
    box-shadow:0 12px 30px rgba(15,45,75,.06);
}
.hs-auth-biometric-btn i{font-size:18px;}
.hs-auth-biometric-btn:disabled{opacity:.65;cursor:not-allowed;}
.hs-auth-biometric-note{
    margin-top:10px;
    padding:10px 12px;
    border-radius:16px;
    background:rgba(15,159,110,.08);
    color:#315144;
    font-size:12.5px;
    line-height:1.45;
}
.hs-auth-biometric-note.success{
    background:rgba(15,159,110,.12);
    color:#087a58;
    border:1px solid rgba(15,159,110,.20);
}



/* ===== HotelShift v1.7.3 Auth Typography + OTP Polish ===== */

/* Softer auth typography globally */
.hs-auth-premium-body,
.hs-auth-premium-body *{
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.hs-auth-premium-hero h1,
.hs-auth-login-hero h1,
.hs-auth-premium-card h1,
.hs-otp-title,
.hs-otp-card h1,
.hs-otp-card h2{
    font-weight:650 !important;
    letter-spacing:-0.038em !important;
    line-height:1.12 !important;
}

.hs-auth-premium-hero p,
.hs-auth-login-hero p,
.hs-auth-premium-card p,
.hs-otp-card p,
.hs-otp-subtitle{
    font-weight:450 !important;
    line-height:1.62 !important;
    color:#667085 !important;
}

/* Login/auth titles should not feel compressed */
.hs-auth-premium-hero h1,
.hs-auth-login-hero h1{
    font-size:clamp(28px, 3.2vw, 38px) !important;
    margin-bottom:10px !important;
}

.hs-auth-eyebrow,
.hs-reset-eyebrow{
    font-weight:750 !important;
    letter-spacing:.105em !important;
}

/* Inputs: calmer, premium, less bulky */
.hs-auth-input-wrap{
    min-height:50px !important;
    border-radius:18px !important;
}

.hs-auth-input-wrap > i{
    font-size:17px !important;
}

.hs-auth-input-wrap input,
.hs-auth-input-wrap select{
    font-size:14px !important;
    font-weight:550 !important;
}

.hs-auth-primary,
.hs-auth-submit,
.hs-reset-primary{
    font-weight:650 !important;
    letter-spacing:-.012em !important;
}

/* OTP screen/form polish */
.hs-otp-card,
.hs-auth-otp-card,
.hs-auth-premium-card{
    box-shadow:0 24px 62px rgba(16,24,40,.095) !important;
}

.hs-otp-code-row,
.hs-otp-input-row{
    gap:10px !important;
}

.hs-otp-code-row input,
.hs-otp-input-row input,
input[name="otp"],
input[name="otp_code"]{
    border-radius:16px !important;
    font-weight:600 !important;
    letter-spacing:.18em !important;
    font-size:18px !important;
    min-height:50px !important;
    box-shadow:0 10px 24px rgba(16,24,40,.045) !important;
}

.hs-otp-actions,
.hs-auth-otp-actions{
    gap:10px !important;
}

.hs-otp-actions button,
.hs-auth-otp-actions button,
.hs-otp-actions a,
.hs-auth-otp-actions a{
    min-height:48px !important;
    border-radius:17px !important;
    font-size:14px !important;
    font-weight:650 !important;
}

/* Countdown / resend text refinement */
.hs-otp-timer,
.hs-otp-resend,
.hs-auth-help-note,
.hs-auth-biometric-note{
    font-size:12.5px !important;
    line-height:1.48 !important;
    font-weight:500 !important;
}

/* Mobile: closer to OTP/login refined scale */
@media(max-width:768px){
    .hs-auth-premium-card,
    .hs-otp-card,
    .hs-auth-otp-card{
        border-radius:28px !important;
        padding:24px 20px !important;
    }

    .hs-auth-premium-hero h1,
    .hs-auth-login-hero h1,
    .hs-otp-title,
    .hs-otp-card h1,
    .hs-otp-card h2{
        font-size:25px !important;
        line-height:1.12 !important;
        letter-spacing:-.035em !important;
        font-weight:650 !important;
    }

    .hs-auth-premium-hero p,
    .hs-auth-login-hero p,
    .hs-otp-card p,
    .hs-otp-subtitle{
        font-size:13.5px !important;
        line-height:1.55 !important;
    }

    .hs-auth-input-wrap,
    .hs-reset-input,
    .hs-reset-select-wrap{
        min-height:49px !important;
    }

    .hs-auth-primary,
    .hs-auth-submit,
    .hs-reset-primary{
        min-height:49px !important;
        font-size:13.5px !important;
    }

    input[name="otp"],
    input[name="otp_code"]{
        min-height:48px !important;
        font-size:17px !important;
    }
}



/* ===== HotelShift v1.7.4 Login Screen Typography Refinement ===== */

/* Login title: lighter, less compressed, same premium direction as OTP/reset */
.hs-auth-premium-card h1,
.hs-auth-premium-hero h1,
.hs-auth-login-hero h1,
.hs-auth-v150 h1{
    font-weight:650 !important;
    letter-spacing:-0.038em !important;
    line-height:1.12 !important;
}

/* Login subtitle and description */
.hs-auth-premium-card p,
.hs-auth-premium-hero p,
.hs-auth-login-hero p,
.hs-auth-v150 p{
    font-weight:450 !important;
    line-height:1.62 !important;
    color:#667085 !important;
}

/* Brand/login labels should feel cleaner */
.hs-auth-premium-card label,
.hs-auth-field > span,
.hs-auth-form-group label{
    font-weight:650 !important;
    letter-spacing:-0.006em !important;
}

/* Inputs: softer and less heavy */
.hs-auth-input-wrap input,
.hs-auth-input-wrap select{
    font-weight:550 !important;
    color:#172033 !important;
}

.hs-auth-input-wrap input::placeholder{
    color:#98a2b3 !important;
    font-weight:450 !important;
}

/* Login buttons: reduce harsh boldness */
.hs-auth-primary,
.hs-auth-submit,
.hs-auth-biometric-btn{
    font-weight:650 !important;
    letter-spacing:-0.012em !important;
}

/* Marketing panel text on login screen */
.hs-auth-preview-card h2,
.hs-auth-preview-card h3,
.hs-auth-marketing-card h2,
.hs-auth-marketing-card h3,
.hs-auth-side-panel h2,
.hs-auth-side-panel h3{
    font-weight:650 !important;
    letter-spacing:-0.042em !important;
    line-height:1.08 !important;
}

.hs-auth-preview-card p,
.hs-auth-marketing-card p,
.hs-auth-side-panel p{
    font-weight:450 !important;
    line-height:1.6 !important;
}

/* More breathable login form rhythm */
.hs-auth-form,
.hs-auth-form-grid{
    gap:16px !important;
}

.hs-auth-row,
.hs-auth-options{
    font-size:13px !important;
    font-weight:500 !important;
}

/* Desktop login scale should remain close to the accepted version */
@media (min-width:769px){
    .hs-auth-premium-hero h1,
    .hs-auth-login-hero h1,
    .hs-auth-v150 h1{
        font-size:clamp(30px, 3vw, 38px) !important;
    }

    .hs-auth-premium-card{
        line-height:1.45 !important;
    }
}

/* Mobile login: refined but not tiny */
@media (max-width:768px){
    .hs-auth-premium-hero h1,
    .hs-auth-login-hero h1,
    .hs-auth-v150 h1{
        font-size:25px !important;
        line-height:1.12 !important;
        font-weight:650 !important;
    }

    .hs-auth-premium-hero p,
    .hs-auth-login-hero p,
    .hs-auth-v150 p{
        font-size:13.5px !important;
        line-height:1.55 !important;
    }

    .hs-auth-field > span,
    .hs-auth-form-group label{
        font-size:12px !important;
        font-weight:650 !important;
    }

    .hs-auth-input-wrap input,
    .hs-auth-input-wrap select{
        font-size:13.5px !important;
    }

    .hs-auth-primary,
    .hs-auth-submit,
    .hs-auth-biometric-btn{
        font-size:13.5px !important;
    }
}


/* HotelShift v2.2.9 - actual dashboard mobile welcome typography */
@media (max-width:900px){

    .hs-b-welcome{
        padding:30px 22px!important;
        gap:18px!important;
    }

    .hs-b-welcome h1,
    .hs-b-welcome-title{
        display:block!important;
        max-width:100%!important;
        width:100%!important;
        margin:0 0 16px!important;
        font-size:clamp(42px, 12.2vw, 58px)!important;
        line-height:.98!important;
        letter-spacing:-.075em!important;
        font-weight:900!important;
        color:#0f172a!important;
        white-space:normal!important;
        word-break:normal!important;
        overflow-wrap:normal!important;
    }

    .hs-b-welcome-title .hs-b-welcome-line,
    .hs-b-welcome-title .hs-b-welcome-name{
        display:block!important;
        width:100%!important;
        white-space:normal!important;
    }

    .hs-b-welcome p{
        font-size:18px!important;
        line-height:1.7!important;
        font-weight:500!important;
        max-width:100%!important;
        margin:0!important;
        color:#667085!important;
    }
}

@media (max-width:390px){
    .hs-b-welcome h1,
    .hs-b-welcome-title{
        font-size:42px!important;
        line-height:1!important;
        letter-spacing:-.065em!important;
    }

    .hs-b-welcome p{
        font-size:17px!important;
        line-height:1.68!important;
    }
}
/* End HotelShift v2.2.9 */



/* HotelShift v2.3.1 - asset backup exact two-line mobile welcome */
@media (max-width:900px){
    .hs-b-welcome h1,.hs-b-welcome-title{
        display:block!important;width:100%!important;max-width:100%!important;
        font-size:clamp(34px,9.8vw,48px)!important;line-height:1.02!important;
        letter-spacing:-.055em!important;font-weight:900!important;
        white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;
    }
    .hs-b-welcome-title .hs-b-welcome-line,.hs-b-welcome-title .hs-b-welcome-name{
        display:block!important;width:100%!important;max-width:100%!important;
        white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;line-height:1.02!important;
    }
    .hs-b-welcome p{font-size:18px!important;line-height:1.7!important;font-weight:500!important;max-width:100%!important;}
}
@media (max-width:390px){
    .hs-b-welcome h1,.hs-b-welcome-title{font-size:34px!important;line-height:1.04!important;letter-spacing:-.048em!important;}
    .hs-b-welcome p{font-size:17px!important;line-height:1.68!important;}
}
/* End HotelShift v2.3.1 */

/* HotelShift v2.3.2 - username adaptive accent backup */
.hs-b-welcome-title .hs-b-welcome-name{
    color:#14b87d!important;
    font-weight:950!important;
    letter-spacing:-0.045em!important;
    text-shadow:0 2px 14px rgba(20,184,125,.10)!important;
}
body.hs-theme-blue .hs-b-welcome-title .hs-b-welcome-name,
body.theme-blue .hs-b-welcome-title .hs-b-welcome-name,
html[data-theme="blue"] .hs-b-welcome-title .hs-b-welcome-name{
    color:#3b82f6!important;
    text-shadow:0 2px 14px rgba(59,130,246,.12)!important;
}
/* End HotelShift v2.3.2 */
