:root{--blue:#0077b6;--dark-blue:#0a3d62;--orange:#f47b20;--light:#f5f8fb;--border:#dce5ef;--text:#1c2733;--muted:#637082;--green:#0f9f6e;--red:#d94841;--yellow:#f0b429;--shadow:0 12px 30px rgba(10,61,98,.12)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--light);color:var(--text)}button,input,select{font:inherit}button{border:0;border-radius:10px;background:var(--orange);color:#fff;font-weight:700;padding:.8rem 1rem;cursor:pointer}button.secondary{background:#fff;color:var(--dark-blue);border:1px solid var(--border)}button:hover{filter:brightness(.97)}.topbar{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 3px 18px rgba(0,0,0,.04);padding:.85rem 2rem;display:flex;gap:1.5rem;align-items:center;justify-content:space-between}.brand{display:flex;gap:.8rem;align-items:center;min-width:270px}.brand span{display:block;color:var(--muted);font-size:.8rem}.logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--orange),#ffb36d);display:grid;place-items:center;color:#fff;font-weight:900}.nav-tabs{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.nav-tabs button{background:transparent;color:var(--dark-blue);padding:.6rem .8rem}.nav-tabs button.active{background:#e8f4ff;color:var(--blue)}main{padding:1.5rem 2rem 3rem;max-width:1400px;margin:auto}.page{display:none}.page.active{display:block}.hero{border-radius:26px;padding:2rem;background:linear-gradient(135deg,#083b67,#0077b6);color:#fff;position:relative;overflow:hidden;margin-bottom:1.2rem}.hero:after{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;background:rgba(255,255,255,.12);border-radius:999px}.hero-copy{max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:800;color:#ffe5cf}.hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:.25rem 0}.hero p{opacity:.94}.search-card{margin-top:1.5rem;background:#fff;border-radius:16px;padding:1rem;box-shadow:var(--shadow);position:relative;z-index:1}.search-row{display:grid;grid-template-columns:1fr .7fr 1fr auto;gap:.8rem;align-items:end}.search-row label,.form-grid label,.inline-label{font-weight:700;color:var(--dark-blue);font-size:.85rem}.search-row input,.search-row select,.form-grid input,.form-grid select,.table-actions input,.inline-label input{width:100%;margin-top:.35rem;padding:.85rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.5rem 0 .8rem}.section-title h2{margin:0;color:var(--dark-blue)}.section-title span{color:var(--muted);font-size:.9rem}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:1rem}.kpi{background:#fff;border:1px solid var(--border);border-radius:18px;padding:1rem;box-shadow:0 5px 16px rgba(0,0,0,.04)}.kpi span{color:var(--muted);font-weight:700;font-size:.78rem}.kpi strong{display:block;font-size:1.7rem;color:var(--dark-blue);margin-top:.4rem}.hotel-grid{display:grid;gap:1rem}.hotel-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:190px 1fr 190px}.room-image{background:linear-gradient(135deg,#d8efff,#fbe1cf);min-height:150px;position:relative}.room-image:after{content:"Hotel";position:absolute;bottom:14px;left:14px;background:#fff;border-radius:999px;padding:.35rem .7rem;font-weight:900;color:var(--blue)}.room-info{padding:1.1rem}.room-info h3{margin:0 0 .35rem;color:var(--dark-blue)}.room-info p{color:var(--muted);margin:.2rem 0 1rem}.badges{display:flex;flex-wrap:wrap;gap:.4rem}.badge{border-radius:999px;padding:.3rem .55rem;font-size:.75rem;background:#edf6ff;color:var(--blue);font-weight:800}.badge.green{background:#e8fff6;color:var(--green)}.badge.red{background:#fff0ef;color:var(--red)}.badge.yellow{background:#fff8df;color:#986f00}.price-box{border-left:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:1rem;gap:.3rem}.price-box small{color:var(--muted)}.price-box strong{font-size:1.6rem;color:var(--orange)}.panel{background:#fff;border:1px solid var(--border);border-radius:20px;padding:1.1rem;box-shadow:0 8px 22px rgba(0,0,0,.05)}.two-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.form-grid .full{grid-column:1/-1}.button-row{display:flex;gap:.7rem}.summary-card{border-radius:18px;background:#f8fbff;border:1px solid var(--border);padding:1rem;align-self:start}.summary-card h3{margin-top:0;color:var(--dark-blue)}.summary-line{display:flex;justify-content:space-between;border-bottom:1px dashed var(--border);padding:.55rem 0}.summary-line strong{color:var(--dark-blue)}.rooms-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.room-tile{background:#fff;border:1px solid var(--border);border-radius:18px;padding:1rem;box-shadow:0 8px 18px rgba(0,0,0,.05)}.room-tile h3{margin:.2rem 0;color:var(--dark-blue)}.status{display:inline-block;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:900;background:#e8fff6;color:var(--green)}.status.Occupied{background:#fff0ef;color:var(--red)}.status.Reserved{background:#fff8df;color:#986f00}.status.Dirty{background:#f2efff;color:#5b40b6}.status.Maintenance{background:#ffecec;color:#a83b35}.status.Cleaned{background:#e8fff6;color:#0f9f6e}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{border-bottom:1px solid var(--border);padding:.7rem;text-align:left;white-space:nowrap}th{background:#f1f7fc;color:var(--dark-blue);position:sticky;top:0}tr.selected{background:#fff7ee}.table-actions{display:flex;gap:.8rem;margin-bottom:1rem;align-items:center}.table-actions input{max-width:360px}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1rem}.report-card{border:1px solid var(--border);border-radius:16px;padding:1rem;background:#f8fbff}.report-card h3{margin-top:0;color:var(--dark-blue)}.admin-layout{display:grid!important;grid-template-columns:240px 1fr;gap:1rem}.admin-menu{background:#fff;border:1px solid var(--border);border-radius:20px;padding:.8rem;align-self:start;position:sticky;top:92px}.admin-menu button{width:100%;text-align:left;margin:.2rem 0;background:transparent;color:var(--dark-blue)}.admin-menu button.active{background:#e8f4ff;color:var(--blue)}.admin-page{display:none}.admin-page.active{display:block}.admin-table input,.admin-table select{padding:.5rem;border:1px solid var(--border);border-radius:8px;min-width:110px}.mini-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.9rem 0}.toast{position:fixed;right:18px;bottom:18px;background:var(--dark-blue);color:#fff;padding:.9rem 1.1rem;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);transition:.2s;z-index:99}.toast.show{opacity:1;transform:translateY(0)}.print-area{margin-top:1rem}.invoice-box{background:#fff;border:1px solid var(--border);border-radius:18px;padding:1.2rem;max-width:760px}.invoice-box h2{color:var(--dark-blue);margin-top:0}.invoice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.muted{color:var(--muted)}@media(max-width:900px){.topbar{display:block}.brand{margin-bottom:.8rem}.search-row,.two-col,.form-grid,.hotel-card,.admin-layout{grid-template-columns:1fr}.price-box{border-left:0;border-top:1px solid var(--border);align-items:flex-start}.kpi-grid{grid-template-columns:repeat(2,1fr)}main{padding:1rem}.admin-menu{position:static}}
@media print{.topbar,.nav-tabs,.section-title,.table-actions,button,.admin-menu,.search-card{display:none!important}body{background:#fff}main{padding:0}.page{display:block}.panel,.invoice-box{box-shadow:none;border:0}.print-area{display:block}.invoice-box{max-width:none}.table-wrap{overflow:visible}}

/* Live/domain-ready readability improvements */
html{font-size:16px;scroll-behavior:smooth}body{line-height:1.5;-webkit-font-smoothing:antialiased}main{width:min(1240px,94vw);margin:0 auto;padding:1.25rem 0 3rem}.topbar{gap:1rem}.brand strong{font-size:1.05rem}.nav-tabs{align-items:center}.admin-link{display:inline-flex;align-items:center;text-decoration:none;border:1px solid var(--border);color:var(--dark-blue);background:#fff;border-radius:10px;padding:.55rem .8rem;font-weight:800;font-size:.9rem}.hero{border-radius:24px;background:linear-gradient(135deg,#08385b 0%,#0c5f91 50%,#fff 50.2%,#fff 100%);box-shadow:var(--shadow);padding:2rem;margin:1.25rem 0;display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem;align-items:center}.hero-copy{color:#fff}.hero-copy h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;margin:.35rem 0 1rem}.hero-copy p{font-size:1.06rem;max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#ffd9bb}.search-card,.panel,.summary-card,.kpi,.report-card{border:1px solid var(--border);box-shadow:0 10px 24px rgba(10,61,98,.08)}.search-card{background:#fff;border-radius:18px;padding:1rem}.search-row{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:.8rem;align-items:end}label{font-weight:750;color:var(--dark-blue);font-size:.9rem}input,select,textarea{width:100%;border:1px solid #c8d6e5;border-radius:10px;background:#fff;color:var(--text);min-height:44px;padding:.7rem .8rem;margin-top:.3rem}input:focus,select:focus,textarea:focus{outline:3px solid rgba(244,123,32,.22);border-color:var(--orange)}button{min-height:44px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:1.5rem 0 .8rem}.section-title h2{margin:0;color:var(--dark-blue);font-size:1.45rem}.section-title span,.muted{color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.kpi{background:#fff;border-radius:16px;padding:1rem}.kpi span{display:block;color:var(--muted);font-weight:700}.kpi strong{display:block;margin-top:.3rem;font-size:1.35rem;color:var(--dark-blue)}.hotel-grid{display:grid;gap:1rem}.hotel-card{background:#fff;border:1px solid var(--border);border-radius:18px;display:grid;grid-template-columns:180px 1fr minmax(160px,auto);gap:1rem;padding:1rem;box-shadow:0 8px 22px rgba(10,61,98,.07);align-items:center}.room-image{height:126px;border-radius:15px;background:linear-gradient(135deg,#f47b20,#ffd1ad),url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22200%22 height=%22130%22 viewBox=%220 0 200 130%22%3E%3Crect x=%2222%22 y=%2248%22 width=%22156%22 height=%2254%22 rx=%2210%22 fill=%22white%22 opacity=%22.4%22/%3E%3Crect x=%2240%22 y=%2230%22 width=%2252%22 height=%2238%22 rx=%226%22 fill=%22white%22 opacity=%22.6%22/%3E%3Crect x=%22108%22 y=%2230%22 width=%2252%22 height=%2238%22 rx=%226%22 fill=%22white%22 opacity=%22.6%22/%3E%3C/svg%3E');background-size:cover}.room-info h3{margin:.1rem 0 .3rem;color:var(--dark-blue)}.room-info p{margin:.2rem 0;color:var(--muted)}.badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}.badge{border-radius:999px;background:#eef4fa;color:var(--dark-blue);font-weight:800;padding:.25rem .55rem;font-size:.78rem}.badge.green{background:#e7f8f1;color:#08764f}.price-box{text-align:right;border-left:1px solid var(--border);padding-left:1rem}.price-box small{color:var(--muted);font-weight:700}.price-box strong{display:block;font-size:1.5rem;color:var(--dark-blue);margin:.2rem 0 .8rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.full{grid-column:1/-1}.two-col{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:1rem}.panel,.summary-card{background:#fff;border-radius:18px;padding:1rem}.summary-line{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding:.65rem 0}.summary-line:last-child{border-bottom:0}.rooms-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.room-tile{background:#fff;border:1px solid var(--border);border-radius:16px;padding:1rem;box-shadow:0 8px 22px rgba(10,61,98,.06)}.room-tile h3{margin:.5rem 0 .1rem;color:var(--dark-blue)}.status{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-weight:900;font-size:.75rem;background:#eef4fa}.status.Occupied{background:#ffe9e7;color:#b52c25}.status.Vacant,.status.Cleaned{background:#e7f8f1;color:#08764f}.status.Reserved{background:#fff4dc;color:#916106}.status.Maintenance,.status.Dirty{background:#eceff3;color:#34495e}.table-actions,.mini-actions,.button-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}table{width:100%;border-collapse:collapse;background:#fff;min-width:900px}th,td{text-align:left;padding:.75rem;border-bottom:1px solid var(--border);vertical-align:top}th{background:#f4f8fc;color:var(--dark-blue);font-weight:900;position:sticky;top:0}tr:hover td{background:#fbfdff}.admin-layout{grid-template-columns:240px minmax(0,1fr);gap:1rem}.admin-menu{position:sticky;top:92px;align-self:start;background:#fff;border:1px solid var(--border);border-radius:18px;padding:.75rem;box-shadow:0 8px 22px rgba(10,61,98,.06)}.admin-menu button{width:100%;margin:.25rem 0;background:#fff;color:var(--dark-blue);border:1px solid transparent;text-align:left}.admin-menu button.active{background:#fff4ec;border-color:#ffd1ad;color:#b74f06}.live-note{margin-top:1rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:12px;padding:.8rem}.live-note code{background:rgba(255,255,255,.18);border-radius:6px;padding:.1rem .3rem}.toast{position:fixed;right:1rem;bottom:1rem;background:#102a43;color:#fff;padding:.8rem 1rem;border-radius:12px;box-shadow:var(--shadow);transform:translateY(160%);transition:.25s;z-index:100}.toast.show{transform:translateY(0)}.page,.admin-page{display:none}.page.active,.admin-page.active{display:block}.report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1rem}.report-card{background:#fff;border-radius:14px;padding:1rem}.report-card h3{margin:.1rem 0 .4rem;color:var(--muted);font-size:.9rem}.report-card strong{font-size:1.25rem;color:var(--dark-blue)}
@media (max-width:980px){.topbar{position:static;align-items:flex-start;flex-direction:column;padding:1rem}.nav-tabs{justify-content:flex-start}.hero{grid-template-columns:1fr;background:linear-gradient(160deg,#08385b 0%,#0c5f91 64%,#fff 64.2%,#fff 100%)}.search-row,.two-col,.form-grid,.admin-layout{grid-template-columns:1fr}.kpi-grid,.rooms-board,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-card{grid-template-columns:1fr}.price-box{text-align:left;border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:1rem}.admin-menu{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}.admin-menu button{margin:0}}
@media (max-width:560px){main{width:min(100% - 1rem,1240px)}.hero{padding:1.2rem;border-radius:18px}.hero-copy h1{font-size:2rem}.kpi-grid,.rooms-board,.report-grid,.admin-menu{grid-template-columns:1fr}.nav-tabs button,.admin-link{font-size:.84rem;padding:.5rem .65rem}.section-title{align-items:flex-start;flex-direction:column}.room-image{height:160px}}
@media print{.topbar,.table-actions,.admin-menu,button,.search-card,.kpi-grid{display:none!important}body{background:#fff}main{width:100%;padding:0}.panel,.print-area,.report-card{box-shadow:none;border:1px solid #ddd}.page{display:block}.page:not(.active){display:none!important}}
