:root{--accent:#e94f64;--ink:#222;--muted:#717171;--line:#e6e6e6;--bg:#f7f7f7}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:Arial,PingFang SC,sans-serif}button,input,select,textarea{font:inherit}.login{background:#fff;place-items:center;height:100vh;display:grid}.login form{border:1px solid var(--line);border-radius:18px;width:400px;padding:42px;box-shadow:0 12px 45px #0001}.login h1{color:var(--accent);letter-spacing:-1px;margin:0;font-size:27px}.login p{color:var(--muted);margin-bottom:30px;font-size:13px}.login input{border:1px solid #bbb;width:100%;height:52px;margin:11px 0;padding:0 15px;display:block}.login input:first-of-type{border-radius:12px 12px 0 0;margin-bottom:-12px}.login input:last-of-type{border-radius:0 0 12px 12px}.login button{color:#fff;background:linear-gradient(90deg,#e94f64,#d93254);border:0;border-radius:10px;width:100%;height:50px;margin-top:12px;font-weight:700}.shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}aside{border-right:1px solid var(--line);background:#fff;padding:32px 22px;position:relative}aside h2{color:var(--accent);letter-spacing:-1px;margin:0;font-size:24px}aside>small{color:#999;letter-spacing:2px;font-size:8px}aside nav{gap:6px;margin-top:45px;display:grid}aside nav b{color:#555;border-radius:10px;padding:14px 16px;font-size:14px;font-weight:400}aside>button{color:#777;background:0 0;border:0;position:absolute;bottom:30px;left:38px}main{min-width:0;padding:34px 42px}main header{justify-content:space-between;align-items:center;display:flex}main header small{color:var(--accent);letter-spacing:1.5px;font-size:9px}main header h1{letter-spacing:-1px;margin:8px 0;font-size:30px}.stats{grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0;display:grid}.stats div{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.stats b{font-size:28px;display:block}.stats span{color:var(--muted);font-size:12px}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.panelhead{border-bottom:1px solid var(--line);justify-content:space-between;padding:20px 22px;display:flex}.panelhead span{color:#8c9590;font-size:11px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #eee;padding:14px 18px;font-size:12px}th{color:#888;font-size:10px}td:first-child{align-items:center;gap:12px;display:flex}td img{object-fit:cover;border-radius:8px;width:68px;height:50px}td span b,td span small{display:block}td span small{color:#8b948f;margin-top:5px;font-size:10px}td i{color:#347d58;background:#edf8f1;border-radius:20px;padding:6px 9px;font-size:9px;font-style:normal}.link{color:var(--accent);background:0 0;border:0}.modal{z-index:20;background:#0008;place-items:center;display:grid;position:fixed;inset:0}.modal>form{background:#fff;border-radius:18px;width:min(840px,92vw);max-height:90vh;padding:30px;overflow:auto}.modal h2{font-size:23px}.grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid input,.grid select,.grid textarea{border:1px solid #ccc;border-radius:9px;min-height:45px;padding:0 12px}.modal footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.modal footer button{background:#fff;border:1px solid #ddd;border-radius:9px;padding:12px 25px}.modal footer button:last-child{color:#fff;background:#222;border-color:#222}@media (width<=800px){.shell{grid-template-columns:1fr}aside{display:none}main{padding:20px}.stats{grid-template-columns:1fr}.panel{overflow:auto}.grid{grid-template-columns:1fr}}aside nav b{cursor:pointer}.shell aside nav b.active{color:#d93655;background:#fff0f2;font-weight:700}.actions{gap:10px;display:flex}.actions select{background:#fff;border:1px solid #ddd;border-radius:10px;padding:0 12px}.actions button{color:#fff;background:#222;border:0;border-radius:10px;padding:13px 22px}.contentEditor{padding:26px}.langtabs{gap:7px;margin-bottom:22px;display:flex}.langtabs button{background:#fff;border:1px solid #ddd;border-radius:20px;padding:9px 19px}.langtabs button.on{color:#fff;background:#222}.contentEditor label{border-bottom:1px solid #eee;grid-template-columns:180px 1fr;align-items:start;gap:20px;padding:13px;display:grid}.contentEditor label b{font-size:12px}.contentEditor textarea{resize:vertical;border:1px solid #ccc;border-radius:9px;padding:11px}.upload{gap:8px;display:flex}.upload>input{flex:1}.upload label{color:#fff;cursor:pointer;background:#e94f64;border-radius:9px;padding:13px}.upload label input{display:none}.preview{object-fit:cover;border-radius:10px;width:100%;height:130px}.empty{color:#888;background:#fff;border-radius:14px;place-items:center;height:260px;display:grid}.link+.link{margin-left:7px}@media (width<=800px){.contentEditor label{grid-template-columns:1fr}.actions select{max-width:105px}}.stats{grid-template-columns:repeat(4,1fr)}.settingsPanel{padding:28px;overflow:visible}.settingBlock+.settingBlock{border-top:1px solid #eee;margin-top:30px;padding-top:26px}.settingBlock h2,.pathStats h2{margin:0 0 20px;font-size:18px}.settingGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settingGrid label{gap:8px;display:grid}.settingGrid label b{color:#555;font-size:12px}.settingGrid select,.settingGrid textarea{resize:vertical;background:#fff;border:1px solid #ccc;border-radius:9px;min-height:44px;padding:11px}.switchGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.switchGrid>label{border:1px solid #e5e5e5;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.switchGrid span,.switchGrid b,.switchGrid small{display:block}.switchGrid small{color:#888;margin-top:5px}.switch{background:#bbb;border:0;border-radius:20px;flex:none;width:48px;height:28px;padding:3px}.switch i{background:#fff;border-radius:50%;width:22px;height:22px;transition:all .2s;display:block}.switch.on{background:#e94f64}.switch.on i{transform:translate(20px)}.footerContactHead{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.footerContactHead h2{margin-bottom:7px}.footerContactHead p{color:#7b837f;margin:0;font-size:12px}.footerContactHead>button{color:#fff;white-space:nowrap;background:#222;border:0;border-radius:9px;padding:11px 16px}.footerContactList{gap:12px;margin-top:18px;display:grid}.footerContactList article{background:#fafbfa;border:1px solid #e2e5e3;border-radius:12px;grid-template-columns:52px 110px minmax(150px,.65fr) minmax(230px,1.2fr) auto auto;align-items:end;gap:12px;padding:14px;display:grid}.footerContactList article>label:not(.footerIconUpload){gap:7px;display:grid}.footerContactList article b{color:#555;font-size:11px}.footerContactList article input,.footerContactList article select{background:#fff;border:1px solid #cdd2cf;border-radius:9px;height:42px;padding:0 11px}.footerIconPreview{background:#fff;border:1px solid #dde1df;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.footerIconPreview img{object-fit:contain;width:100%;height:100%}.footerIconPreview span{color:#9aa19d;font-size:20px}.footerIconUpload{color:#fff;white-space:nowrap;cursor:pointer;background:#e94f64;border-radius:9px;place-items:center;height:42px;padding:0 14px;font-size:12px;font-weight:700;display:grid}.footerIconUpload.busy{pointer-events:none;background:#999}.footerIconUpload input{display:none}.footerQrEditor{align-items:end;gap:10px;display:flex}.footerQrPreview{background:#fff;border:1px solid #d9dedb;border-radius:8px;flex:none;place-items:center;width:54px;height:54px;display:grid;overflow:hidden}.footerQrPreview img{object-fit:contain;width:100%;height:100%}.footerQrPreview span{color:#8c9490;text-align:center;padding:4px;font-size:9px;line-height:1.2}.footerQrEditor .footerIconUpload{flex:1}.removeFooterContact{color:#c62b48;background:#fff;border:1px solid #e9c6cc;border-radius:9px;height:42px;padding:0 13px}.adminEmpty.compact{background:#fafbfa;border:1px dashed #d8dcda;height:100px;margin-top:18px}.analyticsPanel{padding:24px}.analyticsCards{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px;display:grid}.analyticsCards div{background:#fafafa;border:1px solid #eee;border-radius:13px;padding:20px}.analyticsCards small,.analyticsCards b{display:block}.analyticsCards small{color:#777}.analyticsCards b{margin-top:8px;font-size:28px}.pathStats{border:1px solid #eee;border-radius:13px;margin-bottom:25px;padding:20px}.pathStats span{border-bottom:1px solid #eee;justify-content:space-between;padding:9px 0;display:flex}.pathStats span:last-child{border:0}.pathStats i{color:#d93655;background:#fff0f2;border-radius:15px;padding:4px 10px;font-style:normal}.tableScroll{overflow:auto}.analyticsPanel td:first-child{display:table-cell}.analyticsPanel td small{color:#999;text-overflow:ellipsis;white-space:nowrap;max-width:260px;display:block;overflow:hidden}.analyticsPanel .agent{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.adminRentPrices{white-space:nowrap;gap:4px;display:grid}.adminRentPrices small{color:#555;font-size:10px;display:block}.propertyPanelHead{align-items:center}.availabilityFilter{align-items:center;gap:10px;display:flex}.availabilityFilter label{align-items:center;gap:9px;display:flex}.availabilityFilter span{color:#68706c;font-size:11px}.availabilityFilter input{border:1px solid #d8dcda;border-radius:8px;padding:8px}.availabilityFilter button{color:#d93655;background:0 0;border:0}.availabilityFilter strong{text-align:center;background:#f2f4f3;border-radius:14px;min-width:28px;padding:5px 9px}.adminEmpty{text-align:center;color:#818985;padding:45px}.dateFilterControl{position:relative}.availabilityFilter .dateFieldTrigger{color:#222;text-align:left;background:#fff;border:1px solid #d8dcda;border-radius:12px;gap:4px;min-width:210px;padding:9px 13px;display:grid}.availabilityFilter .dateFieldTrigger span{color:#68706c;font-size:10px}.availabilityFilter .dateFieldTrigger b{font-size:12px}.availabilityFilter .calendarPopover{width:min(760px,80vw)}.rentalPanelHead{align-items:center}.rentalPanelHead>div:first-child b,.rentalPanelHead>div:first-child small{display:block}.rentalPanelHead>div:first-child small{color:#818985;margin-top:5px}.rentalFilters{align-items:center;gap:14px;display:flex}.rentalFilters>label:first-child{align-items:center;gap:8px;display:flex}.rentalFilters span{color:#68706c;font-size:11px}.rentalFilters input[type=date]{border:1px solid #d8dcda;border-radius:8px;padding:8px}.onlyAvailable{align-items:center;gap:5px;font-size:11px;display:flex}.rentalFilters strong{background:#f2f4f3;border-radius:14px;padding:6px 10px}.periodSummary{gap:4px;max-height:70px;display:grid;overflow:auto}.periodSummary small{white-space:nowrap;color:#68706c}.rentalManagement td i.roomState{display:inline-block}.rentalManagement td i.occupied{color:#c52b48;background:#fff0f2}.rentalManagement td i.reserved{color:#9d6816;background:#fff7e8}.rentalManagement td i.blocked,.rentalManagement td i.maintenance{color:#626866;background:#f0f1f1}.hotelCalendarHead{border-bottom:1px solid #e6e9e7;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.hotelCalendarHead>div:first-child b,.hotelCalendarHead>div:first-child small{display:block}.hotelCalendarHead>div:first-child b{font-size:17px}.hotelCalendarHead>div:first-child small{color:#7b837f;margin-top:5px}.calendarNav{align-items:center;gap:7px;display:flex}.calendarNav button{background:#fff;border:1px solid #dce0de;border-radius:9px;min-width:36px;height:36px;padding:0 11px}.calendarNav strong{text-align:center;min-width:110px;font-size:13px}.calendarOverview{background:#fafbfa;border-bottom:1px solid #e6e9e7;flex-wrap:wrap;align-items:center;gap:18px;padding:12px 24px;display:flex}.calendarOverview span{color:#515854;align-items:center;gap:6px;font-size:11px;display:flex}.calendarOverview i{border-radius:3px;width:10px;height:10px}.calendarOverview i.available{background:#eaf7ef}.calendarOverview i.reserved{background:#f7b64a}.calendarOverview i.occupied{background:#e4516b}.calendarOverview i.blocked{background:#858b88}.calendarOverview i.maintenance{background:#3c4240}.calendarOverview>small{color:#858d89;margin-left:auto}.hotelCalendarScroll{max-width:100%;overflow:auto}.hotelCalendar{grid-template-columns:220px repeat(var(--calendar-days),44px);background:#fff;min-width:max-content;display:grid}.calendarCorner,.calendarDay,.calendarRoom,.calendarCell{border-bottom:1px solid #edf0ee;border-right:1px solid #edf0ee;min-height:54px}.calendarCorner{z-index:4;background:#f7f8f7;padding:12px 16px;position:sticky;top:0;left:0}.calendarCorner b,.calendarCorner small{display:block}.calendarCorner small{letter-spacing:1px;color:#949b97;margin-top:3px;font-size:8px}.calendarDay{z-index:3;text-align:center;background:#f7f8f7;place-content:center;display:grid;position:sticky;top:0}.calendarDay b{font-size:12px}.calendarDay small{color:#8b938f;margin-top:3px;font-size:9px}.calendarDay.today{color:#d93655;background:#fff0f2}.calendarRoom{z-index:2;background:#fff;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex;position:sticky;left:0}.calendarRoom b,.calendarRoom small{text-overflow:ellipsis;white-space:nowrap;max-width:145px;display:block;overflow:hidden}.calendarRoom b{font-size:12px}.calendarRoom small{color:#8b938f;margin-top:4px;font-size:9px}.calendarRoom button{color:#555;background:#f3f4f3;border:0;border-radius:6px;padding:5px 7px;font-size:9px}.calendarCell{color:#b5bbb8;cursor:pointer;background:#fff;border-top:0;border-left:0;padding:4px;font-size:8px;position:relative}.calendarCell:hover{z-index:1;box-shadow:inset 0 0 0 2px #e94f64}.calendarCell.available:hover span{color:#d93655}.calendarCell.reserved{color:#95610f;background:#fff1d8}.calendarCell.occupied{color:#b52140;background:#ffe4e9}.calendarCell.blocked{color:#5f6662;background:#eceeed}.calendarCell.maintenance{color:#fff;background:#454b48}.calendarCell.today:after{content:"";background:#e94f64;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%}.calendarCell.periodStart{border-left:3px solid}.calendarCell.periodEnd{border-right:3px solid}.calendarCell span{white-space:nowrap;text-overflow:clip;display:block;overflow:hidden}.calendarNotice{background:#f7f8f7;border:1px solid #e2e5e3;border-radius:10px;padding:15px}.calendarNotice p{color:#757d79;margin:6px 0 0;line-height:1.6}.stayModal>form{width:min(900px,94vw)}.stayModalHead{border-bottom:1px solid #eceeed;justify-content:space-between;align-items:flex-start;padding-bottom:18px;display:flex}.stayModalHead small{color:#e94f64;letter-spacing:1px}.stayModalHead h2{margin:5px 0}.stayModalHead p{color:#7c8580;margin:0;font-size:11px}.stayModalHead>button{background:#fff;border:1px solid #ddd;border-radius:50%;width:34px;height:34px;font-size:20px}.stayStatusPreview{background:#f6f7f6;border-radius:10px;align-items:center;gap:11px;margin:18px 0 10px;padding:13px;display:flex}.stayStatusPreview>i{border-radius:5px;width:13px;height:38px}.stayStatusPreview span b,.stayStatusPreview span small{display:block}.stayStatusPreview span small{color:#7d8580;margin-top:3px;font-size:10px}.stayStatusPreview.reserved>i{background:#f7b64a}.stayStatusPreview.occupied>i{background:#e4516b}.stayStatusPreview.blocked>i{background:#858b88}.stayStatusField{justify-content:space-between;align-items:center;gap:15px;margin:10px 0;display:flex}.stayStatusField span{font-size:12px;font-weight:700}.stayStatusField select{border:1px solid #d7dbd9;border-radius:9px;min-width:190px;height:42px;padding:0 12px}.stayModal .airCalendar{width:100%;box-shadow:none;margin-top:8px}.stayHint{border:1px solid #e6e9e7;border-radius:10px;margin-top:15px;padding:13px}.stayHint b{font-size:11px}.stayHint p{color:#747c78;margin:5px 0 0;font-size:11px;line-height:1.55}.stayModal footer{align-items:center}.stayModal footer span{flex:1}.stayModal footer button.danger{color:#c62b48;background:#fff;border-color:#e7b5be}@media (width<=1200px){.footerContactList article{grid-template-columns:52px 110px 1fr 1fr}.footerContactList article>.footerIconUpload{grid-column:3}.removeFooterContact{grid-column:4}}@media (width<=900px){.stats{grid-template-columns:repeat(2,1fr)}.settingGrid,.switchGrid,.analyticsCards{grid-template-columns:1fr}.footerContactHead{flex-direction:column;align-items:stretch}.footerContactHead>button{align-self:flex-start}.footerContactList article{grid-template-columns:52px 1fr}.footerContactList article>label:not(.footerIconUpload),.footerContactList article>.footerIconUpload,.footerContactList article>.footerQrEditor,.removeFooterContact{grid-column:2}.footerIconUpload,.removeFooterContact{grid-row:auto}}.modal>form{width:min(980px,94vw)}.labeledGrid{align-items:start}.labeledGrid .wide{grid-column:1/-1}.field{gap:8px;min-width:0;display:grid}.field>b{color:#4e5551;font-size:12px}.field input,.field select,.field textarea{width:100%}.field textarea{resize:vertical;border:1px solid #ccc;border-radius:9px;min-height:82px;padding:12px}.checkField>span{border:1px solid #ddd;border-radius:9px;align-items:center;gap:8px;height:45px;padding:0 12px;display:flex}.checkField input{width:auto}.richEditor{background:#fff;border:1px solid #c9cecb;border-radius:10px;overflow:hidden}.richToolbar{background:#f7f8f7;border-bottom:1px solid #e4e7e5;flex-wrap:wrap;gap:5px;padding:8px;display:flex}.richToolbar button{background:#fff;border:1px solid #d8dcda;border-radius:6px;min-width:36px;height:32px;padding:0 10px}.richBody{outline:0;min-height:170px;padding:15px;line-height:1.65}.richBody:focus{box-shadow:inset 0 0 0 2px #e94f6433}.richBody h3{margin:10px 0}.richBody p{margin:7px 0}.richBody a{color:#d93655}.imageManager,.leaseManager{background:#fafbfa;border:1px solid #e1e4e2;border-radius:12px;padding:16px}.leaseManager>header{justify-content:space-between;align-items:center;gap:20px;display:flex}.leaseManager>header b,.leaseManager>header small{display:block}.leaseManager>header small,.leaseManager>p{color:#7d8580;margin-top:5px}.leaseManager>header button{color:#fff;background:#222;border:0;border-radius:9px;padding:10px 14px}.leaseRows{gap:10px;margin-top:16px;display:grid}.leaseRow{border-top:1px solid #e5e8e6;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;padding-top:12px;display:grid}.leaseRow label{gap:6px;display:grid}.leaseRow label b{color:#58605c;font-size:11px}.leaseRow .removeLease{color:#c92d4b;background:#fff;border:1px solid #edc8ce;border-radius:9px;height:45px;padding:0 14px}.imageManager>small{color:#7d8580}.multiUpload{color:#fff;cursor:pointer;background:#e94f64;border-radius:9px;justify-self:start;padding:12px 18px;font-weight:700}.multiUpload.busy{cursor:wait;pointer-events:none;background:#969c99}.multiUpload input{display:none}.imageGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:5px;display:grid}.imageGrid figure{background:#eee;border-radius:9px;height:125px;margin:0;position:relative;overflow:hidden}.imageGrid img{object-fit:cover;width:100%;height:100%}.imageGrid figcaption{background:#fff;border-radius:12px;padding:4px 8px;font-size:10px;position:absolute;bottom:7px;left:7px}.imageGrid figure button{color:#fff;background:#222;border:0;border-radius:50%;width:28px;height:28px;font-size:18px;position:absolute;top:7px;right:7px}@media (width<=800px){.labeledGrid .wide{grid-column:auto}.imageGrid{grid-template-columns:repeat(2,1fr)}.propertyPanelHead,.availabilityFilter,.availabilityFilter label,.rentalPanelHead,.rentalFilters,.rentalFilters>label:first-child,.hotelCalendarHead{flex-direction:column;align-items:stretch}.leaseManager>header{align-items:flex-start}.leaseRow{grid-template-columns:1fr}.leaseRow .removeLease{width:100%}.calendarNav{overflow:auto}.calendarOverview>small{width:100%;margin-left:0}.hotelCalendar{grid-template-columns:175px repeat(var(--calendar-days),42px)}.calendarRoom b,.calendarRoom small{max-width:105px}.stayModal>form{padding:22px}.stayModal footer{flex-wrap:wrap}.stayModal footer span{display:none}}.toastStack{z-index:10000;pointer-events:none;gap:10px;width:min(380px,100vw - 32px);display:grid;position:fixed;top:22px;right:22px}.toastItem{pointer-events:auto;color:#26322a;text-align:left;background:#fff;border:1px solid #d8e8dd;border-radius:13px;align-items:center;gap:11px;width:100%;padding:13px 16px;animation:.22s ease-out toastIn;display:flex;box-shadow:0 12px 35px #16231b24}.toastItem i{color:#fff;background:#238554;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-style:normal;font-weight:700;display:grid}.toastItem span{font-size:13px;line-height:1.45}.toastItem.error{color:#8f1831;border-color:#f0ccd3}.toastItem.error i{background:#d93655}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}.uiDialogLayer{z-index:9999;background:#0006;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.uiDialog{background:#fff;border-radius:18px;width:min(430px,100%);padding:25px;box-shadow:0 20px 60px #0003}.uiDialog h3{margin:0 0 10px;font-size:19px}.uiDialog p{color:#656d68;margin:0;line-height:1.6}.uiDialog label{gap:8px;display:grid}.uiDialog label span{color:#555;font-size:12px;font-weight:700}.uiDialog input{border:1px solid #ccd1ce;border-radius:9px;width:100%;height:44px;padding:0 12px}.uiDialog footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.uiDialog footer button{background:#fff;border:1px solid #d9dcda;border-radius:9px;padding:11px 18px}.uiDialog footer button:last-child{color:#fff;background:#222;border-color:#222}.uiDialog footer .dangerAction{background:#d93655;border-color:#d93655}@media (width<=600px){.toastStack{top:12px;right:16px}.uiDialog{padding:22px}}.airCalendar{color:#222;background:#fff;border:1px solid #e5e5e5;border-radius:24px;width:min(760px,100%);padding:20px 24px;box-shadow:0 16px 40px #0000001f}.airCalendarTop{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.airCalendarTop>button{background:#fff;border:0;border-radius:50%;width:36px;height:36px;font-size:25px;line-height:1}.airCalendarTop>button:hover{background:#f3f3f3}.airCalendarTop>div{text-align:center}.airCalendarTop b,.airCalendarTop small{display:block}.airCalendarTop b{font-size:14px}.airCalendarTop small{color:#717171;margin-top:4px;font-size:12px}.airMonths{grid-template-columns:1fr 1fr;gap:42px;display:grid}.airMonths section h3{text-align:center;margin:8px 0 18px;font-size:15px}.airWeek,.airDays{grid-template-columns:repeat(7,1fr);display:grid}.airWeek span{color:#717171;place-items:center;height:30px;font-size:11px;display:grid}.airDays .empty{height:42px}.airDays button{cursor:pointer;background:#fff;border:0;border-radius:50%;height:42px;font-size:12px;position:relative}.airDays button:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px #222}.airDays button:disabled{color:#c4c4c4;cursor:not-allowed;text-decoration:line-through}.airDays button.range{background:#f2f2f2;border-radius:0}.airDays button.selected{color:#fff;z-index:1;background:#222;border-radius:50%;font-weight:700}.airDays button.rangeStart{border-radius:50% 0 0 50%}.airDays button.rangeEnd{border-radius:0 50% 50% 0}.airCalendar>footer{border-top:1px solid #eee;align-items:center;gap:14px;margin-top:18px;padding-top:15px;display:flex}.airCalendar>footer span{text-align:center;color:#717171;flex:1;font-size:11px}.airCalendar>footer button{border:0;border-radius:9px;padding:10px 14px;font-weight:600}.airClear{background:#fff;text-decoration:underline}.airDone{color:#fff;background:#222}.airDone:disabled{color:#888;background:#ddd}.calendarPopover{z-index:31;position:absolute;top:calc(100% + 10px);right:0}.calendarOverlay{z-index:40;background:#0006;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.calendarOverlay>.airCalendar{max-height:92vh;overflow:auto}.airDays button.selected{border-radius:50%}.adminCalendarLayer{z-index:1000;background:#0006;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.adminCalendarLayer>.airCalendar{width:min(760px,100vw - 48px);max-height:calc(100vh - 48px);overflow:auto}@media (width<=700px){.airCalendar{width:100%;box-shadow:none;border:0;border-radius:20px 20px 0 0;padding:18px 16px}.airMonths{grid-template-columns:1fr}.airMonths section:nth-child(2){display:none}.airDays button,.airDays .empty{height:44px}.airCalendar>footer{background:#fff;padding:14px 0 18px;position:sticky;bottom:-18px}.calendarPopover{position:fixed;inset:auto 0 0}.calendarOverlay,.adminCalendarLayer{align-items:end;padding:0}.adminCalendarLayer>.airCalendar{width:100%;max-height:92vh}}
