/* Bundled Noto Sans: Unicode + Vietnamese; see assets/fonts/OFL.txt. */
@font-face{font-family:"Homestay Noto Sans";font-style:normal;font-weight:100 900;font-stretch:normal;font-display:swap;src:url("../fonts/noto-sans-vietnamese.ttf") format("truetype")}
:root{--bs-body-font-family:"Homestay Noto Sans",Arial,"Segoe UI",sans-serif}
button,input,select,textarea{font-family:inherit}
:root{--ink:#203d32;--accent:#a6c65b;--paper:#fbfaf6;--muted:#69766e;--line:#dce2d8;--soft:#eef1e7}*{box-sizing:border-box}body{font-family:"Homestay Noto Sans",Arial,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}a{color:var(--ink);text-underline-offset:4px}h1,h2,h3{letter-spacing:-.025em;line-height:1.25}h1{font-size:clamp(3.6rem,7vw,7.4rem);font-weight:550}h2{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:500}h3{font-size:1.5rem}.wrap{max-width:1240px;margin:auto;padding:70px 32px}.brand{font-size:1.5rem;font-weight:750;letter-spacing:-1px;text-decoration:none}.brand span{display:block;font-size:9px;letter-spacing:2.4px;font-weight:500}.public-nav{padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}.public-nav>div{display:flex;align-items:center;gap:26px}.public-nav a{text-decoration:none}.btn{border-radius:8px;font-size:.92rem;padding:11px 18px;font-weight:600}.btn-primary{background:var(--ink);border-color:var(--ink)}.btn-primary:hover,.btn-primary:focus{background:#315c48;border-color:#315c48}.btn-dark{background:var(--ink)}.btn-outline-dark{color:var(--ink);border-color:var(--ink)}.btn-sm{padding:6px 10px;font-size:.8rem}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding-top:65px;padding-bottom:75px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;display:block;margin-bottom:18px}.hero .lead{font-size:1.1rem;max-width:380px;margin:25px 0}.hero-caption{font-size:.78rem;margin-top:27px;color:var(--muted)}.hero-art{background:#d8e1c7;border-radius:160px 160px 16px 16px;position:relative;overflow:hidden;min-height:450px;display:flex;align-items:center}.hero-art img{width:100%;height:470px;object-fit:cover}.art-note{position:absolute;bottom:20px;left:25px;background:var(--paper);font-size:9px;letter-spacing:2px;padding:8px 14px;border-radius:30px}.intro{border-top:1px solid var(--line);text-align:center;max-width:900px}.intro>p:not(.eyebrow){max-width:660px;margin:25px auto}.amenities{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-size:.85rem}.soft-section{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2{max-width:650px}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.room-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.room-card>img{width:100%;height:270px;object-fit:cover;background:#d8e1c7}.room-card strong{font-size:.9rem}.booking-section{display:grid;grid-template-columns:1fr 1.1fr;gap:65px}.booking-section>div>p{max-width:420px}.panel{background:white;border:1px solid var(--line);padding:28px;border-radius:14px}.form-control,.form-select{border-color:#d4dcd3;border-radius:7px;padding:10px 12px;font-size:.9rem}.form-label{font-size:.83rem;font-weight:600;margin-bottom:15px}.choice{display:block;padding:9px 12px;background:var(--soft);margin:7px 0;border-radius:6px;font-size:.9rem}.room-choices{margin-bottom:18px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.service-card{border:1px solid #cbd6c4;padding:22px;border-radius:12px}.service-card .eyebrow{font-size:9px}.service-card strong{font-size:.9rem}footer{display:flex;justify-content:space-between;gap:20px}.status{font-size:.74rem;display:inline-block;padding:4px 9px;border-radius:30px;background:#e6ece8;white-space:nowrap}.status-confirmed,.status-ready,.status-done{background:#d9eccc;color:#2e521e}.status-pending,.status-held,.status-dirty,.status-requested{background:#fff0c7;color:#745511}.status-checked_in,.status-preparing,.status-cleaning{background:#dfebf7;color:#254d7c}.status-cancelled,.status-maintenance,.status-expired{background:#f7dfdb;color:#8b3931}.cms-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:white;padding:30px 22px}.sidebar .brand{color:white}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin:35px 0}.sidebar nav a{color:#d9e4d8;text-decoration:none;padding:9px 12px;border-radius:7px;font-size:.86rem}.sidebar nav a.active,.sidebar nav a:hover{background:#3b5546;color:white}.sidebar small{color:#bdcdbc}.cms-main{padding:32px;min-width:0}.cms-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.cms-header h1{font-size:2rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.stat strong{display:block;font-size:1.8rem;letter-spacing:-1px}.stat span{font-size:.8rem;color:var(--muted)}.table{font-size:.85rem;vertical-align:middle;--bs-table-bg:transparent}.table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);white-space:nowrap}.table td,.table th{padding:13px 10px;border-color:var(--line)}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.action-row form{margin:0}.cms h2{font-size:1.35rem;margin-bottom:20px}.subtle{color:var(--muted);font-size:.85rem}.bill-total{font-size:1.5rem;font-weight:700}.calendar-cell{min-width:70px;font-size:.72rem}.calendar-cell a{display:block;background:#e0eadc;border-radius:4px;margin-bottom:4px;padding:3px}.login-box{max-width:460px;margin:80px auto;padding:35px}.account-wrap{max-width:1080px;margin:auto;padding:40px 25px}.alert{font-size:.9rem}.print-only{display:none}textarea{min-height:90px}
@media(max-width:1000px){.hero{gap:25px}.service-grid{grid-template-columns:repeat(2,1fr)}.booking-section{gap:30px}.cms-shell{grid-template-columns:190px 1fr}.cms-main{padding:22px}.stats{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.public-nav>div{gap:14px}}
@media(max-width:700px){.wrap{padding:45px 20px}.public-nav{align-items:start;padding:16px 20px}.public-nav>div>a:not(.btn){display:none}.hero,.booking-section,.room-grid{grid-template-columns:1fr}.hero-art{min-height:300px}.hero-art img{height:330px}.hero{gap:35px}.section-heading{display:block}.section-heading>a{display:inline-block;margin-top:15px}.service-grid{grid-template-columns:1fr 1fr;gap:10px}.service-card{padding:16px}.cms-shell{display:block}.sidebar{padding:18px}.sidebar nav{flex-direction:row;flex-wrap:wrap;margin:15px 0}.sidebar nav a{padding:5px 8px}.cms-main{padding:18px}.cms-header{align-items:start}.cms-header h1{font-size:1.5rem}.panel{padding:18px}.room-card>img{height:220px}footer{flex-direction:column}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:1.4rem}}
@media print{.sidebar,.cms-header,.no-print,nav,.alert,.public-nav,button{display:none!important}.cms-shell{display:block}.cms-main{padding:0}.panel{border:0;padding:0}.print-only{display:block}.grid-two{display:block}body{background:white;color:black}.table{font-size:11pt}a{text-decoration:none;color:black}}
