*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}:root{--bg:#f6f7fb;--panel:#fff;--line:#dde3ea;--line-strong:#c7d0db;--text:#152033;--muted:#667085;--faint:#98a2b3;--primary:#d41d8b;--primary-dark:#93268f;--danger:#dc2626;--success:#16a34a;--radius:8px;--shadow:0 1px 2px #0f172a0f;--sidebar-width:236px}body{background:#f6f7fb;background:var(--bg);color:#152033;color:var(--text);font-family:Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.45}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-layout{display:flex;height:100vh;overflow:hidden}.app-main{flex:1 1;min-width:0}.app-main,.sidebar{display:flex;flex-direction:column}.sidebar{background:#111827;border-right:1px solid #243044;color:#d1d5db;flex-shrink:0;width:236px;width:var(--sidebar-width)}.sidebar-logo{align-items:center;border-bottom:1px solid #243044;display:flex;gap:11px;padding:18px}.sidebar-logo-mark{align-items:center;background:#2454d6;border-radius:8px;color:#fff;display:flex;height:38px;justify-content:center;width:38px}.sidebar-logo-name{color:#fff;font-size:17px;font-weight:800}.sidebar-logo-sub{color:#94a3b8;font-size:11px;margin-top:1px}.sidebar-nav{display:flex;flex-direction:column;gap:3px;padding:12px 10px}.sidebar-link{align-items:center;border-radius:7px;color:#b6c0d0;display:flex;gap:10px;min-height:40px;padding:0 11px;text-decoration:none}.sidebar-link:hover{background:#1f2937;color:#fff}.sidebar-link--active{background:#d41d8b;background:var(--primary);color:#fff}.sidebar-link small{background:#ffffff26;border-radius:5px;font-size:10px;margin-left:auto;padding:2px 6px}.sidebar-footer{border-top:1px solid #243044;color:#94a3b8;font-size:12px;margin-top:auto;padding:14px 18px}.top-header{align-items:center;background:#fff;background:var(--panel);border-bottom:1px solid #dde3ea;border-bottom:1px solid var(--line);display:flex;flex-shrink:0;justify-content:space-between;min-height:66px;padding:0 24px}.page-title{font-size:21px;font-weight:800}.page-date{color:#667085;color:var(--muted);font-size:12px;margin-top:2px}.header-right{display:flex;gap:18px}.header-stat{border-left:1px solid #dde3ea;border-left:1px solid var(--line);padding-left:18px}.header-stat-val{display:block;font-size:18px;font-weight:800}.header-stat-label{color:#667085;color:var(--muted);display:block;font-size:11px}.page{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow:auto;padding:22px 24px}.stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.panel,.stat-card,.table-panel{background:#fff;background:var(--panel);border:1px solid #dde3ea;border:1px solid var(--line);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 2px #0f172a0f;box-shadow:var(--shadow)}.stat-card{grid-gap:4px;display:grid;gap:4px;min-height:124px;padding:16px}.stat-card svg{color:#d41d8b;color:var(--primary)}.stat-card strong{font-size:24px}.stat-card span{font-weight:700}.stat-card small{color:#667085;color:var(--muted)}.dash-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:17px}.panel--flush{padding:0}.panel-header{font-weight:800;margin:-17px -17px 14px;padding:14px 17px}.panel-header,.panel-title-block{border-bottom:1px solid #dde3ea;border-bottom:1px solid var(--line)}.panel-title-block{padding:16px 18px}.panel-title-block h2{font-size:17px}.panel-title-block p{color:#667085;color:var(--muted);font-size:12px;margin-top:3px}.list-row{align-items:center;border-bottom:1px solid #dde3ea;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:10px 0}.list-row:last-child{border-bottom:0}.list-row strong{display:block}.data-table small,.list-row span{color:#667085;color:var(--muted);display:block;font-size:12px;margin-top:2px}.empty-cell,.empty-state{color:#98a2b3;color:var(--faint);padding:28px;text-align:center}.room-status-grid{grid-gap:9px;display:grid;gap:9px;grid-template-columns:repeat(5,minmax(0,1fr))}.room-status-box{background:#f8fafc;border:1px solid #dde3ea;border:1px solid var(--line);border-radius:7px;min-height:74px;padding:9px 8px;text-align:center}.room-status-box span{border-radius:999px;display:block;height:8px;margin:0 auto 6px;width:8px}.room-status-box strong{display:block;font-size:15px}.room-status-box small{color:#667085;color:var(--muted);font-size:11px}.is-occupied{background:#fff7ed;border-color:#fdba74}.status-badge{border:1px solid;border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;padding:4px 9px;white-space:nowrap}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.agent-input,.filter-select,.form-group input,.form-group select,.search-input{background:#fff;border:1px solid #c7d0db;border:1px solid var(--line-strong);border-radius:7px;color:#152033;color:var(--text);outline:none;padding:9px 11px}.search-input{flex:1 1;min-width:240px}.agent-input:focus,.filter-select:focus,.form-group input:focus,.form-group select:focus,.search-input:focus{border-color:#d41d8b;border-color:var(--primary);box-shadow:0 0 0 3px #2454d61f}.btn{align-items:center;border:0;border-radius:7px;display:inline-flex;font-weight:800;gap:7px;justify-content:center;min-height:38px;padding:0 14px;white-space:nowrap}.btn--primary{background:#d41d8b;background:var(--primary);color:#fff}.btn--primary:hover{background:#93268f;background:var(--primary-dark)}.btn--outline{background:#fff;border:1px solid #c7d0db;border:1px solid var(--line-strong);color:#152033;color:var(--text)}.table-panel{overflow:auto}.data-table{border-collapse:collapse;min-width:1120px;width:100%}.data-table th{background:#f1f5f9;color:#667085;color:var(--muted);font-size:11px;letter-spacing:.03em;padding:11px 13px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td,.data-table th{border-bottom:1px solid #dde3ea;border-bottom:1px solid var(--line)}.data-table td{padding:12px 13px;vertical-align:middle}.booking-id{color:#d41d8b;color:var(--primary);font-family:Consolas,monospace}.pkg-tag,.room-tag{border:1px solid #c7d0db;border:1px solid var(--line-strong);border-radius:6px;display:inline-flex;font-size:12px;font-weight:800;margin:2px 3px 2px 0;padding:3px 7px}.room-tag{background:#f8fafc}.status-select{border:1px solid #c7d0db;border:1px solid var(--line-strong);border-radius:6px;padding:6px 8px}.action-btns{display:flex;gap:6px}.icon-btn{align-items:center;background:#fff;border:1px solid #c7d0db;border:1px solid var(--line-strong);border-radius:7px;color:#152033;color:var(--text);display:inline-flex;height:32px;justify-content:center;min-width:32px;padding:0 8px}.icon-btn:hover{background:#f1f5f9}.icon-btn--danger:hover{background:#fef2f2;border-color:#dc2626;border-color:var(--danger);color:#dc2626;color:var(--danger)}.is-done{color:#16a34a;color:var(--success)}.text-success{color:#16a34a!important;color:var(--success)!important}.text-danger{color:#dc2626!important;color:var(--danger)!important}.modal-overlay{align-items:center;background:#0f172a7a;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:20}.modal-box{background:#fff;border-radius:10px;box-shadow:0 18px 50px #0f172a38;max-height:90vh;overflow:auto;padding:22px;width:min(760px,100%)}.booking-modal{width:min(820px,100%)}.modal-header{align-items:flex-start;border-bottom:1px solid #dde3ea;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;margin-bottom:18px;padding-bottom:14px}.modal-title{font-size:19px}.modal-booking-id{color:#d41d8b;color:var(--primary);font-family:Consolas,monospace;font-size:12px;margin-top:3px}.form-section{border-bottom:1px solid #dde3ea;border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:18px}.form-section:last-of-type{border-bottom:0}.form-section-title{color:#667085;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.04em;margin-bottom:11px;text-transform:uppercase}.form-row-2,.form-row-3{grid-gap:12px;display:grid;gap:12px}.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-gap-top{margin-top:13px}.form-group{grid-gap:5px;display:grid;gap:5px}.form-group span{color:#667085;color:var(--muted);font-size:12px;font-weight:800}.form-group em,.form-wide-error{color:#dc2626;color:var(--danger);font-size:12px;font-style:normal}.room-picker{display:flex;flex-wrap:wrap;gap:8px}.room-choice{grid-gap:1px;background:#f8fafc;border:1px solid #c7d0db;border:1px solid var(--line-strong);border-radius:7px;display:grid;gap:1px;min-width:74px;padding:8px}.room-choice span{color:#667085;color:var(--muted);font-size:11px}.room-choice.is-selected{border-width:2px}.cost-summary{grid-gap:7px;background:#f8fafc;border:1px solid #dde3ea;border:1px solid var(--line);border-radius:7px;display:grid;gap:7px;margin-top:12px;padding:12px}.balance-row,.cost-summary div{align-items:center;display:flex;justify-content:space-between}.balance-row{background:#f8fafc;border:1px solid #dde3ea;border:1px solid var(--line);border-radius:7px;margin-top:12px;padding:11px 12px}.form-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:2px}.voucher-modal{width:min(660px,100%)}.voucher{border:1px solid #c7d0db;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden}.voucher-header{background:#111827;color:#fff;padding:18px;text-align:center}.voucher-hotel{font-size:20px;font-weight:900}.voucher-title{color:#cbd5e1;font-size:11px;letter-spacing:.1em;margin-top:4px;text-transform:uppercase}.voucher-id{color:#93c5fd;font-family:Consolas,monospace;margin-top:7px}.voucher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.voucher section{border-bottom:1px solid #dde3ea;border-bottom:1px solid var(--line);padding:14px 16px}.voucher-grid section:first-child{border-right:1px solid #dde3ea;border-right:1px solid var(--line)}.voucher h3{color:#d41d8b;color:var(--primary);font-size:11px;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.voucher p{display:flex;gap:12px;justify-content:space-between;padding:4px 0}.voucher p span{color:#667085;color:var(--muted)}.voucher-notes{background:#fffbeb;color:#92400e;padding:12px 16px}.voucher-footer{background:#f8fafc;color:#667085;color:var(--muted);font-size:12px;padding:12px 16px;text-align:center}.room-chart-wrap{padding:16px}.room-chart-scroll{overflow:auto}.room-chart-table{border-collapse:collapse;min-width:860px;width:100%}.room-chart-table td,.room-chart-table th{border:1px solid #dde3ea;border:1px solid var(--line);text-align:center}.room-chart-table th{background:#f1f5f9;color:#667085;color:var(--muted);font-size:11px;min-width:54px;padding:8px 6px}.room-chart-table th span,.room-chart-table th strong{display:block}.room-chart-table td{background:#fff;padding:4px}.room-chart-table .room-col{background:#f8fafc;min-width:105px;text-align:left}.room-chart-table td.room-col,.room-chart-table th.room-col{padding-left:12px}.room-chart-table .room-col span,.room-chart-table .room-col strong{display:block}.room-chart-table .room-col span{color:#667085;color:var(--muted);font-size:11px}.room-chart-table .is-today{background:#eaf1ff;color:#d41d8b;color:var(--primary)}.chart-cell{border:1px solid;border-radius:5px;font-family:Consolas,monospace;font-size:11px;font-weight:800;min-height:28px;width:100%}.chart-empty{display:block;min-height:28px}.chart-legend{color:#667085;color:var(--muted);display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}.chart-legend span{align-items:center;display:inline-flex;gap:6px}.chart-legend i{border:1px solid;border-radius:4px;display:inline-block;height:14px;width:14px}.chart-legend .available{background:#fff;border-color:#c7d0db;border-color:var(--line-strong)}.agent-card{display:flex;height:calc(100vh - 112px);padding:0}.agent-wrap{display:flex;flex:1 1;flex-direction:column;min-height:0}.agent-header{border-bottom:1px solid #dde3ea;border-bottom:1px solid var(--line);gap:12px;padding:14px 16px}.agent-avatar,.agent-header{align-items:center;display:flex}.agent-avatar{background:#d41d8b;background:var(--primary);border-radius:8px;color:#fff;height:38px;justify-content:center;width:38px}.agent-header span{color:#667085;color:var(--muted);display:block;font-size:12px;margin-top:1px}.agent-quick-btns{display:flex;flex-wrap:wrap;gap:7px;margin-left:auto}.quick-btn{background:#fff;border:1px solid #c7d0db;border:1px solid var(--line-strong);border-radius:999px;color:#667085;color:var(--muted);padding:6px 10px}.agent-chat{flex:1 1;flex-direction:column;gap:10px;overflow:auto;padding:16px}.agent-chat,.bubble-wrap{display:flex}.bubble-wrap--user{justify-content:flex-end}.bubble{border-radius:10px;max-width:min(720px,78%);padding:10px 12px}.bubble--ai{background:#f1f5f9}.bubble--user{background:#d41d8b;background:var(--primary);color:#fff}.agent-input-row{border-top:1px solid #dde3ea;border-top:1px solid var(--line);display:flex;gap:10px;padding:14px 16px}.agent-input{flex:1 1}@media (max-width:900px){.app-layout{flex-direction:column}.sidebar{width:100%}.sidebar-footer,.sidebar-logo{display:none}.sidebar-nav{flex-direction:row;overflow-x:auto}.dash-grid,.form-row-2,.form-row-3,.stats-grid,.voucher-grid{grid-template-columns:1fr}.top-header{align-items:flex-start;flex-direction:column;gap:10px;padding:14px 18px}.header-right{width:100%}.page{padding:16px}}@media print{.form-actions,.modal-header,.sidebar,.top-header{display:none}.modal-overlay{background:#fff;display:block;padding:0;position:static}.modal-box{box-shadow:none;max-height:none;width:100%}}
/*# sourceMappingURL=main.e141e70b.css.map*/