/* Update 2: shared controls and compact workspaces. */
body.mos-cosmic :is(.btn,.sp-tab-current,.sp-tabs>a,.sp-notification-bell),body.mos-cosmic .sp-workspace button:not(.btn-close):not(.sp-month-arrow):not([data-date]){background:linear-gradient(135deg,#d9f2ff1c,#b7dcff0b)!important;border:1px solid #d0eaff66!important;color:#edf8ff!important;box-shadow:inset 0 1px 0 #f6fcff42,0 4px 16px #020e2012;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);border-radius:99px;font-weight:400;line-height:1.3;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s}
body.mos-cosmic :is(.btn,.sp-tabs>a,.sp-notification-bell):hover,body.mos-cosmic .sp-workspace button:not(.btn-close):not(.sp-month-arrow):not([data-date]):hover{background:#d1ecff2a!important;border-color:#e0f4ffa3!important;color:#fff!important}body.mos-cosmic :is(.btn,button):disabled{opacity:.45;cursor:default}body.mos-cosmic :is(.btn,a,button):focus-visible{outline:2px solid #d6f2ff;outline-offset:3px}body .sp-workspace .btn,body .sp-notification-toast .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 13px;white-space:normal;vertical-align:middle}body .sp-workspace .btn-sm{min-height:32px;padding:5px 10px}body .sp-header-logout{margin:0;display:flex;align-items:center}body .sp-header .sp-header-logout .btn{height:42px;min-height:0;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}body .sp-header.is-compact .sp-header-logout .btn{height:32px}body .sp-header .sp-nav-account{flex-wrap:nowrap}
body.mos-cosmic .btn-close{--bs-btn-close-bg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 3 10 10M13 3 3 13' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-color:#c4e7ff14;border:1px solid #d0eaff55;border-radius:50%;opacity:1}
body .sp-account-workspace{padding-top:26px!important;padding-bottom:30px!important;min-height:45vh}body .sp-account-workspace .sp-page-heading{margin-bottom:14px}body .sp-account-workspace .sp-page-heading h1{font-size:clamp(1.65rem,2.5vw,2rem);margin-bottom:0}body .sp-workspace .sp-tabs{gap:7px;margin:12px 0 18px;align-items:center}body .sp-tabs :is(a,.sp-tab-current){display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;margin:0;font-weight:400;line-height:1.3}body.mos-cosmic .sp-tabs .sp-tab-current{background:#c4e7ff23!important;border-color:#e0f4ff8c!important}body .sp-account-workspace :is(h2,h3){font-size:clamp(1.15rem,1.7vw,1.4rem);font-weight:400;margin:0 0 10px;line-height:1.35}body .sp-account-workspace .sp-panel{padding:14px 16px;border-radius:18px}body .sp-account-workspace .sp-section-heading{align-items:center;margin:18px 0 10px;gap:12px}body .sp-account-workspace .sp-section-heading h2{margin:0}body .sp-account-workspace .sp-section-heading .sp-form{margin:0}body .sp-account-summary{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:16px;color:#bad0e5}body .sp-account-summary strong{margin-left:6px;color:#f3faff;font-weight:400}body .sp-account-workspace .sp-toolbar{justify-content:flex-end;margin-bottom:12px}body .sp-account-workspace .sp-empty{padding:20px}body .sp-account-workspace .sp-form{margin:10px 0}body .sp-account-workspace .sp-form label{gap:4px;margin-bottom:10px}body .sp-account-workspace .sp-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){min-height:38px;padding:7px 10px}body .sp-profile-panel{max-width:none}body .sp-profile-panel .sp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}body .sp-profile-panel label:has(textarea),body .sp-profile-panel label:has([type=checkbox]){grid-column:1/-1}body .sp-profile-panel textarea{min-height:80px;resize:vertical}body .sp-profile-panel .sp-form>.btn{justify-self:start;margin-top:0}
body .sp-reservation-list,body .sp-yacht-list,body .sp-notifications,body .sp-notification-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:12px 0}body .sp-workspace .sp-reservation,body .sp-workspace .sp-yacht-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;width:100%;padding:14px 16px;margin:0;border-radius:18px;align-items:start}body :is(.sp-reservation-thumb,.sp-yacht-thumb){display:block;width:96px;height:76px;border-radius:12px;overflow:hidden;background:#c2e2ff0b}body :is(.sp-reservation-thumb,.sp-yacht-thumb) img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}body :is(.sp-reservation-main,.sp-yacht-main){min-width:0}body .sp-reservation:not(:has(.sp-reservation-thumb)),body .sp-yacht-row:not(:has(.sp-yacht-thumb)){grid-template-columns:minmax(0,1fr)}body .sp-reservation-title{display:flex;align-items:start;justify-content:space-between;gap:10px}body .sp-workspace :is(.sp-reservation,.sp-yacht-row) h2{font-size:18px;font-weight:400;line-height:1.4;letter-spacing:-.02em;margin:0 0 6px}body :is(.sp-reservation,.sp-yacht-row) h2 a{color:inherit;text-decoration:none}body .sp-reservation .sp-badge{margin:0;white-space:nowrap;padding:4px 8px;line-height:1.3}body .sp-reservation-meta{display:flex;flex-wrap:wrap;gap:4px 16px;color:#bcd0e5;line-height:1.5}body .sp-reservation-meta strong{font-weight:400;color:#ecf8ff}body .sp-reservation-main>p,body .sp-yacht-main>p{margin:4px 0;line-height:1.5}body .sp-reservation .sp-booking-progress{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0;padding:0;list-style:none}body .sp-reservation .sp-booking-progress li{flex:0 0 auto;padding:3px 0;line-height:1.4;border-bottom-width:1px}body .sp-reservation .sp-deposit-info{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:8px 0;padding:7px 0;line-height:1.5}body .sp-reservation .sp-deposit-info strong{display:inline;font-weight:400}body .sp-reservation-actions,body .sp-yacht-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:9px}body .sp-reservation-actions .sp-form,body .sp-reservation-actions .sp-form>.btn{display:inline-flex;margin:0}body .sp-yacht-actions>p{display:contents}body .sp-reservation-actions>p{flex-basis:100%;margin:0}body .sp-reservation-main>.alert{margin:8px 0;padding:8px 11px}body .sp-yacht-actions .btn{margin:0}
body .sp-workspace .sp-notification{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;margin:0;border-radius:16px}body .sp-notification-copy{min-width:0}body .sp-notification strong{font-weight:400;line-height:1.4}body .sp-notification p{margin:3px 0 0;line-height:1.5;overflow-wrap:anywhere}body .sp-notification time{color:#b5cbe1;white-space:nowrap;line-height:1.4}body .sp-notification-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}body .sp-notification-actions .sp-form{margin:0}body .sp-notification-actions .btn{min-height:32px;padding:5px 10px}body.mos-cosmic .sp-notification.is-unread{background:linear-gradient(135deg,#c4e7ff12,#b7dfff06);border-color:#b8dcff44;border-left:2px solid #a8e5ff}body .sp-notification-settings{gap:12px;margin:12px 0}body .sp-notification-settings>.sp-panel{padding:12px 14px}body .sp-notification-settings summary{font-weight:400;line-height:1.4}body .sp-notification-settings p{margin:8px 0;line-height:1.5}body .sp-notification-settings .sp-form label{margin-bottom:7px}body .sp-push-devices:empty{display:none}body .sp-push-device{margin-top:8px;padding-top:8px;gap:8px}body .sp-notification-bell{background:linear-gradient(135deg,#d9f2ff1c,#b7dcff0b);color:#edf8ff;box-shadow:inset 0 1px 0 #ffffff42}body .sp-notification-bell>span{background:#253f60;color:#fff;border:1px solid #d0eaff88;min-width:20px;height:20px;font-size:14px!important;line-height:1}
body.mos-cosmic :is(.sp-notification-toast,.sp-notification-popover){color:#edf8ff;background:linear-gradient(135deg,#203c58ed,#142b43e8);border:1px solid #d0eaff66;box-shadow:inset 0 1px 0 #f6fcff3d,0 12px 45px #020e2040;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%)}body .sp-notification-toast{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 15px;line-height:1.5;width:min(440px,calc(100% - 32px));z-index:1080}body .sp-toast-copy :is(strong,span){display:block;line-height:1.5}body .sp-toast-copy strong{margin-bottom:3px;font-weight:400}body .sp-toast-actions{display:flex;gap:7px;align-items:center}body .sp-notification-toast .sp-toast-close,body .sp-notification-popover .sp-popover-close{display:grid;place-items:center;width:30px;height:30px;min-width:30px;padding:0;border:1px solid #d0eaff66;border-radius:50%;background:#d1ecff12;color:#fff;line-height:1;font-size:20px!important}body .sp-notification-toast.is-error{border-color:#ffdfb080}body .sp-notification-popover{position:fixed;z-index:1070;width:min(400px,calc(100% - 24px));max-height:calc(100dvh - 100px);display:flex;flex-direction:column;border-radius:20px;overflow:hidden}body .sp-notification-popover[hidden]{display:none}body .sp-notification-popover header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #c1dfff26}body .sp-notification-popover h2{font-size:20px;font-weight:400;margin:0}body .sp-notice-preview{overflow:auto;overscroll-behavior:contain;min-height:0;padding:8px;display:grid;gap:6px}body .sp-notice-preview>a{display:block;padding:10px 11px;border:1px solid #c1dfff26;border-radius:12px;color:#edf8ff;text-decoration:none;line-height:1.4}body .sp-notice-preview>a.is-unread{background:#c4e7ff0c;border-color:#c1dfff55}body .sp-notice-preview strong,body .sp-notice-preview time{display:block;font-weight:400}body .sp-notice-preview p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:4px 0;line-height:1.5}body .sp-notice-preview time{color:#b7cfe4}body .sp-notice-preview>p{margin:8px;display:block}body .sp-notification-popover footer{display:flex;gap:8px;justify-content:space-between;padding:10px 12px;border-top:1px solid #c1dfff26}body .sp-notification-popover .btn{padding:6px 11px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;line-height:1.3}
body.mos-cosmic :is(.sp-section-option,.sp-calendar-list,.sp-calendar-summary>.sp-disclosure,.sp-setting-meta,.sp-plugin-card,.sp-calendar-tools>.sp-disclosure){background:linear-gradient(135deg,#c4e7ff0c,#b7dfff04);border-color:#c1dfff33;color:#edf6ff;box-shadow:inset 0 1px 0 #f2faff15}body.mos-cosmic .sp-calendar-list-item{background:transparent;color:#edf6ff;border-color:#c1dfff26}body.mos-cosmic .sp-calendar-list-item:hover{background:#c4e7ff10}body .sp-workspace .sp-section-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}body .sp-section-option{padding:12px 14px;border-radius:14px}body .sp-section-option label{gap:4px;margin-bottom:8px}body .sp-workspace .sp-calendars-section{margin-top:24px}body .sp-calendar-list{border-radius:16px}body .sp-calendar-list-item{padding:10px 14px;gap:12px;line-height:1.5}body .sp-calendar-list-item strong{font-weight:400}body .sp-calendar-list-state{flex:0 0 auto;font-weight:400}body .sp-calendar-summary>.sp-disclosure{padding:12px 14px}body .sp-calendar-workspace{gap:12px}body .sp-workspace .sp-calendar-workspace>.sp-panel{padding:14px 16px}body .sp-workspace .sp-calendar-tools{gap:12px}body .sp-calendar-tools>.sp-panel{padding:12px 14px}body .sp-workspace .sp-plugin-card{padding:16px}body .sp-workspace .sp-form-footer{padding:10px 12px}body .sp-workspace .sp-settings-grid{gap:10px 16px}body .sp-workspace[aria-busy=true]{cursor:progress}body .sp-workspace .sp-form[aria-busy=true]{opacity:.75}body .sp-workspace .sp-inline-error{color:#ffe5ce;margin:7px 0 0;line-height:1.5}
@media(max-width:1000px){body .sp-workspace .sp-section-options{grid-template-columns:repeat(2,minmax(0,1fr))}body .sp-workspace .sp-notification{grid-template-columns:minmax(0,1fr) auto}body .sp-notification-copy{grid-column:1/-1}body .sp-notification time{white-space:normal}}
@media(max-width:800px){body .sp-header .sp-nav-account .sp-header-logout,body .sp-header .sp-header-logout .btn,body .sp-header.is-compact .sp-header-logout .btn{width:100%;height:38px}body .sp-account-workspace{padding-top:22px!important}body .sp-profile-panel .sp-form{grid-template-columns:1fr;gap:0}body .sp-workspace .sp-reservation,body .sp-workspace .sp-yacht-row{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:12px}body :is(.sp-reservation-thumb,.sp-yacht-thumb){width:64px;height:56px;border-radius:10px}body .sp-reservation-title{display:block}body .sp-reservation-title .sp-badge{display:inline-block;margin-bottom:7px;white-space:normal}body .sp-workspace :is(.sp-reservation,.sp-yacht-row) h2{font-size:17px}body .sp-reservation-meta{gap:3px 10px}body .sp-reservation .sp-booking-progress{gap:5px 12px}body .sp-reservation .sp-booking-progress li{flex-basis:auto}body .sp-reservation .sp-deposit-info{gap:3px 8px}body .sp-reservation-actions .btn,body .sp-yacht-actions .btn{min-height:34px;padding:6px 10px}body .sp-workspace .sp-notification{padding:11px 12px;gap:8px}body .sp-notification-actions{width:auto;justify-content:flex-end}body .sp-notification-settings{grid-template-columns:1fr}body .sp-calendar-list-item{align-items:start;gap:8px;padding:10px 12px}body .sp-calendar-list-state{max-width:42%;text-align:right}body .sp-calendar-list-item>span:last-child{display:none}body .sp-notification-toast{right:12px;width:calc(100% - 24px);top:76px;padding:12px;grid-template-columns:minmax(0,1fr) auto}body .sp-toast-actions{flex-direction:column}body .sp-workspace .sp-calendar-workspace>.sp-panel{padding:12px}body .sp-workspace .sp-calendar-toolbar h2{flex:1 1 100%}body .sp-workspace .sp-calendar-hint{margin-bottom:8px}}
@media(max-width:540px){body .sp-workspace .sp-section-options{grid-template-columns:1fr}body .sp-notification-copy{grid-column:1/-1}body .sp-notification time{align-self:center}body .sp-notification-actions .btn{padding:5px 8px}body .sp-reservation-main>.sp-reservation-actions{gap:6px}}
@media(prefers-reduced-motion:reduce){body .sp-notification-toast{animation:none!important}}
body .sp-reservation-actions:empty{display:none}body.mos-cosmic.sp-admin .sp-workspace input[type=submit]{background:linear-gradient(135deg,#d9f2ff1c,#b7dcff0b)!important;color:#edf8ff!important;border:1px solid #d0eaff66!important;border-radius:99px;padding:7px 13px;min-height:36px;box-shadow:inset 0 1px 0 #fff4}body .sp-admin-brand{white-space:nowrap}
body .sp-account-workspace .sp-form :is(input:not([type=checkbox]):not([type=hidden]),select){height:40px;line-height:1.4}body .sp-profile-panel textarea{height:84px;min-height:84px;line-height:1.5}
body.sp-admin .sp-header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) 38px;gap:16px;padding-block:10px;align-items:center}body.sp-admin .sp-header .sp-admin-brand{grid-column:1;grid-row:1;display:flex;align-items:center;gap:7px;color:#edf8ff!important}body.sp-admin .sp-admin-brand .sp-badge{margin:0;padding:4px 8px;line-height:1.3}body.sp-admin .sp-header .sp-navigation{grid-column:2;grid-row:1;min-width:0;padding:0;gap:12px}body.sp-admin .sp-header .sp-nav-main{gap:5px 14px}body.sp-admin .sp-header .sp-navigation :is(a,summary){color:#deefff!important}body.sp-admin .sp-header .sp-notification-bell{grid-column:3;grid-row:1;margin:0;align-self:center}body.sp-admin .sp-header .sp-menu-toggle{grid-column:4;grid-row:1}body.sp-admin .sp-workspace .sp-form :is(input:not([type=checkbox]):not([type=hidden]):not([type=submit]),select){height:40px;line-height:1.4}body .sp-workspace .sp-form .sp-section-option label{margin-bottom:6px;gap:4px;line-height:1.4;min-height:0;font-weight:400}body .sp-workspace .sp-form .sp-section-option label:last-child{margin-bottom:0}
@media(max-width:800px){body.sp-admin .sp-header-inner{display:flex;flex-wrap:nowrap;gap:12px;padding-block:8px}body.sp-admin .sp-header .sp-notification-bell{margin-left:auto}body.sp-admin .sp-header .sp-navigation{padding:14px;gap:10px}body.sp-admin .sp-header .sp-nav-main{gap:3px}body.sp-admin .sp-header .sp-menu-toggle{margin-left:0}}
@media(max-width:800px){body .sp-reservation-main{display:contents}body .sp-reservation-title{grid-column:2;grid-row:1}body .sp-reservation-main>:not(.sp-reservation-title){grid-column:1/-1}body .sp-reservation:not(:has(.sp-reservation-thumb)) .sp-reservation-title{grid-column:1/-1}body .sp-reservation .sp-booking-progress{margin-block:0}body .sp-reservation .sp-deposit-info{margin-block:0}}
@media(max-width:540px){body .sp-calendar-list-item{display:grid;grid-template-columns:1fr;gap:4px}body .sp-calendar-list-state{display:flex;flex-wrap:wrap;align-items:center;text-align:left;max-width:none;gap:4px 12px}}
body .sp-publication-editor .sp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}body .sp-publication-editor .sp-form>p,body .sp-publication-editor label:has(textarea){grid-column:1/-1}body .sp-publication-editor .sp-form label{margin:0}body .sp-publication-editor textarea{height:112px;min-height:84px;line-height:1.5}body .sp-publication-editor .sp-editor-image{width:96px;height:76px;object-fit:cover}body .sp-publication-editor .sp-form>.btn{justify-self:start}body.mos-cosmic #notification{background:linear-gradient(135deg,#203c58ed,#142b43e8)!important;color:#edf8ff!important;border:1px solid #d0eaff66!important;border-radius:16px!important;backdrop-filter:blur(20px)}
@media(max-width:640px){body .sp-publication-editor .sp-form{grid-template-columns:1fr;gap:10px}body .sp-publication-editor label:has(textarea){grid-column:auto}}
body.mos-cosmic.sp-admin :is(.card-header,.bg-light,.list-group-item){background:#c4e7ff0b!important;color:#edf6ff!important;border-color:#c1dfff33!important}body.mos-cosmic.sp-admin .text-dark{color:#edf6ff!important}body.mos-cosmic.sp-admin .text-muted{color:#b8cee3!important}body.mos-cosmic.sp-admin :is(.modal-header,.modal-footer){border-color:#c1dfff33}
body .sp-workspace .sp-filter{display:grid;grid-template-columns:minmax(0,180px) minmax(0,220px) max-content;align-items:end;gap:10px;max-width:650px;margin:12px 0}body .sp-workspace .sp-filter label{min-width:0;width:100%;margin:0;gap:4px;line-height:1.4}body .sp-workspace .sp-filter input{width:100%;min-width:0;height:40px;min-height:40px;padding:7px 10px;line-height:1.4}body .sp-workspace .sp-filter .btn{margin:0}body .sp-status-tabs{scrollbar-width:none}body .sp-status-tabs::-webkit-scrollbar{display:none;width:0;height:0}body.sp-admin .sp-booking-notices{padding:10px 12px;margin:10px 0}body.sp-admin .sp-booking-notices>summary{padding:0!important;line-height:1.5}body .sp-reservation-actions form:has([name=action][value=cash]){order:2}body .sp-reservation-main .sp-deposit-info{margin-block:6px}body .sp-admin-footer{padding:18px 0}body .sp-admin-footer .container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}body .sp-admin-footer .container>span{grid-column:2;text-align:center}
@media(max-width:800px){body .sp-workspace .sp-filter{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:8px 10px}body .sp-workspace .sp-filter>.btn{grid-column:1/-1;justify-self:start}body .sp-reservation-actions{margin-top:0}body .sp-reservation-meta{gap:3px 10px;line-height:1.4}body .sp-admin-footer .container{grid-template-columns:1fr;text-align:center;gap:7px}body .sp-admin-footer .container>span{grid-column:1}}
body .sp-booking-toolbar{display:flex;align-items:center;gap:12px;overflow-x:auto;scrollbar-width:none;margin:12px 0 16px;max-width:100%}body .sp-booking-toolbar::-webkit-scrollbar{display:none}body .sp-booking-toolbar>.sp-tabs{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:6px;margin:0;white-space:nowrap}body .sp-booking-toolbar>.sp-status-tabs{padding-left:12px;border-left:1px solid #c1dfff33}body .sp-settings-save{display:flex;justify-content:flex-end;align-items:center;margin-top:20px;padding:0;border:0;background:none;box-shadow:none;position:static}body .sp-settings-save>.btn{margin:0}
body.sp-admin .sp-header{position:sticky;top:14px;backdrop-filter:none;-webkit-backdrop-filter:none}body.sp-admin .sp-header .sp-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;min-height:58px;padding-block:8px;gap:18px}body.sp-admin .sp-admin-actions{display:flex;align-items:center;gap:12px;margin-left:auto}body.sp-admin .sp-admin-actions form{margin:0}body.sp-admin .sp-admin-actions .sp-notification-bell{margin:0;flex:0 0 auto}body.sp-admin .sp-admin-open-site{color:#deefff;text-decoration:none;white-space:nowrap}body.sp-admin .sp-admin-nav-heading{display:block;color:#b9cee2;font-weight:400;line-height:1.4;padding:0 10px;margin:5px 0 8px}body.sp-admin .sp-header .sp-admin-navigation .sp-nav-main{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;min-width:0}body.sp-admin .sp-header .sp-admin-navigation a{display:block;padding:9px 11px;line-height:1.4;border:1px solid transparent;border-radius:11px;color:#deefff!important;text-decoration:none;overflow-wrap:anywhere}body.sp-admin .sp-header .sp-admin-navigation a:hover{background:#c4e7ff0d;border-color:#c1dfff2c}body.sp-admin .sp-header .sp-admin-navigation a[aria-current]{background:linear-gradient(135deg,#d9f2ff1c,#b7dcff0b);border-color:#d0eaff66;color:#fff!important;box-shadow:inset 0 1px 0 #f6fcff30}body.sp-admin .sp-admin-exit-link{display:block;width:100%;border:0;background:none;box-shadow:none;padding:10px 11px;line-height:1.4;text-align:left;color:#deefff;font-weight:400;border-radius:0}body.sp-admin .sp-admin-exit-link:hover{text-decoration:underline}
@media(min-width:801px){
body.sp-admin .sp-header .sp-header-inner{flex-wrap:nowrap}
body.sp-admin .sp-header .sp-admin-navigation{position:fixed;left:20px;top:96px;right:auto;bottom:auto;width:208px;min-width:0;max-height:calc(100dvh - 116px);display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:8px;padding:12px 10px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid #c1dfff33;border-radius:18px;background:linear-gradient(135deg,#20354ee8,#13283fe3);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px 0 #f6fcff20;visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:none}
body.sp-admin .sp-header .sp-admin-navigation .sp-nav-main{flex:0 0 auto;flex-direction:column;flex-wrap:nowrap;align-items:stretch;width:100%;min-width:0}
body.sp-admin .sp-header .sp-admin-navigation :is(a,.sp-admin-nav-heading){flex:0 0 auto;white-space:normal;overflow-wrap:anywhere}
body.sp-admin .sp-header .sp-admin-navigation .sp-admin-nav-heading{width:100%;min-width:0;margin:5px 0 8px}
body.sp-admin main.sp-workspace{width:auto;max-width:none;margin-left:248px;margin-right:20px;padding-inline:0!important;padding-top:24px!important;min-width:0}
body.sp-admin .sp-admin-footer{margin-left:248px;margin-right:20px}
body.sp-admin .sp-admin-footer .container{max-width:none;width:100%;padding-inline:0}
body.sp-admin .sp-admin-mobile-only,body.sp-admin .sp-admin-mobile-exit{display:none!important}
body.sp-admin .sp-header .sp-menu-toggle{display:none}
}
@media(max-width:800px){body.sp-admin .sp-header{top:9px}body.sp-admin .sp-header .sp-header-inner{min-height:54px;gap:12px}body.sp-admin .sp-admin-actions{gap:0}body.sp-admin .sp-admin-open-site,body.sp-admin .sp-admin-desktop-exit{display:none}body.sp-admin .sp-header .sp-admin-navigation{gap:10px;padding:14px}body.sp-admin .sp-header .sp-admin-navigation .sp-nav-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}body.sp-admin .sp-header .sp-admin-navigation a{padding:9px 10px;min-height:40px}body.sp-admin .sp-admin-mobile-exit{margin:0;padding-top:8px;border-top:1px solid #c1dfff33;width:100%}body.sp-admin .sp-admin-nav-heading{padding-inline:10px;margin:3px 0 0}body .sp-booking-toolbar{display:block;overflow:visible;margin:10px 0 14px}body .sp-booking-toolbar>.sp-tabs{max-width:100%;overflow:auto;scrollbar-width:none;margin:0 0 8px}body .sp-booking-toolbar>.sp-status-tabs{padding-left:0;border-left:0}body .sp-booking-toolbar .sp-tabs::-webkit-scrollbar{display:none}}
body .sp-settings-save,body.sp-admin .sp-form-footer{display:flex;justify-content:flex-start;position:sticky;bottom:20px;z-index:5;margin-top:20px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:none}body .sp-settings-save>.btn,body.sp-admin .sp-form-footer>.btn{pointer-events:auto;margin:0}body.sp-admin-auth .sp-admin-navigation,body.sp-admin-auth .sp-menu-toggle{display:none!important}body.sp-admin-auth main.sp-workspace{max-width:680px;width:calc(100% - 40px);margin-inline:auto}body.sp-admin-auth .sp-admin-footer{margin-inline:20px}

/* One compact disclosure header throughout public and administrative workspaces. */
body .sp-disclosure:not([open]){padding:0!important;min-height:0}
body .sp-disclosure>summary{box-sizing:border-box;height:42px;min-height:42px;gap:8px;padding:8px 12px!important;margin:0!important;line-height:24px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .sp-disclosure>summary::after{flex:0 0 18px;line-height:24px;text-align:center}
body .sp-disclosure>summary small{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
body .sp-disclosure[open]>summary{height:auto;margin-bottom:12px!important;padding-inline:0!important;white-space:normal}
body .sp-calendar :is(button,span){box-sizing:border-box;height:40px;min-height:40px;line-height:1.3}
body .sp-calendar .sp-day-name{height:24px;min-height:24px;background:none;border-color:transparent}
body .sp-calendar .sp-calendar-blank{background:none;border-color:transparent;pointer-events:none}
body [data-owner-calendar] .sp-calendar :is(button,.sp-calendar-blank){height:43px;min-height:43px}
body [data-owner-calendar]{overflow-anchor:none}
body [data-owner-calendar] [data-calendar-hint]{box-sizing:border-box;height:6em;min-height:6em;margin:8px 0;line-height:1.5;overflow:auto}
body .sp-calendar[aria-busy=true]{opacity:.65;pointer-events:none}
body .sp-date-search{display:block;width:100%;max-width:400px;margin-inline:auto;padding:14px 16px}
body .sp-date-search>.sp-search-heading{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:5px 12px;width:auto;margin:0 0 10px}
body .sp-date-search .sp-search-calendar{width:100%;max-width:360px;margin:auto}
body .sp-date-search .sp-calendar-toolbar{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;align-items:center}
body .sp-date-search [data-search-month]{font-weight:400;text-align:center;text-transform:capitalize}
body .sp-date-search .sp-calendar{margin:8px 0 4px;gap:4px}
body .sp-date-search .sp-calendar :is(button,.sp-calendar-blank){height:34px;min-height:34px;padding:0}
body .sp-date-search .sp-search-range{box-sizing:border-box;height:auto;min-height:2.25em;line-height:1.5;margin:3.5px 0 5px;overflow:auto;text-align:center}
body .sp-date-search .btn{display:flex;justify-content:center;align-items:center;width:100%;min-height:38px;padding:8px 12px}
@media(min-width:801px){body.sp-admin .sp-header .sp-admin-navigation{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#bde8ff9c #bde8ff12}body.sp-admin .sp-header .sp-admin-navigation::-webkit-scrollbar{display:block;width:7px;height:7px}body.sp-admin .sp-header .sp-admin-navigation::-webkit-scrollbar-track{background:#bde8ff12;border-radius:9px;margin-block:12px}body.sp-admin .sp-header .sp-admin-navigation::-webkit-scrollbar-thumb{border-radius:9px;background:linear-gradient(#d8f2ffb3,#86c8e880);border:1px solid #dff5ff66}body.sp-admin .sp-header .sp-admin-navigation::-webkit-scrollbar-thumb:hover{background:#ddf6ffce}}


/* Center single- and multi-line booking labels inside their glass button. */
body .sp-booking .sp-form>.btn{display:flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;line-height:1.3;padding-block:10px;min-height:42px;height:auto;white-space:normal}
/* Compact home cards: photo, the shared rating, title and details link. */
body .sp-catalog-home .sp-card-rating{display:flex;align-items:center;justify-content:flex-end;min-width:0;padding:6px 14px 0}
body .sp-catalog-home .sp-card-rating .rating-control{width:max-content;max-width:100%;margin:0;padding:0;border:0!important;background:none!important;box-shadow:none;backdrop-filter:none}
body .sp-catalog-home .sp-card-content{padding:12px 16px 16px}
body .sp-catalog-home .sp-card-content h2{font-size:14px;line-height:1.45;font-weight:400;letter-spacing:0;margin:0 0 12px}
body .sp-catalog-home .sp-card-bottom{padding-top:10px}
/* Smaller home hero title, retaining its existing alignment and weight. */
body.mosyacht .sp-hero h1{font-size:clamp(2.25rem,3.65vw,4rem)}
@media(max-width:640px){body.mosyacht .sp-hero h1{font-size:2.2rem}}
/* Desktop home cards use three equal columns; a pair stays centered. */
@media(min-width:992px){body .sp-catalog-home,body .sp-catalog-home:has(>.sp-card:nth-child(2):last-child){display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;margin-inline:0}body .sp-catalog-home>.sp-card{grid-column:span 2}body .sp-catalog-home>.sp-card:first-child:nth-last-child(2){grid-column:2/span 2}body .sp-catalog-home>.sp-card:last-child:nth-child(2){grid-column:4/span 2}}
/* Preserve the original menu geometry; change only the plus background. */
body .sp-header .sp-navigation summary::after{background:linear-gradient(135deg,#d9f2ff1c,#b7dcff0b);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}

/* Requested desktop plus: the mobile circle, aligned to the right of its title. */
@media(min-width:801px){body:not(.sp-admin) .sp-header .sp-navigation summary{display:flex;align-items:center;justify-content:space-between;gap:10px}body:not(.sp-admin) .sp-header .sp-navigation summary::after{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border:1px solid #b7dcd7;border-radius:50%;margin:0;font-size:1.1rem;font-weight:400;line-height:1}}
/* Align only the expanded mobile catalog rows with their parent title. */
@media(max-width:800px){body:not(.sp-admin) .sp-header .sp-catalog-menu>.sp-catalog-drop{padding-inline:0;border-inline-width:0;margin-top:3px}body:not(.sp-admin) .sp-header .sp-catalog-drop>[data-menu-section]>summary{padding-inline:14px}}
/* Identical calendar month row, retaining the framed month label. */
body .sp-date-search .sp-calendar-toolbar,body .sp-calendar-month-nav{display:grid;grid-template-columns:34px minmax(0,139px) 34px;justify-content:center;align-items:center;gap:6px;width:100%;max-width:none;padding:0}
body .sp-date-search [data-search-month],body .sp-calendar-month-caption{display:grid;place-items:center;box-sizing:border-box;width:100%;min-width:0;min-height:34px;margin:0;padding:5px 7px;border:1px solid #b7d5f93d;border-radius:11px;background:#14273e;color:inherit;text-align:center;text-transform:capitalize;font-size:inherit;font-weight:400;line-height:22px}
body .sp-calendar-toolbar:has(>.sp-calendar-month-nav){display:block}
body .sp-calendar-toolbar>.sp-calendar-month-nav{margin-top:8px}
body .sp-calendar-month-nav>.sp-month-arrow{width:34px;min-width:34px;height:34px}
/* Booking title, one price line, and timezone directly below the calendar. */
body .sp-booking-pricing{display:flex;align-items:baseline;flex-wrap:nowrap;gap:12px;margin-bottom:12px}
body .sp-booking-pricing h2,body .sp-booking-minimum{white-space:nowrap;margin:0}
body .sp-booking .sp-calendar-timezone{margin:8px 0 0;line-height:1.5}
body .sp-booking [data-calendar-hint][hidden]{display:none}

@media(min-width:801px){body .sp-booking-below .sp-booking[data-booking]>.sp-booking-calendar,body .sp-booking-below .sp-booking[data-booking]>.sp-form{grid-row:2}}
body .sp-booking-heading .sp-eyebrow{margin-bottom:7px}
body .sp-booking-heading .sp-booking-pricing h2{font-size:clamp(1.033333rem,1.6vw,1.333333rem)}
body .sp-booking .sp-booking-calendar>.sp-calendar-toolbar,body .sp-booking .sp-calendar-toolbar>.sp-calendar-month-nav{margin-top:0}
body .sp-booking>.sp-form{margin-top:8px}
body .sp-booking .sp-selected-date[hidden]{display:none}
/* Center the requested booking heading and its single price line on all screens. */
body .sp-booking .sp-booking-heading{align-items:center;width:100%;text-align:center}
body .sp-booking .sp-booking-heading>div{width:100%;text-align:center}
body .sp-booking .sp-booking-pricing{justify-content:center}
/* Compact editor action and photo controls in the object modal. */
body .sp-publication-editor .sp-form>.btn{align-self:end;height:auto}
body.sp-admin .sp-admin-photo{position:relative;display:table;min-width:90px;max-width:100%}
body.sp-admin .sp-admin-photo>img{display:block;margin:0!important;max-width:100%;object-fit:contain;background-color:transparent}
body.sp-admin .sp-photo-rotation{position:absolute;top:5px;left:5px;display:flex;gap:5px;z-index:1}
body.sp-admin .sp-photo-rotation>.btn{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:36px;height:36px;min-height:36px;padding:7px;border-radius:50%;line-height:1}
body.sp-admin.mos-cosmic .sp-photo-rotation>.btn{background:linear-gradient(135deg,#203c58de,#142b43c9)!important}
body.sp-admin .sp-photo-rotation svg{display:block;flex:none;pointer-events:none}
body.sp-admin .sp-admin-photo[aria-busy=true]{cursor:progress}
body.sp-admin .sp-photo-error:not([hidden]){display:block;margin-top:5px;color:#ffe0b5}
body.mos-cosmic .sp-payment-ledger{border:1px solid #c1dfff33;border-radius:16px;background:linear-gradient(135deg,#c4e7ff0c,#b7dfff04);box-shadow:inset 0 1px 0 #f2faff15;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.mos-cosmic .sp-payment-ledger>.table{--bs-table-bg:transparent;--bs-table-color:#edf6ff;--bs-table-border-color:#c1dfff33;--bs-table-hover-bg:#c4e7ff0d;--bs-table-hover-color:#edf6ff;margin-bottom:0}
@media(max-width:800px){
body.sp-admin .sp-workspace .sp-filter>label{display:grid;grid-template-rows:auto 40px;align-items:start;min-width:0;gap:4px}
body.sp-admin .sp-workspace .sp-filter input{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:40px;min-height:40px;margin:0;padding:7px 10px;font-family:inherit;font-size:inherit;font-weight:400;line-height:24px;text-align:left;-webkit-appearance:none;appearance:none}
body.sp-admin .sp-workspace .sp-filter input[type=date]::-webkit-date-and-time-value{min-height:24px;margin:0;text-align:left}
body.sp-admin .sp-workspace .sp-filter input[type=date]::-webkit-datetime-edit{display:inline-flex;align-items:center;min-height:24px;padding:0}
}
/* Payment badges reused from the official Switch Pages footer. */
body :is(.sp-footer,.sp-admin-footer) .sp-payment-footer{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:20px;padding-block:20px 24px;border-top:1px solid #adc9ff20}
body .sp-payment-badges{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}
body .sp-payment-badge{display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px;color:#9fb8da;text-decoration:none;line-height:1.5;white-space:nowrap}
body .sp-payment-badge img{display:block;width:88px;height:32px;max-width:none;object-fit:contain}
body .sp-payment-badge:hover,body .sp-payment-links>a:hover{color:#e0f1ff}
body .sp-payment-badge:focus-visible,body .sp-payment-links>a:focus-visible{outline:2px solid #75c7ff;outline-offset:5px;border-radius:3px}
body .sp-payment-links{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
body .sp-payment-links>a{color:#9fb8da;text-decoration:none}
body .sp-payment-owner{margin:0;color:#839bbf;white-space:nowrap}
body .sp-payment-owner span{color:#b4c9e7;font-variant-numeric:tabular-nums}
@media(max-width:600px){body :is(.sp-footer,.sp-admin-footer) .sp-payment-footer{align-items:flex-start;flex-direction:column;gap:18px;padding-block:18px 22px}body .sp-payment-badges{gap:20px}body .sp-payment-links{align-items:flex-start}}
