@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@500;600;700&display=swap";:root{color:#17231d;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f1eb;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-loading{color:#667269;place-items:center;min-height:100vh;display:grid}.login-shell{grid-template-columns:minmax(380px,1fr) minmax(520px,1fr);min-height:100vh;display:grid}.login-intro{color:#fffaf0;background:linear-gradient(150deg,#0d6070 0%,#137f89 52%,#4aa7a4 100%);flex-direction:column;justify-content:space-between;padding:46px 58px;display:flex;position:relative;overflow:hidden}.login-intro:before{content:"";pointer-events:none;background:radial-gradient(circle at 15% 18%,#ffdd9e38,#0000 28%),linear-gradient(#0000 70%,#05455338);position:absolute;inset:0}.login-intro:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:560px;height:560px;position:absolute;bottom:-220px;right:-250px;box-shadow:0 0 0 78px #ffffff0b,0 0 0 156px #ffffff07}.brand{letter-spacing:-.5px;align-items:center;gap:12px;font:700 20px Manrope,sans-serif;display:flex}.brand-logo{object-fit:cover;border-radius:50%;flex:none;width:42px;height:42px;display:block;box-shadow:0 5px 20px #ffd38529}.login-brand-logo{width:46px;height:46px}.brand-mark{color:#075e6c;background:#ffd385;border-radius:50% 50% 50% 12px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 5px 20px #ffd38538}.eyebrow{color:#ffe0a6;letter-spacing:2.2px;font-size:11px;font-weight:700}.intro-copy{z-index:1;max-width:600px;position:relative}.intro-copy h1{letter-spacing:-3.5px;margin:18px 0 26px;font:600 clamp(46px,5vw,76px)/1.04 Manrope,sans-serif}.intro-copy p{color:#d9f0ed;max-width:480px;font-size:18px;line-height:1.65}.intro-footer{color:#bde0dc;letter-spacing:1.4px;text-transform:uppercase;z-index:1;gap:38px;font-size:12px;display:flex;position:relative}.login-panel{background:#f8f2e7;place-items:center;padding:48px;display:grid}.login-card{gap:24px;width:min(420px,100%);display:grid}.login-card h2{letter-spacing:-1.5px;margin:10px 0 8px;font:650 38px/1.15 Manrope,sans-serif}.login-card>div>p{color:#778079;margin:0}.login-card label{color:#3b463f;gap:9px;font-size:13px;font-weight:600;display:grid}.login-card input{color:#17231d;background:#fff;border:1px solid #d9dbd5;border-radius:10px;outline:none;width:100%;padding:15px 16px;transition:all .2s}.login-card input:focus{border-color:#16828b;box-shadow:0 0 0 3px #16828b1c}.login-card button{color:#fff;background:#0d6875;border:0;border-radius:10px;justify-content:space-between;padding:16px 18px;font-weight:600;transition:all .2s;display:flex}.login-card button:hover{background:#11808a;transform:translateY(-1px)}.login-card button:disabled{opacity:.65;transform:none}.login-card small{color:#929992;text-align:center}.form-error{color:#9b2c2c;background:#fbeaea;border-radius:9px;padding:12px 14px;font-size:13px}.app-shell{background:#f5f2eb;grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{color:#eef9f7;z-index:30;background:linear-gradient(#095e6c 0%,#084f5d 100%);flex-direction:column;height:100vh;padding:30px 20px 22px;display:flex;position:sticky;top:0;box-shadow:10px 0 32px #084f5d12}.sidebar-brand{align-items:center;gap:11px;padding:0 8px;display:flex;position:relative}.sidebar-brand .brand-logo{border:2px solid #ffffff47;width:42px;height:42px}.sidebar-brand>div{gap:1px;display:grid}.sidebar-brand strong{font:700 18px Manrope,sans-serif}.sidebar-brand small{color:#9acbc8;letter-spacing:2.1px;font-size:8px}.sidebar-close{display:none}.app-sidebar nav{gap:5px;margin-top:48px;display:grid}.app-sidebar nav button{color:#acd1ce;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;width:100%;padding:11px 13px;font-size:14px;transition:color .18s,background .18s,transform .18s;display:flex}.app-sidebar nav button:hover{color:#fff;background:#ffffff12;transform:translate(2px)}.app-sidebar nav button.active{color:#fff;background:#ffffff21;box-shadow:inset 3px 0 #ffd385}.nav-icon{flex:none;width:20px;height:20px}.sidebar-note{border-top:1px solid #ffffff1c;align-items:center;gap:10px;margin-top:auto;padding:20px 7px 0;display:flex}.sidebar-note-logo{object-fit:cover;border-radius:9px;width:32px;height:32px}.sidebar-note div{display:grid}.sidebar-note strong{font-size:12px}.sidebar-note small{color:#85b4b2;font-size:10px}.app-main{min-width:0}.app-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border-bottom:1px solid #e3e1da;justify-content:space-between;align-items:center;height:76px;padding:0 36px;display:flex;position:sticky;top:0}.header-property{color:#5e6962;align-items:center;gap:9px;font-size:13px;display:flex}.status-dot{background:#43a77a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #43a77a1f}.mobile-menu{display:none}.user-menu{position:relative}.user-trigger{color:#26332c;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:7px 8px;display:flex}.user-trigger:hover{background:#f0f3ef}.user-avatar{color:#075f6c;text-transform:uppercase;background:#f6d698;border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-weight:700;display:grid}.user-copy{text-align:left;min-width:110px;display:grid}.user-copy strong{font-size:13px}.user-copy small{color:#8a938d;letter-spacing:1px;font-size:9px}.chevron{color:#849088}.user-dropdown{background:#fff;border:1px solid #e0e3dd;border-radius:12px;width:230px;padding:9px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 18px 45px #1c332724}.user-dropdown>div{border-bottom:1px solid #eceee9;padding:10px 11px 12px;display:grid;overflow:hidden}.user-dropdown strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-dropdown small{color:#849088;margin-top:3px;font-size:10px}.user-dropdown button{color:#9b3939;text-align:left;background:0 0;border:0;border-radius:8px;width:100%;margin-top:6px;padding:9px 11px}.user-dropdown button:hover{background:#fbefed}.app-content{padding:42px clamp(24px,4vw,58px) 70px}.page{max-width:1180px;margin:0 auto}.page-heading h1{letter-spacing:-1.8px;margin:8px 0;font:650 clamp(30px,4vw,42px) Manrope,sans-serif}.page-heading p{color:#768079;margin:0}.page .eyebrow{color:#b87e2e}.module-placeholder{background:#ffffffd1;border:1px solid #e1e0d9;border-radius:18px;max-width:650px;margin-top:58px;padding:36px;box-shadow:0 18px 50px #1e30260e}.module-placeholder>span{color:#c18b3b;letter-spacing:1px;font:700 12px Manrope}.module-placeholder h2{margin:17px 0 9px;font:650 25px Manrope}.module-placeholder p{color:#778079;margin:0;line-height:1.6}.user-chip{color:#266a64;background:#e8f1ef;border-radius:999px;margin-top:25px;padding:8px 12px;font-size:11px;display:inline-block}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#07272c8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-modal{text-align:center;background:#fff;border-radius:17px;width:min(400px,100%);padding:30px;box-shadow:0 30px 80px #04232747}.modal-icon{color:#a13d39;background:#faece9;border-radius:50%;place-items:center;width:45px;height:45px;margin:auto;font-size:22px;display:grid}.confirm-modal h2{margin:17px 0 8px;font:650 23px Manrope}.confirm-modal p{color:#778079;margin:0}.confirm-modal>div{grid-template-columns:1fr 1fr;gap:10px;margin-top:25px;display:grid}.confirm-modal button{border-radius:9px;padding:11px;font-weight:600}.button-secondary{color:#536159;background:#fff;border:1px solid #d9ddd7}.button-danger{color:#fff;background:#a94843;border:1px solid #9e433f}.fatal-error{text-align:center;background:#f8f2e7;place-content:center;justify-items:center;min-height:100vh;padding:24px;display:grid}.fatal-error h1{margin:20px 0 8px;font:650 30px Manrope}.fatal-error p{color:#778079}.fatal-error button{color:#fff;background:#0d6875;border:0;border-radius:9px;margin-top:22px;padding:11px 18px}.sidebar-backdrop{display:none}.primary-button{color:#fff;background:#0d6875;border:0;border-radius:9px;padding:11px 16px;font-weight:650;box-shadow:0 6px 16px #0d687526}.primary-button:hover{background:#117b85}.primary-button:disabled{opacity:.6;cursor:wait}.rooms-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.room-filters{background:#ffffffb8;border:1px solid #e0e1db;border-radius:13px;grid-template-columns:minmax(220px,1fr) 190px 190px;gap:12px;margin-top:30px;padding:16px;display:grid}.room-filters label{gap:6px;display:grid}.room-filters label span{color:#7d8780;letter-spacing:.8px;text-transform:uppercase;font-size:9px;font-weight:700}.room-filters input,.room-filters select,.room-form-grid input,.room-form-grid select,.room-form-grid textarea{color:#26332c;background:#fff;border:1px solid #d9ddd7;border-radius:8px;outline:none;width:100%;padding:10px 11px}.room-filters input:focus,.room-filters select:focus,.room-form-grid input:focus,.room-form-grid select:focus,.room-form-grid textarea:focus{border-color:#16808a;box-shadow:0 0 0 3px #16808a1a}.room-form-grid [aria-invalid=true]{border-color:#ba5a50}.rooms-card{background:#ffffffd6;border:1px solid #e0e1db;border-radius:15px;margin-top:18px;overflow:hidden;box-shadow:0 12px 32px #1a37290a}.rooms-card>header{border-bottom:1px solid #e7e8e3;justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding:15px 20px;display:flex}.rooms-card>header strong{font-size:13px}.rooms-card>header small{color:#8a938d;font-size:10px}.rooms-table-wrap{overflow-x:auto}.rooms-table{border-collapse:collapse;width:100%;min-width:850px}.rooms-table th{color:#89918b;letter-spacing:1px;text-align:left;text-transform:uppercase;background:#f8f9f6;padding:12px 18px;font-size:8px}.rooms-table td{color:#58645c;border-top:1px solid #eceee9;padding:16px 18px;font-size:11px}.rooms-table td:first-child{gap:3px;display:grid}.rooms-table td:first-child strong{color:#26332c;font-size:12px}.rooms-table td:first-child span{color:#8b948e;font-size:10px}.room-status{border-radius:999px;padding:5px 9px;font-size:9px;font-weight:700;display:inline-flex}.room-status.active{color:#247454;background:#e8f4ed}.room-status.maintenance{color:#98621c;background:#faf0dc}.room-status.inactive{color:#777f79;background:#eceeeb}.row-actions{justify-content:flex-end;gap:5px;display:flex}.row-actions button{color:#14717a;background:0 0;border:0;padding:6px 8px;font-size:10px}.row-actions button:hover{background:#e9f3f1;border-radius:6px}.row-actions button.danger-link{color:#a34842}.row-actions button.danger-link:hover{background:#faece9}.rooms-empty{color:#8b958e;place-content:center;justify-items:center;min-height:260px;display:grid}.rooms-empty>span{color:#b77d2d;background:#faf0dc;border-radius:13px;place-items:center;width:44px;height:44px;font-size:23px;display:grid}.rooms-empty strong{color:#58645c;margin-top:13px;font-size:13px}.rooms-empty p{margin:5px 0 0;font-size:10px}.rooms-loading{align-content:center;gap:12px;min-height:260px;padding:30px;display:grid}.rooms-loading i{background:linear-gradient(90deg,#eceeea,#f8f9f7,#eceeea) 0 0/200% 100%;border-radius:8px;height:38px;animation:1.3s infinite shimmer-bg}@keyframes shimmer-bg{to{background-position:-200% 0}}.room-pagination{color:#7c867f;border-top:1px solid #e7e8e3;justify-content:center;align-items:center;gap:18px;padding:14px;font-size:10px;display:flex}.room-pagination button{color:#516059;background:#fff;border:1px solid #d9ddd7;border-radius:7px;padding:7px 10px}.room-pagination button:disabled{opacity:.4}.room-modal{background:#fff;border-radius:17px;width:min(720px,100%);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 30px 80px #04232747}.room-modal>header{z-index:2;background:#fff;border-bottom:1px solid #e6e8e3;justify-content:space-between;align-items:start;padding:22px 25px 17px;display:flex;position:sticky;top:0}.room-modal h2{margin:5px 0 0;font:650 22px Manrope}.room-modal>header>button{color:#7b867f;background:0 0;border:0;font-size:25px}.room-modal form{padding:22px 25px 25px}.room-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.room-form-grid label{color:#556159;align-content:start;gap:7px;font-size:11px;font-weight:650;display:grid}.room-form-grid label.full{grid-column:1/-1}.room-form-grid label small{color:#a2433d;font-size:9px}.room-form-grid label em{color:#919a94;font-size:9px;font-style:normal;font-weight:400}.room-form-grid textarea{resize:vertical}.room-modal form>footer{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.room-modal form>footer button{border-radius:9px;padding:10px 16px}.room-form-error{color:#813c35;background:#fff1ee;border:1px solid #edc6bf;border-radius:9px;gap:4px;margin-bottom:18px;padding:12px 14px;font-size:11px;display:grid}.room-form-error small{font-size:9px}.customer-filters{grid-template-columns:minmax(260px,1fr) 200px}.customers-table{min-width:1000px}.customer-contact{gap:3px;display:grid}.customer-contact small{color:#8b948e;font-size:9px}.customer-name-link{color:inherit;text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.customer-name-link:hover strong{color:#0d7880;text-underline-offset:3px;text-decoration:underline}.customer-name-link span{color:#8b948e;font-size:10px}.back-link{color:#16737b;background:0 0;border:0;margin-bottom:25px;padding:6px 0;font-size:11px}.back-link:hover{text-underline-offset:3px;text-decoration:underline}.customer-profile-heading{align-items:center;gap:20px;display:flex}.customer-profile-avatar{color:#075f6c;text-transform:uppercase;background:linear-gradient(145deg,#f8d99e,#f2c575);border-radius:20px;flex:none;place-items:center;width:72px;height:72px;font:700 22px Manrope;display:grid}.customer-profile-heading h1{letter-spacing:-1.4px;margin:8px 0 3px;font:650 clamp(28px,4vw,40px) Manrope}.customer-profile-heading p{color:#7d8780;margin:0;font-size:11px}.customer-detail-grid{background:#ffffffbf;border:1px solid #e0e1db;border-radius:13px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;display:grid;overflow:hidden}.customer-detail-grid article,.customer-stats article{border-right:1px solid #e5e6e0;gap:6px;min-width:0;padding:17px 20px;display:grid}.customer-detail-grid article:last-child,.customer-stats article:last-child{border-right:0}.customer-detail-grid span,.customer-stats span{color:#8b948e;letter-spacing:1px;text-transform:uppercase;font-size:8px;font-weight:700}.customer-detail-grid strong{color:#4c5a51;text-overflow:ellipsis;font-size:11px;overflow:hidden}.customer-stats{background:#edf5f2;border:1px solid #d9e4df;border-radius:13px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px;display:grid;overflow:hidden}.customer-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-stats strong{color:#183e39;font:650 19px Manrope}.customer-history-card{background:#ffffffd6;border:1px solid #e0e1db;border-radius:15px;margin-top:32px;overflow:hidden}.customer-history-card>header{border-bottom:1px solid #e7e8e3;justify-content:space-between;align-items:center;padding:20px 23px;display:flex}.customer-history-card h2{margin:5px 0 0;font:650 20px Manrope}.customer-history-card>header>span{color:#0b6c76;background:#e6f3f1;border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:10px;display:grid}.customer-history-empty{color:#8b958e;place-content:center;justify-items:center;min-height:245px;display:grid}.customer-history-empty>span{color:#b77d2d;background:#faf0dc;border-radius:13px;place-items:center;width:45px;height:45px;font-size:22px;display:grid}.customer-history-empty strong{color:#58645c;margin-top:13px;font-size:13px}.customer-history-empty p{margin:5px 0 0;font-size:10px}.customer-notes{background:#ffffffa6;border:1px solid #e0e1db;border-radius:13px;margin-top:16px;padding:20px 23px}.customer-notes span{color:#b87e2e;letter-spacing:1px;font-size:8px;font-weight:700}.customer-notes p{color:#59665e;white-space:pre-wrap;margin:8px 0 0;font-size:11px;line-height:1.6}.customer-stays-table td:first-child,.customer-stays-table td:nth-child(3){gap:3px;display:grid}.customer-stays-table td:first-child span,.customer-stays-table td:nth-child(3) span{color:#8b948e;font-size:9px}.detail-loading{gap:14px;display:grid}.detail-loading i{background:linear-gradient(90deg,#e8ebe7,#f7f8f5,#e8ebe7) 0 0/200%;border-radius:13px;height:80px;animation:1.3s infinite shimmer-bg}.calendar-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.calendar-nav{background:#ffffffbf;border:1px solid #dfe1dc;border-radius:10px;gap:5px;padding:4px;display:flex}.calendar-nav button{color:#526159;background:0 0;border:0;border-radius:7px;min-width:37px;padding:8px 11px;font-size:11px}.calendar-nav button:hover{color:#fff;background:#0d6875}.calendar-controls{background:#ffffffb8;border:1px solid #e0e1db;border-radius:13px;align-items:end;gap:11px;margin-top:28px;padding:15px 17px;display:flex}.calendar-controls label{color:#7d8780;letter-spacing:.7px;text-transform:uppercase;gap:6px;font-size:9px;font-weight:700;display:grid}.calendar-controls input{color:#26332c;background:#fff;border:1px solid #d9ddd7;border-radius:8px;outline:none;min-width:145px;padding:9px 10px}.calendar-controls input:focus{border-color:#16808a;box-shadow:0 0 0 3px #16808a1a}.calendar-summary{color:#77827b;align-items:center;gap:15px;margin-left:auto;font-size:10px;display:flex}.calendar-summary span,.availability-legend span{align-items:center;gap:6px;display:flex}.calendar-summary i,.availability-legend i{border-radius:3px;width:9px;height:9px}.availability-card{background:#ffffffe0;border:1px solid #dfe1dc;border-radius:15px;min-height:300px;margin-top:17px;overflow:hidden;box-shadow:0 12px 32px #1a37290a}.availability-scroll{max-height:620px;overflow:auto}.availability-grid{min-width:calc(180px + var(--calendar-days) * 64px);grid-template-columns:180px repeat(var(--calendar-days), 64px);display:grid}.availability-header{z-index:5;color:#7e8982;background:#f7f8f5;border-bottom:1px solid #dfe2dc;position:sticky;top:0}.availability-header>div{border-right:1px solid #e6e8e3;place-content:center;justify-items:center;min-height:58px;display:grid}.availability-header>div span{text-transform:uppercase;font-size:8px;font-weight:700}.availability-header>div strong{color:#536159;margin-top:3px;font-size:10px}.availability-header>div.today{color:#a76c21;background:#fff6e5}.availability-header .room-column,.availability-row .room-column{z-index:4;place-content:center start;justify-items:start;padding:0 16px;position:sticky;left:0;box-shadow:6px 0 14px #1e352909}.availability-header .room-column{z-index:7;color:#89918b;letter-spacing:1px;text-transform:uppercase;font-size:8px;font-weight:700}.availability-row{border-bottom:1px solid #eaebe7}.availability-row:last-child{border-bottom:0}.availability-row .room-column{background:#fff;min-height:62px}.availability-row .room-column strong{color:#29372f;font-size:11px}.availability-row .room-column span{color:#89928c;text-overflow:ellipsis;white-space:nowrap;max-width:145px;margin-top:2px;font-size:9px;overflow:hidden}.availability-cell{background:#f4faf7;border-right:1px solid #eceee9;place-items:center;min-height:62px;display:grid}.availability-cell span{color:#3d856a;text-align:center;text-overflow:ellipsis;background:#dff1e8;border-radius:6px;width:44px;padding:5px 2px;font-size:7px;font-weight:700;overflow:hidden}.availability-cell.today{box-shadow:inset 2px 0 #efc570,inset -2px 0 #efc570}.availability-cell.maintenance{background:#fbf7ed}.availability-cell.maintenance span{color:#97651f;background:#f7e8c8}.availability-cell.occupied span,.availability-legend i.occupied{color:#8d443d;background:#f4dcd8}.availability-cell.arrival span,.availability-legend i.arrival{color:#416a9a;background:#dfe8f5}.availability-cell.departure span,.availability-legend i.departure{color:#71558c;background:#eae0f2}.availability-cell.blocked span,.availability-legend i.blocked{color:#626b65;background:#e3e6e3}.availability-legend i.available,.calendar-summary i.available{background:#77bb9b}.availability-legend i.maintenance,.calendar-summary i.maintenance{background:#e4b75d}.availability-legend{color:#7f8983;flex-wrap:wrap;gap:15px;margin-top:13px;font-size:9px;display:flex}.bookings-table{min-width:1100px}.booking-total{color:#68756d;background:#edf5f2;border:1px solid #d8e4df;border-radius:10px;justify-content:space-between;align-items:center;padding:14px 16px;font-size:11px;display:flex}.booking-total strong{color:#153e39;font:650 20px Manrope}.booking-status{border-radius:999px;padding:5px 8px;font-size:8px;font-weight:700;display:inline-flex}.booking-status.confirmed{color:#416a9a;background:#e2eaf5}.booking-status.checked_in{color:#247454;background:#e2f1e9}.booking-status.checked_out{color:#68518a;background:#ebe3f2}.booking-status.cancelled{color:#8e4c45;background:#f5e2df}.customer-picker{font-weight:400;position:relative}.customer-picker>small{color:#a2433d;margin-top:6px;font-size:9px;display:block}.customer-picker-menu{z-index:25;background:#fff;border:1px solid #dce0da;border-radius:10px;max-height:300px;padding:7px;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 45px #1831252e}.customer-picker-menu .create-customer-option{color:#0d7179;text-align:left;background:#eaf4f2;border:0;border-radius:7px;width:100%;padding:10px;font-size:11px;font-weight:700}.customer-picker-menu>p{color:#838d87;margin:0;padding:17px 10px;font-size:10px;font-weight:400}.customer-picker-menu>p.picker-error{color:#9a453f}.customer-picker-results{margin-top:5px;display:grid}.customer-picker-results button{color:#35433b;text-align:left;background:0 0;border:0;border-radius:7px;gap:2px;padding:9px 10px;display:grid}.customer-picker-results button:hover{background:#f0f5f2}.customer-picker-results strong{font-size:11px}.customer-picker-results span{color:#8a938d;font-size:9px}.customer-picker-menu>footer{color:#969e99;border-top:1px solid #eceeea;padding:8px 8px 2px;font-size:8px;font-weight:400}.quick-customer-backdrop{z-index:150}.quick-customer-modal{width:min(610px,100%)}.booking-detail-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.booking-detail-heading h1{margin:10px 0 4px;font:650 36px Manrope}.booking-detail-heading p{color:#7c867f;margin:0}.booking-actions{gap:8px;display:flex}.booking-actions button{border-radius:9px;padding:10px 14px}.booking-financial{background:#edf5f2;border:1px solid #d9e4df;border-radius:13px;grid-template-columns:repeat(3,1fr);margin-top:28px;display:grid;overflow:hidden}.booking-financial article{border-right:1px solid #d9e4df;gap:7px;padding:19px 22px;display:grid}.booking-financial article:last-child{border:0}.booking-financial span{color:#7c8981;letter-spacing:1px;text-transform:uppercase;font-size:8px;font-weight:700}.booking-financial strong{font:650 21px Manrope}.departure-banner{color:#705021;background:#faedcf;border-radius:10px;justify-content:space-between;margin-top:14px;padding:14px 18px;font-size:11px;display:flex}.departure-banner.late{color:#684b83;background:#eee4f4}.booking-history{padding:4px 22px 15px;display:grid}.booking-history article{border-bottom:1px solid #eceee9;grid-template-columns:1fr 1fr auto;gap:15px;padding:13px 0;font-size:10px;display:grid}.booking-history time,.booking-history span{color:#89928c}.checkout-modal{width:min(520px,100%)}.payment-modal{width:min(760px,100%)}.payment-summary{grid-template-columns:repeat(3,1fr);gap:10px;padding:20px 25px 0;display:grid}.payment-summary article{background:#f8faf7;border:1px solid #e1e6e1;border-radius:11px;padding:14px}.payment-summary span,.payment-summary strong{display:block}.payment-summary span{color:#728078;font-size:12px}.payment-summary strong{margin-top:5px;font:650 20px Manrope}.payment-history{padding:0 25px 25px}.payment-history h3{font:650 16px Manrope}.payment-history>article{border-top:1px solid #e5e9e5;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:13px 0;display:grid}.payment-history article>div:first-child>*{display:block}.payment-history article span,.payment-history article small{color:#69766f;font-size:12px}.payment-history article>div:last-child{gap:7px;display:flex}.payment-history button{color:#17656a;background:0 0;border:0}.payment-history article.voided{opacity:.55;text-decoration:line-through}.payment-filters{grid-template-columns:2fr 1fr 1fr}.booking-picker-modal{width:min(560px,100%)}.booking-picker{padding:20px 25px}.booking-picker>input{border:1px solid #cfd8d1;border-radius:9px;width:100%;padding:11px}.booking-picker>button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e4e9e5;width:100%;padding:13px 4px}.booking-picker>button strong,.booking-picker>button span{display:block}.booking-picker>button span{color:#6c7972;margin-top:3px;font-size:12px}.checkout-form{gap:15px;padding:22px;display:grid}.checkout-form label{color:#556159;gap:7px;font-size:11px;font-weight:650;display:grid}.checkout-form input,.checkout-form select{background:#fff;border:1px solid #d9ddd7;border-radius:8px;padding:10px}@media (width<=800px){.booking-detail-heading{flex-direction:column;align-items:stretch}.booking-financial{grid-template-columns:1fr}.booking-financial article{border-bottom:1px solid #d9e4df;border-right:0}.departure-banner{flex-direction:column;align-items:flex-start;gap:5px}.booking-history article{grid-template-columns:1fr}.booking-actions{flex-wrap:wrap}}.dashboard-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.date-filter-wrap{position:relative}.period-filter{background:#ffffffbf;border:1px solid #dfdfd8;border-radius:10px;gap:3px;padding:4px;display:flex}.period-filter button{color:#737d76;background:0 0;border:0;border-radius:7px;padding:8px 13px;font-size:12px}.period-filter button.active{color:#fff;background:#0d6875;box-shadow:0 3px 10px #0d68752e}.date-popover{z-index:50;background:#fff;border:1px solid #dfe2dc;border-radius:13px;width:360px;padding:18px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 20px 55px #16342829}.date-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.date-fields label{color:#68736c;letter-spacing:.5px;gap:7px;font-size:10px;font-weight:700;display:grid}.date-fields input{color:#26332c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fafbf9;border:1px solid #d9ddd7;border-radius:8px;outline:none;width:100%;padding:10px}.date-fields input:focus{border-color:#16808a;box-shadow:0 0 0 3px #16808a1a}.date-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.date-actions button{color:#68736c;background:#fff;border:1px solid #d9ddd7;border-radius:8px;padding:8px 13px}.date-actions button.apply{color:#fff;background:#0d6875;border-color:#0d6875}.range-error{color:#a5453e;margin:10px 0 0;font-size:10px}.active-range{color:#89928c;align-items:center;gap:8px;margin-top:17px;font-size:10px;display:flex}.active-range span{letter-spacing:.7px;text-transform:uppercase}.active-range strong{color:#4c5a51;font-weight:600}.current-status-section{max-width:360px;margin-top:28px}.current-status-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.current-status-heading span{color:#b87e2e;letter-spacing:1.5px;font-size:9px;font-weight:700}.current-status-heading small{color:#929a95;font-size:9px}.current-occupancy-card{background:#fffaf0;border-color:#ead8b9}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:28px;display:grid}.kpi-card{background:#ffffffe0;border:1px solid #e0e1db;border-radius:15px;align-items:flex-start;gap:16px;min-height:145px;padding:22px;display:flex;box-shadow:0 12px 32px #1a37290a}.kpi-card>div{min-width:0;display:grid}.kpi-card small{color:#89918b;letter-spacing:1.2px;font-size:9px;font-weight:700}.kpi-label,.metric-label{align-items:center;gap:6px;display:flex}.info-tip{display:inline-flex;position:relative}.info-tip>button{color:#77827b;cursor:help;background:0 0;border:1px solid #b9c2bc;border-radius:50%;place-items:center;width:16px;height:16px;padding:0;font:700 9px Georgia,serif;display:grid}.info-tip>button:focus-visible{outline-offset:2px;outline:2px solid #16808a}.info-tip>span{z-index:60;color:#f5fbf9;letter-spacing:0;opacity:0;pointer-events:none;background:#123e43;border-radius:9px;width:245px;padding:10px 12px;font-size:10px;font-weight:400;line-height:1.45;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px);box-shadow:0 12px 30px #09313638}.info-tip>span:after{content:"";border:5px solid #0000;border-top-color:#123e43;position:absolute;top:100%;left:50%;transform:translate(-50%)}.info-tip:hover>span,.info-tip:focus-within>span{opacity:1;transform:translate(-50%)}.kpi-card strong{text-overflow:ellipsis;color:#1f3027;white-space:nowrap;margin-top:8px;font:650 25px Manrope,sans-serif;overflow:hidden}.kpi-card p{color:#98a09b;margin:6px 0 0;font-size:10px}.kpi-icon{border-radius:10px;flex:none;place-items:center;width:37px;height:37px;font:700 15px Manrope;display:grid}.kpi-icon.revenue{color:#08747a;background:#e3f4f1}.kpi-icon.occupancy{color:#b47728;background:#fbefd9}.kpi-icon.bookings{color:#526b9a;background:#e9eef8}.kpi-icon.balance{color:#9b5141;background:#f8eae5}.secondary-metrics{background:#ffffffad;border:1px solid #e0e1db;border-radius:13px;grid-template-columns:repeat(3,1fr);margin-top:14px;display:grid}.secondary-metrics article{border-right:1px solid #e5e6e0;min-width:0;padding:16px 20px}.secondary-metrics article:last-child{border-right:0}.metric-label>span{color:#89918b;letter-spacing:1.1px;font-size:8px;font-weight:700}.secondary-metrics strong{margin-top:7px;font:650 18px Manrope;display:block}.dashboard-section-title{justify-content:space-between;align-items:end;margin-top:48px;display:flex}.dashboard-section-title span,.upcoming-card header span{color:#b87e2e;letter-spacing:1.5px;font-size:9px;font-weight:700}.dashboard-section-title h2,.upcoming-card h2{margin:6px 0 0;font:650 23px Manrope}.dashboard-section-title time{color:#929a95;font-size:11px}.activity-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.activity-card{background:#fffc;border:1px solid #e0e1db;border-radius:15px;min-height:210px;padding:22px}.activity-card>header{justify-content:space-between;align-items:center;display:flex}.activity-card h2{margin:0;font:650 16px Manrope}.activity-card header>span{color:#0b6c76;background:#e6f3f1;border-radius:999px;place-items:center;min-width:25px;height:25px;padding:0 7px;font-size:10px;display:grid}.activity-empty{color:#9aa49e;place-content:center;justify-items:center;height:135px;display:grid}.activity-empty span{color:#479481;background:#eaf5f0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.activity-empty p{margin:10px 0 0;font-size:11px}.stay-list{margin-top:15px;display:grid}.stay-list article{border-top:1px solid #eceee9;justify-content:space-between;gap:16px;padding:12px 0;display:flex}.stay-list article div{display:grid}.stay-list strong{font-size:12px}.stay-list small,.stay-list time{color:#8c9690;font-size:10px}.upcoming-card{background:#fffc;border:1px solid #e0e1db;border-radius:15px;margin-top:18px;padding:24px}.upcoming-card>header{justify-content:space-between;align-items:center;display:flex}.upcoming-card header button{color:#16808a;background:0 0;border:0;font-size:11px}.upcoming-card header button:disabled{color:#a1a9a4;cursor:default}.upcoming-empty{color:#8c9690;justify-content:center;align-items:center;gap:14px;min-height:130px;display:flex}.upcoming-empty>span{color:#ba8437;background:#faf0dc;border-radius:12px;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.upcoming-empty div{gap:4px;display:grid}.upcoming-empty strong{color:#566159;font-size:12px}.upcoming-empty p{margin:0;font-size:10px}.dashboard-error{color:#813c35;background:#fff1ee;border:1px solid #edc6bf;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding:16px 18px;display:flex}.dashboard-error div{gap:3px;display:grid}.dashboard-error p{margin:0;font-size:11px}.dashboard-error small{margin-top:4px}.dashboard-error code{-webkit-user-select:all;user-select:all}.dashboard-error button{color:#813c35;background:#fff;border:1px solid #d7958b;border-radius:8px;padding:8px 12px}.skeleton-card,.skeleton-panel,.upcoming-skeleton{position:relative;overflow:hidden}.skeleton-card:after,.skeleton-panel:after,.upcoming-skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);animation:1.35s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-card{align-content:center;gap:10px;display:grid}.skeleton-card i{background:#e8ebe7;border-radius:5px;height:10px;display:block}.skeleton-card i:nth-child(2){width:70%;height:24px}.skeleton-card i:nth-child(3){width:45%}.skeleton-panel{opacity:.65;background:#e8ebe7}.upcoming-skeleton{opacity:.65;background:#e8ebe7;border-radius:9px;height:105px;margin-top:15px}@keyframes shimmer{to{transform:translate(100%)}}@media (width<=800px){.login-shell{grid-template-columns:1fr}.login-intro{min-height:270px;padding:28px}.intro-copy h1{margin:14px 0;font-size:42px}.intro-copy p,.intro-footer{display:none}.login-panel{padding:42px 24px}.app-shell{grid-template-columns:1fr}.app-sidebar{width:min(300px,86vw);transition:transform .22s;position:fixed;left:0;transform:translate(-102%);box-shadow:14px 0 60px #042a3047}.app-sidebar.open{transform:translate(0)}.sidebar-close{color:#d2e9e6;background:0 0;border:0;place-items:center;width:32px;height:32px;font-size:24px;display:grid;position:absolute;right:0}.sidebar-backdrop{z-index:25;background:#04242a7a;border:0;display:block;position:fixed;inset:0}.app-header{height:66px;padding:0 18px}.mobile-menu{background:#edf3f1;border:0;border-radius:9px;align-content:center;gap:4px;width:38px;height:38px;padding:9px;display:grid}.mobile-menu span{background:#236a69;border-radius:2px;height:2px;display:block}.header-property,.user-copy,.chevron{display:none}.app-content{padding:30px 20px 55px}.module-placeholder{margin-top:38px;padding:26px}.dashboard-heading{flex-direction:column;align-items:stretch}.period-filter{align-self:flex-start}.date-filter-wrap{align-self:flex-start;max-width:100%}.period-filter{flex-wrap:wrap}.date-popover{width:min(360px,100vw - 40px);left:0;right:auto}.kpi-grid{grid-template-columns:1fr 1fr}.secondary-metrics{grid-template-columns:1fr}.secondary-metrics article{border-bottom:1px solid #e5e6e0;border-right:0}.secondary-metrics article:last-child{border-bottom:0}.info-tip>span{left:auto;right:-15px;transform:translateY(4px)}.info-tip:hover>span,.info-tip:focus-within>span{transform:translateY(0)}.info-tip>span:after{left:auto;right:17px;transform:none}.activity-grid{grid-template-columns:1fr}.dashboard-section-title{flex-direction:column;align-items:flex-start;gap:6px}.dashboard-error,.rooms-heading{flex-direction:column;align-items:stretch}.rooms-heading .primary-button{align-self:flex-start}.room-filters{grid-template-columns:1fr}.rooms-card>header{flex-direction:column;align-items:flex-start;gap:3px}.customer-detail-grid,.customer-stats{grid-template-columns:1fr 1fr}.customer-detail-grid article:nth-child(2),.customer-stats article:nth-child(2){border-right:0}.customer-detail-grid article,.customer-stats article{border-bottom:1px solid #dfe6e1}.customer-detail-grid article:nth-last-child(-n+2),.customer-stats article:nth-last-child(-n+2){border-bottom:0}.calendar-heading{flex-direction:column;align-items:stretch}.calendar-nav{align-self:flex-start}.calendar-controls{flex-wrap:wrap;align-items:stretch}.calendar-controls label{flex:140px}.calendar-controls input{width:100%;min-width:0}.calendar-summary{width:100%;margin:4px 0 0}}@media (width<=480px){.current-status-section{max-width:none}.kpi-grid{grid-template-columns:1fr}.upcoming-empty{justify-content:flex-start}.date-fields,.room-form-grid{grid-template-columns:1fr}.room-form-grid label.full{grid-column:auto}.room-modal form,.room-modal>header{padding-left:18px;padding-right:18px}}.room-block-list{background:#fff;border:1px solid #e0e6e1;border-radius:14px;margin-top:22px;padding:20px 24px}.room-block-list h2{margin:0 0 12px;font:650 18px Manrope}.room-block-list>p{color:#748078}.room-block-list article{border-top:1px solid #e7ebe7;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.room-block-list article div>*{display:block}.room-block-list article span,.room-block-list article small{color:#6c7972;margin-top:3px}.room-block-list article button{color:#a13d39;background:0 0;border:0}.room-block-modal{width:min(620px,100%)}.room-block-modal textarea{resize:vertical;min-height:90px}.payment-history-heading,.payment-history-pagination{justify-content:space-between;align-items:center;gap:12px;display:flex}.payment-history-heading>span,.payment-history-pagination>span{color:#6c7972;font-size:12px}.payment-history-pagination{border-top:1px solid #e5e9e5;padding-top:15px}.payment-history-pagination button{padding:7px 0}.payment-history-pagination button:disabled{opacity:.4}.dashboard-privacy{justify-content:flex-end;align-items:center;gap:12px;margin-top:14px;display:flex}.dashboard-privacy small{color:#6d7972}.privacy-switch{cursor:pointer;align-items:center;gap:9px;display:flex}.privacy-switch input{opacity:0;pointer-events:none;position:absolute}.privacy-switch>span{background:#c8d0ca;border-radius:99px;width:40px;height:22px;transition:all .2s;position:relative}.privacy-switch>span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.privacy-switch input:checked+span{background:#176b6c}.privacy-switch input:checked+span:after{transform:translate(18px)}.privacy-switch input:focus-visible+span{outline:3px solid #93c8c7}.money-value{transition:filter .18s}.money-hidden{filter:blur(8px);-webkit-user-select:none;user-select:none}.report-filters{grid-template-columns:repeat(3,minmax(160px,220px));gap:12px;margin-bottom:18px;display:grid}.report-filters label{color:#647269;font-size:12px}.report-filters input,.report-filters select{background:#fff;border:1px solid #d7ddd8;border-radius:9px;width:100%;margin-top:5px;padding:10px;display:block}.report-kpis{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.report-kpis article{background:#fff;border:1px solid #e0e5df;border-radius:13px;padding:18px}.report-kpis span,.report-kpis strong,.report-kpis small{display:block}.report-kpis span,.report-kpis small{color:#6c7971;font-size:12px}.report-kpis strong{margin:7px 0;font:650 23px Manrope}.report-chart-card{background:#fff;border:1px solid #e0e5df;border-radius:14px;margin:18px 0;padding:20px}.report-chart-card header{justify-content:space-between;display:flex}.report-chart-card h2,.report-chart-card p{margin:0}.report-chart{align-items:end;gap:4px;height:230px;padding-top:22px;display:flex;overflow-x:auto}.report-bar-group{text-align:center;flex-direction:column;justify-content:end;min-width:18px;height:100%;display:flex}.report-bar-group>div{align-items:end;gap:2px;height:185px;display:flex}.report-bar-group i{border-radius:4px 4px 0 0;width:7px;display:block}.report-bar-group i.recognized{background:#ef9b5f}.report-bar-group i.collected{background:#1a7776}.report-bar-group small{color:#7d8982;font-size:9px}@media (width<=800px){.report-kpis{grid-template-columns:repeat(2,1fr)}.report-filters{grid-template-columns:1fr}.report-chart-card header{display:block}}.settings-tabs{gap:6px;margin:20px 0;display:flex}.settings-tabs button{background:#fff;border:1px solid #d9dfda;border-radius:9px;padding:10px 16px}.settings-tabs button.active{color:#fff;background:#176b6c}.settings-actions{justify-content:flex-end;margin-bottom:12px;display:flex}.property-settings-card{background:#fff;border:1px solid #dfe5df;border-radius:14px;max-width:620px;padding:24px}.property-settings-card h2{margin-top:0}.property-settings-card form{gap:15px;display:grid}.property-settings-card label,.property-settings-card input,.property-settings-card select{width:100%;display:block}.property-settings-card input,.property-settings-card select,.confirm-modal input{border:1px solid #d3dbd5;border-radius:8px;margin-top:5px;padding:10px}.property-settings-card small{color:#6c7971}.confirm-modal form>div{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}
