:root{--app-bg:#f4f7fb;--app-card:#fff;--app-text:#172033;--app-muted:#667085;--app-border:#e1e7ef;--app-accent:#315dde;--sidebar-bg:#101828;--sidebar-text:#d0d5dd}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#0b1120;--app-card:#111827;--app-text:#e9eef7;--app-muted:#9ba7b8;--app-border:#2c394d;--app-accent:#6f93ff;--sidebar-bg:#0a1220;--sidebar-text:#cbd5e1}*{box-sizing:border-box}html,body{background:var(--app-bg);min-height:100%;color:var(--app-text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}body{min-width:320px}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.shell{grid-template-columns:208px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar-bg);color:#fff;flex-direction:column;height:100vh;padding:22px 14px 16px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;margin:0 0 22px;padding:0 2px;font-size:18px;font-weight:800}.nav{gap:4px;display:grid}.nav a{color:var(--sidebar-text);border-radius:9px;padding:9px 10px;transition:background-color .15s,color .15s}.nav a:hover{color:#fff;background:#ffffff14}.sidebar-footer{margin-top:auto}.theme-toggle{color:#e2e8f0;cursor:pointer;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 10px;font-weight:750;display:flex}.theme-toggle:hover{background:#ffffff17}.theme-toggle-icon{place-items:center;width:20px;height:20px;display:grid}.theme-toggle-compact{border-color:var(--app-border);background:var(--app-card);width:36px;height:36px;min-height:36px;color:var(--app-muted);justify-content:center;padding:0}.main{min-width:0;padding:24px}.page-title{letter-spacing:-.025em;margin:0 0 18px;font-size:28px}.card{border:1px solid var(--app-border);background:var(--app-card);border-radius:14px;padding:20px;box-shadow:0 4px 18px #1018280a}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.kpi{margin-top:8px;font-size:28px;font-weight:800}.muted{color:var(--app-muted)}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:10px}.grid{grid-template-columns:1fr}}.staff-page{max-width:1240px;margin:0 auto}.staff-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;display:flex}.staff-header .page-title{margin-bottom:4px}.staff-eyebrow{letter-spacing:.13em;color:var(--app-accent);margin:0 0 6px;font-size:11px;font-weight:900}.staff-primary-button,.staff-secondary-button,.staff-actions button,.staff-close{cursor:pointer;font:inherit;border:0}.staff-primary-button{background:var(--app-accent);color:#fff;border-radius:10px;min-height:42px;padding:0 16px;font-weight:850;box-shadow:0 6px 18px #315dde2e}.staff-primary-button:disabled{opacity:.5;cursor:not-allowed}.staff-secondary-button{border:1px solid var(--app-border);background:var(--app-card);min-height:42px;color:var(--app-text);border-radius:10px;padding:0 16px;font-weight:800}.staff-role-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.staff-role-summary article{border:1px solid var(--app-border);background:var(--app-card);border-radius:12px;gap:5px;padding:14px 16px;display:grid}.staff-role-summary strong{font-size:13px}.staff-role-summary span{color:var(--app-muted);font-size:11px;line-height:1.45}.staff-card{padding:0;overflow:hidden}.staff-toolbar{border-bottom:1px solid var(--app-border);gap:10px;padding:14px;display:flex}.staff-toolbar input,.staff-toolbar select,.staff-form-grid input,.staff-form-grid select{border:1px solid var(--app-border);background:var(--app-card);min-height:40px;color:var(--app-text);border-radius:9px;outline:none}.staff-toolbar input{flex:1;min-width:180px;padding:0 12px}.staff-toolbar select{min-width:190px;padding:0 10px}.staff-toolbar input:focus,.staff-toolbar select:focus,.staff-form-grid input:focus,.staff-form-grid select:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent) 13%,transparent)}.staff-list{display:grid}.staff-row{border-bottom:1px solid var(--app-border);grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 16px;display:grid}.staff-row:last-child{border-bottom:0}.staff-row.inactive{opacity:.58}.staff-avatar{background:color-mix(in srgb,var(--app-accent) 13%,var(--app-card));width:42px;height:42px;color:var(--app-accent);border-radius:12px;place-items:center;font-weight:900;display:grid}.staff-main{gap:6px;min-width:0;display:grid}.staff-name-line{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.staff-name-line>strong{font-size:14px}.staff-role,.staff-status{letter-spacing:.02em;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900}.staff-role.role-admin{color:#6d28d9;background:#f2e8ff}.staff-role.role-manager{color:#2352b8;background:#e6efff}.staff-role.role-cleaner{color:#177245;background:#e7f8ef}.staff-status.active{color:#167548;background:#e8f8ef}.staff-status.inactive{color:#687386;background:#eef1f5}html[data-theme=dark] .staff-role.role-admin{color:#d9c2ff;background:#342052}html[data-theme=dark] .staff-role.role-manager{color:#bcd0ff;background:#1d3158}html[data-theme=dark] .staff-role.role-cleaner,html[data-theme=dark] .staff-status.active{color:#a9e6c6;background:#153c2d}html[data-theme=dark] .staff-status.inactive{color:#bec8d8;background:#273244}.staff-contact{color:var(--app-muted);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.staff-contact a:hover{color:var(--app-accent);text-decoration:underline}.staff-assignments{flex-wrap:wrap;gap:5px;display:flex}.staff-assignments span{border:1px solid var(--app-border);background:var(--app-bg);color:var(--app-muted);border-radius:7px;padding:4px 7px;font-size:9px;font-weight:750}.staff-assignments em{color:var(--app-muted);font-size:10px}.staff-actions{gap:7px;display:flex}.staff-actions button{border:1px solid var(--app-border);background:var(--app-card);min-height:34px;color:var(--app-text);border-radius:8px;padding:0 10px;font-size:10px;font-weight:850}.staff-actions button:hover{border-color:var(--app-accent)}.staff-actions .danger-soft{color:#c63d48}.staff-actions .success-soft{color:#198154}.staff-empty{text-align:center;color:var(--app-muted);padding:36px 16px}.staff-message{border-radius:9px;margin:12px 14px;padding:10px 12px;font-size:11px;font-weight:750}.staff-message.error{color:#a92835;background:#fff0f1;border:1px solid #ffd1d5}.staff-message.success{color:#176c47;background:#ebf9f1;border:1px solid #ccefdc}html[data-theme=dark] .staff-message.error{color:#ffb8c0;background:#3b1d25;border-color:#65313c}html[data-theme=dark] .staff-message.success{color:#a8e2c4;background:#143527;border-color:#285a44}.staff-modal-backdrop{z-index:2500;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#060c179e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.staff-editor{border:1px solid var(--app-border);background:var(--app-card);border-radius:16px;width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;box-shadow:0 24px 70px #00000047}.staff-editor-header{z-index:2;border-bottom:1px solid var(--app-border);background:var(--app-card);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex;position:sticky;top:0}.staff-editor-header h2{margin:0;font-size:21px}.staff-close{border:1px solid var(--app-border);background:var(--app-card);width:36px;height:36px;color:var(--app-muted);border-radius:9px;font-size:24px}.staff-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 20px 8px;display:grid}.staff-form-grid label{gap:6px;display:grid}.staff-form-grid label>span{color:var(--app-muted);font-size:10px;font-weight:850}.staff-form-grid input,.staff-form-grid select{width:100%;padding:0 11px}.staff-role-info{background:var(--app-bg);border:1px solid var(--app-border);border-radius:10px;gap:3px;margin:8px 20px 14px;padding:11px 12px;display:grid}.staff-role-info strong{font-size:11px}.staff-role-info span{color:var(--app-muted);font-size:10px;line-height:1.45}.staff-switch-row{border:1px solid var(--app-border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;margin:0 20px 17px;padding:12px;display:flex}.staff-switch-row input{margin-top:2px}.staff-switch-row span{gap:3px;display:grid}.staff-switch-row strong{font-size:11px}.staff-switch-row small{color:var(--app-muted);line-height:1.4}.staff-apartment-section{padding:0 20px 18px}.staff-section-heading{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:10px;display:flex}.staff-section-heading>div{gap:3px;display:grid}.staff-section-heading strong{font-size:12px}.staff-section-heading span{color:var(--app-muted);font-size:10px}.staff-apartment-groups{gap:9px;display:grid}.staff-apartment-group{border:1px solid var(--app-border);border-radius:11px;overflow:hidden}.staff-apartment-group h3{background:var(--app-bg);color:var(--app-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:8px 11px;font-size:10px}.staff-apartment-row{border-top:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 10px;display:flex}.staff-apartment-row.selected{background:color-mix(in srgb,var(--app-accent) 5%,var(--app-card))}.staff-apartment-row>label:first-child{cursor:pointer;flex:1;align-items:center;gap:9px;display:flex}.staff-apartment-row>label:first-child span{gap:2px;display:grid}.staff-apartment-row strong{font-size:11px}.staff-apartment-row small{color:var(--app-muted);font-size:9px}.staff-primary-check{color:var(--app-muted);cursor:pointer;align-items:center;gap:6px;font-size:9px;font-weight:800;display:flex}.staff-hint{color:var(--app-muted);margin:9px 0 0;font-size:9px;line-height:1.45}.staff-editor-footer{border-top:1px solid var(--app-border);background:var(--app-card);justify-content:flex-end;gap:8px;padding:13px 20px;display:flex;position:sticky;bottom:0}@media (max-width:760px){.staff-header{flex-direction:column;align-items:stretch}.staff-primary-button{width:100%;min-height:46px}.staff-role-summary{grid-template-columns:1fr}.staff-toolbar{flex-direction:column}.staff-toolbar select{min-width:0}.staff-row{grid-template-columns:42px minmax(0,1fr);align-items:start;padding:13px 12px}.staff-actions{grid-column:1/-1;padding-left:55px}.staff-actions button{flex:1;min-height:40px}.staff-form-grid{grid-template-columns:1fr}.staff-editor{border-radius:14px;max-height:calc(100vh - 18px)}.staff-modal-backdrop{padding:9px}.staff-apartment-row{flex-direction:column;align-items:flex-start}.staff-primary-check{padding-left:25px}.staff-editor-footer .staff-primary-button{width:auto}}.staff-assignment-controls{align-items:center;gap:14px;display:flex}.staff-rate-field{color:var(--app-muted);align-items:center;gap:7px;font-size:9px;font-weight:800;display:flex}.staff-rate-field>span{white-space:nowrap}.staff-rate-field input{border:1px solid var(--app-border);background:var(--app-card);width:104px;min-height:34px;color:var(--app-text);font:inherit;border-radius:8px;padding:6px 8px}.staff-rate-field input:disabled{opacity:.45;cursor:not-allowed}html[data-theme=dark] .staff-rate-field input{background:var(--app-surface)}@media (max-width:720px){.staff-assignment-controls{flex-direction:column;align-items:stretch;gap:8px;width:100%;padding-left:25px}.staff-rate-field{justify-content:space-between}.staff-rate-field input{width:132px;min-height:42px;font-size:16px}.staff-primary-check{padding-left:0!important}}html.theme-dark,html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#0b1120;--app-card:#111827;--app-text:#e9eef7;--app-muted:#9ba7b8;--app-border:#2c394d;--app-accent:#6f93ff;--sidebar-bg:#0a1220;--sidebar-text:#cbd5e1}html.theme-dark body,html[data-theme=dark] body,html.theme-dark .shell,html[data-theme=dark] .shell,html.theme-dark .main,html[data-theme=dark] .main{color:#e9eef7!important;background:#0b1120!important}html.theme-light,html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.sidebar-footer{gap:10px;display:grid}.sidebar-user{background:#ffffff09;border:1px solid #ffffff17;border-radius:11px;grid-template-columns:32px minmax(0,1fr) 28px;align-items:center;gap:8px;padding:9px;display:grid}.sidebar-user-avatar{color:#fff;background:linear-gradient(135deg,#597cff,#3158da);border-radius:9px;place-items:center;width:32px;height:32px;font-size:10px;font-weight:950;display:grid}.sidebar-user-copy{gap:2px;min-width:0;display:grid}.sidebar-user-copy strong{text-overflow:ellipsis;white-space:nowrap;color:#f3f7ff;font-size:10px;overflow:hidden}.sidebar-user-copy span{color:#7f8ca1;font-size:8px}.sidebar-user>button{color:#91a0b7;cursor:pointer;background:0 0;border:0;border-radius:8px;width:28px;height:28px}.sidebar-user>button:hover{color:#fff;background:#ffffff12}.nav a.active{color:#fff;background:#7e96bf29}.staff-login-hint{border:1px solid color-mix(in srgb,var(--app-accent) 26%,var(--app-border));background:color-mix(in srgb,var(--app-accent) 5%,var(--app-card));border-radius:10px;gap:4px;margin:0 20px 14px;padding:11px 12px;display:grid}.staff-login-hint strong{font-size:11px}.staff-login-hint span{color:var(--app-muted);font-size:10px;line-height:1.45}@media (max-width:760px){.sidebar-user{display:none}}
:root{--cal-surface:#fff;--cal-surface-soft:#f6f8fc;--cal-surface-alt:#f2f6fb;--cal-surface-city:#eef4fb;--cal-surface-address:#f8fbff;--cal-text:#172033;--cal-text-soft:#2b3850;--cal-muted:#718097;--cal-border:#d7e1ec;--cal-border-strong:#c6d3e1;--cal-row-line:#e5ebf3;--cal-day-line:#dde5ef;--cal-day-line-strong:#cbd7e5;--cal-shadow:0 14px 34px #19284314;--cal-shadow-soft:0 8px 20px #1928430d;--cal-booking:#3869e8;--cal-booking-dark:#284fc2;--cal-airbnb:#df6078;--cal-airbnb-dark:#be455d;--cal-direct:#2c9a80;--cal-direct-dark:#1f7560;--cal-other:#6f7c90;--cal-other-dark:#526074;--cal-warning:#ff6a3d;--cal-resource-width:286px;--cal-axis-height:52px;--cal-city-row-height:38px;--cal-address-row-height:36px;--cal-apartment-row-height:56px}html[data-theme=dark]{--cal-surface:#101827;--cal-surface-soft:#152133;--cal-surface-alt:#172438;--cal-surface-city:#1a2a42;--cal-surface-address:#132133;--cal-text:#edf4ff;--cal-text-soft:#d8e4f5;--cal-muted:#a8b7cb;--cal-border:#31435d;--cal-border-strong:#415774;--cal-row-line:#27364d;--cal-day-line:#304159;--cal-day-line-strong:#435a79;--cal-shadow:0 18px 40px #00000047;--cal-shadow-soft:0 10px 22px #0000002e}.calendar-app{gap:16px;display:grid}.calendar-app-header{border:1px solid var(--cal-border);background:radial-gradient(circle at 88% -30%, #3869e81f, transparent 32%), linear-gradient(180deg, #ffffff8c, #fff0), var(--cal-surface);min-height:76px;box-shadow:var(--cal-shadow);border-radius:20px;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:14px 16px;display:grid}html[data-theme=dark] .calendar-app-header{background:radial-gradient(circle at 88% -30%, #3869e824, transparent 34%), linear-gradient(180deg, #ffffff05, #fff0), var(--cal-surface)}.calendar-app-eyebrow{color:var(--cal-muted);letter-spacing:.16em;margin-bottom:4px;font-size:10px;font-weight:900;display:inline-block}.calendar-app-header h1{color:var(--cal-text);letter-spacing:-.03em;margin:0;font-size:28px;line-height:1.1}.desktop-month-switcher{border:1px solid var(--cal-border);background:var(--cal-surface-soft);border-radius:14px;grid-template-columns:44px minmax(200px,auto) 44px;align-items:center;display:grid;box-shadow:inset 0 1px #ffffff4d}.desktop-month-switcher button,.header-today{transition:background-color .15s,color .15s,border-color .15s,transform .15s}.desktop-month-switcher button{height:44px;color:var(--cal-muted);cursor:pointer;background:0 0;border:0;font-size:22px}.desktop-month-switcher button:hover,.header-today:hover{color:var(--cal-booking);background:#3869e814}.desktop-month-switcher strong{text-align:center;color:var(--cal-text);letter-spacing:.02em;font-size:13px;font-weight:850}.calendar-header-actions{justify-self:end;align-items:center;gap:10px;display:flex}.header-today{border:1px solid var(--cal-border);background:var(--cal-surface-soft);min-width:92px;height:44px;color:var(--cal-text);cursor:pointer;border-radius:12px;padding:0 16px;font-weight:800}.desktop-planner{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.desktop-planner-board{--calendar-days:30;--planner-height:260px;border:1px solid var(--cal-border);background:var(--cal-surface);min-width:0;box-shadow:var(--cal-shadow);border-radius:20px;position:relative;overflow:hidden}.booking-timeline{height:var(--planner-height);background:var(--cal-surface)}.planner-resource-caption{z-index:50;box-sizing:border-box;width:var(--cal-resource-width);height:var(--cal-axis-height);border-right:1px solid var(--cal-border);border-bottom:1px solid var(--cal-border);background:linear-gradient(180deg, var(--cal-surface-soft), var(--cal-surface-alt));color:var(--cal-muted);letter-spacing:.13em;pointer-events:none;align-items:center;padding:0 18px;font-size:10px;font-weight:900;display:flex;position:absolute;top:0;left:0}.vis-timeline{background:var(--cal-surface)!important;color:var(--cal-text)!important;border:0!important;font-family:inherit!important;font-size:11px!important}.vis-panel.vis-left{border-right:1px solid var(--cal-border)!important;background:var(--cal-surface)!important}.vis-panel.vis-center{background-color:var(--cal-surface)!important;background-image:repeating-linear-gradient(to right, transparent 0, transparent calc((100% / var(--calendar-days)) - 1px), var(--cal-day-line) calc((100% / var(--calendar-days)) - 1px), var(--cal-day-line) calc(100% / var(--calendar-days)))!important}.vis-panel.vis-top,.vis-time-axis{box-shadow:inset 0 -1px 0 var(--cal-border);height:var(--cal-axis-height)!important;background:linear-gradient(180deg, var(--cal-surface-soft), var(--cal-surface-alt))!important}.vis-time-axis .vis-text.vis-major{color:var(--cal-text)!important;font-size:13px!important;font-weight:850!important;line-height:24px!important}.vis-time-axis .vis-text.vis-minor{color:var(--cal-muted)!important;font-size:11px!important;font-weight:850!important;line-height:22px!important}.vis-grid.vis-vertical,.vis-grid.vis-vertical.vis-minor,.vis-time-axis .vis-grid.vis-minor{border-left:1px solid var(--cal-day-line)!important;opacity:1!important}.vis-grid.vis-vertical.vis-major,.vis-time-axis .vis-grid.vis-major{border-left:1px solid var(--cal-day-line-strong)!important;opacity:1!important}.vis-grid.vis-saturday,.vis-grid.vis-sunday{background:#71809609!important}html[data-theme=dark] .vis-grid.vis-saturday,html[data-theme=dark] .vis-grid.vis-sunday{background:#ffffff06!important}.vis-background .vis-group,.vis-foreground .vis-group{background:0 0!important}.vis-background .vis-group.apartment-row,.vis-foreground .vis-group.apartment-row,.vis-labelset .vis-label.apartment-row{border-bottom:1px solid color-mix(in srgb, var(--cal-row-line) 68%, transparent)!important}.vis-background .vis-group.city-row,.vis-foreground .vis-group.city-row,.vis-background .vis-group.address-row,.vis-foreground .vis-group.address-row,.vis-labelset .vis-label.city-row,.vis-labelset .vis-label.address-row{border-bottom:0!important}.vis-labelset .vis-label{color:var(--cal-text)!important;background:0 0!important}.vis-label .vis-inner{width:var(--cal-resource-width)!important;box-sizing:border-box!important;padding:0!important;overflow:visible!important}.vis-labelset .vis-label .vis-nesting-group{opacity:.58;transform:scale(.82);width:22px!important;min-width:22px!important;color:var(--cal-muted)!important;margin-left:10px!important;margin-right:0!important}.vis-labelset .vis-label.city-row .vis-inner{min-height:var(--cal-city-row-height)!important;height:var(--cal-city-row-height)!important;background:0 0!important}.vis-labelset .vis-label.address-row .vis-inner{min-height:var(--cal-address-row-height)!important;height:var(--cal-address-row-height)!important;background:0 0!important}.vis-labelset .vis-label.apartment-row .vis-inner{min-height:var(--cal-apartment-row-height)!important;height:var(--cal-apartment-row-height)!important;background:var(--cal-surface)!important}.vis-labelset .vis-nested-group{background:0 0!important}.resource-city,.resource-address,.resource-apartment{box-sizing:border-box;align-items:center;width:100%;min-width:0;height:100%}.resource-copy,.resource-apartment-copy{align-content:center;gap:1px;min-width:0;display:grid}.resource-copy strong,.resource-apartment-copy strong{color:var(--cal-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.resource-copy small,.resource-apartment-copy small{color:var(--cal-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.resource-city{grid-template-columns:8px minmax(0,1fr);gap:10px;padding:5px 16px 4px 12px;display:grid}.resource-city-dot{background:linear-gradient(135deg,#5c84f6,#3765df);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #3869e817}.resource-city .resource-copy strong{letter-spacing:.015em;font-size:13px;font-weight:900;line-height:1.05}.resource-city .resource-copy small{letter-spacing:.02em;margin-top:2px;font-size:8.5px;font-weight:750}.resource-address{background:color-mix(in srgb, var(--cal-surface-soft) 76%, transparent);border-radius:10px;grid-template-columns:3px minmax(0,1fr);gap:10px;margin:2px 12px 2px 28px;padding:5px 10px 5px 11px;display:grid;position:relative}.resource-address-mark{background:color-mix(in srgb, var(--cal-booking) 48%, var(--cal-border));opacity:.75;border-radius:999px;width:3px;height:22px}.resource-address .resource-copy strong{color:var(--cal-text-soft);font-size:11px;font-weight:820;line-height:1.05}.resource-address .resource-copy small{margin-top:2px;font-size:8px;font-weight:700}.resource-apartment{grid-template-columns:26px 10px minmax(0,1fr);gap:8px;padding:0 14px 0 24px;transition:background-color .15s;display:grid}.resource-apartment-indent{height:100%;display:block;position:relative}.resource-apartment-indent:before{content:"";background:color-mix(in srgb, var(--cal-border) 62%, transparent);width:1px;position:absolute;top:-1px;bottom:-1px;left:13px}.resource-apartment-indent:after{content:"";background:color-mix(in srgb, var(--cal-border) 72%, transparent);width:12px;height:1px;position:absolute;top:50%;left:13px}.resource-apartment-dot{background:color-mix(in srgb, var(--cal-booking) 18%, var(--cal-surface));border:1px solid color-mix(in srgb, var(--cal-booking) 38%, var(--cal-border));border-radius:3px;width:8px;height:8px}.resource-apartment-copy strong{letter-spacing:-.005em;font-size:11.5px;font-weight:820}.resource-apartment-copy small{margin-top:2px;font-size:8.5px;font-weight:720}.vis-labelset .vis-label.apartment-row:hover,.vis-labelset .vis-label.apartment-row:hover .vis-inner{background:color-mix(in srgb, var(--cal-surface) 95%, var(--cal-booking) 5%)!important}.vis-labelset .vis-label.address-row:hover .resource-address{background:color-mix(in srgb, var(--cal-surface-soft) 87%, var(--cal-booking) 13%)}.vis-item.city-row-cover,.vis-item.address-row-cover{pointer-events:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;overflow:visible!important}.vis-item.city-row-cover{height:var(--cal-city-row-height)!important;background:linear-gradient(90deg, color-mix(in srgb, var(--cal-surface-city) 78%, transparent), color-mix(in srgb, var(--cal-surface-city) 34%, transparent) 64%, transparent 100%)!important}.vis-item.address-row-cover{height:var(--cal-address-row-height)!important;background:linear-gradient(90deg, color-mix(in srgb, var(--cal-surface-address) 74%, transparent), color-mix(in srgb, var(--cal-surface-address) 28%, transparent) 58%, transparent 100%)!important}.vis-item.city-row-cover .vis-item-content,.vis-item.address-row-cover .vis-item-content{justify-content:center!important;align-items:center!important;width:100%!important;height:100%!important;padding:0!important;display:flex!important;overflow:visible!important}.planner-band{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.planner-band:before{content:"";height:1px;position:absolute;top:50%;left:18px;right:18px;transform:translateY(-50%)}.planner-band>span{z-index:1;white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--cal-border);border-radius:999px;justify-content:center;align-items:center;max-width:min(60%,280px);padding:4px 12px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 8px 18px #141f3314}.planner-band-city:before{background:linear-gradient(90deg, transparent 0, color-mix(in srgb, var(--cal-booking) 22%, var(--cal-border)) 16%, color-mix(in srgb, var(--cal-booking) 28%, var(--cal-border)) 50%, color-mix(in srgb, var(--cal-booking) 22%, var(--cal-border)) 84%, transparent 100%)}.planner-band-city>span{background:color-mix(in srgb, var(--cal-surface) 88%, var(--cal-surface-city) 12%);color:var(--cal-text);letter-spacing:.01em;font-size:11px;font-weight:850}.planner-band-address:before{background:linear-gradient(90deg, transparent 0, color-mix(in srgb, var(--cal-border) 58%, transparent) 16%, color-mix(in srgb, var(--cal-border-strong) 72%, transparent) 50%, color-mix(in srgb, var(--cal-border) 58%, transparent) 84%, transparent 100%)}.planner-band-address>span{background:color-mix(in srgb, var(--cal-surface) 92%, var(--cal-surface-address) 8%);color:var(--cal-text-soft);font-size:10px;font-weight:780}html[data-theme=dark] .planner-band>span{box-shadow:0 10px 22px #00000038}.weekend-background{background:#72849c0d!important}html[data-theme=dark] .weekend-background{background:#ffffff08!important}.vis-item.planner-booking{clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);color:#fff!important;cursor:grab!important;border:0!important;border-radius:0!important;height:34px!important;min-height:34px!important;margin-top:10px!important;margin-bottom:0!important;transition:box-shadow .12s,filter .12s!important;overflow:hidden!important;box-shadow:0 6px 14px #1c2a4526!important}.vis-item.planner-booking:active{cursor:grabbing!important}.vis-item.planner-booking.source-booking{background:linear-gradient(135deg, var(--cal-booking), var(--cal-booking-dark))!important}.vis-item.planner-booking.source-airbnb{background:linear-gradient(135deg, var(--cal-airbnb), var(--cal-airbnb-dark))!important}.vis-item.planner-booking.source-direct,.vis-item.planner-booking.source-manual{background:linear-gradient(135deg, var(--cal-direct), var(--cal-direct-dark))!important}.vis-item.planner-booking.source-phone{background:linear-gradient(135deg,#7c5ce7,#6244c6)!important}.vis-item.planner-booking.source-email{background:linear-gradient(135deg,#2786a8,#1f6782)!important}.vis-item.planner-booking.source-other{background:linear-gradient(135deg, var(--cal-other), var(--cal-other-dark))!important}.vis-item.planner-booking.status-booked{box-shadow:inset 0 0 0 2px #f59e0b,0 6px 14px #1c2a4526!important}.vis-item.planner-booking.status-confirmed{box-shadow:inset 0 0 0 2px #22c55e,0 6px 14px #1c2a4526!important}.vis-item.planner-booking.status-cancelled{opacity:.44;text-decoration:line-through;box-shadow:inset 0 0 0 2px #ef5f72,0 6px 14px #1c2a451a!important}.vis-item.planner-booking.status-blocked{box-shadow:inset 0 0 0 2px #94a3b8,0 6px 14px #1c2a451f!important}.vis-item.planner-booking .vis-item-overflow,.vis-item.planner-booking .vis-item-content{height:34px!important;overflow:hidden!important}.vis-item.planner-booking .vis-item-content{padding:0!important}.planner-booking-label{align-items:center;gap:7px;height:34px;padding:0 11px 0 14px;display:flex;overflow:hidden}.planner-booking-label>span{color:#fffffff5;white-space:nowrap;background:#ffffff24;border:1px solid #ffffff2e;border-radius:999px;flex:none;padding:2px 5px;font-size:7px;font-weight:900}.planner-booking-label strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10.5px;font-weight:900;overflow:hidden}.vis-item.planner-booking:hover{filter:brightness(1.035);box-shadow:0 9px 18px #1c2a4533!important}.vis-item.planner-booking.vis-selected{box-shadow:0 0 0 2px #fffffff5,0 0 0 4px #3869e873,0 9px 18px #1c2a452e!important}.vis-item .vis-drag-left,.vis-item .vis-drag-right{z-index:40!important;opacity:0!important;width:9px!important}.vis-item.planner-booking:hover .vis-drag-left,.vis-item.planner-booking:hover .vis-drag-right,.vis-item.planner-booking.vis-selected .vis-drag-left,.vis-item.planner-booking.vis-selected .vis-drag-right{opacity:.72!important}.booking-dot{background:var(--cal-booking)}.airbnb-dot{background:var(--cal-airbnb)}.manual-dot{background:var(--cal-direct)}.vis-current-time{box-shadow:0 0 0 1px #ffffff8c,0 0 10px #ff6a3d59;z-index:40!important;background:var(--cal-warning)!important;width:2px!important}.vis-current-time:before{content:"";background:var(--cal-warning);border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:50%;transform:translate(-50%);box-shadow:0 0 0 3px #fffffff2}.desktop-sidepanel{align-content:start;gap:12px;display:grid}.quick-legend,.empty-sidepanel,.booking-detail-card,.manual-entry-launch,.manual-entry-panel,.calendar-loading,.calendar-error{border:1px solid var(--cal-border);background:var(--cal-surface);box-shadow:var(--cal-shadow-soft);border-radius:18px}.quick-legend{gap:10px;padding:14px 16px;display:grid}.legend-row{color:var(--cal-muted);flex-wrap:wrap;gap:14px;font-size:11px;font-weight:700;display:flex}.legend-row span{align-items:center;display:inline-flex}.legend-dot,.status-ring{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-ring{background:0 0;border:2px solid}.status-legend-row span:first-child{color:#d08a1b}.status-legend-row span:nth-child(2){color:#1f9d74}.status-legend-row span:nth-child(3){color:#db5d73}.empty-sidepanel{text-align:center;min-height:320px;color:var(--cal-muted);place-content:center;gap:8px;padding:28px 24px;display:grid}.empty-sidepanel>div{font-size:28px;line-height:1}.empty-sidepanel strong{color:var(--cal-text);font-size:16px}.booking-detail-card{gap:12px;padding:18px;display:grid}.booking-detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-detail-head h2{color:var(--cal-text);letter-spacing:-.02em;margin:8px 0 0;font-size:22px;line-height:1.1}.booking-detail-head>button,.rebook-head button,.manual-entry-close{border:1px solid var(--cal-border);background:var(--cal-surface-soft);width:34px;height:34px;color:var(--cal-muted);cursor:pointer;border-radius:10px}.source-pill{border-radius:999px;align-items:center;padding:5px 9px;font-size:10px;font-weight:900;line-height:1;display:inline-flex}.source-booking{color:#2f56c0;background:#e9efff}.source-airbnb{color:#c44860;background:#ffe9ef}.source-direct,.source-phone,.source-email,.source-manual{color:#1d725d;background:#e6f7f1}.source-other{color:#5f6b7d;background:#eef2f6}.source-block{color:#b97b11;background:#fff3df}html[data-theme=dark] .source-booking{color:#bfd0ff;background:#20355d}html[data-theme=dark] .source-airbnb{color:#ffc5d0;background:#582635}html[data-theme=dark] .source-direct,html[data-theme=dark] .source-phone,html[data-theme=dark] .source-email,html[data-theme=dark] .source-manual{color:#a9e8d5;background:#173d35}html[data-theme=dark] .source-other{color:#d3ddea;background:#293346}html[data-theme=dark] .source-block{color:#f7dca2;background:#4d3b16}.detail-property-box,.detail-pair>div,.detail-cleaning-box,.detail-contact-box,.detail-special-box,.detail-access-box,.detail-internal-box,.move-side,.rebook-note,.edit-info-note,.manual-entry-message{border:1px solid var(--cal-border);background:var(--cal-surface-soft);border-radius:14px}.detail-property-box,.detail-cleaning-box,.detail-contact-box,.detail-special-box,.detail-access-box,.detail-internal-box{padding:14px}.detail-property-box,.detail-cleaning-box{gap:6px;display:grid}.detail-property-box span,.detail-pair span,.detail-cleaning-box span,.detail-section-title,.move-side>span,.confirm-title>span,.rebook-head span,.form-field>span,.manual-entry-head span,.manual-entry-launch span{color:var(--cal-muted);letter-spacing:.1em;font-size:10px;font-weight:900}.detail-property-box strong,.detail-pair strong,.detail-cleaning-box strong,.move-side strong,.detail-contact-row strong{color:var(--cal-text)}.detail-property-box small,.detail-cleaning-box small,.detail-contact-row span{color:var(--cal-muted);font-size:11px}.detail-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.detail-pair>div{gap:6px;padding:14px;display:grid}.detail-contact-box,.detail-special-box,.detail-access-box,.detail-internal-box{gap:10px;display:grid}.detail-contact-row{color:inherit;justify-content:space-between;gap:10px;padding:10px 0;text-decoration:none;display:flex}.detail-contact-row+.detail-contact-row{border-top:1px solid var(--cal-border)}.detail-special-box p,.detail-access-box p,.detail-internal-box p,.confirm-title p,.edit-info-note,.rebook-note,.manual-entry-head p,.field-help{color:var(--cal-muted);margin:0;font-size:12px;line-height:1.55}.booking-status-text.status-booked{color:#d08a1b}.booking-status-text.status-confirmed{color:#1f9d74}.booking-status-text.status-cancelled{color:#db5d73}.booking-status-text.status-blocked{color:var(--cal-booking)}.detail-action-grid{gap:8px;display:grid}.detail-action-grid button,.button-primary,.button-secondary,.manual-entry-toggle{cursor:pointer;border-radius:12px;min-height:44px;padding:0 14px;font-size:14px;font-weight:800}.detail-action-grid button,.button-secondary,.manual-entry-toggle{border:1px solid var(--cal-border);background:var(--cal-surface);color:var(--cal-text)}.detail-action-grid .action-main,.button-primary{color:#fff;background:linear-gradient(135deg,#3d6ff1,#2f5adb 58%,#214abf);border:1px solid #0000}.detail-action-grid button:disabled,.button-primary:disabled,.button-secondary:disabled{opacity:.55;cursor:not-allowed}.confirm-overlay{z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0d132285;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog,.rebook-dialog{border:1px solid var(--cal-border);background:var(--cal-surface);width:min(620px,100%);color:var(--cal-text);border-radius:20px;padding:22px;box-shadow:0 30px 90px #0000003d}.confirm-icon{width:44px;height:44px;color:var(--cal-booking);background:#3869e81f;border-radius:14px;place-items:center;margin-bottom:12px;font-size:20px;display:grid}.confirm-title h3,.rebook-head h3,.manual-entry-head h2{color:var(--cal-text);letter-spacing:-.02em;margin:6px 0;font-size:24px;line-height:1.15}.move-comparison,.rebook-date-grid,.date-time-group,.confirm-actions,.edit-form-grid,.manual-entry-grid,.manual-entry-actions{gap:10px;display:grid}.move-comparison{grid-template-columns:1fr 30px 1fr;margin:18px 0 14px}.move-side{gap:6px;padding:14px;display:grid}.move-side small{color:var(--cal-muted);font-size:11px}.move-arrow{color:var(--cal-muted);place-items:center;font-size:18px;display:grid}.move-error,.manual-entry-message.error{color:#b23d54;background:#fff0f3;border:1px solid #ffd6db;border-radius:14px;padding:12px 14px;font-size:12px}.manual-entry-message.success{color:#1f7b61;background:#effaf4;border:1px solid #ced;border-radius:14px;padding:12px 14px;font-size:12px}html[data-theme=dark] .move-error,html[data-theme=dark] .manual-entry-message.error{color:#ffccd5;background:#3b1f27;border-color:#74404d}html[data-theme=dark] .manual-entry-message.success{color:#bff0de;background:#19372f;border-color:#2f6859}.confirm-actions,.manual-entry-actions{grid-template-columns:1fr 1fr}.rebook-head,.manual-entry-head{grid-template-columns:1fr auto;align-items:start;gap:14px;margin-bottom:18px;display:grid}.manual-entry-head p{grid-column:1/2;max-width:680px}.form-field{gap:6px;display:grid}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--cal-border);background:var(--cal-surface);width:100%;min-height:46px;color:var(--cal-text);font:inherit;box-sizing:border-box;border-radius:12px;padding:11px 13px}.form-field textarea{resize:vertical;min-height:92px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:color-mix(in srgb, var(--cal-booking) 60%, var(--cal-border));outline:none;box-shadow:0 0 0 4px #3869e81f}.field-help.private{color:color-mix(in srgb, var(--cal-muted) 90%, var(--cal-booking))}.field-span-2{grid-column:span 2}.date-time-group,.rebook-date-grid,.edit-form-grid,.manual-entry-grid{grid-template-columns:1fr 1fr}.edit-info-note,.rebook-note{padding:12px 14px}.manual-entry-launch{justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.manual-entry-launch strong{color:var(--cal-text);margin-top:5px;font-size:18px;line-height:1.2;display:block}.manual-entry-panel{gap:16px;padding:20px;display:grid}.calendar-loading,.calendar-error{color:var(--cal-text);padding:24px}.mobile-planner,.mobile-view-switch,.mobile-date-strip,.mobile-bottom-sheet-backdrop,.mobile-month-calendar{display:none}.mobile-planner,.mobile-month-calendar{gap:12px}.mobile-calendar-toolbar,.mobile-summary>div,.mobile-apartment-card,.mobile-view-switch,.mobile-date-strip,.mobile-calendar-sheet{border:1px solid var(--cal-border);background:var(--cal-surface);box-shadow:var(--cal-shadow-soft);border-radius:16px}.mobile-calendar-toolbar{grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;padding:10px;display:grid}.mobile-calendar-toolbar button{border:1px solid var(--cal-border);background:var(--cal-surface-soft);width:42px;height:42px;color:var(--cal-text);border-radius:12px;font-size:20px}.mobile-calendar-toolbar span{color:var(--cal-muted);letter-spacing:.12em;text-align:center;font-size:10px;font-weight:900;display:block}.mobile-calendar-toolbar strong{color:var(--cal-text);text-align:center;margin-top:4px;font-size:18px;display:block}.mobile-calendar-swipe-hint{color:var(--cal-muted);text-align:center;font-size:11px}.mobile-calendar-scroll{padding-bottom:4px;overflow-x:auto}.mobile-calendar-sheet{overflow:hidden}.mobile-calendar-corner,.mobile-calendar-resource,.mobile-calendar-city-label,.mobile-calendar-address-label{box-sizing:border-box;width:var(--mobile-resource-width,138px);border-right:1px solid var(--cal-border)}.mobile-calendar-corner{z-index:3;background:linear-gradient(180deg, var(--cal-surface-soft), var(--cal-surface-alt));color:var(--cal-muted);letter-spacing:.12em;padding:14px 12px;font-size:10px;font-weight:900;position:sticky;left:0}.mobile-calendar-days{border-bottom:1px solid var(--cal-border);background:linear-gradient(180deg, var(--cal-surface-soft), var(--cal-surface-alt));display:flex;position:relative}.mobile-calendar-days button{min-width:var(--mobile-day-width,56px);border:0;border-left:1px solid var(--cal-day-line);color:var(--cal-text);background:0 0;gap:2px;padding:10px 0;display:grid}.mobile-calendar-days button span{color:var(--cal-muted);font-size:10px}.mobile-calendar-days button strong{font-size:16px}.mobile-calendar-days button.selected{background:#3869e814}.mobile-calendar-days button.today strong{color:var(--cal-warning)}.mobile-calendar-body{display:grid}.mobile-calendar-city-row,.mobile-calendar-address-row,.mobile-calendar-apartment-row{display:flex;position:relative}.mobile-calendar-city-row{min-height:38px}.mobile-calendar-address-row{min-height:36px}.mobile-calendar-apartment-row{border-bottom:1px solid color-mix(in srgb, var(--cal-row-line) 68%, transparent);min-height:58px}.mobile-calendar-city-label,.mobile-calendar-address-label,.mobile-calendar-resource{z-index:2;box-sizing:border-box;position:sticky;left:0}.mobile-calendar-city-label{background:var(--cal-surface);color:var(--cal-text);letter-spacing:.01em;padding:10px 12px 8px 18px;font-size:13px;font-weight:900}.mobile-calendar-city-label:before{content:"";background:var(--cal-booking);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 0 4px #3869e817}.mobile-calendar-address-label{background:var(--cal-surface-soft);color:var(--cal-text-soft);border-radius:10px;margin:2px 8px 2px 24px;padding:7px 10px;font-size:11px;font-weight:800}.mobile-calendar-resource{background:var(--cal-surface);gap:3px;padding:10px 12px 10px 36px;display:grid}.mobile-calendar-resource strong{color:var(--cal-text);font-size:13px}.mobile-calendar-resource span{color:var(--cal-muted);font-size:10px}.mobile-calendar-city-band,.mobile-calendar-address-band,.mobile-calendar-timeline-row{min-height:100%;position:relative}.mobile-calendar-city-band,.mobile-calendar-address-band{color:#0000;align-items:center;padding:0 12px;font-size:0;display:flex}.mobile-calendar-city-band{background:linear-gradient(90deg, color-mix(in srgb, var(--cal-surface-city) 68%, transparent), transparent 78%)}.mobile-calendar-address-band{background:linear-gradient(90deg, color-mix(in srgb, var(--cal-surface-address) 60%, transparent), transparent 70%)}.mobile-calendar-day-cell{border-left:1px solid var(--cal-day-line);min-height:58px;display:inline-block;position:relative}.mobile-calendar-day-cell.weekend{background:#7180960a}.mobile-calendar-day-cell.selected{background:#3869e80d}.mobile-calendar-now-line{background:var(--cal-warning);z-index:3;width:2px;position:absolute;top:0;bottom:0}.mobile-calendar-now-line i{background:var(--cal-warning);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.mobile-calendar-booking{color:#fff;text-align:left;border:0;border-radius:12px;align-content:center;justify-items:start;height:38px;padding:4px 8px;display:grid;position:absolute;top:10px;overflow:hidden;box-shadow:0 10px 20px #19284329}.mobile-calendar-booking small{opacity:.88;font-size:8px;font-weight:900}.mobile-calendar-booking strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:800;overflow:hidden}.mobile-calendar-booking-booking{background:linear-gradient(135deg, var(--cal-booking), var(--cal-booking-dark))}.mobile-calendar-booking-airbnb{background:linear-gradient(135deg, var(--cal-airbnb), var(--cal-airbnb-dark))}.mobile-calendar-booking-direct,.mobile-calendar-booking-phone,.mobile-calendar-booking-email,.mobile-calendar-booking-manual{background:linear-gradient(135deg, var(--cal-direct), var(--cal-direct-dark))}.mobile-calendar-booking-other{background:linear-gradient(135deg, var(--cal-other), var(--cal-other-dark))}.mobile-calendar-booking.status-cancelled{opacity:.42}.mobile-summary{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mobile-summary>div{align-items:baseline;gap:8px;padding:14px;display:flex}.mobile-summary strong{color:var(--cal-text);font-size:24px}.mobile-summary span{color:var(--cal-muted);font-size:11px;font-weight:800}.mobile-city-list,.mobile-city{gap:10px;display:grid}.mobile-city-title{justify-content:space-between;align-items:center;gap:10px;padding:0 2px;display:flex}.mobile-city-title strong{color:var(--cal-text);font-size:16px}.mobile-city-title span{color:var(--cal-muted);font-size:11px}.mobile-apartment-card{padding:14px}.mobile-apartment-head{justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.mobile-apartment-head>div{gap:4px;display:grid}.mobile-apartment-head strong{color:var(--cal-text);font-size:15px}.mobile-apartment-head>div span,.mobile-booking-dates,.mobile-cleaning-note,.mobile-booking-special{color:var(--cal-muted);font-size:11px}.occupied-dot,.free-dot{border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;line-height:1}.occupied-dot{color:#b74758;background:#ffecef}.free-dot{color:#297460;background:#e7f7f1}.mobile-empty-slot{border:1px dashed var(--cal-border);color:var(--cal-muted);text-align:center;border-radius:12px;padding:16px 12px;font-size:12px}.mobile-booking-card{border:1px solid var(--cal-border);background:var(--cal-surface-soft);width:100%;color:var(--cal-text);text-align:left;border-left:4px solid #0000;border-radius:14px;gap:7px;margin-top:8px;padding:14px;display:grid}.mobile-source-booking{border-left-color:var(--cal-booking)}.mobile-source-airbnb{border-left-color:var(--cal-airbnb)}.mobile-source-direct,.mobile-source-phone,.mobile-source-email,.mobile-source-manual{border-left-color:var(--cal-direct)}.mobile-source-other{border-left-color:var(--cal-other)}.mobile-booking-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.mobile-booking-card>strong{color:var(--cal-text);font-size:16px;line-height:1.2}.mobile-booking-dates{flex-wrap:wrap;gap:10px;display:flex}.mobile-cleaning-note{border-top:1px solid var(--cal-border);padding-top:8px}.mobile-bottom-sheet-backdrop{z-index:8000;background:#0f172a75;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-bottom-sheet{background:var(--app-bg,var(--cal-surface-alt));border-radius:20px 20px 0 0;width:100%;max-height:88vh;padding:8px 10px 14px;overflow:auto}.bottom-sheet-handle{background:var(--cal-muted);opacity:.45;border-radius:999px;width:42px;height:4px;margin:0 auto 10px}.mobile-bottom-sheet .booking-detail-card{box-shadow:none}@media (max-width:1100px){.desktop-planner{grid-template-columns:minmax(0,1fr) 320px}.calendar-app-header{grid-template-columns:1fr auto}.calendar-header-actions{grid-column:1/-1;justify-self:start}}@media (max-width:960px){.calendar-app{gap:10px}.calendar-app-header{z-index:40;border-radius:18px;grid-template-columns:1fr auto;min-height:auto;padding:12px;position:sticky;top:0}.calendar-app-header h1{font-size:22px}.desktop-month-switcher,.desktop-planner{display:none}.mobile-view-switch{grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.mobile-view-switch button{min-height:44px;color:var(--cal-muted);background:0 0;border:0;border-radius:12px;font-weight:800}.mobile-view-switch button.active{color:var(--cal-booking);background:#3869e81f}.mobile-date-strip{grid-template-columns:repeat(7,1fr);gap:4px;padding:5px;display:grid}.mobile-date-strip button{min-width:0;min-height:56px;color:var(--cal-muted);background:0 0;border:0;border-radius:12px;gap:2px;padding:8px 2px;display:grid}.mobile-date-strip span{font-size:10px;font-weight:800}.mobile-date-strip strong{font-size:18px;line-height:1.05}.mobile-date-strip button.active{background:var(--cal-booking);color:#fff}.mobile-planner,.mobile-bottom-sheet-backdrop,.mobile-month-calendar{display:grid}.manual-entry-launch,.manual-entry-panel{padding:16px}.manual-entry-launch{flex-direction:column;align-items:stretch}.rebook-dialog,.confirm-dialog{padding:18px}.confirm-actions,.manual-entry-actions,.edit-form-grid,.manual-entry-grid,.date-time-group,.rebook-date-grid,.move-comparison{grid-template-columns:1fr}.field-span-2{grid-column:span 1}.move-arrow{transform:rotate(90deg)}}@media (max-width:520px){.calendar-app-header{padding:10px}.calendar-app-eyebrow{font-size:9px}.calendar-app-header h1{font-size:20px}.calendar-header-actions{gap:6px;width:100%}.header-today,.theme-toggle-compact{height:42px;min-height:42px}.mobile-summary{grid-template-columns:1fr}.mobile-booking-top{align-items:flex-start}}.month-end-background{background:linear-gradient(90deg,#3869e805,#3869e80e)!important;border-right:2px solid #3869e838!important}html[data-theme=dark] .month-end-background{background:linear-gradient(90deg,#6f96ff06,#6f96ff17)!important;border-right-color:#8ba8ff57!important}.vis-item.planner-booking.continues-next-month{z-index:28!important;overflow:visible!important;box-shadow:0 9px 22px #19284333,0 0 0 2px #ffffffd1!important}.vis-item.planner-booking.continues-next-month:after{content:"";background:inherit;pointer-events:none;border-radius:3px;width:13px;height:13px;position:absolute;top:50%;right:-1px;transform:translate(45%,-50%)rotate(45deg);box-shadow:2px -2px #ffffff80}.month-continuation-chip{z-index:3;color:#fff;white-space:nowrap;background:#07112542;border:1px solid #ffffff61;border-radius:999px;flex:none;margin-left:auto;padding:3px 6px;font-size:8px;font-style:normal;font-weight:900;line-height:1;position:relative}.vis-item.month-edge-continuation{z-index:27!important;pointer-events:none!important;height:42px!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:10px 0 0 10px!important;margin-top:5px!important;overflow:visible!important}.vis-item.month-edge-continuation .vis-item-overflow,.vis-item.month-edge-continuation .vis-item-content{width:100%!important;height:100%!important;padding:0!important;overflow:visible!important}.month-edge-continuation-label{background:color-mix(in srgb, var(--cal-surface) 90%, var(--cal-booking) 10%);min-width:66px;color:var(--cal-text);text-align:right;white-space:nowrap;border:1px solid #3869e83d;border-radius:11px 4px 4px 11px;padding:5px 8px 5px 10px;position:absolute;top:50%;right:4px;transform:translateY(-50%);box-shadow:0 8px 18px #19284324}.month-edge-continuation-label:after{content:"";background:inherit;border-top:1px solid #3869e84d;border-right:1px solid #3869e84d;width:10px;height:10px;position:absolute;top:50%;right:-5px;transform:translateY(-50%)rotate(45deg)}.month-edge-continuation-label span,.month-edge-continuation-label strong{display:block}.month-edge-continuation-label span{color:var(--cal-muted);letter-spacing:.03em;text-transform:uppercase;font-size:8px;font-weight:800}.month-edge-continuation-label strong{color:var(--cal-booking);margin-top:2px;font-size:10px;font-weight:900}html[data-theme=dark] .month-edge-continuation-label{background:color-mix(in srgb, var(--cal-surface) 82%, var(--cal-booking) 18%);border-color:#8ba8ff52;box-shadow:0 9px 20px #00000047}html[data-theme=dark] .month-edge-continuation-label strong{color:#a9bdff}
