*{box-sizing:border-box}html,body,#root{color:#1c1c1c;background:#f4f5f7;height:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.ops-app{flex-direction:column;height:100vh;display:flex}.sound-gate{color:#fff;z-index:1000;background:#141414d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sound-gate-btn{color:#fff;cursor:pointer;background:#128c7e;border:none;border-radius:10px;padding:18px 36px;font-size:18px}.ops-header{color:#fff;background:#075e54;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.ops-header h1{margin:0;font-size:18px}.summary-row{gap:22px;display:flex}.summary-item{text-align:center}.summary-value{font-size:20px;font-weight:700}.summary-label{opacity:.8;text-transform:uppercase;font-size:11px}.reset-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff;border-radius:8px;padding:8px 16px;font-size:13px}.reset-btn:hover{background:#ffffff26}.ops-header-actions{align-items:center;gap:10px;display:flex}.bookings-open-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff;border-radius:8px;padding:8px 16px;font-size:13px}.bookings-open-btn:hover{background:#ffffff26}.ops-main{flex:1;grid-template-columns:1.8fr 1fr 1fr;gap:14px;padding:14px;display:grid;overflow:hidden}.ops-column{background:#fff;border-radius:10px;padding:12px;overflow-y:auto;box-shadow:0 1px 3px #00000014}.ops-column h2{text-transform:uppercase;color:#555;margin:0 0 10px;font-size:14px}.room-card{border:1px solid #e3e3e3;border-radius:8px;margin-bottom:10px;padding:10px 12px}.room-card-top{justify-content:space-between;align-items:baseline;display:flex}.room-card-number{font-size:15px;font-weight:700}.room-card-guest{color:#777;font-size:12px}.room-card-badge{color:#2e7d32;background:#e8f5e9;border-radius:10px;padding:2px 8px;font-size:11px}.room-card-badge.needs-attention{color:#e65100;background:#fff3e0}.room-card-message{color:#444;margin-top:6px;font-size:13px}.room-card-lang{color:#999;margin-top:4px;font-size:11px}.stay-badge{text-transform:uppercase;color:#777;background:#eee;border-radius:10px;margin-top:6px;padding:2px 8px;font-size:10px;display:inline-block}.stay-badge-in_stay{color:#2e7d32;background:#e8f5e9}.stay-badge-pre_arrival{color:#e65100;background:#fff3e0}.stay-badge-checked_out{color:#888;background:#eee}.stay-badge-no_show{color:#a32d2d;background:#fce4e4}.room-card-action{cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:8px;padding:7px;font-size:12px;display:block}.room-card-action.approve-btn,.approve-btn{color:#fff;background:#128c7e}.room-card-action.checkout-btn,.checkout-btn{color:#c62828;background:#fff;border:1px solid #c62828}.queue-columns{flex-direction:column;gap:14px;display:flex}.queue-status-group h3{color:#888;text-transform:uppercase;margin:0 0 6px;font-size:12px}.queue-item{border:1px solid #e3e3e3;border-radius:8px;margin-bottom:8px;padding:8px 10px;font-size:13px;position:relative}.queue-item.escalated{background:#fff5f5;border-color:#e53935}.queue-item-top{justify-content:space-between;font-weight:600;display:flex}.queue-item-detail{color:#555;margin-top:3px}.queue-item-actions{gap:6px;margin-top:6px;display:flex}.queue-action-btn{color:#075e54;cursor:pointer;background:#fff;border:1px solid #128c7e;border-radius:6px;padding:4px 10px;font-size:12px}.queue-empty{color:#aaa;font-size:13px}.feedback-stars-inline{color:#f5a623;letter-spacing:1px}.feedback-contact{color:#c62828;margin-top:4px;font-size:12px;font-weight:600}.feedback-handled{color:#2e7d32;margin-top:6px;font-size:12px;display:inline-block}.conversation-row{cursor:pointer;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:8px 6px;display:flex}.conversation-row:hover{background:#f7f7f7}.conversation-row.selected{background:#e8f5f3}.conversation-badge{color:#1565c0;background:#e3f2fd;border-radius:10px;padding:2px 8px;font-size:11px}.conversation-badge.attention{color:#c62828;background:#ffebee}.conversation-panel{border-top:1px solid #eee;margin-top:12px;padding-top:10px}.conversation-panel-messages{max-height:220px;margin-bottom:8px;overflow-y:auto}.conversation-msg{margin-bottom:6px;font-size:13px}.conversation-msg-sender{margin-right:4px;font-weight:600}.conversation-msg-body p{margin:0;display:inline}.conversation-msg-body ul,.conversation-msg-body ol{margin:4px 0;padding-left:18px}.conversation-reply-row{gap:6px;display:flex}.conversation-reply-input{border:1px solid #ccc;border-radius:6px;flex:1;padding:8px}.conversation-reply-btn,.resume-ai-btn{color:#fff;cursor:pointer;background:#075e54;border:none;border-radius:6px;padding:8px 12px;font-size:13px}.resume-ai-btn{background:#888;margin-top:6px}.toast-stack{z-index:900;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast-card{color:#fff;background:#1c1c1c;border-radius:8px;min-width:240px;padding:12px 16px;animation:.25s ease-out toast-in;box-shadow:0 4px 12px #00000040}@keyframes toast-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.modal-overlay{z-index:950;background:#14141473;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:12px;width:100%;max-width:640px;max-height:86vh;padding:18px 20px;overflow-y:auto;box-shadow:0 8px 24px #00000040}.modal-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.modal-header h2{color:#075e54;margin:0;font-size:16px}.modal-close-btn{cursor:pointer;color:#777;background:0 0;border:none;font-size:16px}.add-booking-toggle-btn{color:#075e54;cursor:pointer;background:#fff;border:1px solid #128c7e;border-radius:8px;margin-bottom:12px;padding:8px 14px;font-size:13px}.add-booking-form{background:#f7f7f7;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:14px;padding:12px;display:flex}.add-booking-form input,.add-booking-form select{border:1px solid #d0d0d0;border-radius:6px;padding:8px 10px;font-size:13px}.add-booking-row{gap:8px;display:flex}.add-booking-row input{flex:1}.add-booking-form button[type=submit]{color:#fff;cursor:pointer;background:#075e54;border:none;border-radius:6px;padding:9px}.add-booking-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.add-booking-hint{color:#c62828;font-size:12px}.bookings-list{flex-direction:column;gap:10px;display:flex}.booking-row{border:1px solid #e3e3e3;border-radius:8px;padding:10px 12px}.booking-row-top{align-items:center;gap:8px;font-size:14px;display:flex}.booking-row-meta{color:#777;margin-top:3px;font-size:12px}.booking-row-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.booking-row-actions button{color:#075e54;cursor:pointer;background:#fff;border:1px solid #128c7e;border-radius:6px;padding:5px 10px;font-size:12px}.booking-row-actions button:disabled{opacity:.5;cursor:not-allowed}.add-charge-form{gap:6px;margin-top:8px;display:flex}.add-charge-form input{border:1px solid #d0d0d0;border-radius:6px;padding:6px 8px;font-size:12px}.add-charge-form .charge-desc-input{flex:1}.add-charge-form .charge-amount-input{width:80px}.add-charge-form button{color:#fff;cursor:pointer;background:#075e54;border:none;border-radius:6px;padding:6px 12px;font-size:12px}.bill-summary{background:#f7f7f7;border-radius:6px;margin-top:8px;padding:8px 10px;font-size:12px}.bill-line{color:#444;justify-content:space-between;padding:2px 0;display:flex}.bill-total{color:#1c1c1c;border-top:1px solid #ddd;margin-top:4px;padding-top:4px;font-weight:700}.bill-gstin{color:#555;margin-top:4px;font-size:12px;font-style:italic}.booking-checkin-info{color:#444;margin:6px 0;font-size:13px}.checkin-id-line{margin-right:8px}.form-c-pill{color:#e65100;background:#fff3e0;border-radius:10px;padding:1px 8px;font-size:12px;display:inline-block}.form-c-pill-filed{color:#2e7d32;background:#e8f5e9}.coguest-list{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.coguest-chip{color:#335;background:#eef2f7;border-radius:8px;padding:1px 8px;font-size:12px}.form-c-details{color:#666;background:#faf6ef;border-radius:6px;margin-top:4px;padding:6px 8px;font-size:12px}.form-c-mark-filed-btn{color:#7a5b2e;cursor:pointer;background:#fff;border:1px solid #c8a97e;border-radius:6px;margin-top:6px;padding:3px 10px;font-size:12px;display:block}.form-c-mark-filed-btn:hover{background:#faf1e2}.form-c-mark-filed-btn:disabled{opacity:.5;cursor:default}.id-photo-link{color:#1565c0;align-items:center;gap:6px;margin-top:6px;font-size:12px;text-decoration:none;display:inline-flex}.id-photo-thumb{object-fit:cover;background:#f0f2f5;border:1px solid #cdd6e0;border-radius:6px;width:44px;height:44px}.gst-invoice-panel{background:#fdf7ea;border:1px solid #e0c48a;border-radius:8px;margin:10px 0 14px;padding:10px 12px}.gst-invoice-heading{color:#8a5a2b;margin-bottom:8px;font-size:13px;font-weight:600}.gst-invoice-row{border-top:1px solid #ecdcbb;margin-top:8px;padding-top:8px}.gst-invoice-row:first-of-type{border-top:none;margin-top:0;padding-top:0}.gst-invoice-meta{color:#444;flex-direction:column;font-size:13px;display:flex}.gst-invoice-meta span{color:#777;font-size:12px}.gst-invoice-bill{white-space:pre-wrap;color:#333;background:#fff;border:1px solid #eee1c5;border-radius:6px;margin:6px 0;padding:8px 10px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.booking-action-panel{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.booking-action-panel select,.booking-action-panel input{border:1px solid #ccc;border-radius:6px;flex:1;min-width:110px;padding:6px 8px;font-size:13px}.booking-action-panel button{color:#fff;cursor:pointer;background:#1565c0;border:none;border-radius:6px;padding:6px 12px}.noshow-btn{color:#a32d2d!important;background:#fce4e4!important}.delivery-result{background:#f7f7f7;border-radius:6px;margin-top:8px;padding:8px 10px}.delivery-message-text{white-space:pre-wrap;color:#333;margin:0;font-family:inherit;font-size:12px}.qr-code-display{flex-direction:column;align-items:center;gap:6px;display:flex}.qr-code-caption{color:#888;text-align:center;font-size:11px}.digest-tabs{gap:6px;margin-bottom:12px;display:flex}.digest-tab{color:#555;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:8px;padding:7px 14px;font-size:13px}.digest-tab.active{color:#fff;background:#075e54;border-color:#075e54}.digest-bucket h3{color:#888;text-transform:uppercase;margin:14px 0 6px;font-size:12px}.digest-bucket:first-child h3{margin-top:0}.digest-item{border-bottom:1px solid #f0f0f0;gap:8px;padding:6px 0;font-size:13px;display:flex}.delivery-row{border:1px solid #e3e3e3;border-radius:8px;margin-bottom:10px;padding:10px 12px}.delivery-row-top{justify-content:space-between;align-items:center;font-size:13px;display:flex}.delivery-channel-badge{color:#1565c0;text-transform:uppercase;background:#e3f2fd;border-radius:10px;padding:2px 8px;font-size:10px}.ops-user-badge{color:#444;white-space:nowrap;background:#eef1f5;border-radius:12px;padding:4px 10px;font-size:13px}.ops-login-error{color:#c62828;margin:4px 0 0;font-size:13px}.ops-user-badge-btn{cursor:pointer;font:inherit;border:none;font-size:13px}.change-password-modal{max-width:360px}.change-password-form{flex-direction:column;gap:10px;display:flex}.change-password-form input[type=password],.change-password-form input[type=text]{font:inherit;border:1px solid #ccd2da;border-radius:8px;padding:8px 10px}.change-password-show{color:#444;align-items:center;gap:6px;font-size:13px;display:flex}.login-password-wrap{display:inline-block;position:relative}.login-password-wrap input{padding-right:32px}.login-password-toggle{cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:15px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.team-selector{background:#fff;border:1px solid #ccd2da;border-radius:8px;padding:6px 10px;font-size:14px}.metrics-panel{flex-direction:column;gap:6px;display:flex}.queue-item-meta{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;display:flex}.queue-team-tag{text-transform:uppercase;letter-spacing:.04em;color:#555;background:#edf0f4;border-radius:10px;padding:2px 8px;font-size:11px}.sla-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.sla-ok{color:#1b5e20;background:#e8f5e9}.sla-breached{color:#b71c1c;background:#ffebee}.conversation-search{box-sizing:border-box;border:1px solid #ccd2da;border-radius:8px;width:100%;margin-bottom:8px;padding:8px 10px;font-size:14px}.conversation-guest-name{color:#555;font-size:12px}.conversation-context{border-bottom:1px solid #e3e7ec;margin-bottom:8px;padding-bottom:8px}.conversation-context-main{align-items:baseline;gap:8px;display:flex}.conversation-context-room{color:#666;font-size:12px}.conversation-context-meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.context-chip{color:#555;background:#eef1f5;border-radius:10px;padding:2px 8px;font-size:11px}.context-chip.attention{color:#b71c1c;background:#ffebee}.canned-replies-row{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.canned-reply-chip{cursor:pointer;background:#f7f9fb;border:1px solid #d3d9e0;border-radius:14px;padding:4px 10px;font-size:12px}.canned-reply-chip:hover{background:#eef3f8}.conversation-reply-input{resize:vertical;font-family:inherit}.rooms-board-header{justify-content:space-between;align-items:baseline;display:flex}.rooms-board-count{color:#888;font-size:12px}.rooms-board-search{border:1px solid #ccd2da;border-radius:8px;width:100%;margin-bottom:8px;padding:8px 10px;font-size:14px}.rooms-filter-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.rooms-filter-chip{color:#555;cursor:pointer;background:#f7f9fb;border:1px solid #d3d9e0;border-radius:14px;align-items:center;gap:5px;padding:4px 12px;font-size:12px;display:inline-flex}.rooms-filter-chip:hover{background:#eef3f8}.rooms-filter-chip.active{color:#fff;background:#075e54;border-color:#075e54}.rooms-filter-chip .chip-count{color:#c62828;text-align:center;background:#ffebee;border-radius:9px;min-width:16px;padding:1px 5px;font-size:10px;font-weight:700}.rooms-filter-chip.active .chip-count{color:#fff;background:#ffffff40}.attention-strip{background:#fff5f5;border:1px solid #f3cfc9;border-radius:8px;gap:8px;margin-bottom:10px;padding:8px;display:flex;overflow-x:auto}.attention-card{cursor:pointer;background:#fff;border:1px solid #eeccc4;border-radius:8px;flex-shrink:0;min-width:150px;max-width:190px;padding:8px 10px}.attention-card:hover{border-color:#e53935}.attention-card-room{font-size:13px;font-weight:700}.attention-card-guest{color:#777;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.attention-reason{text-transform:uppercase;border-radius:10px;margin-top:4px;padding:2px 8px;font-size:10px;display:inline-block}.attention-reason--waiting{color:#c62828;background:#ffebee}.attention-reason--approve{color:#2e7d32;background:#e8f5e9}.attention-approve-btn{color:#fff;cursor:pointer;background:#128c7e;border:none;border-radius:6px;width:100%;margin-top:6px;padding:4px 8px;font-size:12px;display:block}.floor-group{margin-bottom:10px}.floor-group-header{color:#555;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;text-align:left;background:#f2f4f6;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.floor-group-header:hover{background:#eaeef2}.floor-group-caret{color:#999}.room-tiles{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;margin-top:6px;display:grid}.room-tile{text-align:left;cursor:pointer;background:#fff;border:1px solid #d7dce2;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;min-height:62px;padding:6px;font-family:inherit;display:flex;position:relative}.room-tile--occupied{color:#0c4b43;background:#e6f2ef;border-color:#cfe3dd}.room-tile--vacant{color:#667;background:#fff;border-color:#d7dce2}.room-tile--checkin_pending{color:#8a5a2b;background:#fff3e0;border-color:#efd0a3}.room-tile--attention{border-color:#e53935;animation:1.6s ease-out infinite room-tile-pulse}@keyframes room-tile-pulse{0%{box-shadow:0 0 #e5393573}70%{box-shadow:0 0 0 5px #e5393500}to{box-shadow:0 0 #e5393500}}.room-tile--selected{outline-offset:1px;outline:2px solid #075e54}.room-tile-number{font-size:13px;font-weight:700}.room-tile-type{text-transform:uppercase;letter-spacing:.05em;opacity:.75;font-size:9px}.room-tile-hk{line-height:1;position:absolute;top:4px;right:4px}.room-tile-hk--dirty{background:#f5a623;border-radius:50%;width:8px;height:8px}.room-tile-hk--glyph{filter:grayscale();opacity:.8;font-size:10px}.room-tile-dnd{font-size:10px;position:absolute;bottom:4px;right:4px}.rooms-board-empty{color:#aaa;font-size:13px}.room-detail-drawer{z-index:800;background:#fff;width:360px;max-width:92vw;padding:16px 18px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-6px 0 24px #0000002e}.room-detail-header{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.room-detail-header .room-card-badge{margin-right:auto}.room-detail-close{color:#777;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px}.room-detail-close:hover{color:#1c1c1c}.room-detail-section{border-top:1px solid #eee;margin-top:14px;padding-top:10px}.room-detail-section h3{color:#888;text-transform:uppercase;margin:0 0 6px;font-size:12px}.hk-status-badge{text-transform:uppercase;color:#777;background:#eee;border-radius:10px;padding:2px 8px;font-size:11px;display:inline-block}.hk-status-badge--dirty{color:#e65100;background:#fff3e0}.hk-status-badge--clean{color:#2e7d32;background:#e8f5e9}.hk-status-badge--inspected{color:#1565c0;background:#e3f2fd}.hk-status-badge--ooo,.hk-status-badge--oos{color:#546e7a;background:#eceff1}.room-cleaned-line{color:#777;margin-top:4px;font-size:12px}.hk-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.hk-btn{color:#075e54;cursor:pointer;background:#fff;border:1px solid #128c7e;border-radius:6px;padding:4px 10px;font-size:12px}.hk-btn:hover{background:#eef7f5}.hk-btn--active{color:#fff;background:#075e54;border-color:#075e54}.dnd-row{color:#444;justify-content:space-between;align-items:center;font-size:13px;display:flex}.dnd-toggle-btn{color:#555;cursor:pointer;background:#f7f9fb;border:1px solid #d3d9e0;border-radius:14px;padding:4px 12px;font-size:12px}.dnd-toggle-btn--on{color:#fff;background:#075e54;border-color:#075e54}.room-detail-wifi{color:#666;margin-top:8px;font-size:12px}.hk-history summary{color:#555;cursor:pointer;font-size:12px}.hk-history-row{color:#555;border-bottom:1px solid #f0f0f0;padding:3px 0;font-size:12px}.hk-history-empty{color:#aaa;margin:6px 0 0;font-size:12px}.room-detail-meta{color:#888;margin-top:14px;font-size:12px}.hk-board{flex-direction:column;gap:14px;width:100%;max-width:640px;margin:0 auto;padding:14px;display:flex;overflow-y:auto}.hk-summary{color:#1c1c1c;text-align:center;background:#fff;border-radius:10px;padding:14px 16px;font-size:15px;font-weight:600;box-shadow:0 1px 3px #00000014}.hk-section h2{text-transform:uppercase;color:#555;margin:0 0 10px;font-size:14px}.hk-row{background:#fff;border:1px solid #e3e3e3;border-radius:10px;align-items:stretch;gap:12px;min-height:64px;margin-bottom:10px;padding:16px;display:flex;box-shadow:0 1px 3px #00000014}.hk-row-main{flex-direction:column;flex:1;justify-content:center;gap:6px;min-width:0;display:flex}.hk-room-line{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.hk-room-number{color:#1c1c1c;font-size:22px;font-weight:700}.hk-floor{color:#777;font-size:12px}.hk-type-tag{text-transform:uppercase;letter-spacing:.04em;color:#555;background:#eef1f5;border-radius:10px;padding:2px 8px;font-size:11px}.hk-clean-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#128c7e;border:none;border-radius:8px;flex-shrink:0;align-self:stretch;min-height:48px;padding:0 18px;font-size:15px;font-weight:600}.hk-clean-btn:active{background:#075e54}.hk-inspect-btn{color:#075e54;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #128c7e;border-radius:8px;flex-shrink:0;align-self:center;min-height:48px;padding:0 16px;font-size:14px;font-weight:600}.hk-inspect-btn:active{background:#e8f5f3}.hk-badge{border-radius:10px;align-self:flex-start;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.hk-badge-arrival{color:#e65100;background:#fff3e0}.hk-badge-dnd{color:#555;background:#eef1f5;padding:5px 12px;font-size:14px}.hk-badge-blocked{color:#888;background:#eee}.hk-row--dnd{background:#fafbfc}.hk-row--dnd .hk-clean-btn{opacity:.55}.hk-row--blocked{opacity:.7;background:#f0f0f0;border-color:#e0e0e0}.hk-row--done .hk-room-number{font-size:18px}.hk-cleaned-meta{color:#2e7d32;font-size:13px}.hk-inspected-tag{color:#1565c0;font-weight:600}.hk-empty{color:#aaa;padding:6px 0;font-size:13px}.hk-details summary{text-transform:uppercase;color:#555;cursor:pointer;-webkit-tap-highlight-color:transparent;margin-bottom:6px;padding:6px 0;font-size:14px;font-weight:600}.hk-tabs{background:#f4f5f7;gap:0;padding:8px 14px;display:flex}.hk-tab{color:#555;cursor:pointer;background:#fff;border:1px solid #ccd2da;flex:1;min-height:44px;padding:10px 12px;font-size:14px;font-weight:600}.hk-tab:first-child{border-radius:8px 0 0 8px}.hk-tab:last-child{border-left:none;border-radius:0 8px 8px 0}.hk-tab--active{color:#fff;background:#075e54;border-color:#075e54}@media (width<=768px){.ops-app{height:auto;min-height:100vh}.ops-header{flex-wrap:wrap;gap:10px;padding:10px 12px}.ops-header-actions{flex-wrap:wrap;gap:8px}.ops-main{padding:8px;display:block;overflow:visible}.ops-main>*{margin-bottom:10px}.ops-column{overflow-y:visible}.hk-board{gap:10px;padding:8px 0}.hk-tabs{z-index:100;padding:8px;position:sticky;top:0}.hk-tab{min-height:48px}}.handover-bar{color:#5c4a1a;background:#fff8e6;border-bottom:1px solid #f0e2bb;align-items:center;gap:10px;padding:6px 16px;font-size:13px;display:flex;position:relative}.handover-latest{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.handover-toggle{cursor:pointer;background:#fff;border:1px solid #d9c98f;border-radius:6px;padding:3px 10px;font-size:12px}.handover-popover{z-index:850;background:#fff;border:1px solid #e3e3e3;border-radius:10px;flex-direction:column;gap:8px;width:340px;max-height:46vh;padding:12px;display:flex;position:absolute;top:100%;right:12px;overflow-y:auto;box-shadow:0 8px 24px #00000024}.handover-popover textarea{width:100%;font:inherit;resize:vertical;border:1px solid #ddd;border-radius:8px;padding:8px}.handover-note{border-top:1px solid #f0f0f0;padding:6px 0}.handover-note-body{color:#1c1c1c;font-size:13px}.handover-note-meta{color:#888;margin-top:2px;font-size:11px}.sla-badge.sla-warn{color:#7a5d00;background:#fff3cd;border:1px solid #ffe08a}.settings-modal,.room-mgr-modal{width:92vw;max-width:640px}.settings-section-title{text-transform:uppercase;color:#666;margin:16px 0 8px;font-size:13px}.settings-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.settings-row label{color:#333;min-width:130px;font-size:13px}.settings-row input{width:110px;font:inherit;border:1px solid #ddd;border-radius:6px;padding:6px 8px}.settings-footer{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.settings-status{color:#2e7d32;font-size:13px}.room-mgr-error{color:#b3261e;background:#fdecea;border-radius:8px;margin-bottom:8px;padding:8px 10px;font-size:13px}.room-mgr-search{width:100%;font:inherit;border:1px solid #ddd;border-radius:8px;margin-bottom:8px;padding:8px 10px}.room-mgr-list{border:1px solid #eee;border-radius:8px;max-height:40vh;overflow-y:auto}.room-mgr-row{border-bottom:1px solid #f2f2f2;grid-template-columns:64px 92px 56px 1fr 1fr 84px 44px;align-items:center;gap:6px;padding:5px 8px;display:grid}.room-mgr-row input,.room-mgr-row select{border:1px solid #e0e0e0;border-radius:6px;min-width:0;padding:4px 6px;font-size:12px}.room-mgr-status{text-align:center;color:#555;background:#f0f0f0;border-radius:6px;padding:2px 4px;font-size:11px}.room-mgr-status-occupied{color:#1a56b4;background:#e8f0fe}.room-mgr-delete{cursor:pointer;background:0 0;border:none;font-size:14px}.room-mgr-delete:disabled{opacity:.35;cursor:not-allowed}.room-mgr-add,.room-mgr-bulk{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.room-mgr-add input,.room-mgr-add select,.room-mgr-bulk input,.room-mgr-bulk select{border:1px solid #ddd;border-radius:6px;width:130px;padding:6px 8px;font-size:13px}.room-mgr-bulk input[type=number]{width:64px}.room-mgr-bulk label{color:#333;font-size:13px}.room-mgr-hint{color:#888;margin-top:6px;font-size:12px}.room-mgr-progress{color:#2e7d32;font-size:12px}.room-type-tag{color:#3d4db7;background:#eef2ff;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600}.upgrade-toggle{color:#555;align-items:center;gap:6px;font-size:12px;display:flex}.change-room-panel{flex-direction:column;gap:8px;margin-top:8px;display:flex}.change-room-panel select,.change-room-panel input{font:inherit;border:1px solid #ddd;border-radius:6px;padding:6px 8px}.change-room-upgrades{color:#555;align-items:center;gap:6px;font-size:12px;display:flex}.packet-overlay{z-index:960;background:#282828d9;padding:24px 0 48px;position:fixed;inset:0;overflow-y:auto}.packet-toolbar{z-index:2;justify-content:center;gap:10px;padding:8px;display:flex;position:sticky;top:0}.checkin-packet{color:#111;background:#fff;border-radius:4px;width:794px;max-width:96vw;margin:12px auto 0;padding:40px 48px;font-size:13px;line-height:1.45}.packet-letterhead{text-align:center;border-bottom:2px solid #111;margin-bottom:16px;padding-bottom:12px}.packet-letterhead h1{margin:0;font-size:22px}.packet-letterhead h2{text-transform:uppercase;letter-spacing:1px;margin:10px 0 0;font-size:15px}.checkin-packet h3{text-transform:uppercase;border-bottom:1px solid #ccc;margin:16px 0 8px;padding-bottom:3px;font-size:13px}.packet-grid{grid-template-columns:1fr 1fr;gap:6px 20px;display:grid}.packet-span{grid-column:1/-1}.packet-table{border-collapse:collapse;width:100%}.packet-table th,.packet-table td{text-align:left;border:1px solid #bbb;padding:4px 8px;font-size:12px}.packet-id-photo{border:1px solid #999;max-width:340px;max-height:240px;display:block}.packet-declaration{color:#222;font-size:12px}.packet-signatures{justify-content:space-between;gap:40px;margin-top:28px;display:flex}.packet-signature-box{text-align:center;flex:1}.packet-signature-img{max-height:60px;margin:0 auto;display:block}.packet-signature-blank{height:60px}.packet-signature-label{border-top:1px solid #111;padding-top:4px;font-size:11px}.packet-footer{color:#666;text-align:center;border-top:1px solid #ccc;margin-top:24px;padding-top:8px;font-size:10px}@media print{body *{visibility:hidden}.checkin-packet,.checkin-packet *{visibility:visible}.packet-overlay{background:0 0;padding:0;position:static;overflow:visible}.packet-toolbar{display:none}.checkin-packet{border-radius:0;width:auto;max-width:none;margin:0;padding:0;position:absolute;inset:0}}.upsell-chips,.preference-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.upsell-chip{color:#1d6b2c;background:#f3fbf4;border:1px solid #bfe3c6;border-radius:8px;align-items:center;gap:8px;padding:3px 8px;font-size:12px;display:inline-flex}.upsell-chip button{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:6px;padding:3px 8px;font-size:11px}.upsell-billed{font-weight:600}.preference-chip{color:#6b5716;background:#fff8e6;border:1px solid #eadfb5;border-radius:8px;padding:3px 8px;font-size:12px}.recovery-panel{background:#fff;border:1px solid #f0d4d4;border-radius:10px;margin-bottom:12px;padding:10px 12px}.recovery-panel h3{text-transform:uppercase;color:#a33;margin:0 0 8px;font-size:13px}.recovery-case{border-top:1px solid #f5eaea;padding:8px 0}.recovery-case-top{justify-content:space-between;gap:8px;font-size:13px;display:flex}.recovery-case-status{text-transform:uppercase;color:#a33;font-size:11px}.recovery-case--approved .recovery-case-status{color:#1d6b2c}.recovery-case-meta{color:#888;margin:2px 0 6px;font-size:11px}.recovery-case-actions{align-items:center;gap:6px;display:flex}.recovery-case-actions input{border:1px solid #ddd;border-radius:6px;width:160px;padding:4px 8px;font-size:12px}.packet-upsells{margin:4px 0;padding-left:18px;font-size:12px}.import-arrivals-modal{max-width:720px}.import-hint{color:#666;margin:0 0 10px;font-size:13px}.import-rows{border:1px solid #eee;border-radius:8px;max-height:320px;margin:8px 0 12px;overflow:auto}.import-table{border-collapse:collapse;width:100%;font-size:13px}.import-table th,.import-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #f0f0f0;padding:6px 8px}.import-row-note{white-space:normal;color:#8a6d1a;font-size:12px}.import-badge{border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.import-badge-create{color:#2e7d32;background:#e8f5e9}.import-badge-update{color:#1565c0;background:#e3f2fd}.import-badge-skip{color:#666;background:#f5f5f5}.import-badge-error{color:#b3261e;background:#fdecea}
