*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Segoe UI,Arial,sans-serif;background:#f4efe6;color:#2d241b}body{overflow-x:hidden}.hotel-header{height:70px;background:linear-gradient(90deg,#382517,#6b4727);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:8px 28px;border-bottom:4px solid #c9a35f}.brand{font-family:Georgia,serif;font-size:25px;font-weight:700;letter-spacing:2px}.sub{margin-top:2px;font-size:12px;letter-spacing:.8px;color:#eadcc7}.header-badge{border:1px solid #d9bd87;border-radius:18px;padding:6px 14px;font-size:11px;letter-spacing:2px;color:#f5e9d2}.page-wrap{width:100%;max-width:1500px;margin:0 auto;padding:10px 18px 18px}.card{background:#fff;border:1px solid #e2d7c8;border-radius:10px;box-shadow:0 4px 14px rgba(49,34,20,.08)}.topbar{min-height:58px;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:15px}.label{font-size:10px;font-weight:800;color:#8a6a3e;letter-spacing:1.1px;margin-bottom:3px}.date-input,.input{width:100%;padding:8px 10px;border:1px solid #d8cdbd;border-radius:7px;background:#fff;font-size:13px}.date-input{min-width:170px;font-weight:700}.summary{display:flex;gap:8px;flex-wrap:wrap}.summary>div{background:#f8f4ed;padding:7px 11px;border-radius:7px;font-size:13px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px}.available{background:#a9db9a}.booked{background:#d95c53}.message{display:block;margin:7px 0;padding:8px 12px;border-radius:7px;font-size:12px;font-weight:600}.success{background:#e7f6e3;color:#2f7130}.error{background:#fde7e5;color:#9c302c}.room-section{margin-top:10px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;padding:0 2px}.section-title h2{font-family:Georgia,serif;margin:0;font-size:18px;color:#4a311e}.section-title span{color:#8b735b;font-size:11px}.room-grid{display:grid;grid-template-columns:repeat(10,minmax(90px,1fr));gap:8px}.room-card{height:105px;border-radius:8px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(60,40,24,.10);border:4px solid #68472c;background:#d9efcf;transition:.2s}.room-card:before{content:"";position:absolute;inset:10px 9px 0;border:2px solid rgba(74,49,31,.32);border-bottom:0;border-radius:34px 34px 0 0}.room-card.is-booked{background:#df6a61}.door-top{position:absolute;width:25px;height:4px;background:#6b4a2d;top:14px;border-radius:4px}.room-number{font-family:Georgia,serif;font-size:21px;font-weight:700;z-index:1}.room-category{font-size:10px;font-weight:700;z-index:1}.status{margin-top:5px;font-size:8px;letter-spacing:.7px;font-weight:900;z-index:1;background:rgba(255,255,255,.76);padding:3px 6px;border-radius:12px}.room-hover{position:absolute;inset:0;background:rgba(36,25,17,.78);display:flex;align-items:center;justify-content:center;opacity:0;transition:.2s;z-index:5}.room-card:hover{transform:translateY(-2px)}.room-card:hover .room-hover{opacity:1}.add-btn,.view-btn{border:0;border-radius:6px;padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer}.add-btn{background:#f2d493;color:#3a2918}.view-btn{background:#fff;color:#8d2b25}.drawer-backdrop{position:fixed;inset:0;background:rgba(18,14,10,.58);display:none;justify-content:flex-end;z-index:50}.drawer-backdrop.open{display:flex}.drawer{height:100%;width:min(690px,100%);background:#fff;padding:22px 25px 30px;overflow:auto;box-shadow:-12px 0 35px rgba(0,0,0,.25);position:relative}.close{position:absolute;right:18px;top:12px;border:0;background:transparent;font-size:30px;cursor:pointer}.drawer h2{font-family:Georgia,serif;margin:0 0 7px;font-size:27px}.selected-room{display:inline-block;background:#f4ead8;padding:7px 11px;border-radius:20px;color:#76572f;font-weight:800;margin-bottom:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field label{display:block;font-size:11px;font-weight:800;margin:0 0 4px;color:#66523f}.span-2{grid-column:span 2}.input.file{padding:6px}.save-btn{width:100%;margin-top:15px;padding:12px;border:0;border-radius:8px;background:#6a4726;color:#fff;font-weight:900;letter-spacing:.7px;cursor:pointer}.mini-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:60}.mini-modal.open{display:flex}.mini-card{background:#fff;min-width:330px;max-width:480px;border-radius:12px;padding:24px;position:relative}.mini-card h3{font-family:Georgia,serif;font-size:22px;margin-top:0}@media(max-width:1100px){.room-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:700px){.hotel-header{height:62px;padding:7px 14px}.brand{font-size:19px}.sub{font-size:10px}.header-badge{display:none}.page-wrap{padding:8px}.topbar{align-items:stretch;flex-direction:column}.summary{gap:5px}.room-grid{grid-template-columns:repeat(3,1fr)}.room-card{height:110px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}}
/* Hotel room door visual */
.room-card{height:112px;border:3px solid #5b3a22;border-radius:5px;background:linear-gradient(90deg,#c8e9bd 0,#e5f6df 48%,#c5e6ba 100%);box-shadow:inset 0 0 0 4px rgba(255,255,255,.35),0 3px 8px rgba(60,40,24,.15)}
.room-card:before{content:"";position:absolute;inset:8px 15px 7px;border:3px solid rgba(91,58,34,.55);border-radius:3px;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.32),rgba(0,0,0,.04));box-shadow:inset 0 0 0 2px rgba(255,255,255,.22)}
.room-card:after{content:"";position:absolute;right:22px;top:57px;width:7px;height:7px;border-radius:50%;background:#b28a3f;border:1px solid #6b4a2d;box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.room-card.is-booked{background:linear-gradient(90deg,#d95f57 0,#ef8b83 48%,#d65b53 100%)}
.door-top{width:38px;height:15px;top:13px;background:#6b4728;border:2px solid #d3b06b;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.room-number{margin-top:13px;font-size:24px;color:#382416;text-shadow:0 1px rgba(255,255,255,.5)}
.room-category{font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:#513923}
.status{margin-top:4px}
.guest-hover-detail{width:94%;display:flex;flex-direction:column;gap:2px;align-items:center;color:#fff;text-align:center;font-size:9px;line-height:1.15}.guest-hover-detail b{font-size:11px;color:#ffe2a8;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-hover-detail span{display:block}.guest-hover-detail .view-btn{margin-top:3px;padding:4px 8px}.close{font-family:Arial,sans-serif;font-weight:800;font-size:22px;width:34px;height:34px;line-height:30px;border-radius:50%;background:#f4ead8;color:#5a3a20}.close:hover{background:#6a4726;color:#fff}
