@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#1d2530;background:#e9edf2;font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#15223814,#c9a24b14),#eef1f7;color:#111829}.auth-card{width:min(100%,420px);padding:38px 36px 32px;border:1px solid rgba(17,24,56,.1);border-radius:18px;background:#fffffff0;box-shadow:0 28px 70px #15223824,0 1px #ffffffe6 inset;animation:auth-rise .5s cubic-bezier(.16,1,.3,1) both}.auth-card-loading{text-align:center}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.auth-brand span,.auth-brand strong{display:block;line-height:1.1}.auth-brand span{font-size:19px;font-weight:800;color:#152238}.auth-brand strong{margin-top:5px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9c7a2c}.auth-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#152238;color:#f8f2df;font-weight:900;box-shadow:0 14px 30px #1522382e}.auth-copy{margin-bottom:24px}.auth-copy h1,.auth-card-loading h1{margin:0 0 8px;font-size:28px;line-height:1.12;color:#111829}.auth-copy p,.auth-card-loading p,.auth-foot{margin:0;color:#747d92;line-height:1.55}.auth-form{display:grid;gap:15px}.auth-field{display:grid;gap:7px}.auth-field>span{color:#3d4657;font-size:12px;font-weight:750}.auth-field>div{height:50px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid rgba(17,24,56,.12);border-radius:12px;background:#f7f8fb;color:#7d8598;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.auth-field>div:focus-within{border-color:#c9a24bb8;background:#fff;box-shadow:0 0 0 4px #c9a24b24}.auth-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#111829}.auth-field input::placeholder{color:#a0a7b8}.auth-eye{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#747d92}.auth-eye:hover{background:#1522380f;color:#152238}.auth-alert{border:1px solid rgba(208,79,82,.24);border-radius:10px;background:#d04f5214;color:#a7393c;padding:10px 12px;line-height:1.45}.auth-submit{height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:12px;background:#152238;color:#fff;font-weight:800;box-shadow:0 16px 34px #15223838;transition:transform .14s ease,background .18s ease,box-shadow .18s ease}.auth-submit:hover:not(:disabled){background:#1d2e47;transform:translateY(-1px);box-shadow:0 20px 40px #15223840}.auth-submit:disabled{cursor:wait;opacity:.72}.auth-foot{margin-top:20px;text-align:center;font-size:12px}@keyframes auth-rise{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:520px){.auth-shell{padding:18px}.auth-card{padding:30px 22px 26px;border-radius:16px}.auth-copy h1{font-size:24px}}.shell{display:grid;grid-template-columns:168px minmax(0,1fr);min-height:100vh}.sidebar{background:#f7f8fa;color:#2f3845;border-right:1px solid #d8dde5;display:flex;flex-direction:column;min-width:0}.brand{height:46px;display:flex;gap:8px;align-items:center;padding:0 10px;border-bottom:1px solid #d8dde5;background:#fff}.brand-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:#1265c6;color:#fff;font-weight:800}.brand strong,.brand span{display:block;line-height:1.15}.brand span{color:#6a7380;font-size:11px;margin-top:1px}.nav{display:grid;padding:8px 0;overflow-y:auto}.nav-item{min-height:31px;border:0;border-left:3px solid transparent;color:#2f3845;background:transparent;display:flex;align-items:center;gap:8px;padding:0 10px;text-align:left}.nav-item svg{color:#687386;flex:0 0 auto}.nav-item.active,.nav-item:hover{border-left-color:#0b7bd3;color:#0b56a6;background:#eaf4ff}.nav-item:disabled{cursor:not-allowed;opacity:.62}.nav-item:disabled:hover{border-left-color:transparent;color:#2f3845;background:transparent}.nav-item:disabled:hover svg{color:#687386}.nav-item.active svg,.nav-item:hover svg{color:#0b7bd3}.room-summary{margin-top:auto;border-top:1px solid #d8dde5;background:#fff;padding:8px 10px;display:grid;gap:5px}.summary-row{display:flex;justify-content:space-between;gap:8px;color:#596474;font-size:12px}.summary-row b{color:#1d2530}.workspace{min-width:0;display:flex;flex-direction:column}.app-header{height:46px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;background:#fff;border-bottom:1px solid #d8dde5}.global-search{width:min(560px,48vw);height:31px;border:1px solid #cfd6df;border-radius:4px;display:flex;align-items:center;gap:8px;padding:0 9px;color:#758195}.global-search input{width:100%;border:0;outline:0;color:#1d2530}.header-actions{display:flex;align-items:center;gap:8px}.property-select{height:31px;min-width:230px;border:1px solid #cfd6df;border-radius:4px;background:#fff;color:#1d2530;padding:0 8px}.header-icon{min-width:31px;height:31px;border:0;border-radius:4px;background:transparent;color:#687386;display:grid;place-items:center}.header-icon:hover{background:#edf2f7}.alert-dot{min-width:32px;color:#fff;background:#ef4444;font-size:11px;font-weight:700}.user-chip{width:29px;height:29px;border:0;border-radius:50%;display:grid;place-items:center;background:#8f99a7;color:#fff;font-weight:700;font-size:11px;padding:0}.user-chip:hover{filter:brightness(1.04)}.screen-panel{margin:10px 12px 14px;background:#fff;border:1px solid #d8dde5;min-height:calc(100vh - 70px);display:flex;flex-direction:column}.reservation-tabs{height:40px;display:flex;align-items:end;gap:4px;padding:0 10px;border-bottom:1px solid #d8dde5}.tab{height:33px;border:0;border-bottom:2px solid transparent;background:transparent;color:#6a7380;padding:0 10px;display:inline-flex;align-items:center;gap:5px;font-weight:600}.tab b{min-width:17px;height:17px;border-radius:999px;display:grid;place-items:center;background:#eef2f7;color:#596474;font-size:11px}.tab.active{color:#1769d2;border-bottom-color:#1769d2}.tab.danger{color:#df1d3f}.timeline-toolbar{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border-bottom:1px solid #d8dde5;background:#fbfcfd}.date-controls,.view-switch,.timeline-filters{display:flex;align-items:center;gap:6px}.date-controls button,.view-switch button,.timeline-filters button,.today-button,.icon-button{height:30px;border:1px solid #cfd6df;border-radius:4px;background:#fff;color:#2167d5;display:inline-flex;align-items:center;justify-content:center;padding:0 10px}.date-controls input{height:30px;border:1px solid #cfd6df;border-radius:4px;background:#fff;padding:0 8px}.view-switch button.active{color:#fff;background:#0b7bd3;border-color:#0b7bd3}.timeline-filters label{display:flex;align-items:center;gap:5px;color:#4b5563}.screen-meta{min-height:32px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid #e6eaf0;color:#596474;background:#fff}.screen-meta span{padding-right:10px;border-right:1px solid #d8dde5}.screen-meta span:last-child{border-right:0}.dashboard-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:12px;border-bottom:1px solid #d8dde5;background:#fbfcfd}.metric-card{min-height:92px;border:1px solid #d8dde5;border-radius:6px;background:#fff;padding:12px;display:grid;align-content:space-between;gap:6px}.metric-card span,.metric-card em{color:#687386;font-size:12px;font-style:normal}.metric-card strong{color:#1d2530;font-size:22px;line-height:1.1;overflow-wrap:anywhere}.dashboard-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;padding:12px}.ops-panel{border:1px solid #d8dde5;border-radius:6px;background:#fff;padding:12px}.ops-panel h2{margin:0 0 10px;font-size:15px}.ops-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ops-list div,.mini-report-row{border:1px solid #e1e6ee;border-radius:4px;background:#fbfcfd;padding:9px}.ops-list span,.mini-report-row span,.mini-report-row em{display:block;color:#687386;font-size:12px;font-style:normal}.ops-list strong,.mini-report-row strong{display:block;margin-top:3px;font-size:18px}.mini-report{display:grid;grid-template-columns:repeat(7,minmax(86px,1fr));gap:8px;overflow-x:auto}.list-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border-bottom:1px solid #d8dde5;background:#fff}.list-head h1{margin:0;font-size:20px;line-height:1.15}.list-head p{margin:4px 0 0;color:#687386}.primary-lite{height:32px;border:1px solid #0b7bd3;border-radius:4px;background:#fff;color:#0b7bd3;display:inline-flex;align-items:center;gap:7px;padding:0 10px}.booking-filters{display:grid;grid-template-columns:150px 150px 150px minmax(220px,1fr) auto;align-items:end;gap:10px;padding:10px 12px;border-bottom:1px solid #d8dde5;background:#fbfcfd}.booking-filters label{display:grid;gap:5px;color:#5b6678;font-size:12px}.booking-filters input,.booking-filters select,.room-setup-create input,.room-setup-create select,.user-create-panel input,.housekeeping-summary select,.table-input{height:31px;border:1px solid #cfd6df;border-radius:4px;background:#fff;color:#1d2530;padding:0 8px}.filter-submit{height:31px;border:1px solid #0b7bd3;border-radius:4px;background:#0b7bd3;color:#fff;display:inline-flex;align-items:center;gap:7px;padding:0 12px}.guest-filters{grid-template-columns:minmax(260px,1fr) 190px auto}.booking-table-wrap{overflow:auto;flex:1}.booking-table{width:100%;min-width:1080px;border-collapse:collapse}.booking-table th,.booking-table td{border-bottom:1px solid #e2e6ed;border-right:1px solid #edf0f5;padding:8px 10px;text-align:left;vertical-align:top}.booking-table th{position:sticky;top:0;z-index:2;background:#f4f6f9;color:#596474;font-size:12px;font-weight:700}.booking-table td strong,.booking-table td span{display:block}.booking-table td span{color:#687386;font-size:12px;margin-top:2px}.booking-table tbody tr:hover{background:#f8fbff}.guest-table{min-width:1040px}.housekeeping-table{min-width:920px}.room-setup-table{min-width:980px}.user-admin-table{min-width:1040px}.report-table{min-width:1120px}.room-setup-create,.user-create-panel{display:grid;grid-template-columns:minmax(150px,220px) minmax(180px,260px) 90px auto;align-items:end;gap:8px;padding:10px 12px;border-bottom:1px solid #d8dde5;background:#fbfcfd}.user-create-panel{grid-template-columns:minmax(190px,260px) minmax(180px,240px) minmax(170px,220px) 120px auto}.room-setup-create label,.user-create-panel label{display:grid;gap:5px;color:#5b6678;font-size:12px}.user-admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 12px;border-bottom:1px solid #d8dde5}.user-admin-summary div{min-height:64px;border:1px solid #d8dde5;border-radius:8px;background:#fff;padding:10px 12px}.user-admin-summary span,.table-check{color:#5b6678;font-size:12px}.user-admin-summary strong{display:block;margin-top:6px;font-size:22px}.check-row,.table-check{display:inline-flex;align-items:center;gap:7px}.table-check input,.check-row input{width:15px;height:15px;accent-color:#1265c6}.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.table-input{width:100%}.sort-input{max-width:82px}.housekeeping-summary{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border-bottom:1px solid #d8dde5;background:#fbfcfd}.housekeeping-summary button{min-height:30px;border:1px solid #cfd6df;border-radius:4px;background:#fff;color:#334155;display:inline-flex;align-items:center;gap:6px;padding:0 10px}.housekeeping-summary select{min-width:180px}.housekeeping-summary button.active{border-color:#0b7bd3;background:#eaf4ff;color:#0b56a6}.housekeeping-summary b{margin-left:4px}.housekeeping-actions{display:flex;flex-wrap:wrap;gap:6px}.housekeeping-actions button{min-height:28px;border:1px solid #cfd6df;border-radius:4px;background:#fff;color:#0b65c2;display:inline-flex;align-items:center;justify-content:center;padding:0 8px}.housekeeping-actions button:disabled{cursor:not-allowed;opacity:.52}.money-col{text-align:right!important;white-space:nowrap}.link-button{border:0;background:transparent;color:#0b65c2;padding:0;font-weight:700}.row-action{min-height:28px;border:1px solid #cfd6df;border-radius:4px;background:#fff;color:#0b65c2;padding:0 9px}.status-pill{width:fit-content;min-height:23px;border-radius:999px;padding:3px 8px;background:#eef2f7;color:#596474;font-weight:700;font-size:11px!important}.status-pill.draft,.status-pill.reserved{background:#eaf4ff;color:#0b65c2}.status-pill.checked_in{background:#e7f8f0;color:#147257}.status-pill.checked_out{background:#f1f3f6;color:#596474}.status-pill.cancelled,.status-pill.no_show{background:#fff1f1;color:#b42318}.status-pill.hk-clean,.status-pill.active{background:#e7f8f0;color:#147257}.status-pill.hk-dirty{background:#fff7e6;color:#9a5b00}.status-pill.hk-inspected{background:#eaf4ff;color:#0b65c2}.status-pill.hk-out_of_order,.status-pill.out_of_order,.status-pill.inactive{background:#fff1f1;color:#b42318}.empty-table{height:86px;text-align:center!important;color:#687386}.alert{margin:8px 10px;border:1px solid #f4b9b9;background:#fff1f1;color:#a12828;border-radius:4px;padding:8px 10px}.timeline{overflow:auto;background:#fff;flex:1}.timeline-header,.room-row,.room-type-row{display:grid;min-width:1260px}.timeline-header{position:sticky;top:0;z-index:3;background:#f4f6f9;border-bottom:1px solid #cfd6df}.corner,.day,.room-label,.cell{border-right:1px solid #e2e6ed;min-height:46px}.corner{display:flex;align-items:center;gap:7px;padding:0 10px;color:#4b5563;font-weight:700;background:#f8fafc;position:sticky;left:0;z-index:4;border-right:1px solid #cfd6df}.day{display:grid;place-items:center;padding:4px;background:#f8fafc}.day span{color:#758195;font-size:10px}.day strong{font-size:14px}.timeline-body{display:grid}.room-type-row{min-height:28px;border-bottom:1px solid #d8dde5;background:#f1f3f6;color:#1d2530;position:relative}.room-type-row strong{position:sticky;left:0;z-index:2;display:flex;align-items:center;padding:0 10px;background:#f1f3f6;border-right:1px solid #cfd6df;text-transform:uppercase;font-size:12px}.room-type-row span{grid-column:2 / -1;display:flex;align-items:center;padding-left:10px;color:#7b8492;font-size:11px}.room-row{min-height:48px;position:relative;border-bottom:1px solid #edf0f5}.room-label{padding:7px 10px;background:#fff;z-index:2;position:sticky;left:0;border-right:1px solid #cfd6df}.room-label strong,.room-label span,.room-label em{display:block}.room-label span{color:#667287;font-size:11px;margin-top:1px}.room-label em{color:#8a95a6;font-style:normal;font-size:10px;margin-top:1px}.room-block-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;border:1px solid #cfd6df;border-radius:999px;background:#fff;color:#4b5563;margin-top:4px;padding:0;line-height:1;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.room-block-action svg{flex:0 0 auto}.room-block-action:hover{border-color:#737f8f;background:#f1f3f6}.room-block-action:focus-visible{outline:2px solid rgba(14,165,233,.85);outline-offset:2px}.cell{border-top:0;border-bottom:0;border-left:0;padding:0;background:#fff}.cell:nth-child(7n),.cell:nth-child(7n+1){background:#f8fafc}.cell:hover{background:#eaf4ff}.stay-layer{pointer-events:none;position:absolute;left:180px;right:0;top:7px;display:grid;grid-template-columns:repeat(var(--timeline-days, 30),minmax(42px,1fr));padding:0}.block-layer{pointer-events:none;position:absolute;left:180px;right:0;top:10px;display:grid;grid-template-columns:repeat(var(--timeline-days, 30),minmax(42px,1fr));padding:0}.stay{pointer-events:auto;min-width:0;height:32px;border:0;border-radius:999px;background:#1e88e5;color:#fff;padding:3px 9px;display:grid;align-content:center;text-align:left;overflow:hidden;box-shadow:0 2px 6px #1e88e52e}.stay strong,.stay span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stay strong{font-size:11px}.stay span{font-size:10px;opacity:.92}.stay-inhouse{background:#15926a;box-shadow:0 2px 6px #15926a2e}.stay-out{background:#737f8f;box-shadow:none}.stay-draft{background:#111827}.stay[draggable=true]{cursor:grab}.stay[draggable=true]:active{cursor:grabbing}.block-bar{pointer-events:auto;min-width:0;height:28px;border:0;border-radius:999px;background:#6b7280;color:#fff;padding:3px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 2px 6px #6b72802e}.block-bar:hover{background:#4b5563}.unassigned{margin:10px}.unassigned h2{font-size:14px;margin:0 0 8px}.unassigned-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.unassigned-item{background:#fff;border:1px solid #e1e6ee;border-radius:4px;padding:9px;display:grid;gap:4px}.unassigned-item span,.unassigned-item em{color:#687386;font-style:normal;font-size:12px}.unassigned-item button{height:28px;border:1px solid #cfd6df;border-radius:4px;background:#fff;color:#1f6feb}.booking-drawer{position:fixed;top:0;right:0;z-index:20;width:min(460px,100vw);height:100vh;background:#fff;border-left:1px solid #cfd6df;box-shadow:-14px 0 34px #10182821;padding:16px;overflow-y:auto}.guest-drawer{width:min(500px,100vw)}.drawer-head{display:flex;align-items:start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #e1e6ee}.drawer-head span{color:#687386;font-size:12px}.drawer-head h2{margin:4px 0 0;font-size:20px}.drawer-head button,.modal-head button{width:32px;height:32px;border:1px solid #cfd6df;border-radius:4px;background:#fff;font-size:22px;line-height:1}.drawer-loading{padding:16px 0;color:#687386}.guest-history{display:grid;gap:8px}.history-line{border:1px solid #e1e6ee;border-radius:4px;background:#fbfcfd;padding:9px;display:grid;gap:4px}.history-line span,.history-line em{color:#687386;font-size:12px;font-style:normal}.guest-note{margin:0;color:#3f4754;white-space:pre-wrap}.status-line{margin:12px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}.status-line b{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;background:#e8f6f0;color:#147257}.status-line span{color:#687386}.drawer-section{border-top:1px solid #e1e6ee;padding:13px 0}.drawer-section h3{margin:0 0 9px;font-size:14px;display:flex;align-items:center;gap:7px}.detail-grid,.folio-total{display:grid;grid-template-columns:122px minmax(0,1fr);gap:7px 10px}.detail-grid span,.folio-total span{color:#687386}.detail-grid strong,.folio-total strong{min-width:0;overflow-wrap:anywhere}.stay-lines{display:grid;gap:8px;margin-top:10px}.stay-line{border:1px solid #e1e6ee;border-radius:4px;padding:9px;display:grid;gap:4px}.stay-line-main{display:flex;align-items:start;justify-content:space-between;gap:10px}.stay-line-main strong{min-width:0;overflow-wrap:anywhere}.line-action{min-height:26px;border:1px solid #cfd6df;border-radius:4px;background:#fff;color:#1f6feb;display:inline-flex;align-items:center;gap:5px;padding:0 8px;flex:0 0 auto}.line-action:disabled{color:#8a95a6;cursor:not-allowed;background:#f7f9fb}.stay-line span,.stay-line em,.muted{color:#687386;font-style:normal}.payment-list{display:grid;gap:8px;margin-top:10px}.payment-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e6ee;border-radius:4px;padding:9px}.payment-line span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-line strong{flex:0 0 auto}.service-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.folio-subhead{margin:12px 0 7px;display:flex;align-items:center;justify-content:space-between;gap:10px}.folio-subhead strong{color:#1d2530;font-size:13px}.danger-line{border-color:#fecaca!important;color:#b42318!important}.payment-line.refund strong{color:#b42318}.drawer-actions{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:12px;background:#fff}.drawer-actions button{min-height:36px;border:1px solid #cfd6df;border-radius:4px;background:#f7f9fb;color:#596474}.drawer-actions .danger-action{border-color:#fecaca;background:#fff7f7;color:#b42318}.drawer-actions button:disabled{cursor:not-allowed;opacity:.56}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px;background:#11182757}.booking-modal{width:min(720px,100%);max-height:min(760px,92vh);overflow:auto;background:#fff;border-radius:4px;box-shadow:0 24px 64px #1018283d;padding:16px}.modal-head{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e1e6ee;padding-bottom:12px;margin-bottom:12px}.modal-head span{color:#687386;font-size:12px}.modal-head h2{margin:4px 0 0;font-size:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid label{display:grid;gap:5px;color:#5b6678;font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:36px;border:1px solid #cfd6df;border-radius:4px;background:#fff;color:#18202f;padding:7px 9px}.form-grid textarea{resize:vertical}.form-grid .wide{grid-column:1 / -1}.modal-actions{display:flex;justify-content:end;gap:8px;padding-top:12px;margin-top:12px;border-top:1px solid #e1e6ee}.modal-actions button{min-height:36px;border:1px solid #cfd6df;border-radius:4px;background:#fff;padding:0 14px}.modal-actions .primary{border-color:#0b7bd3;background:#0b7bd3;color:#fff;display:inline-flex;align-items:center;gap:8px}.modal-actions .danger-primary{border-color:#dc2626;background:#dc2626;color:#fff;display:inline-flex;align-items:center;gap:8px}.modal-actions button:disabled{cursor:wait;opacity:.65}.status-confirm{border:1px solid #cfe2ff;background:#f2f7ff;color:#1d4f91;border-radius:4px;padding:10px;display:grid;gap:4px;margin-bottom:12px}.status-confirm.danger{border-color:#fecaca;background:#fff7f7;color:#9f1d1d}.status-confirm strong,.status-confirm span{display:block}.payment-modal{width:min(560px,100%)}.folio-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.folio-preview div{border:1px solid #e1e6ee;border-radius:4px;padding:9px}.folio-preview span,.folio-preview strong{display:block}.folio-preview span{color:#687386;font-size:12px}.folio-preview strong{margin-top:4px}@media(max-width:980px){.shell{display:block}.sidebar{position:sticky;top:0;z-index:30;display:block;border-right:0;border-bottom:1px solid #d8dde5}.brand{height:42px}.nav{display:flex;gap:4px;overflow-x:auto;padding:6px}.nav-item{flex:0 0 auto;min-height:34px;border-left:0;border-bottom:3px solid transparent;border-radius:4px 4px 0 0;background:#fff;padding:0 9px}.nav-item.active,.nav-item:hover{border-left-color:transparent;border-bottom-color:#0b7bd3}.nav-item:disabled{display:none}.room-summary{display:none}.app-header,.timeline-toolbar,.list-head{align-items:stretch;flex-direction:column;height:auto}.global-search{width:100%}.header-actions,.date-controls,.timeline-filters{flex-wrap:wrap}.booking-filters,.dashboard-grid,.dashboard-split{grid-template-columns:1fr}.mini-report{grid-template-columns:repeat(7,minmax(96px,1fr))}.room-setup-create,.user-create-panel,.guest-filters,.form-grid,.folio-preview{grid-template-columns:1fr}.user-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-drawer{width:100vw}.booking-modal{max-height:94vh;overflow:auto}}@media(max-width:640px){:root{font-size:12px}.workspace{min-width:0}.app-header{padding:8px}.property-select,.header-actions,.header-actions select{width:100%}.timeline-header,.room-row,.room-type-row{min-width:980px}.booking-table{min-width:860px}.modal-actions{display:grid;grid-template-columns:1fr}}:root{--ink: #162033;--ink-soft: #526174;--muted: #718096;--line: #d8e0ea;--line-soft: #e8edf3;--surface: #ffffff;--surface-soft: #f6f9fc;--surface-warm: #fff9ed;--navy: #14213d;--navy-2: #1e3a5f;--blue: #2563eb;--teal: #0f766e;--gold: #b7791f;--rose: #be123c;--danger: #dc2626;--shadow-sm: 0 1px 2px rgba(20, 33, 61, .08);--shadow-md: 0 12px 32px rgba(20, 33, 61, .12);--shadow-lg: 0 24px 70px rgba(20, 33, 61, .22);color:var(--ink);background:#edf3f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}body{background:linear-gradient(135deg,#ebf2f7f5,#fafcf9fa 46%,#fff8edeb);color:var(--ink)}button,input,select,textarea{letter-spacing:0;transition:background-color .16s ease,border-color .16s ease,box-shadow .18s ease,color .16s ease,opacity .16s ease,transform .18s ease}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:0 0 0 3px #2563eb2e;border-color:#2563ebb8}button:disabled{cursor:not-allowed}.shell{grid-template-columns:190px minmax(0,1fr);background:#eff5f9d1}.sidebar{background:linear-gradient(180deg,#111c33,#16294a 58%,#0f172a);color:#d9e2ef;border-right:0;box-shadow:8px 0 24px #0f172a1f}.brand{height:58px;padding:0 14px;background:transparent;border-bottom:1px solid rgba(226,232,240,.12)}.brand-mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--gold),#f2c46d);color:#14213d;box-shadow:0 8px 20px #b7791f47}.brand strong{color:#fff;font-size:14px}.brand span{color:#a8b5c8}.nav{gap:3px;padding:10px 8px}.nav-item{min-height:36px;border-left:3px solid transparent;border-radius:8px;color:#cbd5e1;padding:0 10px}.nav-item svg{color:#93a4bc}.nav-item.active,.nav-item:hover{border-left-color:var(--gold);color:#fff;background:#ffffff1a}.nav-item:hover:not(:disabled){transform:translate(2px)}.nav-item:disabled{color:#cbd5e17a}.nav-item:disabled:hover{border-left-color:transparent;color:#cbd5e17a;background:transparent}.nav-item:disabled:hover svg{color:#93a4bc94}.room-summary{margin:auto 8px 10px;border:1px solid rgba(226,232,240,.12);border-radius:8px;background:#ffffff0f}.summary-row{color:#a8b5c8}.summary-row b{color:#fff}.workspace{background:transparent}.app-header{position:sticky;top:0;z-index:15;height:58px;padding:0 16px;background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(216,224,234,.82);box-shadow:0 1px #fffc}.global-search{height:38px;border-color:var(--line);border-radius:8px;background:var(--surface-soft);color:var(--muted);box-shadow:inset 0 1px #ffffffd1}.global-search:focus-within{background:#fff;border-color:#2563ebb3;box-shadow:0 0 0 3px #2563eb1f}.global-search input{background:transparent}.header-actions{gap:10px}.sync-chip{height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid rgba(15,118,110,.18);border-radius:999px;background:#ecfdf5;color:#0f766e;font-weight:700;font-size:12px}.sync-chip span{width:7px;height:7px;border-radius:999px;background:#14b8a6;box-shadow:0 0 0 3px #14b8a629}.property-select{height:38px;min-width:250px;border-color:var(--line);border-radius:8px;background:#fff}.header-icon{min-width:38px;height:38px;border-radius:8px;color:var(--ink-soft)}.header-icon:hover{background:#edf5ff;color:var(--blue);transform:translateY(-1px)}.alert-dot{background:var(--rose);box-shadow:0 8px 20px #be123c33}.alert-dot:hover{background:#e11d48;color:#fff}.user-chip{width:34px;height:34px;background:linear-gradient(135deg,var(--navy),var(--gold));box-shadow:0 8px 20px #14213d33}.screen-panel{margin:14px 16px 18px;min-height:calc(100vh - 90px);overflow:hidden;border:1px solid rgba(216,224,234,.92);border-radius:8px;background:#fffffff5;box-shadow:var(--shadow-md);animation:panelIn .26s ease both}.list-head{min-height:72px;padding:12px 16px;background:linear-gradient(180deg,#fff,#f8fbfd);border-bottom-color:var(--line)}.list-head h1{color:var(--ink);font-size:21px;letter-spacing:0}.list-head p{color:var(--muted)}.primary-lite,.filter-submit,.today-button,.icon-button,.date-controls button,.view-switch button,.timeline-filters button,.row-action,.line-action,.housekeeping-actions button,.modal-actions button,.drawer-actions button,.unassigned-item button{border-radius:8px}.primary-lite,.filter-submit,.modal-actions .primary{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 8px 18px #2563eb29}.primary-lite:hover:not(:disabled),.filter-submit:hover:not(:disabled),.modal-actions .primary:hover:not(:disabled),.date-controls button:hover:not(:disabled),.view-switch button:hover:not(:disabled),.timeline-filters button:hover:not(:disabled),.row-action:hover:not(:disabled),.line-action:hover:not(:disabled),.modal-actions button:hover:not(:disabled),.drawer-actions button:hover:not(:disabled){transform:translateY(-1px)}.date-controls button,.view-switch button,.timeline-filters button,.today-button,.icon-button{height:34px;border-color:var(--line);color:var(--navy-2)}.date-controls input,.booking-filters input,.booking-filters select,.room-setup-create input,.room-setup-create select,.user-create-panel input,.housekeeping-summary select,.table-input{border-color:var(--line);border-radius:8px}.timeline-toolbar{min-height:54px;padding:9px 14px;background:#f7fafc;border-bottom-color:var(--line)}.view-switch{padding:3px;border:1px solid var(--line);border-radius:8px;background:#fff}.view-switch button{border-color:transparent;background:transparent;color:var(--ink-soft)}.view-switch button.active{color:#fff;background:var(--navy-2);border-color:var(--navy-2);box-shadow:0 8px 16px #1e3a5f29}.timeline-filters label{color:var(--ink-soft)}.screen-meta{min-height:36px;padding:0 14px;color:var(--ink-soft);background:#fff;border-bottom-color:var(--line-soft)}.screen-meta span{border-right-color:var(--line)}.reservation-tabs{height:48px;padding:0 12px;background:linear-gradient(180deg,#fff,#f7fafc);border-bottom-color:var(--line)}.tab{height:40px;border-radius:8px 8px 0 0;color:var(--ink-soft)}.tab:hover{background:#eef5ff;color:var(--blue)}.tab.active{color:var(--navy-2);border-bottom-color:var(--gold)}.tab.danger{color:var(--rose)}.tab b{background:#edf2f7;color:var(--ink-soft)}.dashboard-grid{grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;padding:14px;background:linear-gradient(180deg,#fbfdff,#f6f9fc);border-bottom-color:var(--line)}.metric-card{position:relative;min-height:116px;overflow:hidden;border-color:var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.metric-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--navy-2),var(--teal),var(--gold))}.metric-card:hover{transform:translateY(-2px);border-color:#2563eb52;box-shadow:0 14px 30px #14213d1f}.metric-card span,.metric-card em{color:var(--muted)}.metric-card strong{color:var(--ink);font-size:21px}.metric-meter,.occ-track{width:100%;height:7px;overflow:hidden;border-radius:999px;background:#e8eef5}.metric-meter span,.occ-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),#38bdf8)}.dashboard-split{gap:14px;padding:14px;background:#fff}.ops-panel{border-color:var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:var(--shadow-sm)}.ops-panel h2{color:var(--ink)}.ops-list div,.mini-report-row,.unassigned-item,.history-line,.stay-line,.payment-line,.folio-preview div{border-color:var(--line-soft);border-radius:8px;background:#fbfdff}.ops-list div:hover,.mini-report-row:hover,.unassigned-item:hover{border-color:#0f766e3d;box-shadow:var(--shadow-sm)}.ops-list strong,.mini-report-row strong{color:var(--ink)}.mini-report-row{min-width:0;display:grid;gap:6px}.mini-report{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:hidden}.command-grid .metric-card{text-align:left}.metric-card-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit}.metric-card span{display:flex;align-items:center;gap:7px;min-width:0}.metric-card span svg{flex:0 0 auto;color:var(--blue)}.dashboard-layout{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(0,1.4fr);gap:14px;padding:14px;background:#fff}.ops-panel-main{grid-row:span 2}.ops-panel-wide{min-width:0}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title h2,.task-board-head h3{margin:0;color:var(--ink);letter-spacing:0}.panel-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.panel-action{min-height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);display:inline-flex;align-items:center;gap:7px;padding:0 10px;font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.panel-action:hover{border-color:#2563eb47;background:#f1f7ff;transform:translateY(-1px)}.ops-list-command{grid-template-columns:repeat(4,minmax(0,1fr))}.ops-list-command button{min-width:0;border:1px solid #e1e6ee;border-radius:8px;background:#fbfdff;color:var(--ink);padding:10px;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.ops-list-command button:hover{border-color:#0f766e3d;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.ops-list-command span,.ops-list-command em{display:block;color:var(--muted);font-size:12px;font-style:normal}.ops-list-command strong{display:block;margin:4px 0 2px;font-size:21px}.task-board{margin-top:12px;display:grid;gap:8px}.task-board-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-board-head h3{font-size:14px}.task-board-head span{color:var(--muted);font-size:12px;font-weight:700}.task-row,.alert-card{width:100%;min-width:0;border:1px solid var(--line);border-left-width:4px;border-radius:8px;background:#fff;color:var(--ink);padding:9px 10px;text-align:left;cursor:pointer;display:grid;gap:3px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.task-row:hover,.alert-card:hover{border-color:#2563eb47;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.task-row span,.task-row em,.alert-card span,.alert-card em,.empty-ops{color:var(--muted);font-size:12px;font-style:normal}.task-row strong,.alert-card strong{min-width:0;overflow:hidden;color:var(--ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.task-arrival{border-left-color:var(--blue)}.task-departure{border-left-color:var(--teal)}.task-warning,.alert-warning{border-left-color:var(--gold)}.alert-danger{border-left-color:#dc2626}.alert-info{border-left-color:var(--blue)}.ai-panel{position:relative;overflow:hidden;border-color:#2563eb2e;background:linear-gradient(135deg,#eff6ffe6,#fffffff5 54%,#f0fdfad6)}.ai-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(110deg,transparent 0%,rgba(37,99,235,.08) 44%,rgba(15,118,110,.08) 52%,transparent 100%);opacity:.7;transform:translate(-72%);animation:ai-panel-sweep 5.5s ease-in-out infinite}.ai-panel>*{position:relative;z-index:1}.ai-score{width:74px;min-height:58px;border:1px solid var(--line);border-radius:8px;background:#ffffffdb;display:grid;place-items:center;gap:2px;box-shadow:var(--shadow-sm)}.ai-score span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.ai-score strong{color:var(--ink);font-size:25px;line-height:1}.ai-score.risk-high{border-color:#dc262638;background:#fff1f2}.ai-score.risk-mid{border-color:#d977063d;background:#fffbeb}.ai-score.risk-low{border-color:#0f766e33;background:#ecfdf5}.ai-brief-list{display:grid;gap:9px}.ai-brief-card{width:100%;min-width:0;border:1px solid var(--line);border-left-width:4px;border-radius:8px;background:#ffffffeb;color:var(--ink);display:grid;gap:4px;padding:10px 11px;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.ai-brief-card:hover{border-color:#2563eb47;background:#fff;box-shadow:0 12px 28px #14213d1a;transform:translateY(-2px)}.ai-brief-card span,.ai-brief-card em{color:var(--muted);font-size:12px;font-style:normal}.ai-brief-card span{font-weight:800;text-transform:uppercase}.ai-brief-card strong{color:var(--ink);font-size:13px;line-height:1.35}.ai-danger{border-left-color:#dc2626}.ai-warning{border-left-color:var(--gold)}.ai-info{border-left-color:var(--blue)}.ai-success{border-left-color:var(--teal)}@keyframes ai-panel-sweep{0%,42%{transform:translate(-78%)}68%,to{transform:translate(78%)}}.revenue-pulse{min-height:220px;display:grid;grid-template-columns:repeat(7,minmax(82px,1fr));gap:10px;align-items:end}.pulse-day{min-width:0;display:grid;gap:5px;color:var(--muted);font-size:11px}.pulse-bars{height:132px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#f8fbff,#eef5fb);display:flex;align-items:end;gap:4px;padding:7px}.pulse-bars span{flex:1;min-height:4px;border-radius:999px 999px 3px 3px;transition:height .22s ease}.pulse-occ{background:linear-gradient(180deg,#2563eb,#60a5fa)}.pulse-revenue{background:linear-gradient(180deg,#0f766e,#2dd4bf)}.pulse-day strong{color:var(--ink);font-size:13px}.pulse-day em{color:var(--navy-2);font-style:normal;font-weight:800}.alert-stack,.source-mix{display:grid;gap:9px}.source-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fbfdff;padding:10px}.source-row strong,.source-row span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-row strong{color:var(--ink)}.source-row span{color:var(--muted);font-size:12px}.source-row em{color:var(--navy-2);font-size:12px;font-style:normal;font-weight:800}.source-track{grid-column:1 / -1;height:7px;overflow:hidden;border-radius:999px;background:#edf2f7}.source-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--navy-2),var(--teal))}.empty-ops{border:1px dashed var(--line);border-radius:8px;background:#fbfdff;padding:12px}.booking-filters,.room-setup-create,.user-create-panel,.housekeeping-summary{background:#f7fafc;border-bottom-color:var(--line)}.booking-table th{background:#f1f6fb;color:var(--ink-soft);border-bottom-color:var(--line)}.booking-table td{border-bottom-color:var(--line-soft);border-right-color:#eef3f7}.booking-table tbody tr{transition:background-color .14s ease,box-shadow .14s ease}.booking-table tbody tr:hover{background:#f7fbff;box-shadow:inset 3px 0 #2563eb57}.occ-cell{min-width:96px;display:grid;gap:5px}.occ-cell strong{font-size:12px}.status-pill{box-shadow:inset 0 0 0 1px #ffffff8f}.status-pill.draft,.status-pill.reserved,.status-pill.hk-inspected{background:#e8f2ff;color:#1d4ed8}.status-pill.checked_in,.status-pill.hk-clean,.status-pill.active{background:#e6f8f2;color:#0f766e}.status-pill.checked_out{background:#eef2f7;color:var(--ink-soft)}.status-pill.cancelled,.status-pill.no_show,.status-pill.hk-out_of_order,.status-pill.out_of_order,.status-pill.inactive{background:#fff1f2;color:var(--rose)}.status-pill.hk-dirty{background:#fff7e6;color:#a16207}.status-pill.front_desk{background:#e8f2ff;color:#1d4ed8}.status-pill.housekeeping{background:#e6f8f2;color:#0f766e}.status-pill.room_setup{background:#f5f0ff;color:#6d28d9}.status-pill.room_block{background:#fff7e6;color:#a16207}.audit-table td{vertical-align:top}.audit-entity,.audit-request,.audit-json{max-width:260px;color:var(--ink-soft);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.audit-json{min-width:260px;color:var(--muted)}.finance-metrics{padding-bottom:10px}.finance-filters{border-top:1px solid var(--line)}.finance-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:14px;padding:14px;background:#fff}.cashflow-pulse{min-height:210px;display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:9px;align-items:end}.cashflow-day{min-width:0;display:grid;gap:5px;color:var(--muted);font-size:11px}.cashflow-bar{height:126px;border:1px solid var(--line);border-radius:8px;background:#f8fbfd;display:flex;align-items:end;padding:7px}.cashflow-bar span{width:100%;min-height:3px;border-radius:999px 999px 3px 3px;background:linear-gradient(180deg,var(--teal),#5eead4);transition:height .22s ease,background-color .18s ease}.cashflow-bar span.negative{background:linear-gradient(180deg,#ef4444,#fca5a5)}.cashflow-day strong{color:var(--ink);font-size:12px}.cashflow-day em{min-height:28px;color:var(--navy-2);font-size:11px;font-style:normal;font-weight:800;overflow-wrap:anywhere}.finance-table .link-button{font-weight:800}.finance-positive{color:#0f766e;font-weight:800}.finance-negative{color:#dc2626;font-weight:800}.status-pill.debt-overdue,.status-pill.payment-refund{background:#fff1f2;color:#dc2626}.status-pill.debt-due_today{background:#fff7e6;color:#a16207}.status-pill.debt-inhouse,.status-pill.payment-payment{background:#e6f8f2;color:#0f766e}.status-pill.debt-upcoming,.status-pill.payment-deposit{background:#e8f2ff;color:#1d4ed8}.status-pill.debt-paid{background:#eef2f7;color:var(--ink-soft)}.timeline{background:#fff}.timeline-header{background:#f5f8fb;border-bottom-color:var(--line);box-shadow:0 3px 14px #14213d0f}.corner,.day,.room-label,.cell{border-right-color:#e6ebf1}.corner{color:var(--navy-2);background:#f8fbfd}.day{position:relative;background:#f8fbfd}.day span{color:var(--muted)}.day strong{color:var(--ink)}.day.today{background:#fff7e6}.day.today:after{content:"";position:absolute;left:10px;right:10px;bottom:5px;height:2px;border-radius:999px;background:var(--gold)}.room-type-row{background:#eef4f8;border-bottom-color:var(--line)}.room-type-row strong{color:var(--navy-2);background:#eef4f8;border-right-color:var(--line);letter-spacing:0}.room-type-row span{color:var(--muted)}.room-row{min-height:54px;border-bottom-color:#edf2f6}.room-row:hover .room-label{background:#fbfdff}.room-label{padding:8px 10px;background:#fff;border-right-color:var(--line);box-shadow:4px 0 12px #14213d0a}.room-label strong{color:var(--ink)}.room-label span{color:var(--ink-soft)}.room-label em{width:fit-content;min-height:18px;display:inline-flex;align-items:center;margin-top:3px;padding:0 6px;border-radius:999px;background:#eef2f7;color:var(--ink-soft)}.hk-badge{width:fit-content;min-height:21px;border:1px solid currentColor;border-radius:999px;display:inline-flex!important;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;font-weight:850;line-height:1;white-space:nowrap}.hk-badge svg{flex:0 0 auto;stroke-width:2.45}.hk-badge.compact{min-height:20px;padding:1px 6px;font-size:10px}.hk-badge.hk-clean{border-color:#0f766e47;background:#e6f8f2;color:#0f766e}.hk-badge.hk-dirty{border-color:#d9770657;background:#fff3d4;color:#9a5b00}.hk-badge.hk-inspected{border-color:#2563eb42;background:#e8f2ff;color:#1d4ed8}.hk-badge.hk-out_of_order{border-color:#dc262647;background:#fff1f2;color:#dc2626}.room-label .hk-badge{margin-top:4px}.hk-badge-button{width:fit-content;margin-top:4px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.hk-badge-button .hk-badge{margin-top:0}.hk-badge-button:hover:not(:disabled) .hk-badge{filter:brightness(.98);box-shadow:0 3px 10px #9a5b0029}.hk-badge-button:focus-visible{outline:2px solid rgba(14,165,233,.85);outline-offset:2px;border-radius:999px}.hk-badge-button:disabled{cursor:wait;opacity:.72}.room-label.hk-room-clean{background:linear-gradient(90deg,#0f766e14,#fff 34%);box-shadow:inset 3px 0 #0f766e,4px 0 12px #14213d0a}.room-label.hk-room-dirty{background:linear-gradient(90deg,#f59e0b24,#fff 38%);box-shadow:inset 3px 0 #f59e0b,4px 0 12px #14213d0a}.room-label.hk-room-inspected{background:linear-gradient(90deg,#2563eb1a,#fff 34%);box-shadow:inset 3px 0 #2563eb,4px 0 12px #14213d0a}.room-label.hk-room-out_of_order{background:linear-gradient(90deg,#dc26261a,#fff 34%);box-shadow:inset 3px 0 #dc2626,4px 0 12px #14213d0a}.housekeeping-table .hk-row-clean td:first-child{box-shadow:inset 3px 0 #0f766eb3}.housekeeping-table .hk-row-dirty td:first-child{box-shadow:inset 3px 0 #f59e0bd1}.housekeeping-table .hk-row-inspected td:first-child{box-shadow:inset 3px 0 #2563ebb8}.housekeeping-table .hk-row-out_of_order td:first-child{box-shadow:inset 3px 0 #dc2626c2}.room-block-action{border-color:#b7791f57;border-radius:7px;background:#fff9ed;color:#8a570f}.room-block-action:hover{border-color:#b7791fb8;background:#fff3d6;transform:translateY(-1px)}.cell{background:#fff}.cell:nth-child(7n),.cell:nth-child(7n+1){background:#f9fbfd}.cell.today-cell{background:#fffaf0}.cell:hover,.cell.drop-ready:hover{background:#eaf6ff;box-shadow:inset 0 0 0 2px #2563eb2e}.cell.drop-ready{cursor:move}.cell.range-selected{background:#dff7fb;box-shadow:inset 0 0 0 2px #14b8a647}.cell.range-selected.today-cell{background:#dff7ef}.room-row.drag-target .room-label{background:#f8fbff;box-shadow:inset -3px 0 #2563eb6b}.cell.drop-preview-cell,.cell.drop-preview-cell.today-cell{background:linear-gradient(180deg,#dbeafeeb,#ccfbf180);box-shadow:inset 0 0 0 1px #2563eb33,inset 0 0 22px #2563eb29}.cell.drop-preview-start{box-shadow:inset 3px 0 #2563eb,inset 0 0 0 1px #2563eb3d,inset 0 0 22px #14b8a62e}.drop-preview-layer{pointer-events:none;position:absolute;left:180px;right:0;top:8px;display:grid;z-index:1;padding:0}.drop-preview-bar{position:relative;min-width:0;height:38px;border:1px solid rgba(37,99,235,.52);border-radius:8px;background:linear-gradient(90deg,#2563eb2e,#14b8a633),#eff6ffe6;color:#12306a;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;overflow:hidden;box-shadow:0 0 0 3px #2563eb1a,0 12px 24px #2563eb29;animation:dropPreviewIn .16s cubic-bezier(.2,.8,.2,1) both}.drop-preview-bar:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid rgba(20,184,166,.28);border-radius:11px;animation:dropPreviewPulse 1.1s ease-in-out infinite}.drop-preview-bar strong,.drop-preview-bar span{position:relative;z-index:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-preview-bar strong{font-size:12px;font-weight:800}.drop-preview-bar span{flex:0 0 auto;font-size:10px;font-weight:700;color:#2563eb}.stay-layer{left:180px;top:9px;z-index:2}.block-layer{left:180px;top:11px;z-index:3}.stay{height:34px;border-radius:8px;background:linear-gradient(135deg,#2563eb,#1e3a8a);box-shadow:0 8px 18px #2563eb33;animation:barIn .22s ease both}.stay:hover{transform:translateY(-2px);box-shadow:0 12px 24px #2563eb3d}.stay.dragging{opacity:.72;transform:scale(.98)}.stay-inhouse{background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:0 8px 18px #0f766e33}.stay-out{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 8px 18px #47556929}.stay-draft{background:linear-gradient(135deg,#172554,#1e40af);box-shadow:0 8px 18px #1e40af33}.block-bar{height:30px;border-radius:8px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 7px,transparent 7px 14px),#6b7280;box-shadow:0 8px 18px #4b55632e;animation:barIn .22s ease both}.block-bar:hover{background:repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 7px,transparent 7px 14px),#4b5563;transform:translateY(-2px)}.alert{border-color:#fecdd3;border-radius:8px;background:#fff1f2;color:#9f1239}.booking-drawer{background:#fff;border-left-color:var(--line);box-shadow:var(--shadow-lg);animation:drawerIn .24s ease both}.drawer-head,.modal-head,.drawer-section,.modal-actions{border-color:var(--line-soft)}.drawer-head h2,.modal-head h2,.drawer-section h3{color:var(--ink)}.drawer-head span,.modal-head span,.drawer-loading,.detail-grid span,.folio-total span,.stay-line span,.stay-line em,.muted{color:var(--muted)}.drawer-head button,.modal-head button{border-color:var(--line);border-radius:8px;color:var(--ink-soft)}.drawer-head button:hover,.modal-head button:hover{background:#f1f6fb;color:var(--ink)}.drawer-actions{background:linear-gradient(180deg,#ffffffdb,#fff 26%)}.drawer-actions button{min-height:38px;border-color:var(--line);background:#f8fafc;color:var(--ink-soft)}.drawer-actions button:not(:disabled):hover{border-color:#2563eb52;color:var(--blue)}.drawer-actions .danger-action{border-color:#fecdd3;background:#fff7f8;color:var(--rose)}.modal-backdrop{background:#0f172a6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .18s ease both}.booking-modal{border:1px solid rgba(255,255,255,.82);border-radius:8px;box-shadow:var(--shadow-lg);animation:modalIn .22s ease both}.form-grid input,.form-grid select,.form-grid textarea{border-color:var(--line);border-radius:8px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:0;border-color:#2563ebb8;box-shadow:0 0 0 3px #2563eb1f}.status-confirm{border-radius:8px}.is-loading svg,.primary-lite.is-loading svg,.icon-button.is-loading svg,.filter-submit.is-loading svg,.modal-actions button.is-loading svg{animation:spin .9s linear infinite}@keyframes panelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes drawerIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes barIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes dropPreviewIn{0%{opacity:0;transform:translateY(4px) scaleX(.98)}to{opacity:1;transform:translateY(0) scaleX(1)}}@keyframes dropPreviewPulse{0%,to{opacity:.3;transform:scale(.99)}50%{opacity:.72;transform:scale(1.01)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.dashboard-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.dashboard-layout{grid-template-columns:1fr}.ops-panel-main{grid-row:auto}}@media(max-width:980px){.shell{display:block}.sidebar{background:#13213d}.nav{padding:6px}.nav-item{border-left:0;border-bottom:3px solid transparent;background:#ffffff12}.nav-item.active,.nav-item:hover{border-left-color:transparent;border-bottom-color:var(--gold)}.screen-panel{margin:10px}.dashboard-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.finance-layout{grid-template-columns:1fr}.ops-list-command{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-report,.revenue-pulse{grid-template-columns:repeat(7,minmax(96px,1fr));overflow-x:auto}.cashflow-pulse{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto}.cashflow-day{min-width:72px}.pulse-day,.mini-report-row{min-width:96px}}@media(max-width:640px){:root{font-size:12px}.app-header{position:static}.sync-chip{width:fit-content}.dashboard-grid{grid-template-columns:1fr}.dashboard-layout,.finance-layout{padding:10px}.ops-list-command{grid-template-columns:1fr}.panel-title{display:grid}.property-select{min-width:0}.header-actions{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:6px}.property-select,.header-actions select{width:100%}.header-icon{min-width:34px;height:34px}.user-chip{width:32px;height:32px}}@media(max-width:460px){.sync-chip{width:34px;justify-content:center;padding:0;font-size:0}.sync-chip span{margin:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.network-indicator,.pwa-install{min-height:31px;border:1px solid var(--line);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;background:#fff;color:var(--ink-soft);font-size:11px;font-weight:750;white-space:nowrap}.network-indicator svg,.pwa-install svg{flex:0 0 auto}.network-indicator.online{border-color:#0f766e40;background:#f1fbf8;color:#0f766e}.network-indicator.offline{border-color:#d977064d;background:#fff8e8;color:#9a5b00}.pwa-install{border-color:#2563eb57;color:#1d4ed8}.pwa-install:hover{border-color:#2563ebb8;background:#eff6ff}.pwa-update-bar,.pwa-offline-bar{min-height:38px;display:flex;align-items:center;justify-content:center;gap:10px;padding:7px 14px;color:#fff;background:#173f86;font-size:12px;font-weight:700}.pwa-update-bar button{min-height:28px;border:1px solid rgba(255,255,255,.52);border-radius:6px;padding:0 9px;background:#fff;color:#173f86;font-weight:800}.pwa-offline-bar{color:#7a4a00;background:#fff1cb}.mobile-nav,.mobile-menu-backdrop,.mobile-menu-sheet{display:none}@media(max-width:640px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.shell{min-height:100dvh}.sidebar{display:none}.app-header{position:sticky;top:0;z-index:34;min-height:calc(56px + env(safe-area-inset-top));display:flex;align-items:flex-end;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;box-shadow:0 2px 12px #14213d14}.global-search,.header-actions .sync-chip,.header-actions .header-icon,.header-actions .user-chip{display:none}.header-actions{width:100%;display:flex;align-items:center;flex-wrap:nowrap;gap:8px}.property-select{min-width:0;width:auto;flex:1 1 0;height:40px;border-radius:8px;font-weight:750}.network-indicator,.pwa-install{width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.network-indicator span,.pwa-install span{display:none}.pwa-update-bar,.pwa-offline-bar{position:sticky;top:calc(56px + env(safe-area-inset-top));z-index:33;justify-content:space-between;padding:8px 12px;text-align:left}.pwa-offline-bar span{flex:1}.screen-panel{min-height:calc(100dvh - 56px);margin:0;border-right:0;border-left:0;border-bottom:0}.mobile-nav{position:fixed;z-index:50;right:0;bottom:0;left:0;min-height:calc(66px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;border-top:1px solid var(--line);padding:5px 6px calc(5px + env(safe-area-inset-bottom));background:#fffffff7;box-shadow:0 -8px 24px #14213d1a}.mobile-nav button{min-width:0;min-height:52px;border:0;border-radius:8px;display:grid;place-items:center;align-content:center;gap:2px;padding:4px 2px;background:transparent;color:var(--muted);font-size:10px;font-weight:750}.mobile-nav button.active{background:#eaf3ff;color:#1d4ed8}.mobile-nav button:active,.mobile-menu-item:active{opacity:.72}.mobile-menu-backdrop{position:fixed;z-index:54;top:0;right:0;bottom:0;left:0;border:0;background:#0f172a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .16s ease both}.mobile-menu-sheet{position:fixed;z-index:55;right:0;bottom:calc(66px + env(safe-area-inset-bottom));left:0;display:grid;gap:12px;border:1px solid rgba(255,255,255,.7);border-radius:14px 14px 0 0;padding:16px 14px 18px;background:#fff;box-shadow:0 -14px 42px #0f172a2e;animation:mobileSheetIn .22s cubic-bezier(.2,.8,.2,1) both}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-menu-head span,.mobile-menu-head strong{display:block}.mobile-menu-head span{color:var(--muted);font-size:11px;font-weight:750}.mobile-menu-head strong{margin-top:2px;color:var(--ink);font-size:16px}.mobile-menu-head button{width:44px;height:44px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;background:#fff;color:var(--ink-soft)}.mobile-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-menu-item{min-height:84px;border:1px solid var(--line-soft);border-radius:8px;display:grid;place-items:center;align-content:center;gap:7px;padding:8px 6px;background:#fbfdff;color:var(--ink-soft);text-align:center;font-size:11px;font-weight:750}.mobile-menu-item.active{border-color:#2563eb57;background:#eff6ff;color:#1d4ed8}}@keyframes mobileSheetIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}:root{--ink: #151311;--ink-soft: #4f4a43;--muted: #81786c;--line: rgba(43, 38, 31, .13);--line-soft: rgba(43, 38, 31, .08);--surface: rgba(255, 255, 255, .9);--surface-soft: rgba(250, 247, 241, .88);--surface-warm: #fff6e6;--navy: #141414;--navy-2: #25211c;--blue: #244f8f;--teal: #0d746d;--gold: #b8752a;--rose: #b4233c;--danger: #dc2626;--shadow-sm: 0 1px 2px rgba(21, 19, 17, .04), 0 10px 24px rgba(21, 19, 17, .06);--shadow-md: 0 1px 0 rgba(255, 255, 255, .72), 0 18px 54px rgba(21, 19, 17, .1);--shadow-lg: 0 1px 0 rgba(255, 255, 255, .74), 0 28px 90px rgba(21, 19, 17, .2);--ease-lux: cubic-bezier(.16, 1, .3, 1);color-scheme:light;background:#f5f0e8;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{scroll-behavior:smooth}body{min-height:100vh;background:linear-gradient(135deg,#f7f3ec,#f2eee6 46%,#fbf7ef)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(21,19,17,.018) 0 1px,transparent 1px 5px),linear-gradient(180deg,#ffffff70,#fff0);opacity:.68}button,input,select,textarea{font-family:inherit;transition:background-color .22s var(--ease-lux),border-color .22s var(--ease-lux),box-shadow .24s var(--ease-lux),color .18s var(--ease-lux),opacity .18s var(--ease-lux),transform .24s var(--ease-lux)}button:not(.cell):active{transform:translateY(0) scale(.985)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #b8752a2e;border-color:#b8752ac2}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f5f0e8b8}::-webkit-scrollbar-thumb{border:2px solid rgba(245,240,232,.72);border-radius:999px;background:#25211c3d}::-webkit-scrollbar-thumb:hover{background:#25211c61}.shell{grid-template-columns:204px minmax(0,1fr);background:transparent}.sidebar{background:linear-gradient(180deg,#171511,#111114 58%,#0c1119);color:#ffffffdb;box-shadow:12px 0 34px #15131129}.brand{height:66px;padding:0 16px;border-bottom-color:#ffffff1a}.brand-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(145deg,#f2c46d,#b8752a);color:#171511;box-shadow:0 12px 28px #b8752a47}.brand strong{font-weight:800}.brand span{color:#ffffff8f}.nav{gap:4px;padding:12px 9px}.nav-item{min-height:39px;border-left:0;border-radius:8px;color:#ffffffb8;font-weight:700}.nav-item svg{color:#ffffff6e}.nav-item.active,.nav-item:hover{border-left-color:transparent;background:linear-gradient(90deg,#ffffff21,#ffffff12);color:#fff;box-shadow:inset 0 0 0 1px #ffffff1a,0 10px 24px #00000024}.nav-item.active svg,.nav-item:hover svg{color:#f2c46d}.nav-item:hover:not(:disabled){transform:translate(3px)}.room-summary{margin:auto 10px 12px;border-color:#ffffff1c;border-radius:8px;background:#fff1;box-shadow:inset 0 1px #ffffff0f}.app-header{height:64px;padding:0 18px;background:#faf7f1c7;-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);border-bottom-color:#2b261f1a;box-shadow:0 1px #ffffffad}.global-search,.property-select,.network-indicator,.pwa-install{border-radius:999px;background:#ffffffb8;box-shadow:inset 0 1px #ffffffdb,0 10px 28px #1513110d}.global-search{height:40px;border-color:#2b261f21}.global-search:focus-within{border-color:#b8752a99;box-shadow:0 0 0 3px #b8752a1f,0 16px 36px #15131114}.property-select{height:40px}.sync-chip,.network-indicator.online{border-color:#0d746d38;background:#ecfdf5c7;color:#0d746d}.header-icon{width:40px;min-width:40px;height:40px;border-radius:999px}.header-icon:hover,.pwa-install:hover{background:#fff;color:var(--gold);box-shadow:0 14px 34px #15131117}.alert-dot{background:linear-gradient(145deg,#d01842,#a61233);box-shadow:0 14px 30px #b4233c38}.user-chip{width:36px;height:36px;background:linear-gradient(145deg,#1c1a16,#9f671f);box-shadow:0 12px 28px #15131133}.screen-panel{margin:18px 18px 22px;border-color:#2b261f1f;border-radius:8px;background:#ffffffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);animation:panelIn .34s var(--ease-lux) both}.list-head,.reservation-tabs,.timeline-toolbar,.booking-filters,.room-setup-create,.user-create-panel,.housekeeping-summary{background:#ffffffa8;border-bottom-color:#2b261f1a}.list-head h1{color:#11100e;font-size:22px;font-weight:800}.list-head p,.screen-meta,.panel-title p,.metric-card span,.metric-card em{color:var(--muted)}.primary-lite,.filter-submit,.modal-actions .primary{border-color:#151311;background:#151311;color:#fff;box-shadow:0 16px 34px #1513112e}.primary-lite:hover:not(:disabled),.filter-submit:hover:not(:disabled),.modal-actions .primary:hover:not(:disabled){border-color:#000;background:#000;box-shadow:0 22px 42px #1513113d;transform:translateY(-2px)}.date-controls button,.view-switch button,.timeline-filters button,.today-button,.icon-button,.panel-action,.row-action,.line-action,.modal-actions button,.drawer-actions button,.housekeeping-actions button,.unassigned-item button{border-color:#2b261f21;background:#ffffffc2;color:var(--ink-soft);box-shadow:inset 0 1px #ffffffb3}.date-controls button:hover:not(:disabled),.timeline-filters button:hover:not(:disabled),.today-button:hover:not(:disabled),.icon-button:hover:not(:disabled),.panel-action:hover,.row-action:hover:not(:disabled),.line-action:hover:not(:disabled),.modal-actions button:hover:not(:disabled),.drawer-actions button:hover:not(:disabled){border-color:#b8752a4d;background:#fff;color:#151311;box-shadow:0 14px 30px #15131114}.view-switch{border-color:#2b261f1f;border-radius:999px;background:#ffffffa3}.view-switch button{border-radius:999px;box-shadow:none}.view-switch button.active{border-color:#151311;background:#151311;color:#fff;box-shadow:0 10px 24px #1513112e}.tab{border-radius:8px 8px 0 0}.tab.active{color:#151311;border-bottom-color:var(--gold)}.tab:hover{background:#b8752a14;color:#151311}.dashboard-grid,.dashboard-layout,.dashboard-split,.finance-layout{background:linear-gradient(180deg,#ffffff9e,#faf7f180)}.metric-card,.ops-panel,.source-row,.task-row,.alert-card,.ai-brief-card,.ops-list-command button,.mini-report-row,.unassigned-item,.history-line,.stay-line,.payment-line,.folio-preview div,.empty-ops{border-color:#2b261f1c;background:#ffffffc7;box-shadow:inset 0 1px #ffffffbd}.metric-card{min-height:118px}.metric-card:before{height:1px;background:linear-gradient(90deg,transparent,rgba(184,117,42,.82),transparent)}.metric-card:hover,.ops-list-command button:hover,.task-row:hover,.alert-card:hover,.ai-brief-card:hover,.source-row:hover,.mini-report-row:hover,.unassigned-item:hover{border-color:#b8752a3d;background:#fff;box-shadow:0 18px 42px #1513111a;transform:translateY(-2px)}.metric-card strong{color:#11100e;font-size:23px;font-weight:800}.metric-card span svg{color:var(--gold)}.metric-meter,.occ-track,.source-track{background:#2b261f14}.metric-meter span,.occ-track span,.source-track span{background:linear-gradient(90deg,#151311,var(--gold))}.panel-title h2,.task-board-head h3,.ops-panel h2,.source-row strong,.task-row strong,.alert-card strong,.ai-brief-card strong{color:#151311}.ai-panel{border-color:#b8752a24;background:linear-gradient(135deg,#ffffffd6,#faf7f1c7 52%,#fff6e6b3)}.ai-panel:before{background:linear-gradient(110deg,transparent 0%,rgba(184,117,42,.08) 46%,rgba(13,116,109,.06) 54%,transparent 100%);animation-duration:7s}.ai-score{border-color:#2b261f1f;background:#ffffffd1}.revenue-pulse,.cashflow-pulse{align-items:end}.pulse-bars,.cashflow-bar{border-color:#2b261f1c;background:linear-gradient(180deg,#ffffffd6,#faf7f1d6)}.pulse-occ{background:linear-gradient(180deg,#151311,#4a463f)}.pulse-revenue,.cashflow-bar span{background:linear-gradient(180deg,var(--gold),#e0b464)}.booking-table th{background:#faf7f1f5;color:var(--ink-soft)}.booking-table td{border-bottom-color:#2b261f12;border-right-color:#2b261f0e}.booking-table tbody tr:hover{background:#fffaf0c7;box-shadow:inset 3px 0 #b8752a75}.timeline{background:#ffffffa3}.timeline-header{background:#faf7f1f5;border-bottom-color:#2b261f1f;box-shadow:0 8px 24px #1513110f}.corner,.day,.room-label,.cell{border-right-color:#2b261f12}.corner,.day{background:#faf7f1f5}.day.today{background:#fff3dc}.day.today:after{background:#151311}.room-type-row{background:#efe8dc;border-bottom-color:#2b261f1a}.room-type-row strong{background:#efe8dc;color:#151311;border-right-color:#2b261f1a}.room-row{border-bottom-color:#2b261f0e}.room-label{background:#ffffffeb;border-right-color:#2b261f1c;box-shadow:8px 0 22px #1513110e}.room-row:hover .room-label{background:#fff}.room-label.hk-room-clean{background:linear-gradient(90deg,#0d746d1a,#fffffff2 38%);box-shadow:inset 3px 0 #0d746d,8px 0 22px #1513110e}.room-label.hk-room-dirty{background:linear-gradient(90deg,#b8752a29,#fffffff2 42%);box-shadow:inset 3px 0 0 var(--gold),8px 0 22px #1513110e}.cell{background:#ffffffb8}.cell:nth-child(7n),.cell:nth-child(7n+1){background:#faf7f1b8}.cell.today-cell{background:#fff6e6eb}.cell:hover,.cell.drop-ready:hover{background:#ffefd3e6;box-shadow:inset 0 0 0 2px #b8752a38}.cell.range-selected{background:#e0b4642e;box-shadow:inset 0 0 0 2px #b8752a3d}.cell.drop-preview-cell,.cell.drop-preview-cell.today-cell{background:linear-gradient(180deg,#fff3dcf0,#eee8dcad);box-shadow:inset 0 0 0 1px #b8752a42,inset 0 0 24px #b8752a24}.cell.drop-preview-start{box-shadow:inset 3px 0 #151311,inset 0 0 0 1px #b8752a47,inset 0 0 24px #b8752a29}.drop-preview-bar{border-color:#b8752a80;background:linear-gradient(90deg,#15131114,#b8752a2e),#fffaf0f5;color:#151311;box-shadow:0 0 0 3px #b8752a1a,0 16px 34px #15131124;animation:dropPreviewIn .19s var(--ease-lux) both}.drop-preview-bar:after{border-color:#b8752a3d;animation-duration:1.4s}.drop-preview-bar span{color:#8a570f}.stay{border-radius:7px;background:linear-gradient(135deg,#1a1a1a,#2b3b5d);box-shadow:0 12px 28px #15131133;animation:barIn .28s var(--ease-lux) both}.stay:hover{transform:translateY(-2px);box-shadow:0 18px 36px #1513113d}.stay-inhouse{background:linear-gradient(135deg,#0d746d,#28b8a6);box-shadow:0 12px 28px #0d746d33}.stay-draft{background:linear-gradient(135deg,#151311,#3d3428)}.stay-out{background:linear-gradient(135deg,#82786c,#5c554c)}.block-bar{border-radius:7px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 7px,transparent 7px 14px),#5c554c}.hk-badge{border-color:#2b261f21;box-shadow:inset 0 1px #ffffff8f}.hk-badge.hk-clean{background:#ecfdf5cc;color:#0d746d}.hk-badge.hk-dirty,.status-pill.hk-dirty{background:#fff2dc;color:#8a570f}.room-block-action{border-color:#b8752a3d;background:#fff6e6c7}.booking-drawer,.booking-modal,.mobile-menu-sheet{background:#ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-lg)}.modal-backdrop,.mobile-menu-backdrop{background:#1513116b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.form-grid input,.form-grid select,.form-grid textarea,.date-controls input,.booking-filters input,.booking-filters select,.room-setup-create input,.room-setup-create select,.user-create-panel input,.housekeeping-summary select,.table-input{border-color:#2b261f21;background:#ffffffd1}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#b8752ab8;box-shadow:0 0 0 3px #b8752a1f}.mobile-nav{border-top-color:#2b261f1f;background:#faf7f1eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -18px 42px #1513111f}.mobile-nav button.active,.mobile-menu-item.active{background:#151311;color:#fff}@media(max-width:980px){.sidebar{background:#151311}.nav-item{background:#ffffff12}}@media(max-width:640px){.screen-panel{margin:0;border-radius:0}.app-header{background:#faf7f1eb}}:root{--ink: #14161a;--ink-soft: #48505d;--muted: #737b89;--line: rgba(20, 22, 26, .13);--line-soft: rgba(20, 22, 26, .075);--surface: rgba(255, 255, 255, .88);--surface-soft: rgba(246, 248, 251, .86);--surface-warm: #fff7e6;--navy: #111318;--navy-2: #1e2634;--blue: #3157f6;--teal: #0d8a7d;--gold: #c47a2c;--rose: #c21f46;--danger: #dc2626;--accent-cobalt: #3157f6;--accent-sky: #dce8ff;--accent-emerald: #0d8a7d;--accent-amber: #c47a2c;--accent-rose: #c21f46;--accent-violet: #6f5af6;--shadow-sm: 0 1px 0 rgba(255, 255, 255, .72), 0 10px 26px rgba(20, 22, 26, .055);--shadow-md: 0 1px 0 rgba(255, 255, 255, .72), 0 18px 58px rgba(20, 22, 26, .105);--shadow-lg: 0 1px 0 rgba(255, 255, 255, .72), 0 30px 96px rgba(20, 22, 26, .22);background:#eef1f5}body{background:radial-gradient(circle at 16% 10%,rgba(49,87,246,.11),transparent 28%),radial-gradient(circle at 88% 18%,rgba(13,138,125,.08),transparent 24%),linear-gradient(135deg,#f8f9fb,#eef1f5 46%,#f6f4ef)}body:before{background:linear-gradient(90deg,rgba(20,22,26,.025) 1px,transparent 1px),linear-gradient(180deg,rgba(20,22,26,.02) 1px,transparent 1px);background-size:44px 44px;opacity:.45}.sidebar{background:radial-gradient(circle at 16% 0%,rgba(49,87,246,.2),transparent 28%),linear-gradient(180deg,#151821,#101217 58%,#090b0f)}.brand-mark{background:linear-gradient(145deg,#8fb2ff,var(--accent-cobalt));color:#fff;box-shadow:0 14px 34px #3157f647}.nav-item.active,.nav-item:hover{background:linear-gradient(90deg,#3157f62e,#ffffff12)}.nav-item.active svg,.nav-item:hover svg{color:#9db8ff}.nav-item.active:before{content:"";width:3px;align-self:stretch;border-radius:999px;background:linear-gradient(180deg,#9db8ff,var(--accent-cobalt));box-shadow:0 0 18px #3157f661}.app-header{background:#f8f9fbc7;border-bottom-color:#14161a17}.global-search,.property-select,.network-indicator,.pwa-install{background:#ffffffd1}.global-search:focus-within{border-color:#3157f699;box-shadow:0 0 0 3px #3157f61f,0 16px 38px #14161a14}.sync-chip,.network-indicator.online{border-color:#0d8a7d3d;background:#e8faf7d6;color:#0a756a}.pwa-install,.header-icon:hover{color:var(--accent-cobalt)}.screen-panel{border-color:#14161a1b;background:#fffc}.list-head,.reservation-tabs,.timeline-toolbar,.booking-filters,.room-setup-create,.user-create-panel,.housekeeping-summary{background:#ffffffbd}.primary-lite,.filter-submit,.modal-actions .primary{border-color:var(--accent-cobalt);background:linear-gradient(135deg,var(--accent-cobalt),#193bc8);color:#fff;box-shadow:0 16px 36px #3157f638}.primary-lite:hover:not(:disabled),.filter-submit:hover:not(:disabled),.modal-actions .primary:hover:not(:disabled){border-color:#193bc8;background:linear-gradient(135deg,#3f68ff,#1734b4);box-shadow:0 22px 48px #3157f647}.view-switch button.active,.mobile-nav button.active,.mobile-menu-item.active{background:#111318;color:#fff}.tab.active{color:var(--accent-cobalt);border-bottom-color:var(--accent-cobalt)}.tab:hover{background:#3157f614;color:var(--accent-cobalt)}.dashboard-grid,.dashboard-layout,.dashboard-split,.finance-layout{background:linear-gradient(180deg,#ffffffb3,#f6f8fb94)}.metric-card,.ops-panel,.source-row,.task-row,.alert-card,.ai-brief-card,.ops-list-command button,.mini-report-row,.unassigned-item,.history-line,.stay-line,.payment-line,.folio-preview div,.empty-ops{border-color:#14161a1a;background:linear-gradient(180deg,#ffffffe0,#fafbfdc2)}.metric-card:before{height:3px;background:var(--metric-accent, var(--accent-cobalt))}.metric-card:nth-child(1){--metric-accent: linear-gradient(90deg, var(--accent-cobalt), #8fb2ff)}.metric-card:nth-child(2){--metric-accent: linear-gradient(90deg, var(--accent-violet), #a798ff)}.metric-card:nth-child(3){--metric-accent: linear-gradient(90deg, var(--accent-amber), #e8b461)}.metric-card:nth-child(4){--metric-accent: linear-gradient(90deg, #1e2634, var(--accent-cobalt))}.metric-card:nth-child(5){--metric-accent: linear-gradient(90deg, var(--accent-emerald), #61d9cc)}.metric-card:nth-child(6){--metric-accent: linear-gradient(90deg, #64748b, #1e2634)}.metric-card span svg{color:var(--accent-cobalt)}.metric-card:nth-child(2) span svg{color:var(--accent-violet)}.metric-card:nth-child(3) span svg,.metric-card:nth-child(4) span svg{color:var(--accent-amber)}.metric-card:nth-child(5) span svg{color:var(--accent-emerald)}.metric-meter span,.occ-track span{background:linear-gradient(90deg,var(--accent-amber),#1e2634)}.panel-title h2,.task-board-head h3,.ops-panel h2,.source-row strong,.task-row strong,.alert-card strong,.ai-brief-card strong{color:#111318}.ai-panel{border-color:#3157f629;background:linear-gradient(135deg,#ffffffe6,#f2f6ffd1 48%,#ecfaf7bd)}.ai-panel:before{background:linear-gradient(110deg,transparent 0%,rgba(49,87,246,.11) 42%,rgba(13,138,125,.08) 56%,transparent 100%)}.ai-danger,.alert-danger{border-left-color:var(--accent-rose)}.ai-warning,.alert-warning,.task-warning{border-left-color:var(--accent-amber)}.ai-info,.alert-info,.task-arrival{border-left-color:var(--accent-cobalt)}.ai-success,.task-departure{border-left-color:var(--accent-emerald)}.pulse-occ{background:linear-gradient(180deg,var(--accent-cobalt),#8fb2ff)}.pulse-revenue,.cashflow-bar span{background:linear-gradient(180deg,var(--accent-emerald),#61d9cc)}.source-track span{background:linear-gradient(90deg,var(--accent-cobalt),var(--accent-emerald))}.booking-table th{background:#f2f6fff5}.booking-table tbody tr:hover{background:#f2f6ff9e;box-shadow:inset 3px 0 #3157f675}.status-pill.draft,.status-pill.reserved,.status-pill.hk-inspected,.status-pill.front_desk,.status-pill.debt-upcoming,.status-pill.payment-deposit{background:#dce8ffd1;color:#2444c4}.status-pill.checked_in,.status-pill.hk-clean,.status-pill.active,.status-pill.housekeeping,.status-pill.debt-inhouse,.status-pill.payment-payment{background:#e8faf7db;color:#0a756a}.status-pill.hk-dirty,.status-pill.debt-due_today,.status-pill.room_block{background:#fff2dce6;color:#9c5c16}.status-pill.cancelled,.status-pill.no_show,.status-pill.hk-out_of_order,.status-pill.out_of_order,.status-pill.inactive,.status-pill.debt-overdue,.status-pill.payment-refund{background:#ffe8ece6;color:var(--accent-rose)}.timeline{background:#ffffffad}.timeline-header,.corner,.day{background:#f2f6fffa}.day.today{background:#dce8fff2}.day.today:after{background:var(--accent-cobalt)}.room-type-row,.room-type-row strong{background:#eef2f7;color:#1e2634}.room-label.hk-room-clean{background:linear-gradient(90deg,#0d8a7d1f,#fffffff5 38%);box-shadow:inset 3px 0 0 var(--accent-emerald),8px 0 22px #14161a0e}.room-label.hk-room-dirty{background:linear-gradient(90deg,#c47a2c26,#fffffff5 42%);box-shadow:inset 3px 0 0 var(--accent-amber),8px 0 22px #14161a0e}.cell:nth-child(7n),.cell:nth-child(7n+1){background:#f7f9fcd1}.cell.today-cell{background:#e8efffdb}.cell:hover,.cell.drop-ready:hover{background:#dce8ffb3;box-shadow:inset 0 0 0 2px #3157f638}.cell.range-selected{background:#0d8a7d24;box-shadow:inset 0 0 0 2px #0d8a7d3d}.cell.drop-preview-cell,.cell.drop-preview-cell.today-cell{background:linear-gradient(180deg,#dce8ffeb,#e8faf78f);box-shadow:inset 0 0 0 1px #3157f63d,inset 0 0 24px #3157f624}.cell.drop-preview-start{box-shadow:inset 3px 0 0 var(--accent-cobalt),inset 0 0 0 1px #3157f647,inset 0 0 24px #0d8a7d21}.drop-preview-bar{border-color:#3157f680;background:linear-gradient(90deg,#3157f629,#0d8a7d29),#fffffff0;color:#15235f;box-shadow:0 0 0 3px #3157f61a,0 16px 34px #14161a24}.drop-preview-bar span{color:var(--accent-cobalt)}.stay{background:linear-gradient(135deg,var(--accent-cobalt),#193bc8);box-shadow:0 12px 28px #3157f633}.stay-inhouse{background:linear-gradient(135deg,var(--accent-emerald),#35bfb2);box-shadow:0 12px 28px #0d8a7d33}.stay-draft{background:linear-gradient(135deg,#1e2634,#506078);box-shadow:0 12px 28px #1e26342e}.stay-out{background:linear-gradient(135deg,#8b94a3,#667085);box-shadow:0 10px 24px #66708526}.block-bar{background:repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 7px,transparent 7px 14px),#667085}.hk-badge.hk-clean{background:#e8faf7db;color:#0a756a}.hk-badge.hk-dirty{background:#fff2dceb;color:#9c5c16}.room-block-action{border-color:#c47a2c3d;background:#fff7e6d1;color:#9c5c16}.unassigned-alert-button{border-color:#c21f467a!important;background:linear-gradient(135deg,#c21f46,#9f1239)!important;color:#fff!important;box-shadow:0 12px 28px #c21f462e}.unassigned-alert-button b{min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;background:#fff3;color:#fff}.unassigned-backdrop{z-index:45;align-items:flex-start;padding-top:92px}.unassigned-modal{width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 130px);overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 28px 80px #14161a52;display:flex;flex-direction:column}.unassigned-modal-head{min-height:64px;padding:0 16px;background:linear-gradient(135deg,#3157f6,#203eb5);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px}.unassigned-modal-head span,.unassigned-modal-head strong{display:block}.unassigned-modal-head span{opacity:.82;font-size:12px;font-weight:750}.unassigned-modal-head strong{margin-top:2px;font-size:19px}.unassigned-modal-actions{display:flex;align-items:center;gap:8px}.modal-close-button{width:32px;height:32px;border:0;border-radius:6px;background:#ffffff24;color:#fff;font-size:24px;line-height:1}.modal-close-button:hover{background:#ffffff38}.unassigned-assign-result{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line-soft);background:#f2f6ffc2}.unassigned-assign-result span{min-height:28px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);display:inline-flex;align-items:center;gap:6px;padding:0 10px}.unassigned-assign-result b{color:#0d1118}.unassigned-modal-list{overflow:auto;display:grid;gap:0;padding:12px 16px 16px}.unassigned-modal-row{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:86px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.unassigned-room-chip{min-height:66px;border-radius:4px;background:linear-gradient(135deg,#8b1cf6,#6d28d9);color:#fff;display:grid;place-items:center;align-content:center;gap:3px;text-align:center;padding:7px}.unassigned-room-chip span{font-size:10px;text-transform:uppercase;opacity:.88;max-width:100%;overflow:hidden;text-overflow:ellipsis}.unassigned-room-chip strong{font-size:16px;line-height:1.1}.unassigned-modal-copy{min-width:0}.unassigned-modal-copy strong,.unassigned-modal-copy span,.unassigned-modal-copy em{display:block}.unassigned-modal-copy strong{color:#0d1118;font-size:14px}.unassigned-modal-copy span{color:#303947;margin-top:4px}.unassigned-modal-copy em{color:var(--muted);margin-top:5px;font-style:italic}.unassigned-row-action{min-width:104px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--accent-cobalt);font-weight:800}.unassigned-row-action:hover{border-color:#3157f66b;box-shadow:0 10px 24px #3157f61a}.unassigned-empty{min-height:120px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--accent-emerald)}@media(max-width:720px){.unassigned-backdrop{padding-top:44px}.unassigned-modal-head,.unassigned-modal-row{grid-template-columns:1fr}.unassigned-modal-head{height:auto;min-height:84px;padding:12px;align-items:flex-start}.unassigned-modal-row{display:grid;grid-template-columns:1fr}.unassigned-room-chip{width:90px}}.booking-drawer,.booking-modal,.mobile-menu-sheet{background:#fffffff0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#3157f6b8;box-shadow:0 0 0 3px #3157f61f}@media(max-width:640px){.app-header{background:#f8f9fbf0}}:root{--line: rgba(20, 22, 26, .2);--line-soft: rgba(20, 22, 26, .13);--muted: #626c7b;--ink-soft: #303947;--panel-border: rgba(20, 22, 26, .22);--panel-border-strong: rgba(20, 22, 26, .32);--panel-shadow: 0 1px 0 rgba(255, 255, 255, .9), 0 16px 40px rgba(20, 22, 26, .09)}.screen-panel{border:1px solid var(--panel-border);background:#ffffffe6;box-shadow:0 0 0 1px #ffffffbd,var(--shadow-md)}.list-head,.reservation-tabs,.timeline-toolbar,.screen-meta,.booking-filters,.room-setup-create,.user-create-panel,.housekeeping-summary{border-bottom-color:var(--panel-border)}.list-head h1,.panel-title h2,.task-board-head h3,.ops-panel h2{color:#0f141d;font-weight:850}.list-head p,.panel-title p,.screen-meta,.metric-card span,.metric-card em,.source-row span,.task-row span,.task-row em,.alert-card span,.alert-card em,.ai-brief-card span,.ai-brief-card em,.empty-ops{color:var(--muted)}.metric-card{border-color:var(--panel-border);background:#fff;box-shadow:var(--panel-shadow)}.metric-card:before{height:4px}.metric-card strong{color:#0d1118}.metric-card:hover{border-color:var(--panel-border-strong);box-shadow:0 1px #ffffffe6,0 20px 48px #14161a21}.dashboard-layout{gap:16px}.ops-panel{position:relative;border:1px solid var(--panel-border);background:#fff;box-shadow:var(--panel-shadow)}.ops-panel:after{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:8px 0 0 8px;background:var(--panel-accent, rgba(49, 87, 246, .42))}.ops-panel-main{--panel-accent: linear-gradient(180deg, var(--accent-cobalt), #8fb2ff)}.ops-panel-wide{--panel-accent: linear-gradient(180deg, var(--accent-emerald), #61d9cc)}.ai-panel{--panel-accent: linear-gradient(180deg, var(--accent-cobalt), var(--accent-violet));border-color:#3157f657;background:linear-gradient(135deg,#fffffff5,#eef4ffe6 52%,#ecfaf7d6);box-shadow:0 0 0 1px #3157f614,0 18px 44px #3157f61a}.ops-list-command button,.source-row,.task-row,.alert-card,.ai-brief-card,.mini-report-row,.unassigned-item,.history-line,.stay-line,.payment-line,.folio-preview div,.empty-ops{border-color:var(--line);background:#fff;box-shadow:inset 0 1px #ffffffe6}.ops-list-command button:hover,.source-row:hover,.task-row:hover,.alert-card:hover,.ai-brief-card:hover,.mini-report-row:hover,.unassigned-item:hover{border-color:var(--panel-border-strong)}.task-row,.alert-card,.ai-brief-card{border-left-width:5px}.ai-score{border-color:#c21f4652;box-shadow:0 0 0 1px #c21f4614,0 12px 28px #c21f4614}.source-track,.metric-meter,.occ-track{background:#14161a1f}.booking-table th,.booking-table td{border-bottom-color:var(--line-soft);border-right-color:#14161a1a}.timeline-header{border-bottom:1px solid var(--panel-border)}.corner,.day,.room-label,.cell{border-right-color:#14161a1f}.room-type-row{border-top:1px solid rgba(20,22,26,.08);border-bottom-color:var(--panel-border)}.room-row{border-bottom-color:#14161a1a}.stay{box-shadow:0 0 0 1px #ffffff42,0 14px 30px #3157f63d}.stay-inhouse{box-shadow:0 0 0 1px #ffffff3d,0 14px 30px #0d8a7d3d}.hk-badge,.room-block-action,.status-pill{border-color:#14161a2e}.booking-drawer{border-left:2px solid rgba(49,87,246,.45);background:#fff;box-shadow:-1px 0 #14161a29,-28px 0 70px #14161a38}.drawer-head{margin:-16px -16px 14px;padding:14px 16px;border-bottom:1px solid var(--panel-border);background:linear-gradient(135deg,#f2f6fff5,#ffffffeb)}.drawer-head h2{color:#0d1118;font-weight:850}.drawer-head span,.modal-head span{color:var(--muted);font-weight:700}.drawer-section{margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:inset 0 1px #ffffffe6}.drawer-section h3{margin-bottom:10px;color:#0d1118;font-weight:850}.detail-grid,.folio-total{gap:8px 12px}.detail-grid span,.folio-total span,.stay-line span,.stay-line em,.payment-line span,.muted{color:var(--muted)}.detail-grid strong,.folio-total strong,.stay-line-main strong,.payment-line strong{color:#111827}.drawer-actions{margin:14px -16px -16px;padding:14px 16px 16px;border-top:1px solid var(--panel-border);background:linear-gradient(180deg,#ffffffeb,#fff 34%)}.drawer-actions button{border-color:var(--line);background:#fff;color:var(--ink-soft);font-weight:750}.drawer-actions button:not(:disabled):hover{border-color:#3157f65c;box-shadow:0 10px 24px #3157f614}.drawer-actions .danger-action{border-color:#c21f4657;background:#ffe8ecb8;color:var(--accent-rose)}.booking-modal,.modal-head,.modal-actions{border-color:var(--panel-border)}@media(max-width:640px){.metric-card,.ops-panel{border-color:var(--panel-border)}}.ops-command-card{--ops-color: var(--accent-cobalt);--ops-bg: rgba(49, 87, 246, .1);--ops-border: rgba(49, 87, 246, .34);position:relative;overflow:hidden;display:grid;align-content:start;gap:5px;min-height:88px}.ops-command-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--ops-color);opacity:.88}.ops-command-card:hover{border-color:var(--ops-border);box-shadow:0 14px 30px #14161a1a}.ops-command-label{display:flex!important;align-items:center;gap:7px;min-width:0;color:#344155!important;font-weight:820;line-height:1.15}.ops-command-icon{display:grid!important;place-items:center;flex:0 0 26px;width:26px;height:26px;border:1px solid var(--ops-border);border-radius:8px;background:var(--ops-bg);color:var(--ops-color)!important;box-shadow:inset 0 1px #ffffffc7}.ops-command-icon svg{width:15px;height:15px;stroke-width:2.25}.ops-command-card strong{color:#0d1118;line-height:1}.ops-command-card em{max-width:100%;color:var(--muted);line-height:1.3}.ops-command-arrival{--ops-color: var(--accent-cobalt);--ops-bg: rgba(49, 87, 246, .1);--ops-border: rgba(49, 87, 246, .36)}.ops-command-departure{--ops-color: var(--accent-violet);--ops-bg: rgba(111, 90, 246, .1);--ops-border: rgba(111, 90, 246, .34)}.ops-command-housekeeping{--ops-color: var(--accent-amber);--ops-bg: rgba(196, 122, 44, .13);--ops-border: rgba(196, 122, 44, .38)}.ops-command-blocked{--ops-color: #475569;--ops-bg: rgba(71, 85, 105, .1);--ops-border: rgba(71, 85, 105, .32)}.task-row{--task-color: var(--accent-cobalt);--task-bg: rgba(49, 87, 246, .1);--task-border: rgba(49, 87, 246, .34)}.task-row-top{display:flex!important;align-items:center;gap:7px;min-width:0;color:#344155!important;font-weight:820}.task-row-top>span:not(.task-icon){min-width:0;overflow:hidden;color:inherit;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.task-icon{display:grid!important;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid var(--task-border);border-radius:7px;background:var(--task-bg);color:var(--task-color)!important}.task-icon svg{width:14px;height:14px;stroke-width:2.3}.task-row:hover{border-color:var(--task-border)}.task-arrival{--task-color: var(--accent-cobalt);--task-bg: rgba(49, 87, 246, .1);--task-border: rgba(49, 87, 246, .36)}.task-departure{--task-color: var(--accent-emerald);--task-bg: rgba(13, 138, 125, .11);--task-border: rgba(13, 138, 125, .36)}.task-warning{--task-color: var(--accent-amber);--task-bg: rgba(196, 122, 44, .13);--task-border: rgba(196, 122, 44, .38)}.ops-list-command .ops-command-card{min-height:74px;padding:10px 12px;gap:7px}.ops-list-command .ops-command-card strong{margin:0;font-size:24px}.ops-command-card em{display:none}.source-mix{gap:8px}.source-row{--source-color: var(--accent-cobalt);--source-bg: rgba(49, 87, 246, .1);--source-border: rgba(49, 87, 246, .32);grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;min-height:60px;padding:8px 9px;border-color:var(--source-border)}.source-main{display:flex;align-items:center;gap:9px;min-width:0}.source-icon{display:grid!important;place-items:center;flex:0 0 30px;width:30px;height:30px;overflow:hidden;border:1px solid var(--source-border);border-radius:9px;background:var(--source-bg);color:var(--source-color)!important;box-shadow:inset 0 1px #ffffffc7}.source-icon svg{width:15px;height:15px;stroke-width:2.25}.source-logo-text{display:inline-flex!important;align-items:center;justify-content:center;width:100%;height:100%;color:inherit!important;font-size:14px!important;font-weight:900;letter-spacing:0;line-height:1}.source-copy{display:flex;align-items:baseline;gap:7px;min-width:0}.source-copy strong{flex:0 1 auto;min-width:0;max-width:112px;color:#111318;font-size:13px}.source-copy span{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:700}.source-row em{color:#111318;font-size:12px}.source-row-agoda{--source-color: #7c3aed;--source-bg: rgba(124, 58, 237, .1);--source-border: rgba(124, 58, 237, .32)}.source-row-booking{--source-color: #003b95;--source-bg: rgba(0, 53, 128, .1);--source-border: rgba(0, 53, 128, .32)}.source-row-direct{--source-color: var(--accent-emerald);--source-bg: rgba(13, 138, 125, .11);--source-border: rgba(13, 138, 125, .32)}.source-row-walkin{--source-color: var(--accent-amber);--source-bg: rgba(196, 122, 44, .13);--source-border: rgba(196, 122, 44, .34)}.source-row-agoda .source-track span{background:linear-gradient(90deg,#ff5a5f,#fbbf24,#22c55e,#3b82f6,#8b5cf6)}.source-row-booking .source-track span{background:linear-gradient(90deg,#003b95,#0071c2)}.source-row-direct .source-track span{background:linear-gradient(90deg,var(--accent-emerald),#61d9cc)}.source-row-walkin .source-track span{background:linear-gradient(90deg,var(--accent-amber),#e8b461)}.cms-toolbar{justify-content:space-between}.cms-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cms-import-button{border-color:var(--accent-emerald);background:linear-gradient(135deg,var(--accent-emerald),#0a756a)}.cms-import-button:hover:not(:disabled){border-color:#0a756a;background:linear-gradient(135deg,#16a394,#08645c)}.date-arrow{color:var(--muted);font-weight:850}.cms-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.cms-empty{margin:12px;min-height:180px;border:1px dashed var(--panel-border);border-radius:8px;background:linear-gradient(135deg,#ffffffeb,#f2f6ffcc);color:var(--muted);display:grid;place-items:center;align-content:center;gap:8px;text-align:center;padding:24px}.cms-empty strong{color:#0d1118;font-size:16px}.cms-import-result{margin:12px;display:grid;grid-template-columns:repeat(5,minmax(110px,150px)) minmax(260px,1fr);gap:8px;align-items:stretch}.cms-import-result>div{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;box-shadow:var(--panel-shadow)}.cms-import-result span{display:block;color:var(--muted);font-size:12px;font-weight:750}.cms-import-result strong{color:#0d1118;font-size:24px}.cms-import-messages{display:grid;gap:5px;align-content:start}.cms-import-messages span{color:#303947;font-weight:650}.cms-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.8fr);gap:12px;padding:12px}.cms-channel-panel{min-width:0}.cms-channel-panel .panel-title{margin-bottom:12px}.cms-table-wrap{max-height:430px;border:1px solid var(--line-soft);border-radius:8px}.cms-table{min-width:780px}.cms-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.cms-summary-grid div{min-height:74px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;align-content:center;gap:4px;padding:10px}.cms-summary-grid span{color:var(--muted);font-size:12px;font-weight:750}.cms-summary-grid strong{color:#0d1118;font-size:24px;line-height:1}.cms-lines,.cms-map-list{display:grid;gap:7px}.cms-lines{max-height:330px;overflow:auto;padding-right:3px}.cms-lines span,.cms-map-list div{border:1px solid var(--line);border-radius:8px;background:#fff;color:#303947;padding:8px 10px}.cms-lines span{overflow-wrap:anywhere}.cms-map-list div{display:grid;gap:3px}.cms-map-list strong{color:#0d1118}.cms-map-list span{color:var(--muted);font-size:12px}@media(max-width:1020px){.cms-metrics,.cms-import-result,.cms-layout{grid-template-columns:1fr}.cms-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
