:root{--bg:#f5f7fb;--panel:#fff;--text:#172033;--muted:#718096;--line:#e8edf4;--primary:#5b4bff;--primary2:#7c6cff;--danger:#d94a5f;--success:#15966a;--shadow:0 12px 35px rgba(25,35,55,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#111528;color:#dce1ef;padding:22px 16px;z-index:10}.brand{font-size:24px;font-weight:800;padding:8px 10px 24px;color:#fff}.brand span{color:#8e82ff}.userbox{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);padding:12px;border-radius:14px;margin-bottom:18px}.userbox strong,.userbox small{display:block}.userbox small{color:#929bb3;margin-top:3px}.sidebar nav a{display:block;color:#b8bfd0;text-decoration:none;padding:11px 12px;border-radius:10px;margin:4px 0}.sidebar nav a:hover{background:rgba(255,255,255,.07);color:#fff}.main{margin-left:240px;min-height:100vh}.topbar{padding:28px 34px 12px}.topbar h1{margin:2px 0;font-size:26px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:700}.container{padding:0 34px 40px;max-width:1600px;margin:auto}.grid{display:grid;gap:18px}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:20px}.stat .label{color:var(--muted);font-size:12px}.stat .value{font-size:28px;font-weight:800;margin-top:5px}.stat .hint{color:var(--muted);font-size:12px;margin-top:4px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:16px 0}.toolbar .left,.toolbar .right{display:flex;gap:8px;align-items:center}.btn{border:0;border-radius:10px;padding:10px 14px;text-decoration:none;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-weight:700;background:#eef1f7;color:#27324a}.btn.primary{background:var(--primary);color:white}.btn.danger{background:#fff0f2;color:var(--danger)}.btn.success{background:#e9faf4;color:#087d57}.btn.small{padding:7px 10px;font-size:12px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.badge.green{background:#e7faf3;color:#087d57}.badge.red{background:#fff0f2;color:#b32c45}.badge.orange{background:#fff5e8;color:#a65b00}.badge.gray{background:#eef1f6;color:#667085}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-size:12px;color:var(--muted);font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #dce2eb;border-radius:10px;padding:10px 11px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(91,75,255,.1)}.full{grid-column:1/-1}.alert{padding:12px 14px;border-radius:12px;margin-bottom:15px}.alert.success{background:#e9faf4;color:#087d57}.alert.error{background:#fff0f2;color:#b32c45}.calendar-shell{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.calendar{min-width:1000px;border-collapse:separate;border-spacing:0;width:100%}.calendar th,.calendar td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:74px;position:relative}.calendar th{height:48px;background:#fafbfe;color:#667085;font-size:12px;text-align:center;position:sticky;top:0;z-index:3}.calendar th.roomhead{left:0;z-index:4;text-align:left;padding:10px;min-width:190px}.calendar td.roomcell{position:sticky;left:0;background:#fff;z-index:2;padding:10px;min-width:190px;font-weight:800}.daycell{min-width:120px;background:#fff}.daycell:hover{background:#fafbff}.res-block{position:absolute;inset:8px 5px;background:linear-gradient(135deg,#6657ff,#8d80ff);color:white;border-radius:10px;padding:8px 9px;cursor:pointer;overflow:hidden;box-shadow:0 5px 15px rgba(91,75,255,.22)}.res-block .name{font-weight:800;font-size:12px;overflow:hidden;text-overflow:ellipsis}.res-block .sub{font-size:10px;opacity:.85;margin-top:2px}.day-add{position:absolute;inset:0;border:0;background:transparent;cursor:pointer}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(9,14,28,.45);z-index:50;align-items:center;justify-content:center;padding:20px}.modal-backdrop.show{display:flex}.modal{width:min(650px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.22);padding:22px}.modal h2{margin:0 0 14px}.modal-head{display:flex;justify-content:space-between;align-items:center}.close{border:0;background:#f1f3f7;border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:18px}.night-row{display:grid;grid-template-columns:1fr 150px;gap:10px;align-items:center;margin:8px 0}.total-box{background:#f7f8fc;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;justify-content:space-between;margin-top:14px;font-weight:800}.auth-main{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:28px}.muted{color:var(--muted)}.kpi-list{display:flex;gap:10px;flex-wrap:wrap}.kpi{background:#f7f8fc;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.empty{padding:35px;text-align:center;color:var(--muted)}@media(max-width:1000px){.sidebar{position:static;width:100%;height:auto}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.main{margin-left:0}.topbar{padding:20px}.container{padding:0 20px 30px}.grid4,.grid3{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}}@media(max-width:650px){.grid4,.grid3{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.topbar h1{font-size:22px}}

/* v1.1 public SaaS landing + admin polish */
.brand.dark{color:#172033}.brand.dark span{color:#5b4bff}.landing{max-width:1240px;margin:auto;padding:0 24px}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:24px 0}.landing-links{display:flex;align-items:center;gap:24px}.landing-links a:not(.btn){color:#526078;text-decoration:none;font-weight:700}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding:70px 0 100px}.hero h1{font-size:64px;line-height:1.02;letter-spacing:-.045em;margin:12px 0 22px}.hero h1 span{color:#5b4bff}.hero p{font-size:18px;color:#657089;max-width:650px}.hero-actions{display:flex;gap:12px;margin-top:28px}.btn.big{padding:13px 18px}.hero-note{margin-top:16px;font-size:12px;color:#7a8498}.hero-preview{background:#111528;border-radius:26px;padding:18px;box-shadow:0 30px 80px rgba(22,27,48,.22);transform:rotate(1deg)}.preview-top{display:flex;justify-content:space-between;color:#fff;padding:8px 6px 18px}.preview-top span{color:#9ca5bc;font-size:12px}.preview-grid{display:grid;grid-template-columns:150px repeat(4,1fr);background:#fff;border-radius:16px;overflow:hidden}.preview-grid>div{min-height:62px;border-right:1px solid #e8edf4;border-bottom:1px solid #e8edf4;padding:10px;font-size:11px}.preview-room{font-weight:800;background:#fafbfe}.preview-book{background:#6c5cff;color:#fff;font-weight:800;border-radius:9px;margin:5px;padding:8px}.preview-book small{opacity:.8}.landing-section{padding:90px 0}.section-head{max-width:700px;margin-bottom:34px}.section-head h2{font-size:42px;letter-spacing:-.03em;margin:8px 0}.section-head p{color:#718096}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-card{background:#fff;border:1px solid #e8edf4;border-radius:18px;padding:24px;box-shadow:0 12px 35px rgba(25,35,55,.06)}.feature-card p{color:#718096;margin-bottom:0}.pricing-section{background:#fafbfe;border-radius:28px;padding:70px 40px}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,420px));justify-content:center;gap:20px}.pricing-card{position:relative;background:#fff;border:1px solid #e1e6ef;border-radius:22px;padding:30px;box-shadow:0 15px 40px rgba(25,35,55,.06)}.pricing-card.featured{border-color:#6c5cff;box-shadow:0 20px 55px rgba(91,75,255,.16)}.popular{position:absolute;right:18px;top:18px;background:#ebe9ff;color:#5043dd;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900}.pricing-card h3{font-size:22px;margin:0 0 14px}.price span{font-size:42px;font-weight:900;letter-spacing:-.04em}.price small{color:#718096}.pricing-card p{color:#718096}.pricing-card ul,.pricing-mini ul{list-style:none;padding:0;margin:22px 0}.pricing-card li,.pricing-mini li{padding:7px 0;color:#4f5b70}.landing-footer{display:flex;align-items:center;gap:25px;padding:45px 0}.landing-footer span{margin-right:auto;color:#7b8496}.auth-back{margin:16px 0 0;text-align:center}.auth-back a{color:#5b4bff;text-decoration:none;font-weight:700}.impersonation-bar{background:#fff2cc;color:#795b00;border-bottom:1px solid #f2df9c;padding:10px 34px;font-size:13px}.impersonation-bar a{color:#5c4600;font-weight:800;margin-left:10px}.actions{display:flex;gap:7px;align-items:center}.pricing-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.pricing-mini{border:1px solid var(--line);border-radius:16px;padding:18px}.admin-price{font-size:28px;font-weight:900;margin-top:6px}.admin-price small{font-size:12px;color:var(--muted)}.channel-hero{display:flex;justify-content:space-between;gap:30px;align-items:center;background:linear-gradient(135deg,#fff,#f6f4ff)}.channel-hero h2{margin:6px 0;font-size:26px}.channel-steps{min-width:330px}.channel-steps div{display:flex;gap:12px;align-items:center;margin:10px 0}.channel-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#5b4bff;color:#fff}.copy-row{display:flex;gap:8px}.copy-row input{flex:1}.hint-box{margin-top:18px;background:#f7f8fc;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:12px;color:#657089}.channel-check{padding:10px 0;border-bottom:1px solid var(--line);font-weight:700}.channel-check:last-child{border-bottom:0}@media(max-width:1000px){.hero{grid-template-columns:1fr;gap:35px}.feature-grid{grid-template-columns:1fr 1fr}.pricing-grid{grid-template-columns:1fr 1fr}.channel-hero{flex-direction:column;align-items:flex-start}.pricing-admin-grid{grid-template-columns:1fr}}@media(max-width:650px){.landing{padding:0 18px}.landing-links{gap:10px}.landing-links a:not(.btn){display:none}.hero{padding:45px 0 65px}.hero h1{font-size:43px}.hero p{font-size:16px}.feature-grid,.pricing-grid{grid-template-columns:1fr}.pricing-section{padding:45px 20px}.section-head h2{font-size:32px}.landing-footer{flex-wrap:wrap}.landing-footer span{width:100%;order:3}.impersonation-bar{padding:10px 15px}.actions{flex-wrap:wrap}}

/* v1.2 public SaaS website */
.site-shell{max-width:1240px;margin:0 auto;padding:0 28px}.site-nav{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f5}.site-brand{font-size:24px;font-weight:900;letter-spacing:-.04em;text-decoration:none;color:#172033}.site-brand span{color:#635bff}.site-nav-links{display:flex;align-items:center;gap:25px}.site-nav-links a:not(.btn){color:#667085;text-decoration:none;font-weight:700}.site-nav-links a:not(.btn):hover,.site-nav-links a.active{color:#5b4bff}.marketing-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:86px 0 80px}.marketing-copy h1{font-size:62px;line-height:1.02;letter-spacing:-.05em;margin:12px 0 22px}.marketing-copy h1 span,.inner-hero h1 span{color:#5b4bff}.marketing-copy>p,.inner-hero>p{font-size:18px;line-height:1.7;color:#68748a;max-width:680px}.trust-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px;color:#667085;font-size:13px;font-weight:700}.marketing-visual{padding:18px;background:linear-gradient(145deg,#171b31,#292d52);border-radius:28px;box-shadow:0 35px 90px rgba(31,35,68,.22)}.visual-window{background:#fff;border-radius:19px;overflow:hidden}.visual-bar{height:54px;display:flex;align-items:center;gap:7px;padding:0 16px;border-bottom:1px solid #e8ecf2;color:#344054}.visual-bar>span{width:8px;height:8px;border-radius:50%;background:#d8dce5}.visual-bar b{margin-left:9px;font-size:12px}.mini-calendar{padding:14px}.mini-head,.mini-row{display:grid;grid-template-columns:145px repeat(4,1fr);font-size:10px}.mini-head{font-weight:800;color:#7b8497}.mini-head>*{padding:8px}.mini-row>*{min-height:58px;padding:9px;border-top:1px solid #edf0f5;border-right:1px solid #edf0f5}.mini-row b{color:#344054;background:#fafbfc}.mini-row i{display:block}.mini-row em{background:#685cff;color:#fff;border-radius:8px;margin:4px;padding:8px;font-style:normal;font-weight:800}.visual-footer{display:flex;justify-content:space-between;padding:14px 18px;background:#f8f9fc;font-size:12px;color:#667085}.visual-footer strong{color:#5b4bff}.marketing-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e7ebf2;border-radius:18px;padding:20px 24px;background:#fff;box-shadow:0 14px 35px rgba(20,30,50,.05)}.marketing-strip div{padding:5px 22px;border-right:1px solid #e8ecf2}.marketing-strip div:last-child{border-right:0}.marketing-strip strong,.marketing-strip span{display:block}.marketing-strip strong{font-size:18px}.marketing-strip span{color:#7a8498;font-size:12px;margin-top:4px}.marketing-section{padding:100px 0}.marketing-section.soft{background:#fafbfe;border-radius:28px;padding:80px 30px}.section-head.center,.inner-hero.center{text-align:center;margin-left:auto;margin-right:auto}.section-head h2{font-size:43px;letter-spacing:-.04em}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step-card{border:1px solid #e7ebf2;background:#fff;border-radius:20px;padding:26px;box-shadow:0 12px 30px rgba(25,35,55,.05)}.step-card>span,.detail-card>span{font-size:12px;font-weight:900;color:#5b4bff}.step-card h3{font-size:21px}.step-card p,.detail-card p{color:#6c778a;line-height:1.65}.marketing-features{grid-template-columns:repeat(4,1fr)}.marketing-features .feature-card{text-decoration:none;color:inherit}.feature-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#f0efff;color:#5b4bff;font-weight:900;font-size:20px;margin-bottom:18px}.marketing-features .feature-card>span{display:block;margin-top:18px;color:#5b4bff;font-size:13px;font-weight:800}.cta-section{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:80px 0;padding:45px 50px;border-radius:24px;background:#171b31;color:#fff}.cta-section h2{font-size:34px;margin:7px 0}.cta-section p{color:#b8bfd0}.cta-section .eyebrow{color:#a8a1ff}.site-footer{display:flex;align-items:center;gap:28px;padding:35px 0;border-top:1px solid #edf0f5}.site-footer>div{display:flex;gap:20px}.site-footer a:not(.site-brand){color:#68748a;text-decoration:none;font-size:13px;font-weight:700}.site-footer small{margin-left:auto;color:#98a1b2}.inner-hero{padding:80px 0 55px;max-width:850px}.inner-hero h1{font-size:58px;line-height:1.05;letter-spacing:-.05em;margin:10px 0 20px}.feature-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.detail-card{border:1px solid #e7ebf2;background:#fff;border-radius:20px;padding:28px}.detail-card ul{list-style:none;padding:0;margin:18px 0 0}.detail-card li{padding:8px 0;color:#59657a;border-top:1px solid #edf0f5}.pricing-page-grid{display:grid;grid-template-columns:repeat(2,minmax(300px,440px));justify-content:center;gap:22px;padding:20px 0 35px}.pricing-page-grid .pricing-card{padding:34px}.plan-label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#667085}.pricing-page-grid .pricing-card h2{font-size:48px;letter-spacing:-.04em;margin:14px 0}.pricing-page-grid .pricing-card h2 small{font-size:13px;color:#7a8498;font-weight:600}.pricing-page-grid .pricing-card p{min-height:45px}.pricing-page-grid .pricing-card li{border-top:1px solid #edf0f5;padding:10px 0}.pricing-note{display:flex;gap:18px;align-items:flex-start;padding:20px 24px;border:1px solid #e7ebf2;border-radius:16px;background:#fafbfe;color:#657089;margin:20px 0 60px}.pricing-note strong{color:#172033;white-space:nowrap}.public-auth{min-height:100vh;max-width:1240px;margin:auto;padding:0 28px}.public-auth>.auth-main{min-height:calc(100vh - 160px);padding:55px 0}.register-layout{display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center;padding:65px 0}.register-copy h1{font-size:55px;line-height:1.05;letter-spacing:-.05em;margin:12px 0 20px}.register-copy h1 span{color:#5b4bff}.register-copy>p{font-size:18px;color:#68748a;line-height:1.7}.register-points{display:grid;gap:13px;margin-top:28px;color:#536076;font-weight:700;font-size:14px}.register-card{width:100%}.register-card h2{margin-bottom:5px}.register-card .field{margin-bottom:13px}.register-card .form-grid{margin-bottom:0}.auth-main .auth-card{margin:auto}.auth-card{box-shadow:0 20px 60px rgba(20,30,50,.09)}
@media(max-width:1000px){.marketing-hero,.register-layout{grid-template-columns:1fr}.marketing-visual{max-width:700px;margin:auto}.marketing-features{grid-template-columns:1fr 1fr}.steps-grid{grid-template-columns:1fr}.feature-detail-grid{grid-template-columns:1fr}.pricing-page-grid{grid-template-columns:1fr 1fr}.register-layout{gap:35px}.register-copy{max-width:700px}.site-nav-links{gap:13px}}
@media(max-width:650px){.site-shell,.public-auth{padding:0 18px}.site-nav{height:auto;padding:18px 0;gap:15px}.site-nav-links a:not(.btn){display:none}.marketing-hero{padding:50px 0 55px;gap:35px}.marketing-copy h1,.inner-hero h1,.register-copy h1{font-size:40px}.marketing-copy>p,.inner-hero>p{font-size:16px}.hero-actions{flex-wrap:wrap}.marketing-strip{grid-template-columns:1fr 1fr}.marketing-strip div{border-right:0;padding:10px}.marketing-section{padding:65px 0}.section-head h2{font-size:32px}.marketing-features,.pricing-page-grid{grid-template-columns:1fr}.marketing-section.soft{padding:55px 18px}.cta-section{margin:50px 0;padding:30px;flex-direction:column;align-items:flex-start}.cta-section h2{font-size:28px}.site-footer{flex-wrap:wrap}.site-footer small{margin-left:0;width:100%}.site-footer>div{width:100%;flex-wrap:wrap}.mini-calendar{overflow:auto}.mini-head,.mini-row{min-width:650px}.register-layout{padding:45px 0}.register-copy h1{font-size:40px}}

/* v1.3 premium PMS UI */
:root{--ink:#101828;--muted2:#667085;--surface:#ffffff;--surface2:#f7f8fc;--line2:#e7eaf1;--accent:#5b4bff;--accent2:#7b6cff;--shadow-premium:0 18px 50px rgba(16,24,40,.07)}
body{background:linear-gradient(180deg,#f8f9fc 0,#f5f6fa 100%);color:var(--ink)}
.sidebar{background:linear-gradient(180deg,#0d1122 0%,#151a31 100%);box-shadow:18px 0 45px rgba(15,18,38,.08);padding:24px 16px}.brand{letter-spacing:-.03em}.sidebar nav a{border:1px solid transparent;transition:.2s ease}.sidebar nav a:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.06);transform:translateX(2px)}
.topbar{padding:32px 38px 18px}.topbar h1{font-size:30px;letter-spacing:-.035em}.container{padding:0 38px 46px}.card{border-radius:22px;box-shadow:var(--shadow-premium);border-color:var(--line2)}
.btn{position:relative;border:1px solid #e1e5ed;border-radius:12px;padding:11px 15px;background:#fff;color:#344054;box-shadow:0 2px 6px rgba(16,24,40,.03);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(16,24,40,.09);border-color:#d6dbe5}.btn:active{transform:translateY(0);box-shadow:0 3px 8px rgba(16,24,40,.06)}.btn.primary{background:linear-gradient(135deg,#5b4bff,#7769ff);border-color:#5b4bff;box-shadow:0 9px 24px rgba(91,75,255,.22)}.btn.primary:hover{box-shadow:0 13px 30px rgba(91,75,255,.28)}.btn.danger{border-color:#ffd8de}.btn.success{border-color:#c8f0e2}.btn.big{padding:14px 20px;border-radius:13px}.field input,.field select,.field textarea{border:1px solid #dfe3eb;border-radius:12px;padding:12px 13px;box-shadow:inset 0 1px 2px rgba(16,24,40,.02);transition:.18s ease}.field input:hover,.field select:hover,.field textarea:hover{border-color:#cfd5df}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7568ff;box-shadow:0 0 0 4px rgba(91,75,255,.09)}
.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin:5px 0 22px}.page-intro h2{font-size:29px;letter-spacing:-.035em;margin:5px 0 7px}.intro-actions{display:flex;gap:10px;align-items:center}.soft-chip{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid #e2e6ee;background:#fff;border-radius:999px;color:#667085;font-size:12px;font-weight:800}.table-card{padding:0;overflow:hidden}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line2)}.premium-table th{background:#fafbfe}.premium-table th,.premium-table td{padding:15px 16px}.premium-table tr:last-child td{border-bottom:0}.cell-title{font-weight:850;font-size:15px}.row-action{text-align:right!important}.icon-btn{width:36px;height:36px;border:1px solid #e0e4ec;background:#fff;border-radius:10px;cursor:pointer;transition:.18s ease;color:#475467}.icon-btn:hover{background:#f7f7ff;border-color:#cfcaff;color:#5143df;transform:translateY(-1px)}.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}.status-pill.available{background:#ecfbf5;color:#087d57}.status-pill.maintenance{background:#fff7e8;color:#a65b00}.status-pill.out_of_order{background:#fff0f2;color:#b32c45}.status-pill.available:before{content:"";width:6px;height:6px;border-radius:50%;background:#16a574}.status-pill.maintenance:before{content:"";width:6px;height:6px;border-radius:50%;background:#e59a1d}.status-pill.out_of_order:before{content:"";width:6px;height:6px;border-radius:50%;background:#d94a5f}
.modal-backdrop{background:rgba(11,15,29,.58);backdrop-filter:blur(5px)}.modal{border:1px solid rgba(255,255,255,.7);border-radius:24px;box-shadow:0 40px 120px rgba(0,0,0,.28);padding:26px}.modal-compact{width:min(620px,100%)}.modal-head h2{font-size:24px;letter-spacing:-.03em;margin:4px 0 0}.close{border:1px solid #e3e6ed;background:#fff;color:#667085;transition:.18s ease}.close:hover{background:#f7f8fc;transform:rotate(4deg)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line2)}.selection-summary{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f6f4ff,#fbfbff);border:1px solid #e3defe;border-radius:15px;padding:12px 14px;margin-bottom:17px;color:#6157a8}.selection-summary strong{color:#2d275b}.night-heading{display:flex;justify-content:space-between;align-items:center;padding:14px 0 4px;color:#344054}.night-heading span{font-size:12px;color:#98a2b3}.night-row{padding:7px 0}.total-box{background:linear-gradient(135deg,#f7f7ff,#fafbff);border:1px solid #e4e2ff;border-radius:15px;padding:16px 17px;margin-top:16px;font-size:15px}.premium-calendar th{background:#f8f9fc;color:#667085}.premium-calendar td,.premium-calendar th{border-color:#e9ebf1}.premium-calendar .daycell{transition:background .08s ease}.premium-calendar .daycell:hover{background:#f8f8ff}.premium-calendar .roomcell{background:#fff}.premium-calendar .range-start,.premium-calendar .range-mid,.premium-calendar .range-end{background:linear-gradient(180deg,#f0eeff,#f7f6ff)!important;box-shadow:inset 0 0 0 1px rgba(91,75,255,.14)}.premium-calendar .range-start{box-shadow:inset 3px 0 0 #6557ff,inset 0 0 0 1px rgba(91,75,255,.14)}.premium-calendar .range-end{box-shadow:inset -3px 0 0 #6557ff,inset 0 0 0 1px rgba(91,75,255,.14)}body.calendar-selecting,body.calendar-selecting *{user-select:none!important;cursor:crosshair!important}.res-block{background:linear-gradient(135deg,#5b4bff,#796cff);border:1px solid rgba(255,255,255,.15);box-shadow:0 7px 18px rgba(91,75,255,.2)}.calendar-card{padding:0;overflow:hidden}.calendar-toolbar{margin:0 0 14px}.excel-card{padding:0;overflow:auto}.excel-grid{min-width:920px;display:grid;grid-template-columns:110px 145px 145px 1fr 1fr 2fr}.excel-grid>div{padding:12px 14px;border-right:1px solid #e5e7ed;border-bottom:1px solid #e5e7ed;background:#fff}.excel-grid>div:nth-child(-n+6){background:#f4f6fa;font-weight:850;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#667085;position:sticky;top:0;z-index:2}.excel-grid>div:nth-child(12n+7),.excel-grid>div:nth-child(12n+8),.excel-grid>div:nth-child(12n+9),.excel-grid>div:nth-child(12n+10),.excel-grid>div:nth-child(12n+11),.excel-grid>div:nth-child(12n+12){background:#fcfcfd}.premium-pricing-admin{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.premium-plan-card{box-shadow:var(--shadow-premium);border-radius:22px;background:rgba(255,255,255,.9)}.plan-top{display:flex;justify-content:space-between;align-items:center}.subtle-primary{width:100%;justify-content:center}.new-plan-card{display:grid;grid-template-columns:240px 1fr;gap:25px;align-items:start}.pricing-mini ul{min-height:110px}
@media(max-width:900px){.page-intro{align-items:flex-start;flex-direction:column}.premium-pricing-admin{grid-template-columns:1fr}.new-plan-card{grid-template-columns:1fr}.topbar{padding:24px 20px 14px}.container{padding:0 20px 30px}}
@media print{body{background:#fff}.sidebar,.topbar,.page-intro .intro-actions,.toolbar,.modal-backdrop{display:none!important}.main{margin:0}.container{padding:0}.excel-card{box-shadow:none;border:0}.excel-grid>div{break-inside:avoid}}

/* v1.4 billing & SaaS polish */
.billing-warning{margin:0 38px 18px;padding:14px 16px;border:1px solid #ffccd5;background:linear-gradient(135deg,#fff3f5,#fff8f9);color:#8f2438;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 10px 30px rgba(217,74,95,.08)}
.billing-warning strong,.billing-warning span{display:block}.billing-warning strong{font-size:13px}.billing-warning span{font-size:12px;margin-top:2px;color:#a64b5d}.warning-action{background:#d94a5f;color:#fff;border-color:#d94a5f;white-space:nowrap}.warning-action:hover{background:#c83d52;border-color:#c83d52}
.billing-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.billing-card{background:linear-gradient(145deg,#12172b,#1c2340);color:#fff;border-radius:24px;padding:26px;box-shadow:0 24px 70px rgba(15,18,38,.18)}.billing-card .muted{color:#aab2c7}.billing-card .plan-price{font-size:42px;font-weight:900;letter-spacing:-.04em;margin:8px 0}.billing-card .plan-price small{font-size:13px;font-weight:600;color:#aab2c7}.billing-side{display:grid;gap:18px}.billing-metric{background:#fff;border:1px solid var(--line2);border-radius:20px;padding:20px;box-shadow:var(--shadow-premium)}.billing-metric .metric-value{font-size:25px;font-weight:900;margin-top:4px}.billing-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.billing-history{margin-top:18px}.payment-ok{color:#087d57}.payment-bad{color:#b32c45}.payment-pending{color:#a65b00}.admin-expiry{font-weight:850}.admin-expiry.red{color:#b32c45}.admin-expiry.orange{color:#a65b00}.payment-provider-note{padding:14px 16px;border-radius:14px;background:#f7f8fc;border:1px solid var(--line2);font-size:12px;color:#667085}
@media(max-width:900px){.billing-hero{grid-template-columns:1fr}.billing-warning{margin:0 20px 18px;align-items:flex-start;flex-direction:column}}
/* v1.5 front desk spreadsheet */
.frontdesk-sheet{padding:0;overflow:hidden}.sheet-toolbar{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line2);background:#fbfcfe}.excel-table-wrap{overflow:auto}.excel-editable{width:100%;min-width:1050px;border-collapse:separate;border-spacing:0;font-size:13px}.excel-editable th{position:sticky;top:0;z-index:3;background:#eef1f6;color:#475467;text-align:left;padding:12px 13px;border-right:1px solid #dfe3ea;border-bottom:2px solid #d5d9e1;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.excel-editable td{padding:0;border-right:1px solid #e4e7ec;border-bottom:1px solid #e4e7ec;height:46px;background:#fff}.excel-editable td.room-no{padding:0 13px;font-weight:900;background:#f8f9fb;position:sticky;left:0;z-index:2}.excel-editable .sheet-edit{padding:11px 12px;outline:none;min-width:120px}.excel-editable .sheet-edit:focus{box-shadow:inset 0 0 0 2px #6557ff;background:#fff}.excel-editable .note-cell{min-width:220px}.excel-editable .sheet-status{width:100%;height:46px;border:0;border-radius:0;background:transparent;padding:0 11px;font-weight:800;color:#344054;outline:none}.excel-editable .sheet-status:focus{box-shadow:inset 0 0 0 2px #6557ff}.excel-editable .sheet-color{width:42px;height:30px;margin:7px;border:1px solid #d8dce5;border-radius:8px;background:#fff;padding:2px;cursor:pointer}.sheet-help{margin-top:12px;padding:12px 15px;border:1px solid #e2e6ee;background:#fafbfe;border-radius:14px;color:#667085;font-size:12px}.sheet-toast{position:fixed;right:24px;bottom:24px;z-index:10000;background:#101828;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 18px 45px rgba(16,24,40,.2);font-size:13px;font-weight:800}.activation-layout{max-width:1120px;margin:0 auto;padding:75px 20px;display:grid;grid-template-columns:1fr 480px;gap:70px;align-items:center}.activation-copy h1{font-size:52px;line-height:1.04;letter-spacing:-.055em;margin:10px 0 18px}.activation-copy h1 span{color:#5b4bff}.activation-copy>p{font-size:18px;line-height:1.75;color:#667085;max-width:650px}.activation-card{box-shadow:0 30px 90px rgba(16,24,40,.12)}.activation-fee{display:flex;justify-content:space-between;align-items:center;padding:18px;border-radius:16px;background:#f7f7ff;border:1px solid #e4e1ff;margin:20px 0}.activation-fee strong{font-size:30px;color:#5143df}.register-points{display:grid;gap:11px;margin-top:28px;color:#475467;font-weight:700}.register-points span{padding:11px 13px;border:1px solid #e7eaf0;border-radius:12px;background:#fff}@media(max-width:900px){.activation-layout{grid-template-columns:1fr;gap:30px;padding:45px 20px}.activation-copy h1{font-size:40px}}
@media print{.frontdesk-sheet{overflow:visible}.excel-table-wrap{overflow:visible}.excel-editable{min-width:0;font-size:10px}.excel-editable th{position:static}.excel-editable .sheet-color{display:none}.sheet-help{display:none}}
/* v1.6 premium PMS calendar */
.premium-calendar{table-layout:fixed;min-width:1850px}.premium-calendar .roomhead{width:190px;min-width:190px}.premium-calendar th:not(.roomhead){width:118px;min-width:118px}.premium-calendar .roomcell{width:190px;min-width:190px;background:rgba(255,255,255,.98);box-shadow:10px 0 22px rgba(20,27,45,.035)}
.premium-calendar thead th{height:64px;vertical-align:middle;border-bottom:1px solid #dfe4ec;background:linear-gradient(#fbfcfe,#f5f7fa);font-weight:700}.premium-calendar thead th.is-today{background:linear-gradient(#ffe6ef,#ffd9e6);color:#6f2946}.today-label{display:block;margin:3px auto 0;font-size:8px;letter-spacing:.12em;color:#b23c67;font-weight:900}
.premium-calendar tbody td{height:78px}.premium-calendar tbody td.is-today{background:rgba(255,216,229,.52)}.premium-calendar tbody td.checkout-day{background:linear-gradient(90deg,rgba(255,226,236,.7),rgba(255,246,249,.25))}.premium-calendar tbody td.is-today.checkout-day{background:linear-gradient(180deg,rgba(255,202,221,.72),rgba(255,226,236,.6))}
.premium-calendar .daycell{cursor:crosshair}.premium-calendar .daycell:hover{background:#f4f2ff}.premium-calendar .daycell.is-today:hover{background:#ffdfea}.premium-calendar .reservation-span-cell{padding:0 3px;border-right:1px solid #e9ebf1;background:#fff;vertical-align:middle}.premium-calendar .reservation-span-cell.is-today{background:rgba(255,216,229,.52)}
.premium-calendar .premium-res{position:relative;inset:auto;width:100%;height:48px;margin:0;border-radius:9px;padding:8px 12px;background:linear-gradient(90deg,#3e9bc1,#49a9cf);box-shadow:0 5px 13px rgba(45,126,163,.16);border:1px solid rgba(255,255,255,.35);display:flex;flex-direction:column;justify-content:center}.premium-calendar .premium-res:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 8px 18px rgba(45,126,163,.22)}.premium-calendar .premium-res .res-main{display:flex;align-items:center;gap:10px;min-width:0}.premium-calendar .premium-res .name{font-size:13px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.premium-calendar .premium-res .res-room{font-size:10px;opacity:.82;white-space:nowrap}.premium-calendar .premium-res .sub{font-size:10px;opacity:.88;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.premium-calendar .room-number{font-size:14px;font-weight:850;letter-spacing:-.02em}.premium-calendar tbody tr:hover .roomcell{background:#fbfbff}
.calendar-legend{display:flex;gap:20px;align-items:center;padding:12px 4px 0;color:#667085;font-size:11px}.calendar-legend span{display:inline-flex;align-items:center;gap:7px}.legend-dot{width:10px;height:10px;border-radius:3px;display:inline-block}.today-dot{background:#ffc2d5;border:1px solid #f0a5bd}.checkout-dot{background:#fff0f5;border:1px solid #f3c3d1}.legend-line{width:20px;height:7px;border-radius:4px;background:#45a4ca;display:inline-block}
.calendar-page-intro h2{letter-spacing:-.035em}.calendar-toolbar{padding:2px 0}.calendar-toolbar .soft-chip{background:#fff;border:1px solid #e7eaf0;box-shadow:0 2px 8px rgba(20,27,45,.04)}
body.calendar-selecting{cursor:crosshair!important}.premium-calendar .range-start,.premium-calendar .range-mid,.premium-calendar .range-end{background:linear-gradient(180deg,#eeeaff,#f8f7ff)!important;box-shadow:inset 0 0 0 1px rgba(91,75,255,.18)}.premium-calendar .range-start{box-shadow:inset 3px 0 0 #6658ff,inset 0 0 0 1px rgba(91,75,255,.18)}.premium-calendar .range-end{box-shadow:inset -3px 0 0 #6658ff,inset 0 0 0 1px rgba(91,75,255,.18)}
.excel-editable tbody tr{transition:background .15s ease}.excel-editable tbody tr:hover{background:#f8f8ff}.excel-editable td[contenteditable=true]{cursor:text}.excel-editable td[contenteditable=true]:focus{outline:2px solid rgba(91,75,255,.25);outline-offset:-2px;background:#fbfaff}.sheet-status{min-width:115px}.sheet-help{margin-top:12px;padding:12px 14px;border:1px solid #e6e9f0;border-radius:12px;background:#fafbfe;color:#667085;font-size:12px}
@media(max-width:900px){.premium-calendar{min-width:1650px}}

/* v1.7 — Business-class visual system */
:root{
 --bg:#f3f5f7;--panel:#ffffff;--text:#17212b;--muted:#6b7785;--line:#dde3e8;
 --primary:#17212b;--primary2:#263542;--accent:#b58a52;--accent-soft:#f5eee4;
 --danger:#b8444f;--success:#2f7b62;--warning:#a56a20;--shadow:0 12px 34px rgba(23,33,43,.06);
 --shadow-premium:0 18px 50px rgba(23,33,43,.08);--line2:#e3e7eb
}
body{background:#f3f5f7;color:#17212b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.005em}
.sidebar{width:252px;background:#151d24;padding:24px 16px;border-right:1px solid #202b34;box-shadow:12px 0 32px rgba(12,18,24,.08)}
.brand{font-size:22px;letter-spacing:-.03em;padding:7px 11px 25px}.brand span{color:#c79b62}.userbox{background:#1b252e;border:1px solid #27333d;border-radius:13px}.userbox small{color:#9da9b4}.sidebar nav a{color:#aeb9c3;border-radius:9px;padding:11px 13px;font-weight:650}.sidebar nav a:hover{background:#202b34;color:#fff}.sidebar nav a:focus-visible{outline:2px solid #c79b62;outline-offset:2px}
.main{margin-left:252px}.topbar{padding:29px 38px 15px}.topbar h1{font-size:25px;letter-spacing:-.025em;font-weight:760}.container{max-width:1680px;padding:0 38px 44px}
.card{border:1px solid #e0e5e9;border-radius:15px;box-shadow:0 10px 28px rgba(23,33,43,.045);padding:21px;background:#fff}.stat .value{font-size:30px;letter-spacing:-.035em}.stat{min-height:118px}
.btn{border:1px solid #d7dde2;border-radius:9px;background:#fff;color:#25323d;padding:9px 14px;font-size:13px;font-weight:720;box-shadow:0 2px 6px rgba(23,33,43,.035);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(23,33,43,.08);border-color:#c6ced6}.btn:active{transform:translateY(0)}.btn.primary{background:#17212b;color:#fff;border-color:#17212b}.btn.primary:hover{background:#25323d;border-color:#25323d}.btn.success{background:#edf6f2;color:#286b55;border-color:#d3e8df}.btn.danger{background:#fff3f4;color:#a33a45;border-color:#f0d2d6}.btn.big{padding:12px 17px}.btn.subtle{background:#f6f7f8;border-color:#e1e5e8}.btn.warning-action{background:#9e3f49;border-color:#9e3f49;color:#fff}
.field input,.field select,.field textarea{border:1px solid #d8dfe5;border-radius:9px;padding:10px 11px;color:#17212b;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:#a77b45;box-shadow:0 0 0 3px rgba(181,138,82,.12)}
.badge{border:1px solid transparent}.badge.green{background:#edf6f2;color:#2a6f59;border-color:#d4e8df}.badge.red{background:#fff2f3;color:#a43b46;border-color:#efd3d7}.badge.orange{background:#fbf3e8;color:#96601f;border-color:#ecd9bf}.soft-chip{background:#f6f7f8;border:1px solid #e0e5e9;border-radius:999px;padding:7px 10px;color:#5d6873;font-size:11px;font-weight:750}
.page-intro{margin-bottom:20px}.page-intro h2{font-size:28px;letter-spacing:-.035em}.eyebrow{color:#8a6b44;letter-spacing:.13em;font-size:10px}.toolbar{margin:12px 0}.toolbar .btn{box-shadow:none}
/* Calendar */
.calendar-card{padding:0;overflow:hidden;border-radius:16px}.calendar-shell{border:0;border-radius:0}.premium-calendar{min-width:1900px;background:#fff}.premium-calendar .roomhead,.premium-calendar .roomcell{width:205px;min-width:205px}.premium-calendar th:not(.roomhead){width:121px;min-width:121px}.premium-calendar thead th{height:68px;background:#fafbfc;border-bottom:1px solid #dfe4e8;color:#63707b;font-weight:700}.premium-calendar thead th.is-today{background:#f6dce5;color:#7e3c55}.today-label{color:#9d4b68}.premium-calendar tbody td{height:72px}.premium-calendar tbody td.is-today{background:#f8e7ed}.premium-calendar tbody td.checkout-day{background:#fbf0f3}.premium-calendar tbody td.is-today.checkout-day{background:#f5d9e2}.premium-calendar .daycell{background:#fff}.premium-calendar .daycell:hover{background:#faf6f1}.premium-calendar .daycell.is-today:hover{background:#f5dce5}.premium-calendar .reservation-span-cell{background:#fff;padding:0 2px}.premium-calendar .reservation-span-cell.is-today{background:#f8e7ed}.premium-calendar .premium-res{height:46px;margin:0;border-radius:5px;padding:0 12px;background:#2d657b;border:0;box-shadow:none;justify-content:center}.premium-calendar .premium-res:hover{background:#25596d;transform:none;box-shadow:none}.premium-calendar .premium-res .name{font-size:12px;letter-spacing:.015em}.premium-calendar .premium-res .res-main{display:block}.premium-calendar .room-number{font-size:14px;color:#24323d}.calendar-legend{padding:13px 2px 0;color:#66727d}.legend-line{background:#2d657b}.premium-calendar .range-start,.premium-calendar .range-mid,.premium-calendar .range-end{background:#f2ede7!important;box-shadow:inset 0 0 0 1px rgba(181,138,82,.25)}.premium-calendar .range-start{box-shadow:inset 3px 0 0 #b58a52,inset 0 0 0 1px rgba(181,138,82,.25)}.premium-calendar .range-end{box-shadow:inset -3px 0 0 #b58a52,inset 0 0 0 1px rgba(181,138,82,.25)}
body.calendar-selecting{user-select:none;-webkit-user-select:none;cursor:crosshair}.premium-calendar *{user-select:none;-webkit-user-select:none}
/* Reservation popover */
.reservation-popover-backdrop{display:none;position:fixed;inset:0;z-index:120;align-items:flex-start;justify-content:flex-end;padding:86px 30px 30px;background:rgba(15,22,29,.12)}.reservation-popover-backdrop.show{display:flex}.reservation-popover-backdrop{background:transparent;pointer-events:none}.reservation-popover-backdrop>*{pointer-events:auto}.reservation-popover-backdrop.show{pointer-events:auto}.reservation-popover-backdrop:not(.show){pointer-events:none}.reservation-popover-head{display:flex;justify-content:space-between;gap:20px}.reservation-popover-head h3{margin:4px 0 0;font-size:20px;letter-spacing:-.02em}.reservation-popover-head .eyebrow{font-size:9px}.reservation-popover-backdrop{padding-top:86px}.reservation-popover-backdrop.show::after{content:"";position:absolute;inset:0;background:rgba(12,18,24,.08);z-index:-1}.reservation-popover-backdrop{align-items:flex-start}.reservation-popover-backdrop>*:first-child{display:block}
/* Since the backdrop itself holds the card HTML, style it as the card */
#reservationPopover{width:390px;max-width:calc(100vw - 30px);min-height:100px;background:#fff;border:1px solid #dce2e7;border-radius:14px;box-shadow:0 24px 65px rgba(18,26,33,.18);padding:18px;overflow:hidden;position:fixed;right:28px;top:82px;left:auto;bottom:auto;z-index:121}
#reservationPopover.show{display:block}.close-pop{border:1px solid #e0e4e8;background:#f6f7f8;color:#4d5964;width:30px;height:30px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer}.reservation-popover-date{display:grid;grid-template-columns:1fr 35px 1fr;align-items:center;background:#f6f7f8;border:1px solid #e5e8eb;border-radius:10px;margin:16px 0 10px;padding:11px 12px}.reservation-popover-date span,.reservation-popover-meta span,.price-reveal-row span,.popover-payment span{display:block;color:#7a8691;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.reservation-popover-date b{font-size:13px;margin-top:2px;display:block}.date-arrow{text-align:center;color:#9b7448;font-weight:900}.reservation-popover-meta{display:flex;justify-content:space-between;gap:12px;padding:5px 0 12px;color:#34424d;font-size:12px}.popover-note{padding:12px;border-left:3px solid #c59a66;background:#fbf8f3;border-radius:7px;color:#5d6871;font-size:12px;line-height:1.55;margin-bottom:13px}.price-reveal-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0f2;padding-top:13px}.reveal-btn{border:0;background:none;color:#8b6338;font-weight:800;font-size:11px;cursor:pointer}.price-revealed{font-size:24px;font-weight:850;letter-spacing:-.035em;margin:3px 0 12px}.popover-payment{display:flex;justify-content:space-between;border-top:1px solid #edf0f2;padding:11px 0;font-size:12px}.popover-payment b{color:#2c725a}.popover-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px}.popover-actions .btn{flex:1;justify-content:center;min-width:110px}
/* Detail */
.reservation-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:5px 0 24px}.reservation-detail-head h2{margin:5px 0 8px;font-size:31px;letter-spacing:-.04em}.back-link{display:inline-block;color:#66727d;text-decoration:none;font-size:12px;margin-bottom:12px}.back-link:hover{color:#9a6f3c}.detail-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:#6a7680;font-size:12px}.detail-head-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.detail-card-main{padding:25px}.detail-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.detail-section-title h3{margin:3px 0 0;font-size:18px}.detail-actions{display:flex;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid #edf0f2}.payment-card{background:#17212b;color:#fff;border-radius:16px;padding:21px;box-shadow:0 18px 45px rgba(23,33,43,.13)}.payment-card .eyebrow{color:#c79b62}.payment-status-row{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px}.secure-price{padding:14px 0 10px;border-top:1px solid rgba(255,255,255,.1)}.secure-price span{display:block;color:#aeb8c1;font-size:11px}.secure-price strong{font-size:28px;letter-spacing:.02em;display:block;margin-top:3px}.secure-price.revealed strong{color:#fff}.payment-lines{border-top:1px solid rgba(255,255,255,.1);padding-top:9px}.payment-lines div{display:flex;justify-content:space-between;padding:7px 0;font-size:12px}.payment-lines span{color:#aeb8c1}.full-btn{width:100%;justify-content:center;margin-top:10px}.payment-card .btn.subtle{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);color:#fff}.compact-card{margin-top:15px}.stay-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0f2;font-size:12px}.night-row.compact{grid-template-columns:1fr auto;border-bottom:1px solid #edf0f2;padding:7px 0;margin:0}.night-row.compact b{font-size:12px}
/* Front desk */
.frontdesk-sheet{border-radius:14px}.excel-editable th{background:#eef1f2;color:#53616d;border-bottom:2px solid #d7dde2}.excel-editable td.room-no{background:#f7f8f8}.excel-editable .sheet-edit:focus,.excel-editable .sheet-status:focus{box-shadow:inset 0 0 0 2px #b58a52;background:#fffdf9}
/* General polish */
.table th{color:#7a858f}.table td{padding:13px 10px}.table tr:hover td{background:#fafbfc}.site-nav{border-bottom:1px solid #e5e9ec}.site-brand{color:#17212b!important}.site-brand span{color:#b58a52!important}.marketing-hero,.inner-hero{background:linear-gradient(180deg,#fbfcfc,#f3f5f7)}
@media(max-width:900px){.main{margin-left:0}.sidebar{width:100%;position:static}.detail-grid{grid-template-columns:1fr}.reservation-detail-head{align-items:flex-start;flex-direction:column}.reservation-popover-backdrop{padding:20px}#reservationPopover{top:20px;right:15px}.detail-head-actions{width:100%}}
/* v1.7 public-facing refinement */
.site-shell{background:#f7f8f8;color:#17212b}.site-nav{max-width:1240px;margin:0 auto;padding:18px 24px;border-bottom:1px solid #e3e7ea}.site-nav-links a{color:#5d6872}.site-nav-links a:hover{color:#17212b}.site-nav-links .btn.primary{color:#fff}.marketing-hero{padding:88px max(24px,calc((100vw - 1240px)/2)) 92px;background:#f7f8f8;display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}.marketing-copy h1{font-size:62px;line-height:1.03;letter-spacing:-.055em;color:#17212b}.marketing-copy h1 span,.inner-hero h1 span{color:#9a6f3c}.marketing-copy p{color:#64707a;font-size:17px;max-width:640px}.hero-actions .btn.primary{background:#17212b;border-color:#17212b}.marketing-visual .visual-window{background:#1b252e;border-radius:18px;box-shadow:0 30px 70px rgba(23,33,43,.18);transform:none}.visual-bar{background:#1b252e}.visual-bar b{color:#dfe5e9}.marketing-strip{max-width:1240px;margin:-25px auto 0;background:#fff;border:1px solid #e1e6e9;border-radius:13px;box-shadow:0 12px 30px rgba(23,33,43,.06);position:relative;z-index:2}.marketing-section{max-width:1240px;margin:auto;padding:82px 24px}.marketing-section.soft{background:#f7f8f8}.section-head h2{color:#17212b}.feature-card,.step-card,.detail-card,.pricing-card{border-radius:14px;box-shadow:0 10px 28px rgba(23,33,43,.045);border-color:#e0e5e8}.feature-icon{background:#f5eee4!important;color:#8f6639!important;border-radius:9px}.cta-section{background:#17212b!important;color:#fff!important;border-radius:18px!important;max-width:1240px;margin:40px auto;padding:46px 42px}.cta-section h2{color:#fff}.cta-section p{color:#aeb8c0}.inner-hero{padding:70px 24px 55px;background:#f7f8f8}.inner-hero h1{font-size:52px;letter-spacing:-.05em}.pricing-page-grid{max-width:900px;margin:0 auto 50px;padding:0 24px}.pricing-card.featured{border-color:#b58a52;box-shadow:0 16px 45px rgba(23,33,43,.08)}.popular{background:#f5eee4;color:#8b6338}.pricing-note{max-width:900px;margin:0 auto 60px;background:#fff;border:1px solid #e1e6e9;border-radius:12px;padding:17px 19px;color:#69757f}.public-auth{background:#f7f8f8;min-height:100vh}.auth-main{background:#f7f8f8}.auth-card{border-radius:14px;box-shadow:0 20px 55px rgba(23,33,43,.08);border-color:#e0e5e8}.register-layout,.activation-layout{background:#f7f8f8}.activation-copy h1{color:#17212b}.activation-copy h1 span{color:#9a6f3c}.activation-fee strong{color:#8f6639}.site-footer{max-width:1240px;margin:0 auto;padding:36px 24px;color:#7a858e}
@media(max-width:900px){.marketing-hero{grid-template-columns:1fr;padding:55px 24px}.marketing-copy h1{font-size:45px}.inner-hero h1{font-size:40px}}

/* v1.8 — business-class shell, collapsible navigation, refined billing/pricing, print sheet */
:root{--hf-ink:#17212b;--hf-navy:#111a22;--hf-gold:#b88b57;--hf-paper:#f5f6f5;--hf-line:#dfe4e7;--shadow-premium:0 18px 55px rgba(22,31,38,.08)}
.hf-body{background:var(--hf-paper);color:var(--hf-ink)}
.sidebar{width:258px;background:linear-gradient(180deg,#121a21 0%,#17232b 100%);border-right:1px solid #27343d;padding:20px 14px;transition:width .22s ease,transform .22s ease;overflow:hidden}
.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;padding:0 4px 16px}.sidebar .brand{padding:6px 8px 6px;font-size:23px}.sidebar .brand span{color:#c99a62}.sidebar-toggle{width:32px;height:32px;border-radius:9px;border:1px solid #33424c;background:#1c2932;color:#e8edf0;font-size:22px;line-height:1;cursor:pointer}.sidebar-toggle:hover{background:#26353f;border-color:#c99a62}.sidebar.collapsed{width:78px}.sidebar.collapsed .brand{font-size:0}.sidebar.collapsed .brand:after{content:'H';font-size:24px;color:#fff;font-weight:900}.sidebar.collapsed .userbox{padding:9px;text-align:center}.sidebar.collapsed .userbox strong{font-size:0}.sidebar.collapsed .userbox strong:after{content:'HF';font-size:13px;color:#fff}.sidebar.collapsed .userbox small,.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed nav a{justify-content:center;padding:12px}.sidebar.collapsed .sidebar-brand-row{justify-content:center}.sidebar.collapsed .sidebar-toggle{position:absolute;right:8px;top:18px}
.sidebar nav a{display:flex;align-items:center;gap:12px;border-radius:10px;padding:11px 12px;color:#aeb9c3}.nav-icon{width:20px;min-width:20px;text-align:center;color:#c8d0d5;font-size:15px}.sidebar nav a:hover{background:#223039;color:#fff}.sidebar nav a:hover .nav-icon{color:#d1a06a}.main{margin-left:258px;transition:margin-left .22s ease}.main.sidebar-collapsed{margin-left:78px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.topbar-tools{display:flex;align-items:center;gap:10px}.language-switch{display:flex;align-items:center;gap:8px;font-size:11px;color:#69757e;font-weight:750}.language-switch select{border:1px solid #d9e0e4;background:#fff;border-radius:10px;padding:8px 30px 8px 10px;color:#34414a;font-weight:700;outline:none}.billing-warning{border:1px solid #efc9cf;box-shadow:0 8px 25px rgba(177,61,78,.06)}
.btn{border:1px solid #d6dde1;border-radius:10px;background:#fff;color:#26343d;box-shadow:0 2px 7px rgba(20,29,35,.035);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,29,35,.08);border-color:#c5cfd5}.btn.primary{background:#18232b;border-color:#18232b;color:#fff;box-shadow:0 8px 20px rgba(24,35,43,.16)}.btn.primary:hover{background:#24343f;border-color:#24343f}.btn.success{border-color:#c9e7dc}.btn.big{padding:13px 19px}
/* More composed reservation modal */
.modal-backdrop{background:rgba(12,18,23,.56);backdrop-filter:blur(7px);padding:24px}.modal{width:min(720px,100%);border:1px solid #e3e7e9;border-radius:22px;background:#fcfcfb;box-shadow:0 35px 110px rgba(7,13,18,.28);padding:0;overflow:hidden}.modal-head{padding:21px 24px;border-bottom:1px solid #e7eaec;background:#fff}.modal-head h2{font-size:22px;color:#16232c}.modal form{padding:22px 24px 24px}.modal .field input,.modal .field select,.modal .field textarea{border-radius:9px;border-color:#d7dfe3;background:#fff;min-height:44px}.modal .field input:focus,.modal .field select:focus,.modal .field textarea:focus{border-color:#a98052;box-shadow:0 0 0 3px rgba(184,139,87,.12)}.selection-summary{background:#f3f0ea;border-color:#e5d9ca;color:#6f573d}.selection-summary strong{color:#27353d}.night-row{border-bottom:1px solid #edf0f1}.total-box{background:#18232b;color:#fff;border:0;box-shadow:0 12px 28px rgba(24,35,43,.12)}.total-box span:last-child{color:#e7c28f}.modal-actions{border-top:1px solid #e6eaec}
/* Pricing / billing */
.pricing-dashboard-head,.billing-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:6px 0 24px}.pricing-dashboard-head h2,.billing-page-head h2{font-size:31px;letter-spacing:-.04em;margin:5px 0 7px}.pricing-dashboard-grid{max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr));padding:0!important;margin:0!important}.premium-pricing-card{border:1px solid #dfe5e8;border-radius:22px;background:linear-gradient(180deg,#fff,#fafbfa);box-shadow:var(--shadow-premium);padding:30px}.premium-pricing-card.featured{border-color:#caa77d;box-shadow:0 22px 65px rgba(31,40,46,.11)}.premium-pricing-card h2{font-size:45px;color:#16232c;margin:9px 0 12px}.premium-pricing-card h2 small{font-size:13px;color:#7a858c}.premium-pricing-card ul{list-style:none;padding:0;min-height:145px}.premium-pricing-card li{display:flex;gap:9px;padding:7px 0;color:#55616a}.premium-pricing-card li span{color:#9a7448;font-weight:900}.premium-billing-layout{grid-template-columns:1.2fr .8fr}.premium-billing-card{background:linear-gradient(145deg,#121c24,#1b2932);border:1px solid #263741;box-shadow:0 26px 70px rgba(17,26,33,.16)}.billing-card-top,.metric-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.billing-card .status-pill.available{background:#dfeee7;color:#376957}.billing-end{color:#aeb8bf}.billing-end strong{color:#fff}.billing-provider-note{display:flex;gap:10px;align-items:flex-start;margin-top:20px;padding:13px 15px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:13px;color:#b9c4ca;font-size:12px}.secure-dot{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#356b57;color:#d9f2e7;font-size:11px;font-weight:900;flex:none}.premium-side{gap:16px}.autopay-card{min-height:190px}.small-metric{font-size:28px!important}.autopay-icon{width:42px;height:42px;border-radius:12px;background:#f5eee4;color:#8e663e;display:grid;place-items:center;font-size:22px}.autopay-form{margin-top:15px}.full-btn{width:100%;justify-content:center}.autopay-active{margin-top:15px;padding:11px 13px;border-radius:10px;background:#eaf5f0;color:#2e6b55;font-weight:800}.premium-history{border-radius:18px;box-shadow:var(--shadow-premium)}
/* Excel / housekeeping print */
.print-header{display:none}.frontdesk-sheet{border-radius:16px;box-shadow:var(--shadow-premium)}.excel-editable{font-variant-numeric:tabular-nums}.excel-editable tbody tr{transition:background .12s ease}.excel-editable tbody tr:hover{background:#fbfcfc}.excel-editable td[contenteditable="true"]{outline:none;min-width:100px}.excel-editable td[contenteditable="true"]:focus{background:#fffdf7;box-shadow:inset 0 0 0 2px #caa77d}.room-no{font-weight:900;color:#26343d}.screen-only{white-space:nowrap}
@media print{body{background:#fff!important;color:#111}.sidebar,.topbar,.impersonation-bar,.billing-warning,.page-intro,.sheet-help,.screen-only,.sheet-toolbar{display:none!important}.main,.main.sidebar-collapsed{margin:0!important}.container{padding:0!important;max-width:none}.print-header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #1d2730;padding:0 0 12px;margin-bottom:14px;font-family:Arial,sans-serif}.print-header strong{display:block;font-size:18px}.print-header span{display:block;font-size:10px;color:#555;margin-top:3px}.frontdesk-sheet{border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}.excel-table-wrap{overflow:visible!important}.excel-editable{width:100%;min-width:0!important;border-collapse:collapse;font-size:10px}.excel-editable th,.excel-editable td{border:1px solid #bbb!important;padding:6px 7px!important}.excel-editable th{background:#eceff1!important;color:#111!important;position:static!important}.excel-editable td[contenteditable="true"]{background:#fff!important}.excel-editable select{appearance:none;border:0;background:transparent;font:inherit;color:#111;padding:0}.excel-editable tbody tr{break-inside:avoid}.excel-editable .sheet-color{display:none}.sheet-toast{display:none!important}@page{size:A4 landscape;margin:12mm}}
@media(max-width:900px){.sidebar{position:fixed;width:258px;transform:translateX(0)}.sidebar.collapsed{width:78px}.main,.main.sidebar-collapsed{margin-left:78px}.topbar{padding-left:20px;padding-right:20px}.pricing-dashboard-grid{grid-template-columns:1fr}.pricing-dashboard-head,.billing-page-head{align-items:flex-start;flex-direction:column}.billing-hero,.premium-billing-layout{grid-template-columns:1fr}}
@media(max-width:650px){.main,.main.sidebar-collapsed{margin-left:0}.sidebar{transform:translateX(-100%)}.sidebar:not(.collapsed){transform:translateX(0);box-shadow:20px 0 60px rgba(0,0,0,.22)}.sidebar.collapsed{transform:translateX(0)}.topbar-tools{position:absolute;right:18px;top:17px}.topbar h1{padding-right:115px}.modal form{padding:18px}.modal-head{padding:18px}.pricing-dashboard-grid{grid-template-columns:1fr}}
.public-language{position:fixed;right:22px;top:16px;z-index:300;display:flex;align-items:center;gap:7px;padding:6px 8px 6px 10px;border:1px solid rgba(223,228,231,.95);background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 8px 25px rgba(20,29,35,.06);font-size:10px;color:#68757d;font-weight:800}.public-language select{border:0;background:transparent;color:#27353d;font-weight:800;outline:none}
@media print{.public-language{display:none!important}}

/* v1.9 UX polish */
.hf-body{opacity:0;transform:translateY(3px);transition:opacity .42s ease,transform .42s ease}.hf-body.hf-page-ready{opacity:1;transform:none}.hf-body.hf-page-leaving{opacity:0;transform:translateY(-3px);transition:opacity .62s ease,transform .62s ease}.modal-backdrop{align-items:center!important;justify-content:center!important;overflow-y:auto!important;padding:16px!important}.modal{max-height:calc(100vh - 32px)!important;overflow-y:auto!important;overscroll-behavior:contain!important}.res-block.status-tentative{background:linear-gradient(135deg,#2787c9,#3aa5df)!important}.res-block.status-confirmed{background:linear-gradient(135deg,#2787c9,#3aa5df)!important}.res-block.status-checked_in{background:linear-gradient(135deg,#1f9d72,#36b98a)!important}.res-block.status-checked_out{background:linear-gradient(135deg,#c94b59,#e36a76)!important} .premium-res.payment-partial{background:linear-gradient(135deg,#d79a2b,#efb74d)!important}.premium-res.payment-paid{box-shadow:inset 5px 0 0 #2eaa73,0 5px 13px rgba(31,157,114,.16)}.premium-res.payment-unpaid{box-shadow:inset 5px 0 0 #c94b59,0 5px 13px rgba(201,157,157,.10)}.checkout-day{background:rgba(245,178,196,.38)!important}.calendar .is-today{background:rgba(245,178,196,.52)!important}.payment-select.paid{border-color:#86d5b4;background:#effaf5;color:#117657}.payment-select.unpaid{border-color:#efb0ba;background:#fff3f5;color:#a83246}.payment-select.partial{border-color:#e9c88f;background:#fff8ec;color:#9b650c}.secure-price{cursor:pointer}.secure-line{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf0f1}.secure-line strong{letter-spacing:.12em}.revenue-card{cursor:pointer}.revenue-card .masked-revenue{letter-spacing:.18em}.guest-picker-row{display:flex;gap:9px;align-items:end}.guest-picker-row .field{flex:1}.guest-picker-row .btn{height:44px;white-space:nowrap}@media(max-width:700px){.modal{width:100%;max-height:calc(100vh - 18px)!important}.modal form{padding:16px}.guest-picker-row{display:block}.guest-picker-row .btn{margin-top:8px}}

.modal-backdrop.show{display:flex!important}

/* v2.0 — premium room inventory + reservation clarity */
.room-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;margin:18px 0;border:1px solid rgba(17,29,42,.10);background:rgba(255,255,255,.78);border-radius:18px;box-shadow:0 10px 30px rgba(16,27,40,.05)}
.room-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.room-legend span{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#526170}.room-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#8b98a6}.room-dot.available{background:#2eaa73}.room-dot.occupied{background:#3e86d9}.room-dot.maintenance{background:#d7a23a}.room-dot.out{background:#a7afb8}
.room-grid-premium{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.room-card-premium{min-height:255px;padding:20px;border:1px solid rgba(17,29,42,.10);border-radius:20px;background:linear-gradient(145deg,#fff,#f8fafb);box-shadow:0 14px 34px rgba(16,27,40,.06);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.room-card-premium:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(16,27,40,.10);border-color:rgba(17,29,42,.17)}.room-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.room-number-large{font-size:34px;font-weight:800;letter-spacing:-1.5px;color:#14202c}.room-status{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f0f4f6;font-size:12px;font-weight:700;color:#53616e}.room-type-line{margin-top:7px;font-size:14px;color:#64717d}.room-type-line span{color:#9aa4ad}.room-card-middle{flex:1;display:flex;align-items:center;padding:24px 0 18px}.current-guest,.room-empty-state{display:flex;flex-direction:column;gap:5px}.current-guest strong{font-size:18px;color:#172431}.current-guest small,.room-empty-state span{font-size:12px;color:#7c8892}.room-empty-state strong{font-size:16px;color:#263541}.room-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid #e8edf0} .room-bed-line{font-size:12px;color:#667085;margin-top:8px}.room-description{font-size:12px;color:#7c8892;margin-top:6px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.room-state-occupied{border-color:rgba(62,134,217,.32);background:linear-gradient(145deg,#fff,#f7fbff)}.room-rate{font-weight:800;color:#1c2a36}.room-rate small{font-weight:500;color:#89939b}.room-edit-btn{width:36px;height:36px}
.room-state-occupied{border-color:rgba(62,134,217,.25)}.room-state-maintenance{border-color:rgba(215,162,58,.28)}.room-state-out{opacity:.82}
.reservation-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.reservation-summary-strip>div{padding:15px 17px;border:1px solid rgba(17,29,42,.09);border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:5px}.reservation-summary-strip span{font-size:12px;color:#7d8892}.reservation-summary-strip b{font-size:23px;color:#172532}.reservation-row{cursor:pointer;transition:background .15s ease}.reservation-row:hover{background:#fafcfd}.reservation-row td{vertical-align:middle}.reservation-row small{display:block;margin-top:4px}.date-arrow-small{margin:0 7px;color:#9aa4ad}.source-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;font-size:12px;font-weight:800;white-space:nowrap;border:1px solid transparent}.source-badge i{width:7px;height:7px;border-radius:50%;display:block}.source-direct{background:#eef2f4;color:#35434e;border-color:#dce3e7}.source-direct i{background:#35434e}.source-booking{background:#eef6ff;color:#0071c2;border-color:#cfe5f8}.source-booking i{background:#0071c2}.source-hotels{background:#fff0f0;color:#d61f2c;border-color:#f2d0d2}.source-hotels i{background:#d61f2c}.source-expedia{background:#fff8df;color:#7d5b00;border-color:#f0df9d}.source-expedia i{background:#f4b400}.source-airbnb{background:#fff0f3;color:#d43b5d;border-color:#f2cbd4}.source-airbnb i{background:#ff385c}.source-phone{background:#edf9f1;color:#21834d;border-color:#d1ead9}.source-phone i{background:#2eaa73}.source-walkin{background:#f2f2f2;color:#5d646a;border-color:#dedede}.source-walkin i{background:#7a858d}.payment-badge{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}.payment-paid{background:#e9f8ef;color:#237849}.payment-partial{background:#fff4df;color:#9a6900}.payment-unpaid{background:#fff0f0;color:#b43b3b}.status-pill.blue{background:#edf5ff;color:#3477bd}.reservation-table th{white-space:nowrap}.reservation-table td:nth-child(3){min-width:190px}
@media(max-width:900px){.reservation-summary-strip{grid-template-columns:repeat(2,1fr)}.room-filter-bar{align-items:flex-start;flex-direction:column}.room-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.reservation-summary-strip{grid-template-columns:1fr}.room-grid-premium{grid-template-columns:1fr}}
/* v2.1 — trial, security and staff management */
.trial-welcome-card{max-width:620px;margin:8vh auto;text-align:center;padding:48px 42px}.trial-countdown{margin:28px auto;padding:24px;border:1px solid #e4d9c9;border-radius:18px;background:linear-gradient(135deg,#f7f2ea,#fff);display:flex;flex-direction:column;gap:5px}.trial-countdown strong{font-size:46px;line-height:1;color:#111a27}.trial-countdown span{color:#7b6c5c;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.staff-layout,.security-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);gap:20px}.permission-panel{margin:22px 0;padding:18px;border:1px solid #e4e8ed;border-radius:16px;background:#f8fafb}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.permission-item{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid #e3e7ec;border-radius:12px;background:#fff;color:#263241;font-size:13px}.permission-item input{margin-top:2px;accent-color:#1b2634}.checkline{display:flex;gap:9px;align-items:center;font-weight:600;margin:15px 0}.security-grid .card{min-width:0}.staff-editor{position:sticky;top:18px;height:max-content}.status-pill.blue,.badge.blue{background:#e8f1ff;color:#2f6fbe;border-color:#cfe0f8}.security-grid .table .actions{white-space:nowrap}.admin-expiry.orange{color:#9a5b00;font-weight:700}.admin-expiry.red{color:#b42318;font-weight:700}@media(max-width:900px){.staff-layout,.security-grid{grid-template-columns:1fr}.staff-editor{position:static}.permission-grid{grid-template-columns:1fr}}@media(max-width:600px){.trial-welcome-card{padding:32px 20px;margin:4vh 12px}.trial-countdown strong{font-size:38px}.permission-grid{grid-template-columns:1fr}}

/* v2.2 — public layout stability + responsive navigation */
.public-main{min-height:100vh;width:100%}
.public-main>.container{max-width:none;padding:0}
.public-auth{width:100%;max-width:1240px;margin:0 auto;padding:0 28px}
.public-auth .auth-main{min-height:calc(100vh - 158px);display:grid;place-items:center;padding:55px 0}
.site-nav{min-width:0}
.site-brand{flex:0 0 auto;white-space:nowrap}
.site-nav-links{flex:0 1 auto;min-width:0;white-space:nowrap}
.site-nav-links a{white-space:nowrap}
@media(max-width:900px){
  .site-shell,.public-auth{padding-left:20px;padding-right:20px}
  .site-nav{gap:18px}
  .site-nav-links{gap:14px}
  .site-nav-links a:not(.btn){font-size:12px}
  .site-brand{font-size:22px}
}
@media(max-width:760px){
  .site-nav-links{gap:8px}
  .site-nav-links a:not(.btn){display:none}
  .site-nav-links .btn{padding:9px 12px;font-size:12px}
}
@media(max-width:520px){
  .public-auth .auth-main{min-height:calc(100vh - 120px);padding:28px 0}
  .auth-card{padding:22px}
  .site-nav{padding:16px 0}
}

/* v2.3 — responsive public layout, billing plan switch, room specs and front desk */
.marketing-hero{grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr);gap:58px;max-width:1160px;margin:0 auto;padding-left:12px;padding-right:12px}
.marketing-copy{min-width:0}.marketing-copy h1{font-size:58px;max-width:520px;overflow-wrap:normal;word-break:normal}.marketing-copy>p{max-width:520px}.marketing-visual{width:100%;max-width:680px;margin-left:auto}
.site-shell{width:100%;overflow:hidden}.site-nav{width:100%}.site-nav-links{min-width:0}
.billing-plan-switch{margin-top:18px}.billing-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.billing-plan-option{border:1px solid #e0e5e9;border-radius:18px;padding:22px;background:#fff;box-shadow:0 10px 28px rgba(23,33,43,.045)}.billing-plan-option.current{border-color:#b58a52;background:linear-gradient(180deg,#fff,#fbf7f1)}.plan-switch-price{font-size:34px;font-weight:900;letter-spacing:-.04em;margin:10px 0}.plan-switch-price small{font-size:12px;color:#7b8791;font-weight:650}.billing-plan-option p{color:#6b7785;min-height:42px}.billing-plan-option ul{list-style:none;padding:0;margin:15px 0 20px}.billing-plan-option li{padding:7px 0;border-top:1px solid #edf0f2;color:#4e5a65;font-size:13px}.full-btn{width:100%;justify-content:center}
.room-spec-line{font-size:11px;color:#7b8791;margin-top:5px}.room-card-premium .room-type-line{min-height:24px}
.excel-table-wrap{overflow:auto}.excel-editable{min-width:1180px}.excel-editable td{background:#fff}.excel-editable .room-no{min-width:145px}.excel-editable .room-no small{display:block;color:#7b8791;font-weight:500;margin-top:2px}.sheet-input{width:100%;height:44px;border:0;background:transparent;padding:0 10px;outline:none;color:#17212b}.sheet-input:focus{box-shadow:inset 0 0 0 2px #b58a52;background:#fffdf9}.excel-editable .sheet-status{height:44px;border:0;background:#fff;padding:0 10px;min-width:145px}
@media(max-width:1100px){.marketing-hero{grid-template-columns:1fr 1fr;gap:35px}.marketing-copy h1{font-size:52px}.marketing-visual{max-width:620px}.container{padding-left:24px;padding-right:24px}}
@media(max-width:900px){.marketing-hero{grid-template-columns:1fr;max-width:760px}.marketing-copy h1{font-size:52px;max-width:650px}.marketing-visual{max-width:760px;margin:0}.billing-plan-grid{grid-template-columns:1fr}.room-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.marketing-copy h1{font-size:42px;line-height:1.04}.marketing-copy>p{font-size:16px}.marketing-hero{padding:44px 0 55px}.site-nav-links .btn{font-size:11px}.billing-plan-option{padding:18px}.room-grid-premium{grid-template-columns:1fr}.excel-editable{min-width:980px}.page-intro{gap:12px}}

/* v2.4 premium pricing controls */
.price-entry{display:flex;align-items:stretch;gap:0}.price-entry input{flex:1;min-width:0!important;border-radius:10px 0 0 10px!important}.price-entry select,.currency-badge{min-width:82px;border:1px solid #d7dfe3;background:#f7f8fa;color:#344054;padding:0 12px;display:flex;align-items:center;justify-content:center;font-weight:800;border-radius:0 10px 10px 0}.currency-badge{min-width:68px}.field-hint,.fx-status{display:block;font-size:11px;color:#8a96a3;margin-top:6px}.price-actions{display:flex;align-items:center;gap:12px!important}.fx-status{margin:0 0 0 auto}.premium-night{display:grid;grid-template-columns:1fr 180px;align-items:center;gap:18px;padding:12px 0!important;border-bottom:1px solid #edf0f1}.premium-night>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.premium-night>div:first-child span{font-weight:750;color:#344054}.premium-night>div:first-child small{color:#98a2b3;font-size:10px}.night-entry{max-width:180px}.total-box{display:flex;justify-content:space-between;align-items:center}.total-box>div{display:flex;flex-direction:column}.total-box small{color:#aeb8c1;font-size:11px;margin-top:2px}.total-box strong{font-size:22px;letter-spacing:-.02em}.modal .form-grid{gap:14px 16px}.modal .field label{margin-bottom:7px}.modal .price-actions{grid-column:1/-1}.modal .price-actions .btn{background:#f6f7f9;border-color:#dfe4e8;color:#33404a}.modal .price-actions .btn:hover{background:#eef1f3}.modal .price-entry input{background:#fff}@media(max-width:700px){.premium-night{grid-template-columns:1fr}.night-entry{max-width:none}.price-actions{display:block}.fx-status{margin-top:8px}.modal .price-actions{display:block}.modal .price-actions .btn{width:100%;justify-content:center}.modal .form-grid{grid-template-columns:1fr}.modal .field.full,.modal .price-actions{grid-column:1}}

.fx-multi{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.fx-multi span{font-size:10px;font-weight:800;color:#7b8792;background:#f2f4f5;border:1px solid #e3e7e9;border-radius:999px;padding:4px 8px}.total-box .fx-multi span:first-child{color:#34404a}.total-box .fx-multi span:nth-child(2){color:#8a663b}.total-box .fx-multi span:nth-child(3){color:#4f5d66}

/* HotelFlow v2.6 polish: operations notices, payment states, print and responsive behavior */
.notice-stack{display:grid;gap:10px;margin:0 34px 4px}
.notice-banner{display:flex;align-items:center;gap:14px;background:#fff8e7;border:1px solid #f0dfb6;border-radius:14px;padding:12px 14px;box-shadow:0 8px 24px rgba(35,43,60,.05)}
.notice-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#d49a2a;color:#fff;font-weight:900;flex:none}
.notice-copy{display:flex;flex-direction:column;min-width:0;flex:1}.notice-copy strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8b6420}.notice-copy span{font-size:14px;font-weight:650;color:#283244}.notice-copy small{color:#8b95a6;margin-top:2px}
.notice-actions{display:flex;align-items:center;gap:7px}.notice-actions form{margin:0}.notice-close{width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:#8b95a6;font-size:22px;cursor:pointer}.notice-close:hover{background:#f3ead4;color:#27324a}
.notice-compose textarea{min-height:120px}.notice-history{display:grid;gap:0}.notice-history-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.notice-history-row:last-child{border-bottom:0}.notice-history-row strong{display:block}.notice-history-row small{display:block;color:var(--muted);margin-top:4px}
.hotel-profile-card{max-width:1050px}.hotel-profile-note{max-width:1050px;margin-top:14px;background:#f8f7f2}.optional{font-weight:500;color:#9aa2af}
.popover-guest-link{cursor:pointer;transition:color .15s ease}.popover-guest-link:hover{color:var(--primary)}
.res-block{color:#fff!important}.res-block .name{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.12)}
.res-block.status-confirmed,.res-block.status-tentative{background:linear-gradient(135deg,#3199d2,#3ca9df)!important}
.res-block.status-checked_in{background:linear-gradient(135deg,#20a979,#38bd91)!important}
.res-block.status-checked_out{background:linear-gradient(135deg,#d34b5c,#e56572)!important}
.res-block.payment-unpaid{border-left:6px solid #e0525f!important}.res-block.payment-partial{border-left:6px solid #d6a12e!important}.res-block.payment-paid{border-left:6px solid #25a977!important}
.res-block.status-cancelled{background:#9aa3b2!important}
.sheet-date{font-variant-numeric:tabular-nums}.print-date{display:none}
.hf-leaving{opacity:.72;transition:opacity .18s ease}.hf-body{transition:opacity .18s ease}.hf-body.hf-ready{opacity:1}
@media (max-width:1100px){
 .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:1fr 1fr}
 .container{padding-left:22px;padding-right:22px}.topbar{padding-left:22px;padding-right:22px}.notice-stack{margin-left:22px;margin-right:22px}
}
@media (max-width:760px){
 .sidebar{width:76px;padding:16px 10px}.sidebar .brand{font-size:0;text-align:center}.sidebar .brand:after{content:"HF";font-size:22px}.sidebar .userbox,.sidebar .nav-label{display:none}.sidebar nav a{text-align:center;padding:11px 4px}.sidebar .nav-icon{font-size:18px}.sidebar-toggle{right:-9px!important}
 .main{margin-left:76px}.main.sidebar-collapsed{margin-left:0}.grid4,.grid3,.form-grid{grid-template-columns:1fr}.container{padding:0 14px 28px}.topbar{padding:18px 14px 10px}.topbar h1{font-size:23px}.notice-stack{margin:0 14px 4px}.notice-banner{align-items:flex-start}.notice-actions{flex-direction:column}
 .page-intro{flex-direction:column;align-items:flex-start}.toolbar{flex-wrap:wrap}.calendar-shell{border-radius:12px}.calendar{min-width:920px}
 .modal-backdrop{padding:10px}.modal{max-height:94vh;border-radius:16px;padding:16px}.reservation-popover-backdrop{padding:10px}
 .hotel-profile-card{max-width:none}
}
@media print{
 @page{size:A4 landscape;margin:8mm}
 html,body{background:#fff!important;color:#111!important}
 body *{visibility:hidden!important}
 .frontdesk-sheet,.frontdesk-sheet *{visibility:visible!important}
 .frontdesk-sheet{position:absolute!important;left:0!important;top:0!important;width:100%!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important}
 .sheet-toolbar,.sheet-help,.page-intro,.topbar,.sidebar,.billing-warning,.notice-stack{display:none!important}
 .excel-table-wrap{overflow:visible!important}
 .excel-editable{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9px!important}
 .excel-editable th,.excel-editable td{padding:5px 6px!important;border:1px solid #b9c0c8!important;height:24px!important}
 .excel-editable th{font-size:9px!important;background:#eef1f4!important}
 .excel-editable th:nth-child(1){width:16%}.excel-editable th:nth-child(2),.excel-editable th:nth-child(3){width:12%}.excel-editable th:nth-child(4),.excel-editable th:nth-child(5){width:11%}.excel-editable th:nth-child(6){width:11%}.excel-editable th:nth-child(7){width:19%}.excel-editable th:nth-child(8){display:none}.excel-editable td:last-child{display:none}
 .excel-editable input,.excel-editable select{display:none!important}
 .print-date{display:inline!important}
 .room-no small{display:block!important;font-size:8px!important}
 .sheet-status{display:none!important}
 .sheet-input{border:0!important;padding:0!important}
}
/* v2.7 operational polish */
.print-value{display:none}
.due-amount-line{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2b3741;padding:11px 0;color:#dbe2e8;font-size:12px}.due-amount-line strong{color:#fff;letter-spacing:.08em}
.nightly-prices-card .detail-section-title{margin-bottom:12px}.night-price-form{display:grid;gap:0}.night-edit-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f2}.night-edit-row>div:first-child span{display:block;font-weight:800;font-size:13px}.night-edit-row small{display:block;color:#98a2b3;margin-top:2px;font-size:10px}.night-price-input{display:flex;align-items:center;border:1px solid #d9dee6;border-radius:10px;background:#fff;overflow:hidden;min-width:145px}.night-price-input:focus-within{border-color:#b58a52;box-shadow:0 0 0 3px rgba(181,138,82,.12)}.night-price-input input{width:110px;border:0;outline:0;padding:10px 9px;font-weight:800;background:transparent}.night-price-input span{font-size:10px;font-weight:900;color:#667085;padding-right:9px}.night-price-total{display:flex;justify-content:space-between;align-items:center;margin:14px 0;padding:13px 14px;border-radius:12px;background:#f7f4ef;border:1px solid #e9dfd2}.night-price-total span{font-size:12px;color:#667085}.night-price-total strong{font-size:18px;color:#17212b}.channel-actions{display:flex;gap:7px;align-items:center}.channel-actions form{margin:0}.btn.danger{color:#a73535;border-color:#efc5c5;background:#fff5f5}.small-modal{max-width:520px}
@media print{
 @page{size:A4 landscape;margin:6mm}
 .excel-editable{font-size:8px!important;table-layout:fixed!important}
 .excel-editable th,.excel-editable td{padding:4px 5px!important;height:20px!important;line-height:1.15!important}
 .excel-editable th:nth-child(1){width:14%!important}
 .excel-editable th:nth-child(2),.excel-editable th:nth-child(3){width:11%!important}
 .excel-editable th:nth-child(4),.excel-editable th:nth-child(5){width:15%!important}
 .excel-editable th:nth-child(6){width:12%!important}
 .excel-editable th:nth-child(7){width:22%!important}
 .excel-editable th:nth-child(8){display:none!important}
 .excel-editable td:last-child{display:none!important}
 .excel-editable input,.excel-editable select{display:none!important}
 .print-value{display:block!important;white-space:normal!important;overflow-wrap:anywhere!important}
 .print-status{font-weight:800}
 .print-date:empty{display:none!important}
 .room-no small{font-size:7px!important}
 .excel-editable tbody tr{break-inside:avoid!important}
}

/* v2.8 fixes */
.same-price-action{display:flex;flex-direction:column;gap:7px}.same-price-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.same-price-row .price-entry{min-width:190px}.same-price-row .fx-status{font-size:11px;color:#7b8791}.same-price-row .currency-badge{min-width:54px;text-align:center}
.saas-name-form{margin:0 0 5px}.saas-name-edit{display:flex;align-items:center;gap:7px;min-width:250px}.saas-name-edit input{min-width:0;width:180px;height:34px;border:1px solid #d8dee7;border-radius:9px;padding:0 9px;font-weight:750;color:#17212b;background:#fff}.saas-name-edit input:focus{outline:0;border-color:#b58a52;box-shadow:0 0 0 3px rgba(181,138,82,.1)}
.excel-editable .sheet-status{font-weight:800}.excel-editable .sheet-status.status-temiz,.excel-editable .sheet-status.status-temizlendi{color:#16835a;background:#effaf4}.excel-editable .sheet-status.status-kirli{color:#a43f32;background:#fff2ef}.excel-editable .sheet-status.status-boş{color:#5f6b76;background:#f3f5f7}.excel-editable .sheet-status.status-rezervasyonlu{color:#a96d0b;background:#fff7e8}.excel-editable .sheet-status.status-dolu{color:#a13b32;background:#fff0ed}.excel-editable .sheet-status.status-çıkış{color:#667085;background:#f4f5f7}.excel-editable .sheet-status.status-bakımda{color:#9a6a14;background:#fff8e8}.excel-editable .sheet-status.status-kullanım-dışı{color:#7c3f8c;background:#faf0ff}
@media(max-width:720px){.same-price-row{align-items:stretch}.same-price-row .price-entry,.same-price-row .btn{width:100%}.saas-name-edit{min-width:0}.saas-name-edit input{width:100%}}

/* Operations UI cleanup */
.userbox strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userbox small{display:block;line-height:1.45}
.notice-copy{border:0;background:transparent;text-align:left;padding:0;cursor:pointer}.notice-expanded{flex:1;margin-top:6px}.notice-expanded p{margin:0;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #eadfca;color:#344054;line-height:1.55}.notice-history-row{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}.notice-history-row>div{min-width:0;flex:1}.notice-history-row strong{transition:opacity .15s ease}.notice-history-row.notice-done strong{text-decoration:line-through;text-decoration-thickness:1.5px;opacity:.72}.notice-history-detail{display:none;margin-top:8px;padding:9px 11px;border-radius:10px;background:#f7f8fa;color:#475467;font-size:13px;line-height:1.5}.notice-history-row.expanded .notice-history-detail{display:block}
.checkbox-line{display:flex;align-items:center;gap:9px;cursor:pointer}.checkbox-line input{width:17px;height:17px}
.sheet-display{font-weight:700}.sheet-display::placeholder{font-weight:500;color:#98a2b3}.sheet-status{display:none!important}
@media screen and (min-width:900px){.excel-editable th:nth-child(4){min-width:300px}.excel-editable td:nth-child(4){min-width:300px}}
@media print{
 .excel-editable{width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:9px!important}
 .excel-editable th:nth-child(1){width:16%!important}.excel-editable th:nth-child(2),.excel-editable th:nth-child(3){width:14%!important}.excel-editable th:nth-child(4){width:46%!important}.excel-editable th:nth-child(5){width:10%!important}
 .excel-editable th,.excel-editable td{padding:5px 6px!important}.excel-editable td:nth-child(4){font-size:10px!important;font-weight:700;white-space:normal!important;overflow-wrap:anywhere!important}
}
/* v3.0 guest search, secure amounts and print polish */
.guest-search-wrap{position:relative}.guest-search-wrap>input{width:100%}.guest-results{display:none;position:absolute;z-index:1200;left:0;right:0;top:calc(100% + 6px);max-height:300px;overflow:auto;background:#fff;border:1px solid #dfe4ea;border-radius:12px;box-shadow:0 18px 40px rgba(16,24,40,.14);padding:6px}.guest-results.show{display:grid;gap:3px}.guest-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:#fff;text-align:left;padding:10px 11px;border-radius:9px;cursor:pointer;color:#17212b}.guest-result:hover{background:#f5f7f9}.guest-result span{min-width:0}.guest-result strong,.guest-result small{display:block}.guest-result small{color:#8a96a3;margin-top:2px}.guest-result>b{font-size:11px;color:#667085;white-space:nowrap}.guest-no-result{padding:12px;color:#8a96a3;font-size:12px}.secure-price,.secure-line{cursor:pointer}.secure-price:hover,.secure-line:hover{background:#f7f9fa}.due-amount-line.secure-line{margin-top:0}
@media print{
 @page{size:A4 landscape;margin:6mm}
 .excel-editable{width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:9px!important}
 .excel-editable th:nth-child(1){width:17%!important}.excel-editable th:nth-child(2),.excel-editable th:nth-child(3){width:15%!important}.excel-editable th:nth-child(4){width:53%!important}
 .excel-editable th,.excel-editable td{padding:5px 6px!important;border:1px solid #b9c0c8!important}
 .excel-editable tbody tr.checkout-today-row td{font-weight:900!important}
 .excel-editable tbody tr.checkout-today-row .room-no small{font-weight:900!important}
 .excel-editable tbody tr.checkout-today-row .print-value,.excel-editable tbody tr.checkout-today-row .print-date{font-weight:900!important}
 .excel-editable input,.excel-editable select{display:none!important}
 .print-date,.print-value{display:inline!important}
}
.saas-hotel-toolbar{display:flex;align-items:center;gap:10px}.hotel-search{height:42px;min-width:240px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #d8dee7;border-radius:11px;background:#fff}.hotel-search span{color:#8a96a3}.hotel-search input{border:0;outline:0;min-width:0;width:100%;font:inherit;background:transparent}.saas-hotel-row{transition:opacity .15s ease}@media(max-width:720px){.saas-hotel-toolbar{width:100%;flex-direction:column;align-items:stretch}.hotel-search{width:100%}}

/* v3.1 operational status + print cleanup */
.room-dot.cleaning{background:#d7a23a}.room-state-cleaning{border-color:rgba(215,162,58,.34);background:linear-gradient(145deg,#fff,#fffcf5)}
.room-arrival-state{display:flex;flex-direction:column;gap:5px}.room-arrival-state strong{font-size:18px;color:#172431}.room-arrival-state small{font-size:12px;color:#7c8892}
.calendar-room-state{display:block;width:4px;min-width:4px;height:42px;border-radius:4px;margin-right:9px;float:left;background:#d95c5c}.calendar-room-state.occupied{background:#3e86d9}.calendar-room-state.cleaning{background:#d34b5c}.calendar-room-state.available{background:#2eaa73}.roomcell{position:relative}
@media print{
 @page{size:A4 landscape;margin:6mm}
 .frontdesk-sheet{width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}
 .excel-table-wrap{width:100%!important;overflow:visible!important}
 .excel-editable{width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9px!important}
 .excel-editable th,.excel-editable td{box-sizing:border-box!important;padding:5px 7px!important;border:1px solid #b9c0c8!important;height:24px!important;vertical-align:middle!important}
 .excel-editable th{position:static!important;background:#eef1f4!important;color:#111!important;font-size:9px!important}
 .excel-editable th:nth-child(1),.excel-editable td:nth-child(1){width:23%!important}
 .excel-editable th:nth-child(2),.excel-editable td:nth-child(2){width:17%!important}
 .excel-editable th:nth-child(3),.excel-editable td:nth-child(3){width:17%!important}
 .excel-editable th:nth-child(4),.excel-editable td:nth-child(4){width:43%!important}
 .excel-editable input,.excel-editable select{display:none!important}
 .excel-editable .print-date,.excel-editable .print-value{display:inline!important}
 .excel-editable .print-value{font-weight:800!important;white-space:normal!important;overflow-wrap:anywhere!important}
 .excel-editable .print-date:empty{display:none!important}
 .excel-editable tbody tr.checkout-today-row td,.excel-editable tbody tr.checkout-today-row .print-date,.excel-editable tbody tr.checkout-today-row .print-value{font-weight:900!important}
 .excel-editable tbody tr{break-inside:avoid!important}
}

/* HotelFlow v3.2 — staff validation + reliable front-desk print */
@media print{
  @page{size:A4 landscape;margin:8mm}
  html,body{background:#fff!important;color:#111!important;width:100%!important;min-width:0!important}
  body *{visibility:hidden!important}
  .frontdesk-sheet,.frontdesk-sheet *{visibility:visible!important}
  .main,.main.sidebar-collapsed{margin:0!important;padding:0!important}
  .container{padding:0!important;max-width:none!important;width:100%!important}
  .frontdesk-sheet{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  .print-header{display:flex!important;visibility:visible!important;justify-content:space-between!important;align-items:flex-end!important;width:100%!important;box-sizing:border-box!important;padding:0 0 10px!important;margin:0 0 10px!important;border-bottom:2px solid #1d2730!important}
  .print-header strong{display:block!important;font-size:15px!important;line-height:1.2!important;color:#111!important}
  .print-header span{display:block!important;margin-top:3px!important;font-size:9px!important;line-height:1.2!important;color:#555!important}
  .sheet-toolbar,.sheet-help,.page-intro,.topbar,.sidebar,.impersonation-bar,.billing-warning,.notice-stack,.intro-actions{display:none!important}
  .excel-table-wrap{width:100%!important;overflow:visible!important}
  .excel-editable{display:table!important;width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9px!important}
  .excel-editable th,.excel-editable td{box-sizing:border-box!important;padding:5px 7px!important;border:1px solid #b9c0c8!important;height:24px!important;vertical-align:middle!important;color:#111!important}
  .excel-editable th{background:#eef1f4!important;font-size:9px!important;font-weight:800!important}
  .excel-editable th:nth-child(1),.excel-editable td:nth-child(1){width:23%!important}
  .excel-editable th:nth-child(2),.excel-editable td:nth-child(2){width:17%!important}
  .excel-editable th:nth-child(3),.excel-editable td:nth-child(3){width:17%!important}
  .excel-editable th:nth-child(4),.excel-editable td:nth-child(4){width:43%!important}
  .excel-editable input,.excel-editable select,.excel-editable button{display:none!important}
  .excel-editable .print-date,.excel-editable .print-value{display:block!important;visibility:visible!important;color:#111!important}
  .excel-editable .print-date:empty{display:none!important}
  .excel-editable .print-value{font-weight:800!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;min-height:1em!important}
  .excel-editable .room-no strong{font-weight:900!important}
  .excel-editable .room-no small{display:block!important;font-size:7px!important;color:#4e5a65!important;margin-top:2px!important}
  .excel-editable tbody tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .excel-editable tbody tr.checkout-today-row td,.excel-editable tbody tr.checkout-today-row .print-date,.excel-editable tbody tr.checkout-today-row .print-value{font-weight:900!important}
}

/* HotelFlow v3.3 — deterministic front-desk printing + staff account controls */
.print-only-frontdesk{display:none}
.staff-layout .actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.staff-layout .actions form{margin:0}
.btn.danger{color:#a73535;border-color:#efc5c5;background:#fff5f5}

@media print{
  @page{size:A4 landscape;margin:8mm}
  html,body{background:#fff!important;color:#111!important;width:100%!important;min-width:0!important}
  body *{visibility:hidden!important}
  .frontdesk-sheet,.frontdesk-sheet *{visibility:visible!important}
  .frontdesk-sheet{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  .sheet-toolbar,.sheet-help,.page-intro,.topbar,.sidebar,.impersonation-bar,.billing-warning,.notice-stack,.intro-actions,.excel-table-wrap,.print-header{display:none!important}
  .print-only-frontdesk{display:block!important;visibility:visible!important;width:100%!important}
  .print-only-frontdesk *{visibility:visible!important}
  .print-only-head{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;width:100%!important;box-sizing:border-box!important;padding:0 0 10px!important;margin:0 0 10px!important;border-bottom:2px solid #1d2730!important}
  .print-only-head strong{display:block!important;font-size:15px!important;line-height:1.2!important;color:#111!important}
  .print-only-head span{display:block!important;margin-top:3px!important;font-size:9px!important;line-height:1.2!important;color:#555!important}
  .print-frontdesk-table{display:table!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9px!important}
  .print-frontdesk-table th,.print-frontdesk-table td{box-sizing:border-box!important;border:1px solid #b9c0c8!important;padding:5px 7px!important;height:25px!important;vertical-align:middle!important;color:#111!important}
  .print-frontdesk-table th{background:#eef1f4!important;font-size:9px!important;font-weight:800!important;text-align:left!important}
  .print-frontdesk-table th:nth-child(1),.print-frontdesk-table td:nth-child(1){width:23%!important}
  .print-frontdesk-table th:nth-child(2),.print-frontdesk-table td:nth-child(2){width:17%!important}
  .print-frontdesk-table th:nth-child(3),.print-frontdesk-table td:nth-child(3){width:17%!important}
  .print-frontdesk-table th:nth-child(4),.print-frontdesk-table td:nth-child(4){width:43%!important}
  .print-frontdesk-table td:nth-child(1) strong{font-weight:900!important}
  .print-frontdesk-table td:nth-child(1) small{display:block!important;font-size:7px!important;color:#4e5a65!important;margin-top:2px!important;line-height:1.15!important}
  .print-frontdesk-table td:nth-child(4) strong{font-weight:800!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .print-frontdesk-table tbody tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .print-frontdesk-table tbody tr.checkout-today-row td,.print-frontdesk-table tbody tr.checkout-today-row td strong,.print-frontdesk-table tbody tr.checkout-today-row td small{font-weight:900!important}
}

/* HotelFlow v3.3 — deterministic front-desk printing + staff account controls */
.print-only-frontdesk{display:none}
.staff-layout .actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.staff-layout .actions form{margin:0}

@media print{
  @page{size:A4 landscape;margin:8mm}
  html,body{background:#fff!important;color:#111!important;width:100%!important;min-width:0!important}
  body *{visibility:hidden!important}
  .frontdesk-sheet,.frontdesk-sheet *{visibility:visible!important}
  .frontdesk-sheet{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  .sheet-toolbar,.sheet-help,.page-intro,.topbar,.sidebar,.impersonation-bar,.billing-warning,.notice-stack,.intro-actions,.excel-table-wrap,.print-header{display:none!important}
  .print-only-frontdesk{display:block!important;visibility:visible!important;width:100%!important}
  .print-only-frontdesk *{visibility:visible!important}
  .print-only-head{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;width:100%!important;box-sizing:border-box!important;padding:0 0 10px!important;margin:0 0 10px!important;border-bottom:2px solid #1d2730!important}
  .print-only-head strong{display:block!important;font-size:15px!important;line-height:1.2!important;color:#111!important}
  .print-only-head span{display:block!important;margin-top:3px!important;font-size:9px!important;line-height:1.2!important;color:#555!important}
  .print-frontdesk-table{display:table!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9px!important}
  .print-frontdesk-table th,.print-frontdesk-table td{box-sizing:border-box!important;border:1px solid #b9c0c8!important;padding:5px 7px!important;height:25px!important;vertical-align:middle!important;color:#111!important}
  .print-frontdesk-table th{background:#eef1f4!important;font-size:9px!important;font-weight:800!important;text-align:left!important}
  .print-frontdesk-table th:nth-child(1),.print-frontdesk-table td:nth-child(1){width:23%!important}
  .print-frontdesk-table th:nth-child(2),.print-frontdesk-table td:nth-child(2){width:17%!important}
  .print-frontdesk-table th:nth-child(3),.print-frontdesk-table td:nth-child(3){width:17%!important}
  .print-frontdesk-table th:nth-child(4),.print-frontdesk-table td:nth-child(4){width:43%!important}
  .print-frontdesk-table td:nth-child(1) strong{font-weight:900!important}
  .print-frontdesk-table td:nth-child(1) small{display:block!important;font-size:7px!important;color:#4e5a65!important;margin-top:2px!important;line-height:1.15!important}
  .print-frontdesk-table td:nth-child(4) strong{font-weight:800!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .print-frontdesk-table tbody tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .print-frontdesk-table tbody tr.checkout-today-row td,.print-frontdesk-table tbody tr.checkout-today-row td strong,.print-frontdesk-table tbody tr.checkout-today-row td small{font-weight:900!important}
}

.activity-timeline,.reservation-activity-list{display:grid;gap:0}.activity-item,.reservation-activity-item{display:flex;gap:13px;padding:16px 2px;border-bottom:1px solid #edf0f2}.activity-item:last-child,.reservation-activity-item:last-child{border-bottom:0}.activity-dot{width:9px;height:9px;border-radius:50%;background:#c79b62;box-shadow:0 0 0 5px #f7f1e8;margin-top:5px;flex:0 0 auto}.activity-body{min-width:0;flex:1}.activity-top{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.activity-top strong,.reservation-activity-item strong{font-size:13px;color:#17212b}.activity-top time,.reservation-activity-item small{font-size:10px;color:#98a2b3;white-space:nowrap}.activity-actor{font-size:11px;color:#667085;margin-top:4px}.activity-context{font-size:11px;color:#667085;margin-top:7px}.reservation-activity-card{margin-top:18px}.reservation-activity-item>div:last-child{display:flex;flex-direction:column;gap:4px}.same-price-inline{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;margin-bottom:10px;border:1px solid #e9dfd2;background:#faf7f2;border-radius:12px}.same-price-inline span{display:block;font-weight:800;font-size:12px}.same-price-inline small{display:block;color:#8a96a3;font-size:10px;margin-top:3px}.same-price-inline-control{display:flex;align-items:center;gap:0;border:1px solid #d9dee6;border-radius:9px;overflow:hidden;background:#fff}.same-price-inline-control input{width:105px;border:0;padding:9px;outline:0}.same-price-inline-control>span{padding:0 9px;font-size:10px;font-weight:900;color:#667085}.same-price-inline-control .btn{border-radius:0;border-width:0 0 0 1px}.fx-reference-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border:1px solid #e7e0d5;background:#faf8f5;border-radius:12px}.fx-reference-card .fx-main{display:flex;align-items:center;gap:10px}.fx-reference-card .fx-dot{width:8px;height:8px;border-radius:50%;background:#22a06b}.fx-reference-card strong{font-size:13px}.fx-reference-card small{display:block;color:#8a96a3;font-size:10px;margin-top:3px}.fx-reference-card .fx-source{font-size:10px;font-weight:800;color:#667085}.fx-error{border-color:#efd0d0;background:#fff7f7}.fx-error .fx-dot{background:#c74343}@media(max-width:700px){.activity-top,.same-price-inline,.fx-reference-card{align-items:flex-start;flex-direction:column}.activity-top time{white-space:normal}.same-price-inline-control{width:100%}.same-price-inline-control input{flex:1}}
#fxHint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px;padding:10px 12px;border:1px solid #e7e0d5;background:#faf8f5;border-radius:10px;color:#344054;font-size:11px;font-weight:700;line-height:1.35}
#fxHint::before{content:'●';color:#22a06b;font-size:9px;margin-right:2px}

/* v3.6 calendar / room state controls */
.room-status-quick{margin:0}.room-status-select{display:inline-flex;align-items:center;gap:7px;padding:6px 8px;border-radius:999px;background:#f0f4f6;border:1px solid #e3e9ed;cursor:pointer}.room-status-select select{border:0;background:transparent;color:#53616e;font-size:12px;font-weight:700;outline:none;cursor:pointer;max-width:150px}.calendar-room-state.maintenance{background:#d7a23a}.calendar-room-state.out{background:#a7afb8}.calendar-legend{flex-wrap:wrap}.legend-status{width:12px;height:12px;border-radius:4px;display:inline-block}.legend-status.blue{background:#3199d2}.legend-status.green{background:#20a979}.legend-status.red{background:#d34b5c}.premium-calendar .premium-res.status-cancelled{background:#9aa3b2!important}.room-state-cleaning .room-status-select{background:#fff8eb}.room-state-occupied .room-status-select{background:#eef6ff}.room-state-available .room-status-select{background:#effaf5}.room-state-maintenance .room-status-select{background:#fff8eb}.room-state-out .room-status-select{background:#f1f3f5}

/* v3.7 — secure session UX + native date selection */
.calendar-jump{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-date-jump{display:flex;align-items:center;gap:8px;padding:5px 9px 5px 11px;border:1px solid #e7eaf0;background:#fff;border-radius:999px;color:#66727d;font-size:10px;font-weight:800}.calendar-date-jump input{border:0;background:transparent;color:#25323d;font:inherit;outline:0;min-width:132px;cursor:pointer}.sheet-date{cursor:pointer}.sheet-date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.sheet-date{font-family:inherit}.sheet-date.has-value{font-weight:700}.calendar-toolbar .left{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:760px){.calendar-jump{width:100%;justify-content:flex-start}.calendar-date-jump{width:100%;justify-content:space-between}.calendar-date-jump input{flex:1}}

/* v3.8: Front desk save controls and native date picker */
.sheet-display-wrap{display:flex;align-items:center;gap:8px;width:100%}
.sheet-display-wrap .sheet-display{flex:1;min-width:0}
.sheet-save-btn{white-space:nowrap;padding:8px 12px}
.calendar-date-jump{display:flex;align-items:center;gap:8px;margin:0 0 0 6px}
.calendar-date-jump input[type="date"]{height:40px;border:1px solid var(--line,#d7dee5);border-radius:10px;background:#fff;padding:0 10px;font:inherit;color:inherit;cursor:pointer}
.calendar-date-jump input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer}
@media(max-width:900px){.calendar-date-jump{width:100%;margin:8px 0 0}.calendar-date-jump input[type="date"]{flex:1}.calendar-toolbar .left{flex-wrap:wrap}}
@media print{.sheet-display-wrap .sheet-save-btn{display:none}}

/* v3.9 refinements */
.excel-editable{table-layout:fixed}
.excel-editable th:nth-child(1),.excel-editable td:nth-child(1){width:13%!important}
.excel-editable th:nth-child(2),.excel-editable td:nth-child(2),.excel-editable th:nth-child(3),.excel-editable td:nth-child(3){width:19%!important}
.excel-editable th:nth-child(4),.excel-editable td:nth-child(4){width:49%!important}
.excel-editable td.room-no small{white-space:normal;line-height:1.15}
.excel-editable tbody tr.checkout-today-row td,
.excel-editable tbody tr.checkout-today-row td input,
.excel-editable tbody tr.checkout-today-row .print-date,
.excel-editable tbody tr.checkout-today-row .print-value{font-weight:900!important}

@media print{
  .excel-editable th:nth-child(1),.excel-editable td:nth-child(1),
  .print-frontdesk-table th:nth-child(1),.print-frontdesk-table td:nth-child(1){width:12%!important}
  .excel-editable th:nth-child(2),.excel-editable td:nth-child(2),
  .excel-editable th:nth-child(3),.excel-editable td:nth-child(3),
  .print-frontdesk-table th:nth-child(2),.print-frontdesk-table td:nth-child(2),
  .print-frontdesk-table th:nth-child(3),.print-frontdesk-table td:nth-child(3){width:18%!important}
  .excel-editable th:nth-child(4),.excel-editable td:nth-child(4),
  .print-frontdesk-table th:nth-child(4),.print-frontdesk-table td:nth-child(4){width:52%!important}
  .excel-editable tbody tr.checkout-today-row td,
  .excel-editable tbody tr.checkout-today-row td strong,
  .excel-editable tbody tr.checkout-today-row td small,
  .excel-editable tbody tr.checkout-today-row .print-date,
  .excel-editable tbody tr.checkout-today-row .print-value,
  .print-frontdesk-table tbody tr.checkout-today-row td,
  .print-frontdesk-table tbody tr.checkout-today-row td strong,
  .print-frontdesk-table tbody tr.checkout-today-row td small{font-weight:900!important}
}

.calendar .room-closed-cell,.room-closed-cell{background:repeating-linear-gradient(135deg,#f5f6f7 0,#f5f6f7 8px,#eceff1 8px,#eceff1 16px)!important;cursor:not-allowed!important}.calendar .room-closed-for-sale .room-number,.calendar .room-closed-for-sale .muted{opacity:.65}.calendar .room-closed-for-sale .calendar-room-state{opacity:.9}.room-status-select select option:disabled{color:#8a8f95}.
/* HotelFlow v4.1 — print weight hierarchy: only today's check-outs are bold */
@media print{
  .print-frontdesk-table tbody tr:not(.checkout-today-row) td,
  .print-frontdesk-table tbody tr:not(.checkout-today-row) td strong,
  .print-frontdesk-table tbody tr:not(.checkout-today-row) td small{
    font-weight:400!important;
  }
  .print-frontdesk-table tbody tr.checkout-today-row td,
  .print-frontdesk-table tbody tr.checkout-today-row td strong,
  .print-frontdesk-table tbody tr.checkout-today-row td small{
    font-weight:900!important;
  }
}

/* v4.5 calendar status dots */
.calendar-room-state{width:9px!important;min-width:9px!important;height:9px!important;border-radius:50%!important;display:inline-block!important;float:none!important;margin:0 8px 0 0!important;vertical-align:middle!important}
.calendar-room-state.occupied{background:#3199d2!important}.calendar-room-state.cleaning{background:#d69a29!important}.calendar-room-state.available{background:#20a979!important}.calendar-room-state.maintenance{background:#d34b5c!important}.calendar-room-state.out{background:#a7afb8!important}
/* v4.5 business reservation flow */
.reservation-business-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:9px;margin:0 0 17px}.reservation-business-item{border:1px solid #e3e7ea;border-radius:12px;background:#fafbfc;padding:10px 12px}.reservation-business-item span{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#8a96a0}.reservation-business-item strong{display:block;font-size:12px;color:#25323d;margin-top:4px}.reservation-room-status-key{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid #e5e9ed;background:#fafbfc;border-radius:12px;padding:10px 12px;margin-bottom:16px}.reservation-room-status-key span{font-size:10px;font-weight:800;color:#66727d;display:inline-flex;align-items:center;gap:6px}.reservation-room-status-key i{width:8px;height:8px;border-radius:50%;display:inline-block}.reservation-room-status-key .blue{background:#3199d2}.reservation-room-status-key .green{background:#20a979}.reservation-room-status-key .yellow{background:#d69a29}.reservation-room-status-key .red{background:#d34b5c}
@media(max-width:700px){.reservation-business-strip{grid-template-columns:1fr}}

/* v4.6 — landing hero uses the real reservation-calendar visual */
.marketing-visual{padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
.marketing-visual .reservation-calendar-hero-image{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;object-position:center;border-radius:18px;box-shadow:0 30px 70px rgba(23,33,43,.16)}
.marketing-visual .visual-window,.marketing-visual .visual-bar,.marketing-visual .mini-calendar,.marketing-visual .visual-footer{display:none!important}

/* Collapsed sidebar: give the operational workspace the released width. */
.main.sidebar-collapsed .container{max-width:none;width:100%}
.main.sidebar-collapsed .calendar-shell{width:100%}
.main.sidebar-collapsed .calendar{width:100%}
@media(min-width:901px){
  .main{transition:margin-left .22s ease,width .22s ease}
  .main.sidebar-collapsed{width:calc(100% - 78px)}
  .main:not(.sidebar-collapsed){width:calc(100% - 258px)}
}

/* Excel print: only rooms leaving today are bold. Everything else stays regular. */
@media print{
  .excel-editable tbody tr:not(.checkout-today-row) td,
  .excel-editable tbody tr:not(.checkout-today-row) td *,
  .excel-editable tbody tr:not(.checkout-today-row) .print-date,
  .excel-editable tbody tr:not(.checkout-today-row) .print-value{font-weight:400!important}
  .excel-editable tbody tr.checkout-today-row td,
  .excel-editable tbody tr.checkout-today-row td *,
  .excel-editable tbody tr.checkout-today-row .print-date,
  .excel-editable tbody tr.checkout-today-row .print-value{font-weight:900!important}
}

/* Membership countdown / billing admin polish */
.billing-warning{position:relative;overflow:hidden;align-items:center}
.billing-warning-icon{width:38px;height:38px;min-width:38px;border-radius:50%;display:grid;place-items:center;background:#d94a5f;color:#fff;font-weight:900;font-size:18px;box-shadow:0 8px 20px rgba(217,74,95,.22)}
.billing-warning-copy{flex:1}.billing-warning-copy strong{font-size:14px}.billing-warning-copy .js-countdown{font-variant-numeric:tabular-nums}
.billing-admin-intro{align-items:center}.billing-admin-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.summary-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.summary-dot.red{background:#d94a5f}
.billing-admin-card{border-radius:22px}.billing-admin-toolbar{padding:20px 22px;background:linear-gradient(180deg,#fff,#fbfcfe)}
.billing-filter-group{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.billing-section-title{display:flex;align-items:center;gap:11px}.billing-section-title strong{display:block;font-size:14px}.billing-section-title small{display:block;color:#98a2b3;font-size:11px;margin-top:2px}.billing-section-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#17242d;color:#d1a06a;font-weight:900}
.account-type-control{display:flex;gap:7px;align-items:center;white-space:nowrap}.account-type-control select{min-width:118px;border:1px solid #d8dee5;border-radius:9px;background:#fff;padding:7px 28px 7px 9px;font-size:12px;font-weight:700;color:#24303a}.account-type-help{display:block;font-size:10px;color:#98a2b3;margin-top:5px}
.billing-admin-table .admin-expiry{min-width:190px;white-space:nowrap}.billing-admin-table .admin-expiry strong{font-size:13px}.billing-admin-table .admin-expiry small{font-variant-numeric:tabular-nums;font-weight:750}
@media(max-width:1100px){.billing-admin-table{min-width:1280px}}

/* HotelFlow premium marketing refresh */
.premium-landing-hero{min-height:640px;position:relative;overflow:hidden}
.premium-landing-hero:before{content:"";position:absolute;inset:-30% 45% auto -10%;height:500px;background:radial-gradient(circle,rgba(181,138,82,.11),transparent 68%);pointer-events:none}
.hero-product-frame{padding:14px!important;border:1px solid rgba(181,138,82,.18);background:linear-gradient(145deg,#17212b,#2b3540)!important}
.hero-product-frame .visual-window{position:relative;min-height:470px}
.hero-product-frame img{display:block;width:100%;height:470px;object-fit:cover;object-position:top;border-radius:0 0 16px 16px;background:#f6f7f8}
.image-placeholder{display:none;min-height:300px;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:linear-gradient(145deg,#f7f8f8,#eef1f3);color:#66727d;text-align:center;padding:40px}
.image-placeholder strong{font-size:22px;color:#17212b}.image-placeholder span{font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.image-missing .image-placeholder{display:flex}.image-missing img{display:none!important}
.premium-strip{margin-top:-34px!important}
.premium-strip strong{font-size:26px;color:#17212b}
.premium-how .step-card{min-height:190px;display:flex;flex-direction:column}.premium-how .step-card p{margin-top:auto}
.product-showcase,.image-split{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:58px;align-items:center}
.showcase-copy{max-width:600px}.showcase-copy h2{font-size:44px;line-height:1.08;letter-spacing:-.045em;margin:10px 0 18px}.showcase-copy p{font-size:17px;line-height:1.75;color:#68748a}.text-link{display:inline-block;margin-top:14px;color:#8f6639;font-weight:900;text-decoration:none}.showcase-image,.split-image{border:1px solid #e0e5e8;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 24px 60px rgba(23,33,43,.09)}.showcase-image img,.split-image img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;object-position:top}
.media-showcase{max-width:1240px}.video-frame{position:relative;overflow:hidden;border-radius:22px;border:1px solid #dfe4e7;background:#17212b;box-shadow:0 28px 70px rgba(23,33,43,.14);min-height:500px}.video-frame video{display:block;width:100%;height:100%;min-height:500px;object-fit:cover}.video-frame .video-placeholder{display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#dbe1e5;text-align:center}.video-frame:not(:has(video[src])) .video-placeholder{display:flex}
.premium-feature-grid{grid-template-columns:repeat(3,1fr)!important;gap:18px!important}.premium-feature-grid .feature-card{min-height:255px;display:flex;flex-direction:column}.premium-feature-grid .feature-card p{flex:1;line-height:1.6}.feature-more-link{text-align:center;margin-top:30px}
.premium-features{max-width:1240px;margin:auto}.image-split{grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr)}
.features-page-section{padding-top:30px}.feature-detail-grid-unified{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.feature-detail-grid-unified .detail-card{min-height:370px;display:flex;flex-direction:column}.feature-detail-grid-unified .detail-card p{min-height:92px}.feature-detail-grid-unified .detail-card ul{margin-top:auto}.feature-detail-grid-unified .detail-card li{font-size:13px}
@media(max-width:1000px){.product-showcase,.image-split{grid-template-columns:1fr;gap:30px}.showcase-copy{max-width:760px}.premium-feature-grid{grid-template-columns:1fr 1fr!important}.feature-detail-grid-unified{grid-template-columns:1fr 1fr}.feature-detail-grid-unified .detail-card{min-height:350px}}
@media(max-width:650px){.premium-landing-hero{min-height:auto}.hero-product-frame .visual-window,.hero-product-frame img{height:300px;min-height:300px}.premium-strip{margin-top:0!important}.premium-feature-grid,.feature-detail-grid-unified{grid-template-columns:1fr!important}.feature-detail-grid-unified .detail-card{min-height:0}.feature-detail-grid-unified .detail-card p{min-height:0}.showcase-copy h2{font-size:34px}.video-frame,.video-frame video{min-height:260px}.image-split{display:flex;flex-direction:column}.image-split .showcase-copy{order:2}}

/* ============================================================
   HotelFlow v6 — Unified Soft SaaS UI
   Visual layer only. Existing PHP / reservation logic untouched.
   ============================================================ */
:root{
  --bg:#f7fbfb;
  --panel:#ffffff;
  --text:#173042;
  --muted:#718691;
  --line:#e2ecef;
  --line-soft:#edf3f4;
  --primary:#13aaa7;
  --primary-dark:#087f82;
  --primary-soft:#e7f8f7;
  --success:#43a86f;
  --warning:#e6ad4f;
  --danger:#d97d8a;
  --shadow:0 10px 30px rgba(24,67,75,.055);
  --shadow-lg:0 22px 60px rgba(24,67,75,.08);
}
html{background:#f7fbfb}
body{background:#f7fbfb;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* App shell */
.sidebar{
  width:234px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfefe 100%)!important;
  color:#385667!important;
  border-right:1px solid #e3edef!important;
  box-shadow:10px 0 35px rgba(27,83,91,.035)!important;
  padding:18px 13px 14px!important;
}
.sidebar-brand-row{padding:2px 6px 18px!important}
.sidebar .brand{
  color:#173e50!important;
  font-size:23px!important;
  font-weight:850!important;
  letter-spacing:-.045em!important;
  padding:6px 7px!important;
}
.sidebar .brand span{color:#12aaa5!important}
.sidebar .brand:after{content:' PMS';color:#0ca5a4;font-size:8px;font-weight:850;letter-spacing:.06em;vertical-align:bottom;margin-left:2px}
.sidebar-toggle{width:31px!important;height:31px!important;border:0!important;background:#fff!important;color:#426271!important;font-size:22px!important}
.sidebar-toggle:hover{background:#eaf8f7!important;color:#087f82!important;border-color:transparent!important}
.userbox{
  background:#f7fbfb!important;
  border:1px solid #e5eef0!important;
  border-radius:14px!important;
  color:#29495a!important;
  padding:11px 12px!important;
  margin-bottom:14px!important;
}
.userbox small{color:#8a9aa3!important}
.sidebar nav{margin-top:5px}
.sidebar nav a{
  color:#4f6877!important;
  border:1px solid transparent!important;
  border-radius:11px!important;
  padding:10px 11px!important;
  margin:3px 0!important;
  transition:background .16s ease,color .16s ease,transform .16s ease!important;
}
.sidebar nav a:hover{background:#f0faf9!important;color:#087f82!important;transform:none!important;border-color:#e0f2f1!important}
.sidebar nav a:has(.nav-label){display:flex!important;align-items:center!important;gap:11px!important}
.sidebar nav a[href*="page=calendar"]{background:#e7f8f7!important;color:#087f82!important;font-weight:800!important}
.nav-icon{color:#6c8794!important;font-size:15px!important}
.sidebar nav a:hover .nav-icon,.sidebar nav a[href*="page=calendar"] .nav-icon{color:#10a8a5!important}
.sidebar.collapsed{width:76px!important}
.sidebar.collapsed .brand:after{content:'HF';font-size:17px;color:#0fa6a4!important;margin:0}
.sidebar.collapsed .brand{font-size:0!important}
.main{margin-left:234px!important;min-height:100vh!important;transition:margin-left .2s ease!important}
.main.sidebar-collapsed{margin-left:76px!important}

/* Top bar */
.topbar{
  min-height:70px!important;
  padding:14px 28px!important;
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid #e5edef!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  position:sticky!important;
  top:0!important;
  z-index:8!important;
  backdrop-filter:blur(12px)!important;
}
.topbar h1{font-size:24px!important;letter-spacing:-.035em!important;margin:0!important;font-weight:800!important;color:#173042!important}
.topbar>div:first-child .eyebrow{display:none!important}
.topbar-tools{gap:10px!important}
.topbar-search{height:40px;min-width:225px;border:1px solid #dfeaec;border-radius:10px;background:#f9fcfc;color:#7a8d96;display:flex;align-items:center;justify-content:space-between;padding:0 11px 0 14px;font-size:12px}
.topbar-search span:last-child{font-size:18px;color:#496976}
.topbar-icon{width:38px;height:38px;border:0;background:transparent;color:#476876;border-radius:10px;display:grid;place-items:center;font-size:19px;position:relative}
.topbar-icon .notif-dot{position:absolute;right:5px;top:4px;width:16px;height:16px;border-radius:50%;background:#e65355;color:#fff;font-size:9px;display:grid;place-items:center;font-weight:800;border:2px solid #fff}
.language-switch{gap:0!important}
.language-switch>span{display:none!important}
.language-switch select{border:0!important;background:#fff!important;border-radius:9px!important;padding:8px 8px!important;color:#365667!important;font-weight:800!important;outline:none!important}
.topbar-avatar{width:34px;height:34px;border-radius:50%;background:#0c888a;color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}

/* Content */
.container{max-width:none!important;padding:28px 26px 42px!important}
.page-intro{margin:0 0 20px!important;align-items:flex-end!important}
.page-intro h2{font-size:27px!important;color:#173042!important;margin:4px 0 5px!important}
.page-intro .muted{font-size:13px!important;color:#728792!important}
.eyebrow{color:#6f858f!important;font-size:10px!important;letter-spacing:.13em!important}
.card{background:#fff!important;border:1px solid #e2ecef!important;border-radius:15px!important;box-shadow:var(--shadow)!important}
.stat .label{color:#728792!important}.stat .value{color:#173042!important}
.btn{border:1px solid #dfeaec!important;background:#fff!important;color:#385767!important;border-radius:10px!important;box-shadow:none!important}
.btn:hover{background:#f6fbfb!important;border-color:#cfe3e4!important}
.btn.primary{background:#11aaa7!important;border-color:#11aaa7!important;color:#fff!important;box-shadow:0 7px 18px rgba(17,170,167,.16)!important}
.btn.primary:hover{background:#0b9694!important;border-color:#0b9694!important}
.btn.success{background:#e8f6ee!important;color:#36845a!important;border-color:#d5ecdf!important}
.btn.danger{background:#fff2f3!important;color:#b86672!important;border-color:#f1d7da!important}
.soft-chip{background:#fff!important;border:1px solid #e0eaed!important;color:#68808b!important;border-radius:10px!important;padding:8px 11px!important}
.field input,.field select,.field textarea{border:1px solid #dce8eb!important;border-radius:10px!important;color:#294757!important}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#8ed7d4!important;box-shadow:0 0 0 3px rgba(17,170,167,.09)!important}
.table th{background:#f8fbfb!important;color:#78909a!important}.table td,.table th{border-color:#e8f0f1!important}

/* Calendar — pastel SaaS */
.calendar-toolbar{margin:10px 0 14px!important}
.calendar-toolbar .btn{height:39px}
.calendar-card{padding:0!important;overflow:hidden!important;border-radius:15px!important;background:#fff!important}
.calendar-shell{border:0!important;border-radius:0!important;background:#fff!important}
.premium-calendar{min-width:1500px!important;background:#fff!important;border-collapse:separate!important;border-spacing:0!important}
.premium-calendar .roomhead,.premium-calendar .roomcell{width:164px!important;min-width:164px!important}
.premium-calendar th:not(.roomhead){width:84px!important;min-width:84px!important}
.premium-calendar thead th{height:60px!important;background:#fbfdfd!important;color:#5f7783!important;border-color:#e6eff1!important;font-weight:700!important;font-size:11px!important}
.premium-calendar thead th.roomhead{text-align:left!important;padding-left:17px!important;color:#294757!important}
.premium-calendar thead th.is-today{background:#e6f8f7!important;color:#079694!important}
.premium-calendar tbody td{height:68px!important;border-color:#e8f0f1!important}
.premium-calendar tbody td.is-today{background:#f4fbfa!important}
.premium-calendar tbody td.checkout-day{background:#fff9f8!important}
.premium-calendar .daycell{background:#fff!important}
.premium-calendar .daycell:hover{background:#f7fcfc!important}
.premium-calendar .roomcell{background:#fff!important;padding:10px 13px!important;z-index:2!important}
.premium-calendar .room-number{font-size:13px!important;color:#264656!important;font-weight:850!important}
.premium-calendar .roomcell .muted{font-size:10px!important;color:#8a9aa3!important}
.calendar-room-state{width:8px!important;height:8px!important;min-width:8px!important;border-radius:50%!important;float:none!important;display:inline-block!important;margin:0 7px 0 0!important;vertical-align:middle!important}
.calendar-room-state.available{background:#45b985!important}.calendar-room-state.occupied{background:#4ba6dd!important}.calendar-room-state.cleaning{background:#e6ad4f!important}.calendar-room-state.maintenance{background:#d78a96!important}.calendar-room-state.out{background:#aeb9bd!important}
.premium-calendar .reservation-span-cell{background:#fff!important;padding:0 3px!important}
.premium-calendar .premium-res{height:42px!important;margin:0!important;border-radius:8px!important;padding:0 12px!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;border:1px solid transparent!important;transition:transform .15s ease,box-shadow .15s ease!important}
.premium-calendar .premium-res:hover{transform:translateY(-1px)!important;box-shadow:0 5px 14px rgba(33,76,83,.08)!important}
.premium-calendar .premium-res .name{font-size:11px!important;font-weight:800!important;letter-spacing:0!important;text-shadow:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.premium-calendar .premium-res.status-confirmed{background:#dff2d9!important;border-color:#c9e7c0!important;color:#3d7d4e!important}
.premium-calendar .premium-res.status-tentative{background:#fff0c9!important;border-color:#f4dfaa!important;color:#a36b18!important}
.premium-calendar .premium-res.status-checked_in{background:#d9ebff!important;border-color:#c5dff8!important;color:#356d9e!important}
.premium-calendar .premium-res.status-checked_out{background:#f9dfe4!important;border-color:#f0cbd2!important;color:#a15d6a!important}
.premium-calendar .premium-res.status-cancelled{background:#edf1f2!important;border-color:#dfe6e8!important;color:#77878e!important}
.premium-calendar .premium-res.payment-paid{border-bottom:2px solid #91cda9!important}
.premium-calendar .premium-res.payment-partial{border-bottom:2px solid #e5be70!important}
.premium-calendar .premium-res.payment-unpaid{border-bottom:2px solid #e2a0aa!important}
.premium-calendar .range-start,.premium-calendar .range-mid,.premium-calendar .range-end{background:#e1f7f5!important;box-shadow:inset 0 0 0 1px #9bd9d5!important}
.calendar-legend{padding:13px 2px 0!important;color:#72858e!important;gap:9px 17px!important}
.legend-status.blue{background:#c5e1f7!important}.legend-status.green{background:#cdebd3!important}.legend-status.red{background:#f0cbd1!important}
.today-dot{background:#2bb7b2!important;border-color:#2bb7b2!important}
.checkout-dot{background:#e9bd67!important;border-color:#e9bd67!important}

/* Dashboard / rooms / tables */
.grid4,.grid3{gap:14px!important}
.kpi{background:#f8fbfb!important;border-color:#e5eeee!important}
.room-filter-bar{background:#fff!important;border:1px solid #e2ecef!important;border-radius:15px!important}
.room-card-premium{border:1px solid #e2ecef!important;border-radius:15px!important;background:#fff!important;box-shadow:var(--shadow)!important}
.room-card-premium:hover{border-color:#cfe6e5!important;box-shadow:0 16px 35px rgba(24,67,75,.08)!important}

/* Public pages share the same identity */
.public-main{background:linear-gradient(180deg,#fbfdfd 0%,#f4faf9 100%)!important}
.public-main>.container{padding:0!important}
.public-language{right:22px!important;top:14px!important;background:#fff!important;border:1px solid #dfeaec!important;box-shadow:0 8px 25px rgba(24,67,75,.06)!important;border-radius:999px!important;padding:5px!important}
.public-language span{display:none!important}
.public-language select{border:0!important;background:transparent!important;padding:7px 10px!important;color:#315666!important}
.site-shell{max-width:1240px!important;margin:auto!important;padding:0 28px!important}
.site-nav{min-height:74px!important;border-bottom:1px solid #e3edef!important;background:rgba(255,255,255,.86)!important}
.site-brand{color:#173e50!important;font-weight:850!important;letter-spacing:-.045em!important}
.site-brand span{color:#12aaa5!important}
.site-nav-links a:not(.btn){color:#496575!important}
.site-nav-links a:not(.btn):hover{color:#0b9694!important}
.site-nav-links .btn.primary{background:#122c38!important;border-color:#122c38!important}
.hero h1,.marketing-copy h1{color:#173042!important}.hero h1 span,.marketing-copy h1 span{color:#0fa6a4!important}
.hero p,.marketing-copy>p{color:#718792!important}
.hero-preview,.visual-window{background:#122c38!important;box-shadow:0 25px 70px rgba(21,59,68,.14)!important}
.feature-card,.pricing-card,.auth-card{border-color:#e1ebed!important;box-shadow:var(--shadow)!important}
.feature-card:hover{border-color:#cbe5e4!important;transform:translateY(-2px)}
.pricing-card.featured{border-color:#8ed7d4!important;box-shadow:0 18px 50px rgba(17,170,167,.10)!important}
.popular{background:#e7f8f7!important;color:#087f82!important}
.auth-card{border-radius:17px!important}
.auth-back a{color:#0a9896!important}

/* Responsive: preserve the PMS shell and make wide calendars scroll instead of breaking layout. */
@media(max-width:1050px){
  .sidebar{width:76px!important;padding:16px 10px!important}
  .sidebar .brand{font-size:0!important;text-align:center!important}
  .sidebar .brand:after{content:'HF';font-size:18px;color:#0fa6a4!important;margin:0}
  .sidebar .userbox{padding:9px!important;text-align:center!important}
  .sidebar .userbox strong{font-size:0}.sidebar .userbox strong:after{content:'HF';font-size:12px;color:#315666}
  .sidebar .userbox small,.sidebar .nav-label{display:none!important}
  .sidebar nav a{justify-content:center!important;padding:11px 5px!important}
  .sidebar .sidebar-brand-row{justify-content:center!important}
  .sidebar-toggle{display:none!important}
  .main{margin-left:76px!important}.main.sidebar-collapsed{margin-left:76px!important}
  .topbar-search{min-width:180px}
}
@media(max-width:760px){
  .topbar{min-height:64px!important;padding:11px 14px!important}
  .topbar h1{font-size:20px!important}
  .topbar-search{display:none}
  .topbar-icon{display:none}
  .container{padding:20px 14px 32px!important}
  .page-intro{align-items:flex-start!important;flex-direction:column!important}
  .intro-actions{width:100%;flex-wrap:wrap}
  .calendar-toolbar{align-items:flex-start!important;flex-direction:column!important}
  .calendar-toolbar .left,.calendar-toolbar .right{width:100%;flex-wrap:wrap}
  .calendar-date-jump{width:100%!important;margin-left:0!important}
  .calendar-date-jump input{flex:1}
  .calendar-shell{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .premium-calendar{min-width:1180px!important}
  .grid4,.grid3{grid-template-columns:1fr!important}
  .form-grid{grid-template-columns:1fr!important}
  .site-shell{padding:0 15px!important}
  .site-nav{gap:10px!important}.site-nav-links{gap:8px!important}
  .site-nav-links a:not(.btn){display:none!important}
  .site-nav-links .btn{padding:9px 11px!important;font-size:11px!important}
  .hero,.marketing-hero{grid-template-columns:1fr!important;gap:35px!important;padding-top:45px!important}
  .hero h1,.marketing-copy h1{font-size:44px!important}
}
@media(max-width:480px){
  .sidebar{width:64px!important}
  .main{margin-left:64px!important}
  .topbar-tools .language-switch select{padding:7px 5px!important}
  .topbar-avatar{width:31px;height:31px}
  .page-intro h2{font-size:23px!important}
  .calendar{min-width:1080px!important}
  .auth-card{padding:20px!important}
}

/* v5.1 functional shell + readable calendar */
.sidebar nav a[href*="page=calendar"]{background:transparent!important;color:#496575!important;font-weight:700!important;border-color:transparent!important}
.sidebar nav a.active{background:#e6f8f7!important;color:#087f82!important;font-weight:800!important;border-color:#d5efed!important}
.sidebar nav a.active .nav-icon{color:#10a8a5!important}
.sidebar nav a:hover{background:#f0faf9!important;color:#087f82!important;border-color:#e0f2f1!important}
.sidebar nav a.active:hover{background:#def5f3!important;color:#067e80!important}
.topbar-search{padding:0 8px 0 12px!important}
.topbar-search input{border:0!important;outline:0!important;background:transparent!important;color:#294757!important;width:100%!important;min-width:0!important;font:inherit!important}
.topbar-search input::placeholder{color:#8a9ba4!important}
.topbar-search button{border:0!important;background:transparent!important;color:#496976!important;width:28px!important;height:30px!important;cursor:pointer!important;font-size:17px!important}
.topbar-search:focus-within{border-color:#8fd7d3!important;box-shadow:0 0 0 3px rgba(18,170,165,.10)!important;background:#fff!important}
.topbar-avatar{display:none!important}

/* Calendar: stronger date guides + dark, readable guest names */
.premium-calendar thead th.checkout-date{background:#fff2ef!important;color:#8e4d46!important;border-top:2px solid #e7a39a!important}
.premium-calendar thead th.checkout-date b{color:#7e443e!important}
.premium-calendar thead th.is-today{background:#bfeee9!important;color:#057a79!important;border-top:3px solid #0ea5a4!important}
.premium-calendar thead th.is-today b{color:#075e62!important}
.premium-calendar tbody td.is-today{background:#e9faf8!important;border-left-color:#bfe5e2!important;border-right-color:#bfe5e2!important}
.premium-calendar tbody td.checkout-day{background:#fff1ee!important}
.premium-calendar .reservation-span-cell:has(.premium-res){background:#fff!important}
.premium-calendar .premium-res .name{color:#244b52!important;text-shadow:none!important;font-weight:850!important;opacity:1!important}
.premium-calendar .premium-res.status-confirmed .name{color:#2e6b43!important}
.premium-calendar .premium-res.status-tentative .name{color:#8a5c16!important}
.premium-calendar .premium-res.status-checked_in .name{color:#2f5f91!important}
.premium-calendar .premium-res.status-checked_out .name{color:#934e5d!important}
.premium-calendar .premium-res.status-cancelled .name{color:#66767d!important}

.search-page-form{display:flex;gap:10px;max-width:900px;margin:0 0 18px}
.search-page-form input{flex:1;min-width:0;height:46px;border:1px solid #dce9eb;border-radius:12px;padding:0 14px;background:#fff;color:#244353;outline:none}
.search-page-form input:focus{border-color:#8fd7d3;box-shadow:0 0 0 3px rgba(18,170,165,.10)}
.search-empty{max-width:900px;text-align:center;padding:55px 24px!important}
.search-empty-icon{width:48px;height:48px;border-radius:14px;background:#e6f8f7;color:#0a9e9b;display:grid;place-items:center;margin:0 auto 14px;font-size:24px}
.search-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.search-results-card{padding:0!important;overflow:hidden}
.search-results-card .table-toolbar{padding:14px 16px;border-bottom:1px solid #e7eff0}
.search-list{display:flex;flex-direction:column}
.search-result-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;text-decoration:none;color:#244353;border-bottom:1px solid #edf2f3;transition:.15s ease}
.search-result-row:last-child{border-bottom:0}
.search-result-row:hover{background:#f4fbfa;color:#087f82}
.search-result-row strong{display:block;font-size:13px}
.search-result-row small{display:block;color:#8a9ba4;margin-top:4px;font-size:11px}
.search-result-row>span{font-size:10px;color:#758892;white-space:nowrap}
@media(max-width:1050px){.search-results-grid{grid-template-columns:1fr 1fr}.topbar-search{min-width:180px!important}}
@media(max-width:760px){.search-results-grid{grid-template-columns:1fr}.search-page-form{flex-direction:column}.search-page-form .btn{width:100%}.topbar-search{min-width:0!important;width:170px!important}.topbar-tools{gap:5px!important}.language-switch span{display:none!important}}
@media(max-width:560px){.topbar-search{width:145px!important}.topbar-icon:not(.topbar-menu){display:none!important}.premium-calendar{min-width:1200px!important}}

/* v5.2 — pastel reservation palette: status owns the accent, payment no longer paints red lines */
.premium-calendar .premium-res.status-confirmed{
  background:#dff3d9!important;
  border:1px solid #c2e3ba!important;
  border-bottom:2px solid #86b77f!important;
  color:#2f6f43!important;
}
.premium-calendar .premium-res.status-tentative{
  background:#fff0c7!important;
  border:1px solid #f0d99d!important;
  border-bottom:2px solid #d3a94e!important;
  color:#936216!important;
}
.premium-calendar .premium-res.status-checked_in{
  background:#dcecff!important;
  border:1px solid #bdd8f5!important;
  border-bottom:2px solid #76a9d7!important;
  color:#2f6292!important;
}
.premium-calendar .premium-res.status-checked_out{
  background:#ffdfe4!important;
  border:1px solid #f1bdc7!important;
  border-bottom:2px solid #d77f91!important;
  color:#914b5b!important;
}
.premium-calendar .premium-res.status-cancelled{
  background:#edf1f2!important;
  border:1px solid #d7e0e3!important;
  border-bottom:2px solid #9eafb5!important;
  color:#66777e!important;
}
/* Payment state must not override the reservation status accent. */
.premium-calendar .premium-res.payment-paid,
.premium-calendar .premium-res.payment-partial,
.premium-calendar .premium-res.payment-unpaid{
  box-shadow:none!important;
}
.premium-calendar .premium-res.payment-paid,
.premium-calendar .premium-res.payment-partial,
.premium-calendar .premium-res.payment-unpaid{border-bottom-width:2px!important}
/* Keep the name strongly readable on every pastel background. */
.premium-calendar .premium-res .name,
.premium-calendar .premium-res.status-confirmed .name,
.premium-calendar .premium-res.status-tentative .name,
.premium-calendar .premium-res.status-checked_in .name,
.premium-calendar .premium-res.status-checked_out .name,
.premium-calendar .premium-res.status-cancelled .name{
  opacity:1!important;
  text-shadow:none!important;
}
/* Matching legend swatches */
.calendar-legend .legend-status.blue{background:#dcecff!important;border-color:#76a9d7!important}
.calendar-legend .legend-status.green{background:#dff3d9!important;border-color:#86b77f!important}
.calendar-legend .legend-status.red{background:#ffdfe4!important;border-color:#d77f91!important}


/* FINAL CALENDAR STATUS PALETTE — status determines reservation color, not payment */
.premium-calendar .premium-res.status-confirmed,
.premium-calendar .premium-res.status-tentative{
  background:#dcecff!important;
  border:1px solid #b9d5f3!important;
  border-bottom:2px solid #6f9fcf!important;
  color:#245f93!important;
}
.premium-calendar .premium-res.status-checked_in{
  background:#dff3d9!important;
  border:1px solid #bfe0b8!important;
  border-bottom:2px solid #73ad6b!important;
  color:#2f7040!important;
}
.premium-calendar .premium-res.status-checked_out{
  background:#ffdfe4!important;
  border:1px solid #efbcc7!important;
  border-bottom:2px solid #c96f82!important;
  color:#914657!important;
}
.premium-calendar .premium-res.status-cancelled{
  background:#edf1f2!important;
  border:1px solid #d8e0e3!important;
  border-bottom:2px solid #9baab0!important;
  color:#68777d!important;
}
/* Payment status never changes the reservation accent. */
.premium-calendar .premium-res.payment-paid,
.premium-calendar .premium-res.payment-partial,
.premium-calendar .premium-res.payment-unpaid{
  border-bottom-width:2px!important;
}
.premium-calendar .premium-res.status-confirmed .name,
.premium-calendar .premium-res.status-tentative .name{color:#245f93!important}
.premium-calendar .premium-res.status-checked_in .name{color:#2f7040!important}
.premium-calendar .premium-res.status-checked_out .name{color:#914657!important}
.premium-calendar .premium-res.status-cancelled .name{color:#68777d!important}
/* Room operational state: yellow means dirty / cleaning. */
.premium-calendar .calendar-room-state.cleaning{background:#e4a83a!important}
.calendar-legend .legend-status.blue{background:#dcecff!important;border:1px solid #6f9fcf!important}
.calendar-legend .legend-status.green{background:#dff3d9!important;border:1px solid #73ad6b!important}
.calendar-legend .legend-status.red{background:#ffdfe4!important;border:1px solid #c96f82!important}
.calendar-legend .legend-status.yellow{background:#fff0c7!important;border:1px solid #d39b35!important}


/* =========================================================
   HotelFlow v2.0 — SaaS landing redesign
   Public landing only. PMS/admin UI is intentionally untouched.
   ========================================================= */
.hf2-site{
  --hf-ink:#0f172a;--hf-muted:#64748b;--hf-line:#dce9e7;--hf-soft:#f3fbfa;
  --hf-teal:#0f766e;--hf-teal2:#14b8a6;--hf-cyan:#2dd4bf;--hf-dark:#0b1f26;
  width:100%;max-width:1320px;margin:0 auto;padding:0 34px;box-sizing:border-box;
  background:#fff;color:var(--hf-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.hf2-site *{box-sizing:border-box}
.hf2-site a{text-decoration:none}
.hf2-nav{height:82px;border-bottom:1px solid #e7efee;display:flex;align-items:center;gap:34px;position:relative;z-index:5}
.hf2-logo{font-size:25px;font-weight:950;letter-spacing:-.055em;color:#10232a;white-space:nowrap}
.hf2-logo span{color:var(--hf-teal)}
.hf2-nav-links{margin-left:auto;display:flex;align-items:center;gap:28px}
.hf2-nav-links>a:not(.hf2-nav-cta){color:#52646b;font-size:13px;font-weight:750;transition:.2s}
.hf2-nav-links>a:not(.hf2-nav-cta):hover{color:var(--hf-teal)}
.hf2-nav-cta{background:#10252c;color:#fff!important;border-radius:11px;padding:12px 17px;font-size:13px;font-weight:850;box-shadow:0 9px 25px rgba(16,37,44,.16);transition:.2s}
.hf2-nav-cta:hover{transform:translateY(-1px);box-shadow:0 13px 30px rgba(16,37,44,.22)}
.hf2-nav-cta span{color:#7de5d8;margin-left:8px}
.hf2-lang{display:flex;align-items:center;gap:7px;border:1px solid #e0e9e8;background:#fff;border-radius:10px;padding:5px 6px 5px 9px;font-size:11px;font-weight:850;color:#718087}
.hf2-lang a{color:#0f766e;background:#ecfaf8;padding:5px 7px;border-radius:7px}
.hf2-hero{min-height:650px;display:grid;grid-template-columns:.86fr 1.14fr;gap:55px;align-items:center;padding:70px 0 72px;position:relative}
.hf2-hero:before{content:"";position:absolute;width:550px;height:550px;right:-150px;top:25px;background:radial-gradient(circle,rgba(45,212,191,.15),rgba(45,212,191,0) 68%);pointer-events:none}
.hf2-hero-copy{position:relative;z-index:2}
.hf2-badge{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #d7ebe8;background:#f5fcfb;border-radius:999px;color:#39716c;font-size:11px;font-weight:850;letter-spacing:.01em}
.hf2-badge i,.hf2-live i{display:block;width:7px;height:7px;border-radius:50%;background:#14b8a6;box-shadow:0 0 0 4px rgba(20,184,166,.11)}
.hf2-hero h1{font-size:70px;line-height:.99;letter-spacing:-.065em;margin:22px 0 23px;font-weight:900;color:#102129}
.hf2-hero h1 span{color:var(--hf-teal)}
.hf2-hero-copy>p{max-width:600px;font-size:17px;line-height:1.75;color:#65767d;margin:0}
.hf2-actions{display:flex;gap:11px;margin-top:30px;flex-wrap:wrap}
.hf2-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:12px;padding:13px 18px;font-size:13px;font-weight:850;transition:.2s}
.hf2-btn-primary{background:linear-gradient(135deg,#0f766e,#0b5f59);color:#fff;box-shadow:0 13px 30px rgba(15,118,110,.22)}
.hf2-btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 35px rgba(15,118,110,.28)}
.hf2-btn-primary span{color:#8af0e4;font-size:17px}
.hf2-btn-ghost{border:1px solid #d9e5e4;color:#263c42;background:#fff}
.hf2-btn-ghost:hover{border-color:#a9ceca;background:#f7fcfb}
.hf2-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:21px;color:#708187;font-size:11px;font-weight:750}
.hf2-hero-product{position:relative;min-width:0}
.hf2-glow{position:absolute;inset:8% 4%;background:radial-gradient(circle at 50% 45%,rgba(20,184,166,.24),rgba(20,184,166,0) 67%);filter:blur(25px)}
.hf2-dashboard{position:relative;z-index:1;background:#fff;border:1px solid #dbe7e5;border-radius:20px;padding:18px;box-shadow:0 35px 90px rgba(15,53,59,.15),0 4px 14px rgba(15,23,42,.04);transform:perspective(1400px) rotateY(-2deg) rotateX(1deg)}
.hf2-dash-top{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 16px}
.hf2-dash-top strong{display:block;font-size:13px;letter-spacing:-.01em}.hf2-dash-top small{display:block;color:#89979c;font-size:10px;margin-top:3px}
.hf2-live{display:flex;align-items:center;gap:7px;background:#effbf8;color:#0c756d;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850}
.hf2-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:11px}
.hf2-kpis>div{background:#f7faf9;border:1px solid #e5efed;border-radius:11px;padding:11px 12px}
.hf2-kpis small{display:block;color:#7b8a90;font-size:9px;font-weight:750}.hf2-kpis strong{display:block;font-size:20px;letter-spacing:-.04em;margin-top:3px}.hf2-kpis strong span{font-size:11px;color:#7d8c91}.hf2-kpis em{font-style:normal;color:#0f8b7f;font-size:8px;font-weight:850}
.hf2-dash-content{display:grid;grid-template-columns:1fr 135px;gap:11px}
.hf2-mini-calendar{border:1px solid #e4eceb;border-radius:13px;overflow:hidden;background:#fff}
.hf2-cal-head{height:39px;display:flex;justify-content:space-between;align-items:center;padding:0 11px;border-bottom:1px solid #e8eeee}.hf2-cal-head b{font-size:10px}.hf2-cal-head span{font-size:8px;background:#edf9f7;color:#0f766e;border-radius:7px;padding:5px 7px;font-weight:850}
.hf2-cal-days,.hf2-cal-row{display:grid;grid-template-columns:92px repeat(5,1fr);min-width:0}.hf2-cal-days{background:#f9fbfb;color:#91a0a4}.hf2-cal-days>*{padding:7px 4px;text-align:center;font-size:8px}.hf2-cal-row>*{min-height:48px;border-top:1px solid #edf1f1;border-right:1px solid #edf1f1;padding:5px}.hf2-cal-row>strong{font-size:8px;color:#51646b;display:flex;align-items:center}.hf2-cal-row>i{position:relative;background:#fff}.hf2-cal-row .stay{background:#e2f8f4;border:0;border-radius:6px;margin:3px;color:#0a7068;font-style:normal;padding:5px;z-index:1}.hf2-cal-row .stay.purple{background:#eef0ff;color:#5148a7}.hf2-cal-row .stay.amber{background:#fff5dd;color:#9a6800}.hf2-cal-row .stay.green{background:#e7f8ed;color:#167046}.hf2-cal-row .stay b{display:block;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hf2-cal-row .stay small{display:block;font-size:6px;opacity:.72;margin-top:2px}.hf2-cal-row .stay.short{margin-left:-1px;border-radius:0 6px 6px 0}
.hf2-side-status{border:1px solid #e4eceb;border-radius:13px;padding:11px;background:#fbfdfc}.hf2-status-title{display:flex;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid #e9eeee}.hf2-status-title b{font-size:10px}.hf2-status-title span{font-size:8px;color:#91a0a4}.hf2-status{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #edf1f0}.hf2-status:last-child{border-bottom:0}.hf2-status .dot{width:8px;height:8px;border-radius:50%;display:block}.hf2-status .dot.green{background:#36b76b}.hf2-status .dot.teal{background:#14b8a6}.hf2-status .dot.amber{background:#e6a52d}.hf2-status b{display:block;font-size:13px}.hf2-status small{display:block;color:#8b999e;font-size:7px;margin-top:1px}
.hf2-float{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #dfeae8;border-radius:12px;padding:9px 11px;box-shadow:0 16px 35px rgba(15,48,53,.13);min-width:160px}
.hf2-float-one{left:-28px;bottom:23px}.hf2-float-two{right:-19px;top:72px}
.hf2-float-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e5f8f4;color:#0f766e;font-weight:950;font-size:13px}.hf2-float-icon.coin{background:#fff3dc;color:#b57909}
.hf2-float b{display:block;font-size:9px}.hf2-float small{display:block;font-size:7px;color:#8b999e;margin-top:2px}
.hf2-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dfeae8;border-radius:16px;background:#fff;box-shadow:0 12px 35px rgba(15,53,59,.055);overflow:hidden}
.hf2-stats>div{padding:21px 25px;border-right:1px solid #e5eeee}.hf2-stats>div:last-child{border-right:0}.hf2-stats strong{display:block;font-size:20px;letter-spacing:-.035em}.hf2-stats span{display:block;color:#809096;font-size:10px;margin-top:4px}
.hf2-section{padding:115px 0}.hf2-section-head{max-width:690px;margin-bottom:42px}.hf2-section-head.center{text-align:center;margin-left:auto;margin-right:auto}.hf2-eyebrow{display:block;color:#0f766e;font-size:10px;font-weight:900;letter-spacing:.13em}.hf2-section-head h2{font-size:47px;line-height:1.04;letter-spacing:-.055em;margin:10px 0 15px}.hf2-section-head p{font-size:16px;line-height:1.7;color:#718187;margin:0}
.hf2-feature-grid{display:grid;grid-template-columns:1.25fr .85fr .85fr;grid-template-rows:auto auto;gap:13px}
.hf2-feature-card{position:relative;background:#f8fbfa;border:1px solid #e1edeb;border-radius:18px;padding:27px;min-height:250px;overflow:hidden;transition:.22s}
.hf2-feature-card:hover{transform:translateY(-3px);background:#fff;box-shadow:0 18px 45px rgba(15,64,67,.08)}
.hf2-feature-card.large{grid-row:span 2;background:#0f292f;color:#fff;border-color:#0f292f;min-height:514px}.hf2-feature-card.wide{grid-column:2 / 4;min-height:250px}
.hf2-feature-card.large p,.hf2-feature-card.large small{color:#b5cbcb}.hf2-feature-card.large .hf2-icon{background:rgba(45,212,191,.13);color:#6de2d4}.hf2-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#e6f7f4;color:#0f766e;font-size:18px;font-weight:900;margin-bottom:26px}.hf2-number{position:absolute;top:30px;right:27px;color:#8da09f;font-size:9px;font-weight:900}.hf2-feature-card h3{font-size:22px;letter-spacing:-.025em;margin:0 0 10px}.hf2-feature-card p{color:#6e8085;font-size:13px;line-height:1.7;margin:0;max-width:440px}.hf2-card-line{height:1px;background:currentColor;opacity:.12;margin:24px 0 11px}.hf2-feature-card small{font-size:9px;color:#819196;font-weight:750}
.hf2-product{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center;padding:80px 0 125px}
.hf2-product-copy h2{font-size:47px;line-height:1.04;letter-spacing:-.055em;margin:11px 0 17px}.hf2-product-copy>p{font-size:15px;line-height:1.8;color:#718187;max-width:520px}.hf2-text-link{display:inline-block;margin-top:8px;color:#0f766e;font-size:13px;font-weight:900}.hf2-product-points{display:grid;gap:9px;margin-top:28px;color:#566d73;font-size:11px;font-weight:800}.hf2-calendar-frame{background:#0e252b;border-radius:21px;padding:13px;box-shadow:0 30px 75px rgba(12,40,46,.17);transform:rotate(.4deg)}.hf2-calendar-caption{display:flex;justify-content:space-between;align-items:center;color:#fff;padding:7px 8px 13px}.hf2-calendar-caption b{font-size:11px}.hf2-calendar-caption span{font-size:8px;color:#91a9ad}.hf2-calendar-image{position:relative;background:#f7faf9;border-radius:12px;overflow:hidden;min-height:330px}.hf2-calendar-image img{display:block;width:100%;height:auto;max-height:480px;object-fit:cover;object-position:top}.hf2-image-fallback{display:none;min-height:330px;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#587176;text-align:center;padding:30px}.hf2-image-fallback span{font-size:38px;color:#0f766e}.hf2-image-fallback b{font-size:14px}.hf2-image-fallback small{font-size:10px;max-width:250px;line-height:1.5}.hf2-image-missing .hf2-image-fallback{display:flex}
.hf2-why{padding-top:70px}.hf2-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hf2-why-grid article{border-top:1px solid #dce8e6;padding:25px 15px 10px 0}.hf2-why-grid article>span{color:#0f766e;font-size:10px;font-weight:900}.hf2-why-grid h3{font-size:19px;letter-spacing:-.02em;margin:14px 0 8px}.hf2-why-grid p{color:#718187;font-size:12px;line-height:1.75;margin:0;max-width:330px}
.hf2-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:35px 0 90px;padding:54px 57px;border-radius:22px;background:linear-gradient(125deg,#0b2228,#0f3d42);color:#fff;position:relative;overflow:hidden}.hf2-cta:after{content:"";position:absolute;width:400px;height:400px;right:-120px;top:-220px;background:radial-gradient(circle,rgba(45,212,191,.22),rgba(45,212,191,0) 65%)}.hf2-cta h2{font-size:36px;line-height:1.06;letter-spacing:-.045em;margin:8px 0}.hf2-cta p{color:#a9c0c1;font-size:13px;margin:0}.hf2-btn-light{background:#fff;color:#0b3035;position:relative;z-index:2}.hf2-btn-light:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(0,0,0,.15)}
.hf2-footer{display:flex;align-items:center;gap:35px;border-top:1px solid #e5eeee;padding:29px 0 35px}.hf2-footer-brand{display:flex;align-items:baseline;gap:10px}.hf2-footer-brand small{font-size:9px;color:#91a0a4}.hf2-footer-links{display:flex;gap:22px;margin-left:auto}.hf2-footer-links a{font-size:11px;color:#63777c;font-weight:750}.hf2-footer>small{font-size:9px;color:#9aa7aa}
@media(max-width:1050px){
 .hf2-site{padding:0 22px}.hf2-hero{grid-template-columns:1fr;gap:55px;padding-top:55px}.hf2-hero-copy{max-width:760px}.hf2-hero-product{max-width:820px;width:100%;margin:auto}.hf2-float-one{left:-10px}.hf2-float-two{right:-8px}.hf2-feature-grid{grid-template-columns:1fr 1fr}.hf2-feature-card.large{grid-row:auto;grid-column:span 2;min-height:350px}.hf2-feature-card.wide{grid-column:auto}.hf2-product{grid-template-columns:1fr;gap:45px}.hf2-product-copy{max-width:720px}.hf2-calendar-frame{max-width:900px}
}
@media(max-width:700px){
 .hf2-site{padding:0 16px}.hf2-nav{height:70px}.hf2-nav-links{gap:9px}.hf2-nav-links>a:not(.hf2-nav-cta){display:none}.hf2-nav-cta{padding:10px 12px;font-size:11px}.hf2-lang{display:none}.hf2-hero{padding:48px 0 58px}.hf2-hero h1{font-size:48px}.hf2-hero-copy>p{font-size:15px}.hf2-trust{gap:10px}.hf2-dashboard{padding:11px;border-radius:15px}.hf2-dash-content{grid-template-columns:1fr}.hf2-side-status{display:none}.hf2-cal-days,.hf2-cal-row{grid-template-columns:76px repeat(5,1fr)}.hf2-float{display:none}.hf2-stats{grid-template-columns:1fr 1fr}.hf2-stats>div{border-right:0;border-bottom:1px solid #e5eeee;padding:16px}.hf2-stats>div:nth-child(odd){border-right:1px solid #e5eeee}.hf2-section{padding:75px 0}.hf2-section-head h2,.hf2-product-copy h2{font-size:36px}.hf2-feature-grid{grid-template-columns:1fr}.hf2-feature-card.large{grid-column:auto;min-height:340px}.hf2-feature-card.wide{grid-column:auto}.hf2-product{padding:45px 0 80px}.hf2-calendar-image{min-height:220px}.hf2-why-grid{grid-template-columns:1fr}.hf2-cta{margin:20px 0 60px;padding:34px 28px;display:block}.hf2-cta h2{font-size:29px}.hf2-btn-light{margin-top:22px}.hf2-footer{flex-wrap:wrap;gap:15px}.hf2-footer-links{order:3;width:100%;margin-left:0;flex-wrap:wrap}.hf2-footer>small{margin-left:auto}
}


/* HotelFlow calendar status mapping — final */
.premium-calendar .premium-res.status-confirmed,
.premium-calendar .premium-res.status-tentative{
  background:#dcecff!important;
  border:1px solid #8db7e8!important;
  border-bottom:2px solid #5f8fca!important;
  color:#214f7c!important;
}
.premium-calendar .premium-res.status-confirmed .name,
.premium-calendar .premium-res.status-tentative .name{color:#214f7c!important}
.premium-calendar .premium-res.status-checked_in{
  background:#dff3d9!important;
  border:1px solid #9bc891!important;
  border-bottom:2px solid #70a966!important;
  color:#28643a!important;
}
.premium-calendar .premium-res.status-checked_in .name{color:#28643a!important}
.premium-calendar .premium-res.status-checked_out{
  background:#ffdfe4!important;
  border:1px solid #e7a0ad!important;
  border-bottom:2px solid #c96f82!important;
  color:#8f4152!important;
}
.premium-calendar .premium-res.status-checked_out .name{color:#8f4152!important}
.premium-calendar .premium-res.payment-unpaid,
.premium-calendar .premium-res.payment-partial,
.premium-calendar .premium-res.payment-paid{border-left-width:1px!important}
.premium-calendar .premium-res.status-cancelled{background:#edf0f2!important;border:1px solid #c9d0d5!important;border-bottom:2px solid #9ca7ae!important;color:#5f6d75!important}
.premium-calendar .premium-res.status-cancelled .name{color:#5f6d75!important}
.premium-calendar thead th.is-today{background:#bfeee9!important;color:#087f82!important;border-top:3px solid #0ea5a4!important}
.premium-calendar tbody td.is-today{background:#e9faf8!important}
.premium-calendar tbody td.checkout-day{background:#fff1ee!important}
.calendar-legend .legend-status.blue{background:#dcecff!important;border:1px solid #6f9fcf!important}
.calendar-legend .legend-status.green{background:#dff3d9!important;border:1px solid #73ad6b!important}
.calendar-legend .legend-status.red{background:#ffdfe4!important;border:1px solid #c96f82!important}
.calendar-legend .legend-status.yellow{background:#fff0c7!important;border:1px solid #d39b35!important}

/* FINAL: calendar date header — only TODAY uses the red checkout-style accent.
   All other date headers remain clean white, including checkout dates. */
.premium-calendar thead th.checkout-date{
  background:#fff!important;
  color:#294757!important;
  border-top:1px solid #e1eaed!important;
}
.premium-calendar thead th.checkout-date b{color:#294757!important}
.premium-calendar thead th.is-today{
  background:#ffe9e6!important;
  color:#9a5149!important;
  border-top:3px solid #df8f86!important;
}
.premium-calendar thead th.is-today b{color:#8d4942!important}
.premium-calendar thead th.is-today .today-label{color:#9a5149!important}

/* Public homepage: keep the compact TR / EN switch and hide any legacy language control. */
.hf2-site .hf2-lang{display:flex!important}
.hf2-site ~ .language-switch,.hf2-site .language-switch{display:none!important}

/* v6.0 — global responsive pass: keep the viewport inside the screen. */
html{max-width:100%;overflow-x:hidden}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
*,*::before,*::after{min-width:0}
.main{width:auto;max-width:100%;overflow-x:clip}
.container,.page-intro,.toolbar,.grid,.card,.topbar,.topbar-tools{max-width:100%}
.table-wrap,.excel-card,.calendar-shell{max-width:100%}

@media(max-width:900px){
  .main:not(.sidebar-collapsed){width:100%;max-width:100%}
  .main.sidebar-collapsed{width:100%;max-width:100%}
  .topbar{gap:12px}
  .topbar>div:first-child{min-width:0;overflow:hidden}
  .topbar h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .container{width:100%;max-width:100%;overflow-x:clip}
  .grid>*{min-width:0}
  .toolbar{width:100%;}
  .toolbar .left,.toolbar .right{min-width:0;flex-wrap:wrap}
  .form-grid>*{min-width:0}
}

/* The 14-day PMS calendar is compressed on phones instead of creating a page-level
   horizontal scrollbar. Desktop keeps the spacious calendar exactly as before. */
@media(max-width:760px){
  .calendar-card{width:100%;max-width:100%;overflow:hidden!important}
  .calendar-shell{width:100%;max-width:100%;overflow:hidden!important;border-radius:0!important}
  .premium-calendar{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  .premium-calendar .roomhead,
  .premium-calendar .roomcell{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }
  .premium-calendar th:not(.roomhead){
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:5px 1px!important;
    font-size:8px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  .premium-calendar thead th{height:52px!important}
  .premium-calendar thead th b{font-size:8px!important}
  .premium-calendar thead th .today-label{display:block;font-size:6px!important;letter-spacing:.05em!important;margin-top:2px}
  .premium-calendar tbody td{height:58px!important}
  .premium-calendar .roomcell{padding:7px 6px!important;overflow:hidden}
  .premium-calendar .room-number{font-size:11px!important}
  .premium-calendar .roomcell .muted{font-size:7px!important;line-height:1.2!important;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .calendar-room-state{width:6px!important;height:6px!important;min-width:6px!important;margin-right:4px!important}
  .premium-calendar .premium-res{height:34px!important;padding:0 5px!important;border-radius:6px!important}
  .premium-calendar .premium-res .name{font-size:8px!important;line-height:1.1!important}
  .premium-calendar .reservation-span-cell{padding:0 2px!important}
  .calendar-toolbar{gap:7px!important}
  .calendar-toolbar .left,.calendar-toolbar .right{gap:6px!important}
  .calendar-toolbar .btn{height:36px!important;padding:8px 9px!important;font-size:10px!important}
  .calendar-date-jump{width:auto!important;min-width:0!important;flex:1 1 170px!important}
  .calendar-date-jump input{min-width:0!important;width:100%!important}
  .calendar-legend{gap:6px 10px!important;font-size:9px!important;overflow:hidden}
}

@media(max-width:520px){
  .topbar{min-height:58px!important;padding:9px 10px!important}
  .topbar h1{font-size:17px!important}
  .topbar-tools{right:10px!important;top:12px!important;gap:4px!important}
  .topbar-menu{width:32px!important;height:32px!important}
  .language-switch select{padding:6px 4px!important;font-size:11px!important}
  .container{padding:18px 10px 28px!important}
  .page-intro h2{font-size:21px!important}
  .page-intro .muted{font-size:11px!important}
  .premium-calendar .roomhead,
  .premium-calendar .roomcell{width:72px!important;min-width:72px!important;max-width:72px!important}
  .premium-calendar thead th{height:48px!important;font-size:7px!important}
  .premium-calendar thead th b{font-size:7px!important}
  .premium-calendar tbody td{height:54px!important}
  .premium-calendar .room-number{font-size:10px!important}
  .premium-calendar .roomcell .muted{font-size:6.5px!important}
  .premium-calendar .premium-res{height:30px!important;padding:0 4px!important}
  .premium-calendar .premium-res .name{font-size:7px!important}
  .calendar-toolbar .btn{font-size:9px!important;padding:7px 8px!important}
  .calendar-date-jump{flex-basis:150px!important}
}

/* Prevent common flex/grid children from forcing the page wider than the viewport. */
.flex,.actions,.actions-row,.page-actions,.intro-actions,.reservation-actions,.topbar-tools,.site-nav,.site-nav-links,.landing-nav,.landing-links{max-width:100%}
.actions,.actions-row,.page-actions,.intro-actions,.reservation-actions{flex-wrap:wrap}
pre,code{max-width:100%}
pre{overflow:auto}


/* HotelFlow — visual state for rooms that are unavailable for sale.
   The calendar already marks these rows/cells with room-closed-for-sale /
   room-closed-cell and blocks reservation creation in JavaScript. These rules
   only add the visual diagonal hatch so the state is immediately obvious. */
.premium-calendar tbody tr.room-closed-for-sale > td.roomcell{
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(148,163,184,.075) 0px,
      rgba(148,163,184,.075) 7px,
      rgba(148,163,184,.18) 7px,
      rgba(148,163,184,.18) 9px
    ) !important;
  color:#71808a !important;
}
.premium-calendar tbody tr.room-closed-for-sale > td.daycell.room-closed-cell{
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(148,163,184,.055) 0px,
      rgba(148,163,184,.055) 7px,
      rgba(148,163,184,.14) 7px,
      rgba(148,163,184,.14) 9px
    ) !important;
}
.premium-calendar tbody tr.room-closed-for-sale > td.daycell.room-closed-cell:hover{
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(148,163,184,.075) 0px,
      rgba(148,163,184,.075) 7px,
      rgba(148,163,184,.18) 7px,
      rgba(148,163,184,.18) 9px
    ) !important;
}
.premium-calendar tbody tr.room-closed-for-sale .calendar-room-state.out{
  box-shadow:0 0 0 3px rgba(148,163,184,.14);
}
.premium-calendar tbody tr.room-closed-for-sale .room-number{
  color:#53636d !important;
}

/* HotelFlow v3.4 — bulk front-desk save, notes column and stable reservation popover */
.excel-editable{table-layout:fixed!important;min-width:1080px}
.excel-editable th:nth-child(1),.excel-editable td:nth-child(1){width:15%!important}
.excel-editable th:nth-child(2),.excel-editable td:nth-child(2){width:15%!important}
.excel-editable th:nth-child(3),.excel-editable td:nth-child(3){width:15%!important}
.excel-editable th:nth-child(4),.excel-editable td:nth-child(4){width:30%!important}
.excel-editable th:nth-child(5),.excel-editable td:nth-child(5){width:25%!important}
.excel-editable .sheet-note{display:block;width:100%;height:38px;min-height:38px;resize:vertical;box-sizing:border-box;padding:9px 10px!important;border:0;background:transparent;outline:0;font:inherit;color:#17212b;line-height:1.35}
.excel-editable .sheet-note:focus{box-shadow:inset 0 0 0 2px #b58a52;background:#fffdf9}
.excel-editable .sheet-note::placeholder{color:#98a2b3;font-weight:500}
.excel-editable .note-cell{padding:0!important;vertical-align:middle}
.print-note{display:none}
.cancel-popover-btn{color:#a73535!important;border-color:#efc5c5!important;background:#fff5f5!important}
.popover-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
.popover-actions .btn{min-width:0!important;width:100%!important;box-sizing:border-box}
@media(max-width:900px){
  #reservationPopover{width:min(390px,calc(100vw - 20px));right:10px!important;top:70px!important;max-height:calc(100vh - 85px);overflow-y:auto}
  .reservation-popover-date{grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr)}
}
@media(max-width:650px){
  .excel-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .excel-editable{min-width:900px!important}
  .page-intro .intro-actions{display:flex;flex-wrap:wrap}
}
@media print{
  .excel-editable{min-width:0!important;width:100%!important;table-layout:fixed!important;font-size:9px!important}
  .excel-editable th:nth-child(1),.excel-editable td:nth-child(1){width:15%!important}
  .excel-editable th:nth-child(2),.excel-editable td:nth-child(2){width:13%!important}
  .excel-editable th:nth-child(3),.excel-editable td:nth-child(3){width:13%!important}
  .excel-editable th:nth-child(4),.excel-editable td:nth-child(4){width:32%!important}
  .excel-editable th:nth-child(5),.excel-editable td:nth-child(5){width:27%!important}
  .excel-editable .sheet-note{display:none!important}
  .excel-editable .print-note{display:block!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;min-height:1em!important}
  .excel-editable tbody tr.checkout-today-row .print-note{font-weight:900!important}
}

/* v2.2 — reservation modal price fields + compact calendar text */
.modal .price-entry{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 112px!important;
  width:100%!important;
  min-width:0!important;
  gap:0!important;
  align-items:stretch!important;
}
.modal .price-entry input[type="number"]{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  box-sizing:border-box!important;
  padding-right:34px!important;
}
.modal .price-entry select,
.modal .price-entry .currency-badge{
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  box-sizing:border-box!important;
}
.modal .premium-night .price-entry{grid-template-columns:minmax(0,1fr) 68px!important;}
.modal .premium-night .price-entry .currency-badge{width:68px!important;min-width:68px!important;max-width:68px!important;}

/* Never widen the calendar because of a long guest name. Compress/wrap the label inside its fixed cell. */
.premium-calendar .reservation-span-cell{min-width:0!important;overflow:hidden!important;}
.premium-calendar .premium-res{min-width:0!important;overflow:hidden!important;}
.premium-calendar .premium-res .res-main{min-width:0!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
.premium-calendar .premium-res .name{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  text-align:center!important;
  line-height:1.08!important;
  font-size:clamp(7px,0.62vw,10px)!important;
  letter-spacing:-.015em!important;
  padding:0 2px!important;
}

@media(max-width:700px){
  .modal .price-entry{grid-template-columns:minmax(0,1fr) 96px!important;}
  .modal .price-entry select,
  .modal .price-entry .currency-badge{width:96px!important;min-width:96px!important;max-width:96px!important;}
  .modal .premium-night .price-entry{grid-template-columns:minmax(0,1fr) 64px!important;}
  .modal .premium-night .price-entry .currency-badge{width:64px!important;min-width:64px!important;max-width:64px!important;}
  .premium-calendar .premium-res .name{font-size:8px!important;line-height:1.05!important;}
}

/* HotelFlow v4.7 — housekeeping print sheet: notes are print-only and get 40% width */
@media print {
  @page { size: A4 landscape; margin: 8mm; }

  /* Never print the editable/live table. The dedicated print table is the source. */
  .frontdesk-sheet .excel-table-wrap,
  .frontdesk-sheet .sheet-toolbar,
  .frontdesk-sheet .print-header,
  .frontdesk-sheet + .sheet-help,
  .page-intro,
  .sidebar,
  .topbar,
  .impersonation-bar,
  .billing-warning,
  .notice-stack,
  .intro-actions { display:none!important; }

  .frontdesk-sheet {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    background:#fff!important;
  }

  .print-only-frontdesk {
    display:block!important;
    visibility:visible!important;
    width:100%!important;
    max-width:none!important;
  }
  .print-only-frontdesk * { visibility:visible!important; }

  .print-only-head {
    display:flex!important;
    justify-content:space-between!important;
    align-items:flex-end!important;
    width:100%!important;
    box-sizing:border-box!important;
    padding:0 0 8px!important;
    margin:0 0 9px!important;
    border-bottom:2px solid #1d2730!important;
  }
  .print-only-head strong { font-size:15px!important; line-height:1.15!important; }
  .print-only-head span { font-size:9px!important; line-height:1.15!important; }

  .print-frontdesk-table {
    display:table!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    font-size:9px!important;
  }
  .print-frontdesk-table th,
  .print-frontdesk-table td {
    box-sizing:border-box!important;
    border:1px solid #b9c0c8!important;
    padding:5px 7px!important;
    vertical-align:middle!important;
    color:#111!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .print-frontdesk-table th {
    background:#eef1f4!important;
    font-size:9px!important;
    font-weight:800!important;
    text-align:left!important;
  }

  /* Dengeli A4 görünüm: tarih alanları gereğinden fazla daraltılmadan, not alanı geniş tutulur. */
  .print-frontdesk-table th:nth-child(1),
  .print-frontdesk-table td:nth-child(1) { width:14%!important; }
  .print-frontdesk-table th:nth-child(2),
  .print-frontdesk-table td:nth-child(2) { width:13%!important; }
  .print-frontdesk-table th:nth-child(3),
  .print-frontdesk-table td:nth-child(3) { width:13%!important; }
  .print-frontdesk-table th:nth-child(4),
  .print-frontdesk-table td:nth-child(4) { width:20%!important; }
  .print-frontdesk-table th:nth-child(5),
  .print-frontdesk-table td:nth-child(5) { width:40%!important; }

  .print-frontdesk-table td:nth-child(1) strong { font-weight:900!important; }
  .print-frontdesk-table td:nth-child(1) small {
    display:block!important;
    font-size:7px!important;
    line-height:1.15!important;
    color:#4e5a65!important;
    margin-top:2px!important;
  }
  .print-frontdesk-table td:nth-child(5) {
    white-space:pre-wrap!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  .print-frontdesk-table tbody tr { break-inside:avoid!important; page-break-inside:avoid!important; }
  .print-frontdesk-table tbody tr.checkout-today-row td,
  .print-frontdesk-table tbody tr.checkout-today-row td strong,
  .print-frontdesk-table tbody tr.checkout-today-row td small {
    font-weight:900!important;
  }
  .print-frontdesk-table tbody tr:not(.checkout-today-row) td,
  .print-frontdesk-table tbody tr:not(.checkout-today-row) td strong,
  .print-frontdesk-table tbody tr:not(.checkout-today-row) td small {
    font-weight:400!important;
  }
}

/* v5.3 — calendar readability: use available desktop width before forcing horizontal scroll */
.premium-calendar{min-width:1500px!important}
.premium-calendar .roomhead,.premium-calendar .roomcell{width:190px!important;min-width:190px!important}
.premium-calendar th:not(.roomhead){width:93px!important;min-width:93px!important}
.premium-calendar thead th{font-size:11.5px!important}
.premium-calendar .roomcell{padding:10px 14px!important}
.premium-calendar .room-number{font-size:14px!important}
.premium-calendar .roomcell .muted{font-size:11px!important;line-height:1.25!important}
.premium-calendar .premium-res .name{font-size:12px!important}
@media(max-width:760px){
  .premium-calendar{min-width:1500px!important}
}
