*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f6f8fb}a{color:inherit}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:252px;background:#0f1726;color:#c6d0df;padding:18px 13px;display:flex;flex-direction:column}.brand{height:55px;display:flex;gap:10px;align-items:center;padding:0 10px;color:#fff}.brand-icon{width:32px;height:32px;border-radius:9px;background:#2563eb;display:grid;place-items:center;font-weight:900}.brand b{font-size:15px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:165px}.brand small{font-size:8px;letter-spacing:1px;color:#6f7d91}.sidebar nav{display:grid;gap:3px;margin-top:13px}.nav-label{font-size:9px;letter-spacing:1.3px;color:#637187;padding:16px 11px 6px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 11px;border-radius:8px;text-decoration:none;color:#aeb9c9;font-size:12px}.sidebar nav a:hover{background:#1a273a;color:#fff}.sidebar nav a:first-of-type{ }.sidebar-bottom{margin-top:auto;border-top:1px solid #223047;padding-top:10px}.user-chip{display:flex;align-items:center;gap:9px;padding:8px}.user-chip b,.user-chip small{display:block}.user-chip b{font-size:11px;color:#fff}.user-chip small{font-size:9px;color:#77859a}.avatar{width:30px;height:30px;border-radius:50%;background:#e9efff;color:#3156b8;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none}.logout{display:block;padding:8px;color:#8795a8;text-decoration:none;font-size:11px}.main{margin-left:252px;min-height:100vh}.topbar{height:64px;background:#fff;border-bottom:1px solid #e5e9f0;display:flex;justify-content:space-between;align-items:center;padding:0 30px}.crumb{font-size:11px;color:#667085}.crumb span{padding:0 7px;color:#c2c8d1}.top-actions{display:flex;align-items:center;gap:13px;font-size:11px;color:#667085}.top-actions a{color:#2563eb;text-decoration:none}.divider{height:18px;border-left:1px solid #e5e9f0}.page{padding:28px 30px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:1.3px;color:#2563eb;font-weight:800}.page h1{font-size:27px;letter-spacing:-.6px;margin:5px 0}.page-head p{font-size:12px;color:#667085;margin:0}.actions{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#2563eb;color:#fff;border:1px solid #2563eb;border-radius:8px;padding:10px 14px;text-decoration:none;font-size:11px;font-weight:700;cursor:pointer}.btn:hover{background:#1d4ed8}.btn.secondary,.btn.ghost{background:#fff;color:#344054;border-color:#d9dfe8}.btn.danger{background:#fff;color:#b42318;border-color:#f0c7c3}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.metric{background:#fff;border:1px solid #e4e9f0;border-radius:11px;padding:17px;display:flex;gap:12px;box-shadow:0 2px 5px #10182805}.metric-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-weight:800}.blue{background:#eaf1ff;color:#2563eb}.green{background:#eaf8ef;color:#16834b}.amber{background:#fff4e5;color:#c66b05}.purple{background:#f1edff;color:#7046c8}.metric span,.metric small{display:block;color:#667085;font-size:10px}.metric strong{display:block;font-size:21px;margin:2px 0}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:13px;margin-top:13px}.panel{background:#fff;border:1px solid #e4e9f0;border-radius:11px;overflow:hidden}.panel-head{padding:17px 18px;border-bottom:1px solid #edf0f4;display:flex;justify-content:space-between;align-items:center}.panel-head h2{font-size:14px;margin:0}.panel-head span{display:block;color:#8a94a6;font-size:10px;margin-top:3px}.text-link{font-size:10px!important;color:#2563eb!important;text-decoration:none}.enterprise-table,.table{width:100%;border-collapse:collapse}.enterprise-table th,.enterprise-table td,.table th,.table td{padding:11px 12px;border-bottom:1px solid #edf0f4;text-align:left;font-size:11px;vertical-align:middle}.enterprise-table th,.table th{background:#fbfcfe;color:#7a8597;font-size:9px;letter-spacing:.6px;text-transform:uppercase}.enterprise-table td small,.table td small{display:block;color:#8a94a6;font-size:9px;margin-top:3px}.status,.channel,.badge{display:inline-block;border-radius:20px;padding:4px 8px;font-size:9px;background:#f2f4f7;color:#667085}.status.success,.badge.green{background:#eaf8ef;color:#16834b}.status.info,.badge.blue{background:#eaf2ff;color:#2563eb}.status.warn,.badge.orange{background:#fff4e5;color:#b54708}.status.danger,.badge.red{background:#fef3f2;color:#b42318}.quick{padding:7px}.quick a{display:flex;align-items:center;gap:11px;text-decoration:none;padding:11px;border-radius:8px}.quick a:hover{background:#f7f9fc}.quick b{width:30px;height:30px;border-radius:8px;background:#eef3fa;color:#2563eb;display:grid;place-items:center}.quick span{font-size:11px}.quick small{display:block;color:#8a94a6;font-size:9px;margin-top:2px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.card{background:#fff;border:1px solid #e4e9f0;border-radius:11px;padding:19px;box-shadow:0 2px 5px #10182805}.form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.full{grid-column:1/-1}label{display:grid;gap:6px;color:#667085;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}input,select,textarea{width:100%;padding:10px;border:1px solid #d7dee8;border-radius:7px;background:#fff;color:#172033;font:inherit;font-size:12px;text-transform:none}textarea{min-height:80px;resize:vertical}.alert{background:#fef3f2;color:#b42318;border:1px solid #f5c7c3;padding:12px;border-radius:8px;font-size:11px;margin-bottom:15px}.success-box{background:#ecfdf3;color:#166534;border:1px solid #b7ebca;padding:15px;border-radius:8px;font-size:11px;margin-bottom:15px}.section-title{font-size:15px;font-weight:800;margin:0}.muted{color:#667085;font-size:11px}.room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.room-card{background:#fff;border:1px solid #e4e9f0;border-radius:11px;padding:16px;position:relative}.room-card .room-no{font-size:18px;font-weight:800}.room-card .room-type{font-size:11px;color:#667085;margin-top:3px}.room-card .room-rate{font-size:14px;font-weight:800;margin:13px 0}.room-actions{display:flex;gap:6px;margin-top:14px}.room-actions .btn{padding:7px 9px;font-size:9px}.split{display:grid;grid-template-columns:1fr 1fr;gap:13px}.statline{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf0f4;font-size:11px}.empty{text-align:center;padding:45px 20px;color:#8a94a6;font-size:12px}.pagination{display:flex;gap:6px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f3f6fb,#eef3fa);padding:25px}.login-shell{width:min(430px,100%)}.login-brand{display:flex;gap:10px;align-items:center;margin:0 0 18px 4px}.login-brand b{display:block;font-size:17px}.login-brand small{display:block;color:#8994a5;font-size:8px;letter-spacing:1px}.login-logo{width:32px;height:32px;border-radius:9px;background:#2563eb}.login-card{background:#fff;border:1px solid #e1e7ef;border-radius:14px;padding:30px;box-shadow:0 20px 55px #17203315}.login-card h1{margin:5px 0;font-size:26px}.login-muted,.login-demo{color:#667085;font-size:12px}.login-form{display:grid;gap:15px;margin-top:22px}.login-form .btn{width:100%}.back-site{display:block;margin-top:18px;color:#2563eb;text-decoration:none;font-size:11px}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.room-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:750px){.sidebar{width:66px;padding:18px 7px}.brand div:not(.brand-icon),.sidebar .nav-label,.sidebar nav a span,.user-chip div:not(.avatar),.logout{display:none}.sidebar nav a{justify-content:center;font-size:17px}.main{margin-left:66px}.page{padding:20px 15px}.metric-grid,.room-grid,.form,.split{grid-template-columns:1fr}.page-head,.toolbar{align-items:flex-start;flex-direction:column}.topbar{padding:0 15px}.top-actions span,.top-actions .divider,.top-actions a{display:none}}.mobile-overlay{display:none}.top-left{display:flex;align-items:center;gap:12px}.menu-toggle,.sidebar-close{display:none}.profile-wrap,.notification-wrap{position:relative}.profile-btn{border:0;background:transparent;display:flex;align-items:center;gap:8px;cursor:pointer;padding:3px 4px}.profile-name{font-size:11px;font-weight:700;color:#344054}.chev{color:#667085;font-size:13px}.icon-btn{width:31px;height:31px;border:1px solid #e1e6ee;border-radius:8px;background:#fff;color:#344054;cursor:pointer;position:relative}.notification-dot{position:absolute;right:4px;top:4px;width:7px;height:7px;background:#ef4444;border:2px solid #fff;border-radius:50%}.notification-panel,.profile-menu{position:absolute;right:0;top:43px;width:360px;background:#fff;border:1px solid #e1e6ee;border-radius:11px;box-shadow:0 16px 40px #10182820;display:none;z-index:100}.notification-panel.show,.profile-menu.show{display:block}.notification-head{display:flex;justify-content:space-between;padding:14px;border-bottom:1px solid #edf0f4}.notification-head b{display:block;font-size:12px}.notification-head small{font-size:9px;color:#8a94a6}.notification-head button{border:0;background:none;color:#2563eb;font-size:9px;cursor:pointer}.notification-list{max-height:360px;overflow:auto}.notification-item{display:flex;gap:10px;padding:12px 14px;text-decoration:none;border-bottom:1px solid #f0f2f5}.notification-item:hover{background:#f8fafc}.notification-icon{width:28px;height:28px;border-radius:8px;background:#eaf1ff;color:#2563eb;display:grid;place-items:center;flex:none}.notification-item b,.notification-item small,.notification-item em{display:block}.notification-item b{font-size:10px}.notification-item small{font-size:9px;color:#667085;margin-top:2px}.notification-item em{font-size:8px;color:#98a2b3;margin-top:4px;font-style:normal}.profile-menu{width:220px;padding:7px}.profile-card{display:flex;gap:9px;padding:9px;border-bottom:1px solid #edf0f4;margin-bottom:4px}.profile-card b,.profile-card small{display:block}.profile-card b{font-size:11px}.profile-card small{font-size:9px;color:#8a94a6;margin-top:2px}.profile-menu>a{display:block;padding:9px;border-radius:7px;text-decoration:none;font-size:10px}.profile-menu>a:hover{background:#f7f9fc}.profile-menu .logout-link{color:#b42318}.avatar.big{width:34px;height:34px}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:12px 0 35px #10182830}.sidebar.open{transform:translateX(0)}.mobile-overlay.show{display:block;position:fixed;inset:0;background:#10182866;z-index:15}.menu-toggle{display:grid;place-items:center;border:0;background:transparent;font-size:18px;color:#344054;cursor:pointer}.sidebar-close{display:block;margin-left:auto;border:0;background:transparent;color:#98a2b3;font-size:24px;cursor:pointer}.main{margin-left:0}.topbar{padding:0 16px}.website-link,.date-text,.top-actions>.divider{display:none}.notification-panel{right:-55px}.profile-name,.profile-btn .chev{display:none}.page{padding:20px 16px}}
.brand-preview{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:18px}.brand-preview>div{background:#f8fafc;border:1px solid #edf0f4;border-radius:8px;padding:10px;font-size:9px;color:#667085}.brand-preview span{display:block;font-weight:700;margin-bottom:6px}.brand-preview img{height:34px;max-width:100px;object-fit:contain;display:block}.panel form{margin:0}@media(max-width:900px){.brand-preview{grid-template-columns:1fr}}
/* V6 reservation board */
.reservation-board{margin-top:13px}.board-legend{display:flex;gap:12px;font-size:9px;color:#667085}.board-legend span{display:flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.inhouse{background:#2563eb}.dot.arriving{background:#d99a15}.dot.late{background:#e4574f}.board-scroll{overflow:auto}.board{min-width:1080px}.board-head,.board-row{display:grid;grid-template-columns:155px repeat(14,minmax(58px,1fr));position:relative}.board-head{border-bottom:1px solid #e9edf2;background:#fbfcfe}.room-col-head{padding:10px 14px;font-size:9px;color:#8a94a6;letter-spacing:.6px}.day-head{text-align:center;padding:8px 2px;border-left:1px solid #edf0f4}.day-head b,.day-head span{display:block}.day-head b{font-size:11px}.day-head span{font-size:8px;color:#8a94a6}.day-head.today{color:#2563eb;background:#eef4ff}.board-row{min-height:58px;border-bottom:1px solid #edf0f4}.room-label{padding:9px 12px;border-right:1px solid #edf0f4;position:relative}.room-label b{display:block;font-size:11px}.room-label span{display:block;font-size:8px;color:#8a94a6;margin-top:2px}.room-status-dot{position:absolute;right:8px;top:10px;width:6px;height:6px;border-radius:50%;background:#31a36a}.room-status-dot.occupied{background:#2563eb}.room-status-dot.cleaning{background:#d99a15}.room-status-dot.out-of-order{background:#e4574f}.board-days{grid-column:2/-1;display:grid;grid-template-columns:repeat(14,minmax(58px,1fr));position:relative;min-height:58px}.board-cell{border-left:1px solid #edf0f4}.today-cell{background:#f8fbff}.board-booking{position:absolute;top:9px;height:40px;border-radius:8px;padding:6px 9px;text-decoration:none;overflow:hidden;white-space:nowrap;border:1px solid transparent;box-sizing:border-box}.board-booking b,.board-booking span{display:block;overflow:hidden;text-overflow:ellipsis}.board-booking b{font-size:9px}.board-booking span{font-size:7px;margin-top:2px}.board-confirmed{background:#fff3d9;border-color:#f0d18a;color:#6f4a00}.board-inhouse{background:#e7efff;border-color:#a9c4ff;color:#1647a3}.board-late{background:#fee9e7;border-color:#f4b2aa;color:#a52b20}.board-done{background:#eef1f5;color:#667085}.frontdesk-mini{display:grid;grid-template-columns:1fr 1fr;gap:0}.frontdesk-mini>div{padding:13px 17px}.frontdesk-mini>div+div{border-left:1px solid #edf0f4}.frontdesk-mini>b,.frontdesk-mini>div>b{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#667085}.frontdesk-mini a{display:block;padding:9px 0;border-bottom:1px solid #edf0f4;text-decoration:none}.frontdesk-mini a:last-child{border-bottom:0}.frontdesk-mini strong,.frontdesk-mini span{display:block}.frontdesk-mini strong{font-size:10px;color:#172033}.frontdesk-mini span{font-size:8px;color:#8a94a6;margin-top:2px}
@media(max-width:900px){.frontdesk-mini{grid-template-columns:1fr}.frontdesk-mini>div+div{border-left:0;border-top:1px solid #edf0f4}.board-legend{display:none}}


/* V14 reservation action spacing + email actions */
.reservation-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:360px}.reservation-actions form{margin:0}.reservation-actions .btn{margin:0;white-space:nowrap}.icon-btn{display:inline-flex;align-items:center;gap:6px}.icon-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.reservation-actions{min-width:0;gap:7px}}

/* V15 room inventory and action refinements */
.reservation-actions{gap:14px!important}.reservation-actions form{display:inline-flex;align-items:center}.availability-summary{display:flex;gap:24px;flex-wrap:wrap;padding:12px 0;color:#52677a}.availability-summary span{padding:9px 13px;background:#f6f9fc;border:1px solid #e0e8ef;border-radius:10px}.availability-summary b{color:#17314a;margin-right:4px}

/* V17 enterprise operations and action refinements */
.reservation-action-group{display:flex;align-items:center;gap:12px!important;flex-wrap:wrap}.reservation-action-group form{display:inline-flex!important;align-items:center!important}.email-action-btn{min-width:76px!important;height:36px!important;padding:8px 12px!important;line-height:1!important}.email-action-btn:disabled{opacity:.5}.availability-filter{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr)) auto!important;gap:14px!important;align-items:end!important;padding:4px 0 18px!important}.availability-filter-action{padding-bottom:0}.availability-filter label{margin:0}.table-scroll{overflow:auto}.rack-date{align-items:center}.rack-date input{height:38px;min-width:145px}.rack-panel{overflow:hidden}.rack-scroll{overflow:auto}.rack-table{width:100%;min-width:1180px;border-collapse:collapse}.rack-table th,.rack-table td{border-bottom:1px solid #edf0f4}.rack-room{width:190px;min-width:190px;padding:12px 14px!important;text-align:left!important}.rack-room small{display:block;color:#8a94a6;font-size:9px;margin-top:3px}.rack-day{min-width:68px;padding:9px 4px!important;text-align:center!important;background:#fbfcfe;color:#667085}.rack-day b,.rack-day span{display:block}.rack-day b{font-size:11px;color:#172033}.rack-day span{font-size:8px}.rack-day.today{background:#eef4ff}.rack-cell{height:54px;min-width:68px;padding:4px!important;text-align:center!important;font-size:8px}.rack-cell a{display:block;text-decoration:none;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rack-cell span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rack-cell.available{background:#f7fcf9;color:#16734a}.rack-cell.reserved{background:#fff7e8;color:#815a00}.rack-cell.occupied{background:#edf3ff;color:#174ea6}.rack-cell.cleaning,.rack-cell.dirty,.rack-cell.inspected{background:#fffaf0;color:#9a6500}.rack-cell.maintenance,.rack-cell.out-of-order{background:#fff0ef;color:#a32d23}.rack-legend{display:flex;gap:18px;flex-wrap:wrap;padding:13px 2px;color:#667085;font-size:10px}.rack-legend span{display:flex;gap:6px;align-items:center}.rack-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.rack-dot.available{background:#36a269}.rack-dot.reserved{background:#d99a15}.rack-dot.occupied{background:#2563eb}.rack-dot.cleaning{background:#d99a15}.rack-dot.maintenance{background:#e4574f}.folio-grid{grid-template-columns:2fr 1fr}.folio-add-form{padding:16px;background:#f8fafc;border-top:1px solid #edf0f4}.folio-summary{height:max-content}.text-danger{color:#b42318}.inline-form{display:grid;grid-template-columns:130px 150px 1fr 130px auto;gap:7px;align-items:center}.inline-form input,.inline-form select{min-width:0}.housekeeping-note{display:block;color:#667085;margin-top:4px;font-size:9px}@media(max-width:950px){.availability-filter{grid-template-columns:1fr 1fr!important}.availability-filter-action{grid-column:1/-1}.inline-form{grid-template-columns:1fr 1fr}.folio-grid{grid-template-columns:1fr}}@media(max-width:650px){.availability-filter{grid-template-columns:1fr!important}.reservation-action-group{gap:7px!important}.reservation-action-group .btn{font-size:9px;padding:8px 9px}.email-action-btn{min-width:68px!important}}
/* V18 enterprise notification control */
.notification-trigger{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#344054;background:#fff;border-color:#dce3ec}
.notification-trigger svg{width:18px;height:18px;display:block}
.notification-trigger:hover{background:#f7f9fc;border-color:#cfd8e4}
.notification-trigger[aria-expanded="true"]{background:#eef4ff;color:#2563eb;border-color:#cbdcff}
.notification-icon svg{width:15px;height:15px;display:block}
.notification-item{transition:background .15s ease,opacity .15s ease}
.notification-item:active{opacity:.75}
.notification-panel{width:390px;max-width:calc(100vw - 30px)}
.notification-head button{font-weight:700;padding:5px 7px;border-radius:6px}
.notification-head button:hover{background:#eef4ff}
@media(max-width:850px){.notification-trigger{width:34px;height:34px}.notification-panel{right:-42px;width:360px;max-width:calc(100vw - 24px)}}
/* V19 finance refinements */
.expense-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;align-items:end}.expense-form .full{grid-column:1/-1}.expense-total-box{border:1px solid #d9e5ed;background:#f7fafc;border-radius:12px;padding:11px 14px;display:flex;flex-direction:column;gap:3px;min-height:74px;justify-content:center}.expense-total-box span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#66788a}.expense-total-box strong{font-size:20px;color:#12243b}.expense-total-box small{color:#8090a0;font-size:11px}@media(max-width:700px){.expense-form{grid-template-columns:1fr}.expense-form .full{grid-column:auto}}
/* V19 report and finance UI */
.report-filter{display:grid!important;grid-template-columns:150px 150px auto auto;gap:10px;align-items:end}.report-filter label{margin:0}.report-filter .btn{white-space:nowrap}@media(max-width:800px){.report-filter{grid-template-columns:1fr 1fr}.report-filter .btn{width:100%}}@media(max-width:520px){.report-filter{grid-template-columns:1fr}}

/* V20 enterprise navigation, front desk spacing and inventory presentation */
.menu-toggle{display:grid!important;place-items:center;width:36px;height:36px;border:1px solid #dce3ec;border-radius:9px;background:#fff;color:#344054;cursor:pointer;padding:8px}.menu-toggle svg{width:18px;height:18px}.sidebar{overflow:hidden}.sidebar nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:2px;scrollbar-width:thin}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{background:#2a3850;border-radius:4px}.sidebar.collapsed{width:74px}.sidebar.collapsed .brand{justify-content:center;padding:0}.sidebar.collapsed .brand-copy,.sidebar.collapsed .sidebar-close,.sidebar.collapsed .nav-label,.sidebar.collapsed nav a span,.sidebar.collapsed .user-chip div:not(.avatar),.sidebar.collapsed .logout{display:none}.sidebar.collapsed nav a{justify-content:center;padding:11px 8px;font-size:16px}.sidebar.collapsed .brand-icon{flex:none}.main{transition:margin-left .2s ease}.sidebar.collapsed + .main{margin-left:74px}.sidebar.collapsed + .main .crumb{display:block}.frontdesk-tables{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important}.frontdesk-table-card{min-width:0;overflow:hidden}.frontdesk-table-card .table{margin-top:14px}.table-empty{margin-top:12px;padding:24px 14px;border:1px dashed #d9e2ec;border-radius:9px;background:#fafcff;color:#8a94a6;text-align:center;font-size:11px}.availability-filter{padding:16px!important;margin:0 16px 4px!important;background:#f8fafc;border:1px solid #e7edf4;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr)) auto!important;gap:14px!important}.availability-filter-action{display:flex;align-items:end}.availability-summary{display:flex!important;flex-wrap:wrap;gap:10px!important;padding:12px 16px!important;margin:0 16px 12px!important}.availability-summary span{background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;padding:8px 12px}.availability-summary span:first-child{color:#16734a;background:#effaf3;border-color:#ccebd8}.availability-summary span:nth-child(2){color:#815a00;background:#fff8e8;border-color:#f1dfad}.availability-summary span:nth-child(3){color:#a32d23;background:#fff1ef;border-color:#f0c8c3}.rooms-availability-table{margin:0 16px 16px;overflow:auto;border:1px solid #e1e8f0;border-radius:10px}.rooms-availability-table .enterprise-table{min-width:780px}.status.success{background:#eaf8ef!important;color:#16834b!important;border:1px solid #ccebd8}.status.info{background:#eaf2ff!important;color:#2563eb!important;border:1px solid #cbdcff}.status.warn{background:#fff5df!important;color:#9a6500!important;border:1px solid #f1dda7}.status.danger{background:#fef0ef!important;color:#b42318!important;border:1px solid #f0c8c3}
@media(max-width:900px){.frontdesk-tables{grid-template-columns:1fr!important}.availability-filter{grid-template-columns:1fr 1fr!important}.availability-filter-action{grid-column:1/-1}.sidebar.collapsed{width:252px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-label,.sidebar.collapsed nav a span,.sidebar.collapsed .user-chip div:not(.avatar),.sidebar.collapsed .logout{display:block}.sidebar.collapsed nav a{justify-content:flex-start;padding:10px 11px;font-size:12px}.sidebar.collapsed .sidebar-close{display:block}.sidebar.collapsed + .main{margin-left:0}}
@media(max-width:650px){.availability-filter{grid-template-columns:1fr!important;margin:0 10px 4px!important}.availability-summary{margin:0 10px 10px!important}.rooms-availability-table{margin:0 10px 10px}}

/* V22 front desk, room cleaning and checkout reminder UI */
.frontdesk-tables{display:grid;grid-template-columns:1fr;gap:22px!important}.frontdesk-table-card{padding:0!important;overflow:hidden}.frontdesk-table-card .panel-head{padding:18px 20px}.frontdesk-table-card .table-scroll{overflow:auto}.frontdesk-table-card .enterprise-table{min-width:980px}.fd-detail{margin-top:8px;padding:10px 12px;border:1px solid #e5eaf1;border-radius:8px;background:#f8fafc;color:#667085;font-size:10px;line-height:1.7;min-width:250px}.frontdesk-table-card details summary{cursor:pointer;color:#2563eb;font-size:10px;font-weight:700}.notification-item.notification-reminder{width:100%;border:0;border-bottom:1px solid #f0f2f5;background:#fff;text-align:left;cursor:pointer;font:inherit}.notification-icon.reminder{background:#fff4e5;color:#b54708;font-weight:900}.checkout-reminder-toast{position:fixed;right:24px;top:84px;z-index:300;display:none;align-items:center;gap:12px;width:min(430px,calc(100vw - 32px));padding:14px 16px;background:#fff;border:1px solid #f0d79d;border-left:4px solid #d97706;border-radius:12px;box-shadow:0 18px 45px #10182825}.checkout-reminder-toast.show{display:flex}.checkout-reminder-icon{width:34px;height:34px;border-radius:10px;background:#fff4e5;color:#b54708;display:grid;place-items:center;font-weight:900;flex:none}.checkout-reminder-copy{flex:1;min-width:0}.checkout-reminder-copy b,.checkout-reminder-copy span{display:block}.checkout-reminder-copy b{font-size:12px;color:#172033}.checkout-reminder-copy span{font-size:10px;color:#667085;line-height:1.5;margin-top:2px}.checkout-reminder-ok{border:1px solid #d9dfe8;background:#172033;color:#fff;border-radius:7px;padding:8px 13px;font-size:10px;font-weight:800;cursor:pointer}.checkout-reminder-ok:hover{background:#0f1726}@media(max-width:850px){.checkout-reminder-toast{top:72px;right:16px}.frontdesk-tables{gap:18px!important}}
/* V23 front desk history */
.fd-history-card{margin-top:22px;overflow:hidden}.fd-history-card .panel-head{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;padding:18px 20px}.fd-history-filter{display:flex;align-items:flex-end;gap:10px;margin:0}.fd-history-filter label{margin:0;font-size:9px;text-transform:uppercase;letter-spacing:.45px;color:#667085}.fd-history-filter input{display:block;margin-top:5px;height:38px;padding:8px 10px;border:1px solid #d9e1eb;border-radius:8px;background:#fff;color:#172033;font-size:11px}.fd-history-card .enterprise-table{min-width:980px}.fd-history-card .table-scroll{overflow:auto}.fd-history-card .status{white-space:nowrap}.fd-history-card .panel-head h2{margin:0}.fd-history-card .panel-head span{display:block;margin-top:4px;color:#8a94a6;font-size:9px}@media(max-width:700px){.fd-history-filter{width:100%}.fd-history-filter label{flex:1}.fd-history-filter input{width:100%}}

/* V27 guest ID document controls */
.fd-id-upload{display:inline-flex!important;align-items:center;gap:6px;font-size:11px;color:#5d6b82;vertical-align:middle}.fd-id-upload input{max-width:170px;font-size:11px;padding:4px}.enterprise-table td form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fd-id-upload span{white-space:nowrap}

/* V28 notification count badge */
.notification-count{position:absolute;right:-6px;top:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #fff;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;line-height:1;box-shadow:0 2px 5px #10182820}.notification-count[hidden]{display:none}.notification-trigger{overflow:visible}.notification-trigger svg{position:relative;z-index:1}@media(max-width:850px){.notification-count{right:-5px;top:-5px}}

/* V33 multi-branch UI */
.branch-switcher{display:flex;align-items:center;gap:7px;padding:0 12px;border-right:1px solid #e4e9f2;margin-right:4px}.branch-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8490a5;font-weight:700}.branch-switcher select{height:34px;border:1px solid #dbe2ec;border-radius:8px;background:#fff;color:#14213a;font-weight:600;font-size:12px;padding:0 28px 0 9px}.branch-current{font-size:12px;font-weight:600;color:#26354e;white-space:nowrap}@media(max-width:850px){.branch-switcher{display:none}}


/* V35 branch management polish */
.branch-switcher{display:flex;align-items:center;gap:8px;margin-left:6px}
.branch-switcher .branch-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:700}
.branch-switcher select,.branch-current{height:34px;border:1px solid #dbe3ef;border-radius:9px;background:#fff;padding:0 10px;font-size:12px;color:#0f2745;font-weight:600}
.branch-current{display:inline-flex;align-items:center}
@media(max-width:1050px){.branch-switcher .branch-label{display:none}}
@media(max-width:850px){.branch-switcher{display:none}}

/* V37 enterprise branch switch modal */
.branch-switcher{display:flex;align-items:center;gap:8px;margin-left:6px}
.branch-switcher .branch-label{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#64748b;font-weight:800}
.branch-switch-btn{height:36px;min-width:148px;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px 0 13px;border:1px solid #d9e1ec;border-radius:9px;background:#fff;color:#10233f;font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease;box-shadow:0 1px 2px rgba(15,39,69,.03)}
.branch-switch-btn:hover{border-color:#b9c8dc;box-shadow:0 4px 12px rgba(15,39,69,.08)}
.branch-switch-btn svg{width:16px;height:16px;flex:0 0 auto;color:#64748b}
.branch-switch-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.branch-modal{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:24px}
.branch-modal.show{display:flex}
.branch-modal-backdrop{position:absolute;inset:0;background:rgba(9,18,32,.46);backdrop-filter:blur(3px)}
.branch-modal-card{position:relative;width:min(520px,100%);max-height:min(720px,calc(100vh - 48px));overflow:auto;background:#fff;border:1px solid #dfe6ef;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.24);animation:branchModalIn .16s ease-out}
@keyframes branchModalIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.branch-modal-head{display:flex;justify-content:space-between;gap:20px;padding:24px 24px 18px;border-bottom:1px solid #edf1f6}
.branch-modal-kicker{font-size:10px;letter-spacing:.12em;font-weight:800;color:#2563eb}
.branch-modal-head h2{margin:5px 0 4px;font-size:22px;color:#10233f}
.branch-modal-head p{margin:0;color:#718096;font-size:12px}
.branch-modal-close{width:34px;height:34px;border:1px solid #dce4ef;border-radius:9px;background:#fff;color:#475569;font-size:22px;line-height:1;cursor:pointer}
.branch-modal-current{margin:18px 24px 12px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:12px}
.branch-modal-current span{font-size:11px;color:#64748b}.branch-modal-current strong{font-size:12px;color:#10233f}
.branch-modal-list{padding:0 24px 10px;display:grid;gap:8px}
.branch-option{width:100%;display:flex;align-items:center;gap:12px;padding:13px 12px;text-align:left;border:1px solid #e1e7ef;border-radius:11px;background:#fff;color:#10233f;cursor:pointer;transition:.16s ease}
.branch-option:hover{border-color:#b8c8df;background:#f8fbff;transform:translateY(-1px)}
.branch-option.selected{border-color:#8db4ff;background:#f4f8ff;box-shadow:inset 3px 0 0 #2563eb}
.branch-option-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eef4ff;color:#2563eb;font-size:14px;font-weight:800;flex:0 0 auto}
.branch-option-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.branch-option-copy strong{font-size:13px}.branch-option-copy small{font-size:10px;color:#718096}.branch-option-arrow{margin-left:auto;font-size:20px;color:#94a3b8}
.branch-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 24px 20px;border-top:1px solid #edf1f6}.branch-modal-foot span{font-size:10px;color:#8793a6}
body.modal-open{overflow:hidden}
@media(max-width:850px){.branch-switcher{margin-left:0}.branch-switcher .branch-label{display:none}.branch-switch-btn{min-width:120px}.branch-modal{padding:14px}.branch-modal-card{max-height:calc(100vh - 28px)}.branch-modal-head,.branch-modal-list{padding-left:18px;padding-right:18px}.branch-modal-current{margin-left:18px;margin-right:18px}.branch-modal-foot{padding-left:18px;padding-right:18px}}
/* V49 enterprise operations */
.forecast-grid{display:grid;grid-template-columns:repeat(14,minmax(68px,1fr));gap:9px;padding:18px;overflow-x:auto}.forecast-day{min-width:68px}.forecast-day span{display:block;font-size:9px;color:#8a94a6;text-transform:uppercase}.forecast-day b{display:block;font-size:10px;margin:3px 0 8px}.forecast-day strong{font-size:10px}.forecast-track{height:7px;background:#edf1f5;border-radius:99px;overflow:hidden;margin-bottom:5px}.forecast-track i{display:block;height:100%;background:#2563eb;border-radius:99px}.table-scroll{overflow:auto}.inline-form{flex-wrap:wrap;align-items:center}.inline-form input,.inline-form select{min-width:90px}@media(max-width:900px){.forecast-grid{grid-template-columns:repeat(7,minmax(68px,1fr))}}

/* V50 enterprise operations UI */

/* V51 enterprise baseline: shared layout, accessibility and responsive guardrails. */
:root{--ui-ink:#172033;--ui-muted:#667085;--ui-line:#e4e9f0;--ui-soft:#f7f9fc;--ui-brand:#2563eb;--ui-radius:12px}
html{scroll-behavior:smooth;overflow-x:hidden}
body{overflow-x:hidden;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{box-sizing:border-box}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:2px}
.page{max-width:1540px;margin:0 auto}
.page-head{min-width:0}
.page-head>div:first-child{min-width:0}
.page-head h1,.page-head p{overflow-wrap:anywhere}
.page h1{color:#10233f;font-weight:800}
.page-head p,.muted{line-height:1.6}
.panel,.card,.metric,.room-card{box-shadow:0 4px 16px rgba(16,24,40,.045)}
.panel-head,.card{min-width:0}
.actions{flex-wrap:wrap;align-items:center}
.btn{min-height:38px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.btn:hover{box-shadow:0 4px 12px rgba(37,99,235,.14);transform:translateY(-1px)}
.btn.secondary:hover,.btn.ghost:hover{box-shadow:0 4px 12px rgba(16,24,40,.08)}
input,select,textarea{min-height:38px;transition:border-color .16s ease,box-shadow .16s ease}
input:focus,select:focus,textarea:focus{border-color:#8db4ff;box-shadow:0 0 0 3px rgba(37,99,235,.10);outline:0}
textarea{line-height:1.5}
.form{min-width:0}
.form>label,.form>.full,.form>div{min-width:0}
.table-scroll,.rooms-availability-table,.board-scroll,.rack-scroll{max-width:100%;-webkit-overflow-scrolling:touch}
.enterprise-table td,.enterprise-table th,.table td,.table th{overflow-wrap:anywhere}
.enterprise-table td form{min-width:0}
.reservation-actions,.reservation-action-group{max-width:100%}
.profile-btn{min-width:34px;min-height:34px;justify-content:center}
.profile-name,.profile-btn .chev{display:none}
.top-actions{min-width:0}
.branch-switcher{min-width:0}
.branch-switch-name{max-width:190px}
.sidebar nav a{transition:background .16s ease,color .16s ease}
.sidebar nav a[aria-current="page"]{background:#1a273a;color:#fff;box-shadow:inset 3px 0 0 #60a5fa}
@media(max-width:1100px){.page{padding-left:24px;padding-right:24px}.branch-switch-name{max-width:150px}.topbar{padding-left:24px;padding-right:24px}}
@media(max-width:900px){.page-head{gap:14px}.actions{width:100%}.actions .btn{flex:0 0 auto}.panel-head{gap:12px;align-items:flex-start;flex-wrap:wrap}.panel-head>*,.toolbar>*{min-width:0}.content-grid{min-width:0}.enterprise-table{min-width:680px}}
@media(max-width:650px){.page{padding:18px 12px}.page h1{font-size:23px;letter-spacing:-.35px}.page-head{margin-bottom:17px}.page-head p{font-size:11px}.card{padding:15px}.panel-head{padding:15px}.btn{min-height:40px;padding:9px 11px}.actions .btn{width:auto;max-width:100%;white-space:normal}.form{gap:12px}.metric{padding:14px}.metric strong{font-size:19px}.enterprise-table th,.enterprise-table td,.table th,.table td{padding:10px}.notification-panel,.profile-menu{max-width:calc(100vw - 24px)}.branch-switch-name{max-width:120px}}
