:root{
  --gold:#f4b832;
  --ink:#172033;
  --muted:#6f7b8f;
  --bg:#f4f7fb;
  --card:#ffffff;
  --line:#dfe6f0;
  --nav:#0f1115;
  --shadow:0 8px 24px rgba(17,24,39,.06);

  --available:#44bf6a;
  --available-soft:#ebf9ef;
  --daily:#ef5350;
  --daily-soft:#fff0ef;
  --temporary:#d08a2f;
  --temporary-soft:#fff6ea;
  --monthly:#9561ef;
  --monthly-soft:#f4efff;
  --wait-clean:#d9983a;
  --wait-clean-soft:#fff4e5;
  --cleaning:#4f83ff;
  --cleaning-soft:#eef4ff;
  --maintenance:#7b56e9;
  --maintenance-soft:#f2edff;
  --booking:#1f2937;
  --booking-soft:#eef1f5;
  --all:#6b7280;
  --all-soft:#f3f4f6;
}
*{box-sizing:border-box}
body{margin:0;font-family:Tahoma,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
header{min-height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;gap:24px}.brand{font-size:28px;color:var(--gold);font-weight:500}.brand b{color:#111}.hotel{font-weight:700;flex:1}.user{display:flex;gap:10px;align-items:center;font-size:13px}.user form{display:inline}.linkbtn{border:0;background:none;color:#b33;cursor:pointer;font-weight:700}
nav{display:flex;gap:6px;background:var(--nav);padding:10px 18px;overflow:auto}nav a{color:#fff;text-decoration:none;padding:10px 14px;border-radius:10px;white-space:nowrap;font-size:13px;opacity:.92}nav a:hover,nav a.active{background:var(--gold);color:#111;font-weight:700;opacity:1}
main{max-width:1600px;margin:auto;padding:20px}
.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.page-head h1{display:inline;margin:0;font-size:32px}.page-head p{margin:6px 0 0;color:var(--muted);font-size:14px}.page-kicker{font-size:13px;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.page-title-row{display:flex;gap:12px;align-items:flex-start}.num{font-size:34px;font-weight:800;color:var(--gold);line-height:1}.compact{margin-bottom:14px}
.status-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.status-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;width:100%;transition:.18s ease;display:block}.status-box-title{font-size:12px;color:var(--muted);margin-bottom:4px}.status-box-value{font-size:22px;font-weight:800}.status-box:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(17,24,39,.09)}.status-box.active{outline:2px solid #111827;outline-offset:0}.status-box.available{background:var(--available-soft)}.status-box.daily{background:var(--daily-soft)}.status-box.temporary{background:var(--temporary-soft)}.status-box.monthly{background:var(--monthly-soft)}.status-box.booking{background:var(--booking-soft)}.status-box.wait-clean{background:var(--wait-clean-soft)}.status-box.cleaning{background:var(--cleaning-soft)}.status-box.all{background:var(--all-soft)}
.floor-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 16px 18px;margin-bottom:18px;box-shadow:var(--shadow)}.floor-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.floor-head.modern{align-items:flex-start;flex-direction:column}.floor-title-wrap h2{margin:0;font-size:34px;line-height:1.1}.floor-total{margin-top:4px;color:var(--muted);font-size:14px}.floor-chips{display:flex;flex-wrap:wrap;gap:8px}.floor-chip{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent}.floor-chip.all{background:var(--all-soft);color:var(--all)}.floor-chip.available{background:var(--available-soft);color:#1d8b46}.floor-chip.daily{background:var(--daily-soft);color:#cf302c}.floor-chip.temporary{background:var(--temporary-soft);color:#ba7315}.floor-chip.monthly{background:var(--monthly-soft);color:#7643d2}.floor-chip.booking{background:var(--booking-soft);color:#111827}.floor-chip.wait-clean{background:var(--wait-clean-soft);color:#b57920}.floor-chip.cleaning{background:var(--cleaning-soft);color:#356bf1}.floor-chip.maintenance{background:#f2edff;color:#6540d7}
.room-grid-modern{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px}.room-card-modern{position:relative;background:#fff;border-radius:16px;border:1px solid var(--line);padding:12px 12px 13px;box-shadow:var(--shadow);overflow:hidden;min-height:172px}.card-topline{position:absolute;left:0;top:0;bottom:0;width:4px;background:#e5e7eb}.room-card-modern.available{border-color:#3ac463}.room-card-modern.available .card-topline{background:var(--available)}.room-card-modern.daily{border-color:#ff6d6a}.room-card-modern.daily .card-topline{background:var(--daily)}.room-card-modern.temporary{border-color:#e2a648}.room-card-modern.temporary .card-topline{background:var(--temporary)}.room-card-modern.monthly{border-color:#a97ef4}.room-card-modern.monthly .card-topline{background:var(--monthly)}.room-card-modern.wait-clean{border-color:#ecb45f}.room-card-modern.wait-clean .card-topline{background:var(--wait-clean)}.room-card-modern.cleaning{border-color:#78a3ff}.room-card-modern.cleaning .card-topline{background:var(--cleaning)}.room-card-modern.maintenance{border-color:#9272f1}.room-card-modern.maintenance .card-topline{background:var(--maintenance)}.room-card-modern.booking{border-color:#495364}.room-card-modern.booking .card-topline{background:var(--booking)}.room-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.room-card-title{font-size:18px;font-weight:800;line-height:1}.state-pill{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}.state-pill.available{background:var(--available-soft);color:#1d8b46}.state-pill.daily{background:var(--daily-soft);color:#cf302c}.state-pill.temporary{background:var(--temporary-soft);color:#ba7315}.state-pill.monthly{background:var(--monthly-soft);color:#7643d2}.state-pill.wait-clean{background:var(--wait-clean-soft);color:#b57920}.state-pill.cleaning{background:var(--cleaning-soft);color:#356bf1}.state-pill.maintenance{background:#f2edff;color:#6540d7}.state-pill.booking{background:var(--booking-soft);color:#111827}
.room-floor-badge{margin-top:8px;display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#f3f4f6;color:#475569;font-size:10px;font-weight:700}.room-type{margin-top:6px;font-size:12px;font-weight:700;color:var(--ink)}.room-guest-modern{margin-top:4px;min-height:30px;font-size:12px;font-weight:700;color:#374151;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.room-detail-lines{margin-top:9px;display:grid;gap:4px;font-size:11px;color:#4b5563}.room-detail-lines strong{font-weight:800;color:#111827}.remaining-text{margin-top:8px;font-size:11px;font-weight:800}.remaining-text.remaining{color:#2155d6}.remaining-text.overdue{color:#d12626}
.filter{display:flex;gap:10px;align-items:end;background:white;border:1px solid var(--line);padding:12px;margin-bottom:15px;border-radius:12px;box-shadow:var(--shadow)}.filter label{font-size:12px}.filter input{display:block;margin-top:4px;padding:8px;border:1px solid #ccc;border-radius:8px}.filter button,.login-card button{background:var(--gold);border:0;padding:10px 18px;font-weight:700;border-radius:10px;cursor:pointer}.table-wrap,.calendar-wrap{background:white;border:1px solid var(--line);border-radius:14px;overflow:auto;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:9px 10px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}thead th{background:#f1efe8;position:sticky;top:0}.calendar td{text-align:center;min-width:30px}.calendar td.booked{background:var(--gold);color:#111}.graph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}
.login-bg{min-height:100vh;display:grid;place-items:center;background:#f8f5ea}.login-card{width:min(420px,92vw);background:#fff;border:1px solid var(--line);padding:36px;border-radius:18px;box-shadow:0 18px 45px #0001;text-align:center}.logo-big{font-size:42px;color:var(--gold);margin-bottom:15px}.logo-big b{display:block;color:#111;font-size:48px}.hotel-title{font-size:26px;font-weight:700}.login-card form{display:grid;gap:10px}.login-card input{padding:12px;border:1px solid #ccc;border-radius:10px;font-size:15px}.error{margin-top:12px;color:#b22;background:#fee;padding:10px 12px;border-radius:10px;line-height:1.5}.back{display:block;margin-top:15px;color:#555;text-decoration:none}
@media(max-width:900px){.room-grid-modern{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}
@media(max-width:700px){header{padding:0 12px}.hotel{display:none}main{padding:14px}.page-head{flex-direction:column;align-items:flex-start}.status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.room-grid-modern{grid-template-columns:1fr 1fr}.floor-title-wrap h2{font-size:28px}.room-card-modern{min-height:160px}}
@media(max-width:520px){.room-grid-modern{grid-template-columns:1fr}.status-strip{grid-template-columns:1fr}}


.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.legend-item{padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700}.legend-item.daily{background:var(--daily-soft);color:#cf302c}.legend-item.temporary{background:var(--temporary-soft);color:#ba7315}.legend-item.monthly{background:var(--monthly-soft);color:#7643d2}.legend-item.booking{background:#fff1c7;color:#8a6510}.calendar-scroll{max-width:100%;overflow:auto}.calendar-timeline{min-width:max-content;border-collapse:separate;border-spacing:0}.calendar-timeline .room-col{position:sticky;left:0;z-index:4;background:#fff;min-width:80px;font-size:12px;font-weight:800;border-right:1px solid var(--line)}.calendar-timeline thead .room-col{z-index:6;background:#f7f8fa}.calendar-timeline .day-col{min-width:38px;text-align:center;padding:6px 4px;background:#f7f8fa}.calendar-timeline .day-col small{display:block;font-size:9px;color:#8a94a5;font-weight:400}.calendar-timeline .day-col strong{display:block;font-size:12px}.calendar-timeline .today{box-shadow:inset 0 0 0 1px #f2b52a}.calendar-floor-row td{background:#eef2f7;font-weight:800;padding:7px 10px;color:#334155}.calendar-cell{height:32px;min-width:38px;text-align:center;border-right:1px solid #eef1f4;border-bottom:1px solid #eef1f4}.calendar-cell.daily{background:#ffe9e8;color:#d33}.calendar-cell.temporary{background:#fff1df;color:#b96e12}.calendar-cell.monthly{background:#f1eaff;color:#7745d2}.calendar-cell.booking{background:#fff0b9;color:#8a6410}.calendar-cell.booking-done{background:#e8eef6;color:#5b6878}.calendar-mark{font-size:11px;font-weight:800}.calendar-empty{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;text-align:center;color:var(--muted)}.calendar-result-note{margin-top:10px;color:var(--muted);font-size:12px}


.calendar-picker-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow)}
.calendar-picker-grid{display:grid;grid-template-columns:220px 180px 160px;gap:14px;align-items:end}
.picker-group label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:700}
.picker-group select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid #cfd7e3;background:#fff;font-size:14px;font-family:inherit}
.picker-actions button{background:var(--gold);border:0;padding:11px 18px;border-radius:10px;font-weight:800;cursor:pointer}
.calendar-picker-caption{margin-top:10px;font-size:13px;color:var(--muted)}
@media(max-width:700px){.calendar-picker-grid{grid-template-columns:1fr 1fr}.picker-actions{grid-column:1 / -1}}
@media(max-width:520px){.calendar-picker-grid{grid-template-columns:1fr}}

.calendar-cell{position:relative;overflow:visible}
.calendar-cell.has-tooltip{cursor:pointer}
.calendar-cell.has-tooltip:hover{box-shadow:inset 0 0 0 2px rgba(17,24,39,.18)}
.calendar-tooltip-card{display:none;position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);min-width:230px;max-width:280px;background:#111827;color:#fff;padding:10px 12px;border-radius:12px;box-shadow:0 14px 28px rgba(0,0,0,.18);text-align:left;z-index:50;line-height:1.45}
.calendar-tooltip-card::before{content:"";position:absolute;left:50%;top:-6px;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#111827}
.calendar-cell.has-tooltip:hover .calendar-tooltip-card{display:block}
.tooltip-room{font-size:13px;font-weight:800;margin-bottom:2px}
.tooltip-status{font-size:11px;font-weight:700;color:#f4d37a;margin-bottom:6px}
.tooltip-line{font-size:12px;margin-top:2px;white-space:normal}
.tooltip-line strong{color:#cbd5e1}

.revenue-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:0 0 16px}.revenue-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 15px;box-shadow:var(--shadow);position:relative;overflow:hidden}.revenue-stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#94a3b8}.revenue-stat span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.revenue-stat strong{font-size:22px;line-height:1.1}.revenue-stat small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.revenue-stat.total::before{background:var(--gold)}.revenue-stat.cash::before{background:#34a853}.revenue-stat.transfer::before{background:#4385f5}.revenue-stat.daily::before{background:var(--daily)}.revenue-stat.temporary::before{background:var(--temporary)}.revenue-stat.monthly::before{background:var(--monthly)}.revenue-stat.rooms::before{background:#64748b}.revenue-table-wrap{max-width:100%;overflow:auto}.revenue-table{min-width:1450px}.revenue-table tfoot td{background:#f8fafc;border-top:2px solid #dbe2eb}.type-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700;background:#f1f5f9;color:#475569}.type-badge.type-1{background:var(--daily-soft);color:#cf302c}.type-badge.type-2{background:var(--temporary-soft);color:#ba7315}.type-badge.type-3{background:var(--monthly-soft);color:#7643d2}


.report-export-toolbar{display:flex;gap:8px;justify-content:flex-end;margin:10px 0 14px}
.export-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:var(--shadow)}
.export-btn.excel{color:#166534;border-color:#b8dfc5;background:#f0fbf4}.export-btn.pdf{color:#b42318;border-color:#f0c0bb;background:#fff4f3}.export-icon{font-size:10px;margin-right:5px}
@media print{
  body{background:#fff!important;color:#000!important}
  header,nav,.no-print,.filter,.calendar-picker-card{display:none!important}
  main{max-width:none!important;padding:0!important;margin:0!important}
  .page-head{margin:0 0 10px!important}
  .table-wrap,.calendar-wrap,.panel,.floor-section{box-shadow:none!important;border:1px solid #bbb!important}
  .calendar-scroll{overflow:visible!important}
  .calendar-timeline{font-size:8px!important}
  .calendar-tooltip-card{display:none!important}
  canvas{max-height:260px!important}
  @page{size:A4 landscape;margin:8mm}
}


.room-report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:0 0 18px}
.room-report-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.room-report-stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#9ca3af}
.room-report-stat span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.room-report-stat strong{display:block;font-size:22px;color:var(--ink)}
.room-report-stat.total::before{background:var(--gold)}
.room-report-stat.daily::before{background:var(--daily)}
.room-report-stat.temporary::before{background:var(--temporary)}
.room-report-stat.monthly::before{background:var(--monthly)}
.room-report-stat.booking::before{background:var(--booking)}
.room-report-stat.wait-clean::before{background:var(--wait-clean)}
.room-report-stat.cleaning::before{background:var(--cleaning)}
.room-report-stat.maintenance::before{background:var(--maintenance)}
@media(max-width:700px){.room-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}


.report-mode-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.report-mode-tab{padding:10px 14px;border-radius:10px;background:#fff;border:1px solid var(--line);color:#374151;text-decoration:none;font-size:13px;font-weight:700;box-shadow:var(--shadow)}.report-mode-tab:hover{border-color:#f1b52c}.report-mode-tab.active{background:#111827;color:#fff;border-color:#111827}.current-filter-note{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 15px;margin-bottom:14px;color:var(--muted);font-size:13px}.checkin-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin:14px 0}.checkin-summary-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 14px;box-shadow:var(--shadow);border-left:4px solid #9ca3af}.checkin-summary-card span{display:block;font-size:11px;color:var(--muted)}.checkin-summary-card b{display:inline-block;font-size:25px;margin-top:4px}.checkin-summary-card small{margin-left:4px;color:var(--muted)}.checkin-summary-card.daily{border-left-color:#ef5350}.checkin-summary-card.temporary{border-left-color:#d08a2f}.checkin-summary-card.monthly{border-left-color:#9561ef}.checkin-summary-card.inhouse{border-left-color:#44bf6a}.checkin-summary-card.checkout{border-left-color:#64748b}.stay-type-pill,.stay-state{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700}.stay-type-pill.daily{background:var(--daily-soft);color:#cf302c}.stay-type-pill.temporary{background:var(--temporary-soft);color:#b96e12}.stay-type-pill.monthly{background:var(--monthly-soft);color:#7643d2}.stay-state.in{background:var(--available-soft);color:#1d8b46}.stay-state.out{background:#eef2f7;color:#475569}.report-empty-state{background:#fff;border:1px dashed #cbd5e1;border-radius:16px;padding:38px 20px;text-align:center;color:var(--muted);box-shadow:var(--shadow)}.report-empty-state h3{margin:6px 0;color:var(--ink)}.report-empty-state p{margin:0}.report-empty-icon{font-size:32px}.no-print{}
@media(max-width:1000px){.checkin-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.checkin-summary-grid{grid-template-columns:repeat(2,1fr)}.report-mode-tab{flex:1 1 auto;text-align:center}}
@media print{.no-print{display:none!important}}

.owner-finance-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:14px 0;box-shadow:var(--shadow)}
.owner-finance-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.owner-finance-head h3{margin:3px 0 0;font-size:18px}.owner-finance-kicker{font-size:10px;font-weight:800;letter-spacing:1px;color:#9a6a00}.owner-payment-counts{display:flex;flex-wrap:wrap;gap:7px}.pay-count,.payment-state{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.pay-count.paid,.payment-state.paid{background:#e9f9ef;color:#168346}.pay-count.partial,.payment-state.partial{background:#fff4dc;color:#a86700}.pay-count.unpaid,.payment-state.unpaid{background:#ffeded;color:#c72c2c}
.owner-finance-grid{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:10px}.money-card{border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#f9fafb}.money-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.money-card b{font-size:21px}.money-card small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.money-card.charge{border-left:4px solid #64748b}.money-card.paid{border-left:4px solid #22a06b;background:#f2fbf6}.money-card.outstanding{border-left:4px solid #ef5350;background:#fff6f5}.money-card.cash{border-left:4px solid #d69b2d}.money-card.transfer{border-left:4px solid #4f83ff}.money-cell{text-align:right;font-variant-numeric:tabular-nums}.paid-value{color:#168346;font-weight:700}.outstanding-value{color:#d12626;font-weight:800}
@media(max-width:900px){.owner-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-finance-head{flex-direction:column}}
@media(max-width:520px){.owner-finance-grid{grid-template-columns:1fr}}


.monthly-filter select{display:block;margin-top:4px;padding:8px;border:1px solid #ccc;border-radius:8px;background:#fff;min-width:150px}
.monthly-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.monthly-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 14px;box-shadow:var(--shadow);border-left:4px solid #94a3b8}
.monthly-stat span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.monthly-stat b{font-size:21px}.monthly-stat small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.monthly-stat.room{border-left-color:#64748b}.monthly-stat.elec{border-left-color:#e0a018}.monthly-stat.water{border-left-color:#3b82f6}.monthly-stat.deposit{border-left-color:#8b5cf6}.monthly-stat.total{border-left-color:#111827}.monthly-stat.cash{border-left-color:#22a06b}.monthly-stat.transfer{border-left-color:#4f83ff}
.monthly-payment-table{min-width:1700px}.monthly-payment-table th,.monthly-payment-table td{font-variant-numeric:tabular-nums}.monthly-payment-table tfoot td{background:#f8fafc;border-top:2px solid #dbe2eb}

.report-filter-wide select{display:block;margin-top:4px;padding:8px;border:1px solid #ccc;border-radius:8px;background:#fff;min-width:180px}.ops-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:14px 0 16px}.ops-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 14px;box-shadow:var(--shadow);border-left:4px solid #94a3b8}.ops-stat span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.ops-stat b{font-size:22px}.ops-stat small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.ops-stat.waiting{border-left-color:#d9983a;background:#fffaf1}.ops-stat.working{border-left-color:#4f83ff;background:#f5f8ff}.ops-stat.done{border-left-color:#22a06b;background:#f4fbf6}.ops-stat.rooms{border-left-color:#64748b}.ops-stat.time{border-left-color:#9561ef}.ops-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}.ops-status.waiting{background:#fff4dc;color:#a86700}.ops-status.working{background:#eef4ff;color:#356bf1}.ops-status.done{background:#e9f9ef;color:#168346}.ops-status.other{background:#eef2f7;color:#475569}

.housekeeping-plan{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:18px 0;box-shadow:var(--shadow)}
.plan-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.plan-heading h2{margin:2px 0 3px;font-size:20px}.plan-heading p{margin:0;color:var(--muted);font-size:12px}.plan-kicker{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.8px}.plan-total{min-width:105px;text-align:center;background:#f7f8fa;border-radius:14px;padding:10px}.plan-total b{display:block;font-size:26px}.plan-total span{font-size:11px;color:var(--muted)}
.plan-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.plan-day{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fafbfd}.plan-day.today{border-left:4px solid #f4b832}.plan-day.tomorrow{border-left:4px solid #4f83ff}.plan-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.plan-day-head strong{display:block;font-size:16px}.plan-day-head small{color:var(--muted)}.plan-day-head>span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}
.plan-room-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.plan-room{background:#fff;border:1px solid #e5eaf1;border-radius:12px;padding:9px 10px;display:flex;gap:10px;align-items:flex-start}.plan-room>b{font-size:17px;min-width:36px}.plan-room>div{min-width:0}.plan-room small{display:block;color:#667085;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-status{display:inline-flex;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800}.plan-status.waiting{background:#fff3df;color:#ad6c10}.plan-status.checkout{background:#eaf2ff;color:#3369d8}.plan-empty{padding:16px;text-align:center;color:var(--muted);background:#fff;border-radius:12px;border:1px dashed #d8dee8}
@media(max-width:800px){.plan-columns{grid-template-columns:1fr}.plan-heading{flex-direction:column}.plan-total{width:100%}}

/* =========================================================
   COMPACT ROOM DASHBOARD OVERRIDES
   2026-08-19
   ลดขนาดหน้า Room Used ให้กระชับขึ้น โดยไม่กระทบ Logic เดิม
   ========================================================= */

/* พื้นที่หลัก */
main{
    max-width:1600px;
    margin:auto;
    padding:12px 16px;
}

/* หัวข้อหน้า */
.page-head{
    margin-bottom:10px;
}

.page-kicker{
    font-size:11px;
    margin-bottom:4px;
}

.page-title-row{
    gap:8px;
}

.page-title-row .num,
.num{
    font-size:28px;
}

.page-head h1{
    font-size:26px;
    line-height:1;
}

.page-head p{
    margin-top:3px;
    font-size:12px;
}

/* ปุ่ม Export */
.report-actions{
    gap:6px;
}

.report-actions .btn-export,
.export-actions button,
.export-actions a{
    padding:7px 12px;
    font-size:11px;
    border-radius:8px;
}

/* =========================
   STATUS SUMMARY
   ========================= */
.status-strip{
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    gap:8px;
    margin-bottom:10px;
}

.status-box{
    min-height:58px;
    padding:9px 12px;
    border-radius:11px;
    box-shadow:0 4px 12px rgba(17,24,39,.04);
}

.status-box-title{
    font-size:10px;
    margin-bottom:2px;
}

.status-box-value{
    font-size:20px;
    line-height:1.1;
}

/* =========================
   FLOOR SECTION
   ========================= */
.floor-section{
    padding:10px 12px 12px;
    margin-bottom:12px;
    border-radius:14px;
}

.floor-head{
    margin-bottom:9px;
    gap:8px;
}

.floor-title-wrap h2{
    font-size:27px;
    line-height:1;
}

.floor-total{
    margin-top:2px;
    font-size:11px;
}

.floor-chips{
    gap:5px;
}

.floor-chip{
    padding:5px 9px;
    font-size:10px;
}

/* =========================
   ROOM CARDS
   ========================= */
.room-grid-modern{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
    gap:8px;
}

.room-card-modern{
    min-height:145px;
    padding:9px 10px 10px;
    border-radius:13px;
    box-shadow:0 4px 12px rgba(17,24,39,.04);
}

.room-card-title{
    font-size:17px;
}

.state-pill{
    padding:3px 7px;
    font-size:9px;
}

.room-floor-badge{
    margin-top:5px;
    padding:2px 6px;
    font-size:9px;
}

.room-type{
    margin-top:4px;
    font-size:11px;
}

.room-guest-modern{
    margin-top:3px;
    min-height:24px;
    font-size:11px;
}

.room-detail-lines{
    margin-top:6px;
    gap:2px;
    font-size:10px;
}

.remaining-text{
    margin-top:5px;
    font-size:10px;
}

/* ให้ส่วนหัวชั้นไม่สูงเกินไป */
.floor-head.modern{
    gap:6px;
}

/* ปุ่ม Excel/PDF บนหน้า Room Used */
.page-export-actions,
.report-actions{
    margin-top:0;
    margin-bottom:6px;
}

/* =========================
   RESPONSIVE
   ========================= */
@media(max-width:1200px){
    .status-strip{
        grid-template-columns:repeat(4,1fr);
    }

    .room-grid-modern{
        grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
    }
}

@media(max-width:700px){
    main{
        padding:10px;
    }

    .status-strip{
        grid-template-columns:repeat(2,1fr);
    }

    .room-grid-modern{
        grid-template-columns:repeat(2,1fr);
    }

    .floor-title-wrap h2{
        font-size:23px;
    }
}

@media(max-width:500px){
    .room-grid-modern{
        grid-template-columns:1fr;
    }
}


/* Booking report - legacy style, compact web version */
.booking-head-summary{font-size:13px;color:#475569}.booking-head-summary b{font-size:20px;color:#111827}
.booking-filter-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:12px;box-shadow:var(--shadow)}
.booking-filter-grid{display:grid;grid-template-columns:130px 130px 190px repeat(5,minmax(130px,1fr)) 120px;gap:9px;align-items:end}
.booking-filter-grid label{display:block;font-size:10px;font-weight:700;color:#475569;margin-bottom:4px}.booking-filter-grid input,.booking-filter-grid select{width:100%;height:34px;border:1px solid #cfd7e3;border-radius:7px;padding:6px 8px;font:inherit;font-size:11px;background:#fff}.booking-mode-box{display:grid;gap:5px;align-self:center}.booking-mode-box label{display:flex;align-items:center;gap:5px;margin:0;color:#111827}.booking-mode-box input{width:auto;height:auto}.booking-filter-action button{height:34px;width:100%;border:0;border-radius:8px;background:var(--gold);font-weight:800;cursor:pointer}
.booking-stats{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px;margin-bottom:10px}.booking-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 11px;box-shadow:var(--shadow);border-left:4px solid #94a3b8}.booking-stat span{display:block;font-size:10px;color:#64748b}.booking-stat b{display:block;font-size:20px;margin-top:2px}.booking-stat.waiting{border-left-color:#e6a53b}.booking-stat.checkin{border-left-color:#22a06b}.booking-stat.checkout{border-left-color:#64748b}.booking-stat.cancelled{border-left-color:#ef5350}.booking-stat.deposit{border-left-color:#8b5cf6}.booking-stat.rooms{border-left-color:#3b82f6}
.booking-table th,.booking-table td{font-size:11px;padding:7px 8px}.booking-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800}.booking-status.waiting{background:#fff1d6;color:#ad6f12}.booking-status.checkin{background:#e9f9ef;color:#218848}.booking-status.checkout{background:#eef2f6;color:#475569}.booking-status.cancelled{background:#ffe9e8;color:#cc3430}.booking-status.other{background:#f3f4f6;color:#4b5563}.booking-empty{text-align:center!important;padding:24px!important;color:#64748b}
@media(max-width:1300px){.booking-filter-grid{grid-template-columns:repeat(4,1fr)}.booking-stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.booking-filter-grid{grid-template-columns:1fr 1fr}.booking-stats{grid-template-columns:1fr 1fr}}

/* ===== Graph Analytics Dashboard ===== */
.graph-page-head{margin:2px 0 12px}.graph-title{display:flex;align-items:center;gap:8px}.graph-title span{font-size:30px;font-weight:900;color:var(--gold)}.graph-title h1{margin:0;font-size:28px}.graph-page-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.graph-filter-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:12px;box-shadow:var(--shadow)}.graph-filter-card .filter{margin:0;border:0;box-shadow:none;padding:0;background:transparent}.graph-filter-card .report-actions{margin:0}.graph-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}.graph-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 14px;box-shadow:var(--shadow);border-left:4px solid #94a3b8}.graph-kpi small{display:block;color:var(--muted);font-size:11px}.graph-kpi strong{display:inline-block;margin-top:4px;font-size:24px;line-height:1;color:#0f172a}.graph-kpi span{display:block;margin-top:4px;color:#64748b;font-size:10px}.graph-kpi.revenue{border-left-color:#22c55e}.graph-kpi.checkin{border-left-color:#3b82f6}.graph-kpi.checkout{border-left-color:#f59e0b}.graph-kpi.occupancy{border-left-color:#8b5cf6}.graph-kpi.available{border-left-color:#06b6d4}.graph-kpi.housekeeping{border-left-color:#d9983a}.analytics-grid{display:grid;gap:12px;margin-bottom:12px}.analytics-grid.primary{grid-template-columns:1fr 1fr}.analytics-grid.secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 16px;box-shadow:var(--shadow);min-width:0}.analytics-card h3{margin:0;font-size:16px;color:#172033}.analytics-card>p{margin:3px 0 9px;color:#94a3b8;font-size:10px}.chart-box{height:260px}.chart-box.small{height:220px}.insight-card{display:flex;flex-direction:column;gap:8px}.insight-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef2f7;font-size:12px}.insight-line:last-child{border-bottom:0}.insight-line span{color:#64748b;text-align:right}.status-mini{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;background:#f8fafc;border-radius:9px;font-size:12px}.status-mini b{font-size:15px}.graph-filter-card [data-export-toolbar]{white-space:nowrap}@media(max-width:1100px){.graph-kpis{grid-template-columns:repeat(3,1fr)}.analytics-grid.primary,.analytics-grid.secondary{grid-template-columns:1fr 1fr}}@media(max-width:700px){.graph-filter-card{align-items:stretch;flex-direction:column}.graph-kpis{grid-template-columns:repeat(2,1fr)}.analytics-grid.primary,.analytics-grid.secondary{grid-template-columns:1fr}.chart-box,.chart-box.small{height:240px}}

.booking-head-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.booking-db-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f7;color:#475569;font-size:10px;font-weight:700}

/* ===== License / renewal warning ===== */
.license-warning-banner{max-width:1600px;margin:10px auto 0;padding:10px 14px;border:1px solid #f3c55d;border-left:5px solid #f4b832;border-radius:12px;background:#fff8df;color:#6b4a00;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 5px 16px rgba(148,108,0,.08)}
.license-warning-banner strong{display:block;font-size:13px;color:#7a5200;margin-bottom:2px}.license-warning-banner span{font-size:11px;line-height:1.45}.license-warning-days{flex:0 0 auto;background:#f4b832;color:#1f2937!important;border-radius:999px;padding:5px 10px;font-weight:800;font-size:11px!important}
.license-login-warning{margin:10px 0;padding:9px 10px;border:1px solid #f3c55d;border-radius:10px;background:#fff8df;color:#7a5200;font-size:11px;line-height:1.5;text-align:left}
@media(max-width:700px){.license-warning-banner{margin:8px 10px 0;align-items:flex-start}.license-warning-days{display:none}}

.discount-value{color:#d97706;font-weight:700}.calendar-picker-grid .picker-group input{width:100%;padding:11px 12px;border-radius:10px;border:1px solid #cfd7e3;background:#fff;font-size:14px;font-family:inherit}


/* ===== Revenue Report: compact web + reliable A4 landscape print/PDF ===== */
.print-only{display:none}
.revenue-table th,.revenue-table td{vertical-align:middle}

@media print{
  .print-only{display:block!important}
  .revenue-print-period{font-size:8px;color:#333;margin:-5px 0 6px;text-align:right}

  /* Revenue report must fit the printable width. */
  .revenue-head{display:flex!important;align-items:flex-start!important;margin-bottom:4px!important}
  .revenue-head h1{font-size:17px!important;line-height:1!important}
  .revenue-head .num{font-size:17px!important}
  .revenue-head p{font-size:7px!important;margin-top:2px!important}
  .revenue-head .summary{font-size:8px!important;padding:4px 6px!important;border-radius:5px!important;box-shadow:none!important}
  .revenue-head .summary b{font-size:10px!important}

  .revenue-summary-grid{grid-template-columns:repeat(6,1fr)!important;gap:3px!important;margin:0 0 5px!important}
  .revenue-stat{padding:4px 5px!important;border-radius:5px!important;box-shadow:none!important;min-height:auto!important}
  .revenue-stat span{font-size:6px!important;margin-bottom:1px!important}
  .revenue-stat strong{font-size:10px!important}
  .revenue-stat small{font-size:5.5px!important;margin-top:0!important}

  .revenue-table-wrap{overflow:visible!important;border:0!important;box-shadow:none!important}
  .revenue-table{min-width:0!important;width:100%!important;table-layout:fixed!important;font-size:6.1px!important;border-collapse:collapse!important}
  .revenue-table thead{display:table-header-group!important}
  .revenue-table tfoot{display:table-row-group!important}
  .revenue-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .revenue-table th,.revenue-table td{padding:2px 2px!important;white-space:normal!important;word-break:break-word!important;line-height:1.15!important;border:1px solid #ddd!important}
  .revenue-table th{font-size:5.8px!important;background:#efede7!important}
  .revenue-table .type-badge{font-size:5px!important;padding:1px 3px!important}
  .revenue-table .pdf-hide{display:none!important}

  /* Column widths for A4 landscape. Total ~100%. */
  .revenue-table th:nth-child(1),.revenue-table td:nth-child(1){width:8%}   /* bill */
  .revenue-table th:nth-child(2),.revenue-table td:nth-child(2){width:8%}   /* payment date */
  .revenue-table th:nth-child(3),.revenue-table td:nth-child(3){width:4%}   /* room */
  .revenue-table th:nth-child(4),.revenue-table td:nth-child(4){width:5%}   /* type */
  .revenue-table th:nth-child(5),.revenue-table td:nth-child(5){width:10%}  /* customer */
  .revenue-table th:nth-child(6),.revenue-table td:nth-child(6){width:8%}   /* checkin */
  .revenue-table th:nth-child(7),.revenue-table td:nth-child(7){width:8%}   /* checkout */
  .revenue-table th:nth-child(8),.revenue-table td:nth-child(8){width:6%}   /* room money */
  .revenue-table th:nth-child(9),.revenue-table td:nth-child(9){width:5%}   /* deposit */
  .revenue-table th:nth-child(10),.revenue-table td:nth-child(10){width:5%} /* minibar */
  .revenue-table th:nth-child(11),.revenue-table td:nth-child(11){width:6%} /* income */
  .revenue-table th:nth-child(12),.revenue-table td:nth-child(12){width:5%} /* cash */
  .revenue-table th:nth-child(13),.revenue-table td:nth-child(13){width:5%} /* credit */
  .revenue-table th:nth-child(14),.revenue-table td:nth-child(14){width:6%} /* transfer */
  .revenue-table th:nth-child(15),.revenue-table td:nth-child(15){width:5%} /* city */
  .revenue-table th:nth-child(17),.revenue-table td:nth-child(17){width:6%} /* employee */

  @page{size:A4 landscape;margin:5mm}
}


/* ===== Check-in Report: compact A4 landscape print/PDF ===== */
.checkin-print-period{display:none}
@media print{
  .checkin-print-period{display:block!important;font-size:7px!important;color:#444!important;text-align:right!important;margin:-4px 0 4px!important}

  /* Header: keep one compact line. */
  .checkin-print-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;margin:0 0 4px!important}
  .checkin-print-head .page-kicker{font-size:5.8px!important;margin:0 0 1px!important;letter-spacing:.4px!important}
  .checkin-print-head .page-title-row{gap:4px!important}
  .checkin-print-head .num{font-size:16px!important;line-height:1!important}
  .checkin-print-head h1{font-size:16px!important;line-height:1!important;margin:0!important}
  .checkin-print-head p{display:none!important}
  .checkin-print-head .summary{font-size:7px!important;padding:3px 5px!important;border-radius:4px!important;box-shadow:none!important}
  .checkin-print-head .summary b{font-size:10px!important}

  /* Six operational summary cards in one thin row. */
  .checkin-print-summary{grid-template-columns:repeat(6,1fr)!important;gap:3px!important;margin:0 0 4px!important}
  .checkin-print-summary .checkin-summary-card{padding:3px 4px!important;border-radius:4px!important;box-shadow:none!important;border-left-width:2px!important;min-height:0!important}
  .checkin-print-summary .checkin-summary-card span{font-size:5.5px!important;line-height:1!important}
  .checkin-print-summary .checkin-summary-card b{font-size:10px!important;line-height:1!important;margin:1px 0 0!important}
  .checkin-print-summary .checkin-summary-card small{font-size:5px!important;margin-left:2px!important}

  /* Finance summary: no large panel/card heights. */
  .checkin-print-finance{padding:4px 5px!important;margin:0 0 4px!important;border-radius:4px!important;box-shadow:none!important}
  .checkin-print-finance .owner-finance-head{margin:0 0 3px!important;align-items:center!important}
  .checkin-print-finance .owner-finance-kicker{font-size:5px!important;letter-spacing:.3px!important}
  .checkin-print-finance .owner-finance-head h3{font-size:8px!important;margin:0!important}
  .checkin-print-finance .owner-payment-counts{gap:3px!important}
  .checkin-print-finance .pay-count{font-size:5px!important;padding:1px 3px!important}
  .checkin-print-finance .owner-finance-grid{grid-template-columns:repeat(5,1fr)!important;gap:3px!important}
  .checkin-print-finance .money-card{padding:3px 4px!important;border-radius:4px!important;min-height:0!important;border-left-width:2px!important}
  .checkin-print-finance .money-card span{font-size:5px!important;margin:0!important}
  .checkin-print-finance .money-card b{font-size:9px!important;line-height:1!important}
  .checkin-print-finance .money-card small{font-size:4.5px!important;margin:0!important}

  /* Table: full printable width, repeated header, many rows per page. */
  .checkin-table-wrap{overflow:visible!important;border:0!important;box-shadow:none!important}
  .checkin-table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:5.4px!important}
  .checkin-table thead{display:table-header-group!important}
  .checkin-table tbody{display:table-row-group!important}
  .checkin-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .checkin-table th,.checkin-table td{padding:1.6px 1.5px!important;line-height:1.08!important;white-space:normal!important;word-break:break-word!important;border:1px solid #ddd!important;vertical-align:middle!important}
  .checkin-table th{font-size:5px!important;background:#efede7!important;font-weight:800!important}
  .checkin-table .stay-type-pill,.checkin-table .stay-state,.checkin-table .payment-state{font-size:4.5px!important;padding:1px 2px!important;border-radius:3px!important;white-space:nowrap!important}
  .checkin-table .money-cell{font-size:5.2px!important}

  /* Column widths: 18 columns total, optimized for A4 landscape. */
  .checkin-table th:nth-child(1), .checkin-table td:nth-child(1){width:2%}   /* # */
  .checkin-table th:nth-child(2), .checkin-table td:nth-child(2){width:4%}   /* room */
  .checkin-table th:nth-child(3), .checkin-table td:nth-child(3){width:9%}   /* customer */
  .checkin-table th:nth-child(4), .checkin-table td:nth-child(4){width:5%}   /* type */
  .checkin-table th:nth-child(5), .checkin-table td:nth-child(5){width:8%}   /* checkin */
  .checkin-table th:nth-child(6), .checkin-table td:nth-child(6){width:8%}   /* planned checkout */
  .checkin-table th:nth-child(7), .checkin-table td:nth-child(7){width:8%}   /* real checkout */
  .checkin-table th:nth-child(8), .checkin-table td:nth-child(8){width:5%}   /* price */
  .checkin-table th:nth-child(9), .checkin-table td:nth-child(9){width:4%}   /* nights */
  .checkin-table th:nth-child(10),.checkin-table td:nth-child(10){width:6%}  /* gross */
  .checkin-table th:nth-child(11),.checkin-table td:nth-child(11){width:5%}  /* discount */
  .checkin-table th:nth-child(12),.checkin-table td:nth-child(12){width:6%}  /* net */
  .checkin-table th:nth-child(13),.checkin-table td:nth-child(13){width:6%}  /* paid */
  .checkin-table th:nth-child(14),.checkin-table td:nth-child(14){width:6%}  /* outstanding */
  .checkin-table th:nth-child(15),.checkin-table td:nth-child(15){width:6%}  /* payment state */
  .checkin-table th:nth-child(16),.checkin-table td:nth-child(16){width:5%}  /* Agent */
  .checkin-table th:nth-child(17),.checkin-table td:nth-child(17){width:5%}  /* employee */
  .checkin-table th:nth-child(18),.checkin-table td:nth-child(18){width:6%}  /* stay state */

  @page{size:A4 landscape;margin:4mm}
}

/* Room Report clickable status cards */
.room-report-stat{font-family:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;width:100%;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.room-report-stat:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(17,24,39,.09)}
.room-report-stat.active{outline:2px solid #172033;outline-offset:-2px;background:#fff}
.room-report-filter-result{margin:-6px 0 10px;color:#64748b;font-size:12px}
#roomReportTable tbody tr[hidden]{display:none!important}
