:root{color-scheme:light;--ds-font-family:var(--nk-font-family-interface);--ds-font-weight-regular:var(--nk-font-weight-regular);--ds-font-weight-medium:var(--nk-font-weight-medium);--ds-font-weight-semibold:var(--nk-font-weight-semibold);--ds-border-radius-sm:var(--nk-radius-sm);--ds-border-radius-md:var(--nk-radius-sm);--ds-border-radius-lg:var(--nk-radius-md);--ds-border-radius-xl:var(--nk-radius-md);--ds-shadow-sm:var(--nk-shadow-surface);--ds-shadow-md:var(--nk-shadow-surface);--ds-shadow-lg:var(--nk-shadow-floating);--ds-shadow-xl:var(--nk-shadow-floating);--ds-color-focus-inner:var(--nk-color-action-focus);--ds-color-focus-outer:var(--nk-color-border-strong);--ds-color-accent-background-default:var(--nk-color-background-surface);--ds-color-accent-background-tinted:var(--nk-color-background-canvas);--ds-color-accent-surface-default:var(--nk-color-background-surface);--ds-color-accent-surface-tinted:var(--nk-color-background-subtle);--ds-color-accent-surface-hover:var(--nk-color-background-subtle);--ds-color-accent-surface-active:var(--nk-color-border-default);--ds-color-accent-border-subtle:var(--nk-color-border-default);--ds-color-accent-border-default:var(--nk-color-action-primary);--ds-color-accent-border-strong:var(--nk-color-border-strong);--ds-color-accent-text-subtle:var(--nk-color-text-primary);--ds-color-accent-text-default:var(--nk-color-text-link);--ds-color-accent-base-default:var(--nk-color-action-primary);--ds-color-accent-base-hover:var(--nk-color-action-primary-hover);--ds-color-accent-base-active:var(--nk-color-action-primary);--ds-color-accent-base-contrast-subtle:var(--nk-color-background-subtle);--ds-color-accent-base-contrast-default:var(--nk-color-text-inverse);--ds-color-neutral-background-default:var(--nk-color-background-surface);--ds-color-neutral-background-tinted:var(--nk-color-background-canvas);--ds-color-neutral-surface-default:var(--nk-color-background-surface);--ds-color-neutral-surface-tinted:var(--nk-color-booking-closed);--ds-color-neutral-surface-hover:var(--nk-color-background-subtle);--ds-color-neutral-surface-active:var(--nk-color-border-default);--ds-color-neutral-border-subtle:var(--nk-color-border-default);--ds-color-neutral-border-default:var(--nk-color-text-secondary);--ds-color-neutral-border-strong:var(--nk-color-border-strong);--ds-color-neutral-text-subtle:var(--nk-color-text-secondary);--ds-color-neutral-text-default:var(--nk-color-text-primary);--ds-color-neutral-base-default:var(--nk-color-text-primary);--ds-color-neutral-base-hover:var(--nk-color-text-secondary);--ds-color-neutral-base-active:var(--nk-color-text-primary);--ds-color-neutral-base-contrast-subtle:var(--nk-color-border-default);--ds-color-neutral-base-contrast-default:var(--nk-color-text-inverse);--ds-color-danger-background-default:var(--nk-color-background-surface);--ds-color-danger-background-tinted:color-mix(in srgb,var(--nk-color-feedback-error) 9%,var(--nk-color-background-surface));--ds-color-danger-surface-default:var(--nk-color-background-surface);--ds-color-danger-surface-tinted:color-mix(in srgb,var(--nk-color-feedback-error) 12%,var(--nk-color-background-surface));--ds-color-danger-surface-hover:color-mix(in srgb,var(--nk-color-feedback-error) 17%,var(--nk-color-background-surface));--ds-color-danger-surface-active:color-mix(in srgb,var(--nk-color-feedback-error) 23%,var(--nk-color-background-surface));--ds-color-danger-border-subtle:color-mix(in srgb,var(--nk-color-feedback-error) 40%,var(--nk-color-background-surface));--ds-color-danger-border-default:var(--nk-color-feedback-error);--ds-color-danger-border-strong:var(--nk-color-action-primary);--ds-color-danger-text-subtle:var(--nk-color-feedback-error);--ds-color-danger-text-default:var(--nk-color-action-primary);--ds-color-danger-base-default:var(--nk-color-feedback-error);--ds-color-danger-base-hover:var(--nk-color-action-primary-hover);--ds-color-danger-base-active:var(--nk-color-action-primary);--ds-color-danger-base-contrast-subtle:var(--nk-color-background-subtle);--ds-color-danger-base-contrast-default:var(--nk-color-text-on-accent);--ds-color-success-background-default:var(--nk-color-background-surface);--ds-color-success-background-tinted:color-mix(in srgb,var(--nk-color-feedback-success) 10%,var(--nk-color-background-surface));--ds-color-success-surface-default:var(--nk-color-background-surface);--ds-color-success-surface-tinted:color-mix(in srgb,var(--nk-color-feedback-success) 13%,var(--nk-color-background-surface));--ds-color-success-surface-hover:color-mix(in srgb,var(--nk-color-feedback-success) 18%,var(--nk-color-background-surface));--ds-color-success-surface-active:color-mix(in srgb,var(--nk-color-feedback-success) 24%,var(--nk-color-background-surface));--ds-color-success-border-subtle:color-mix(in srgb,var(--nk-color-feedback-success) 42%,var(--nk-color-background-surface));--ds-color-success-border-default:var(--nk-color-feedback-success);--ds-color-success-border-strong:var(--nk-color-feedback-success);--ds-color-success-text-subtle:var(--nk-color-feedback-success);--ds-color-success-text-default:var(--nk-color-feedback-success);--ds-color-success-base-default:var(--nk-color-feedback-success);--ds-color-success-base-hover:var(--nk-color-feedback-success);--ds-color-success-base-active:var(--nk-color-feedback-success);--ds-color-success-base-contrast-subtle:var(--nk-color-background-subtle);--ds-color-success-base-contrast-default:var(--nk-color-text-inverse);--ds-color-warning-background-default:var(--nk-color-background-surface);--ds-color-warning-background-tinted:var(--nk-color-background-subtle);--ds-color-warning-surface-default:var(--nk-color-background-surface);--ds-color-warning-surface-tinted:var(--nk-color-background-subtle);--ds-color-warning-surface-hover:var(--nk-color-background-subtle);--ds-color-warning-surface-active:var(--nk-color-border-default);--ds-color-warning-border-subtle:var(--nk-color-border-default);--ds-color-warning-border-default:var(--nk-color-feedback-warning);--ds-color-warning-border-strong:var(--nk-color-border-strong);--ds-color-warning-text-subtle:var(--nk-color-text-secondary);--ds-color-warning-text-default:var(--nk-color-text-primary);--ds-color-warning-base-default:var(--nk-color-feedback-warning);--ds-color-warning-base-hover:var(--nk-color-reference-sunwashed-yellow);--ds-color-warning-base-active:var(--nk-color-feedback-warning);--ds-color-warning-base-contrast-subtle:var(--nk-color-background-subtle);--ds-color-warning-base-contrast-default:var(--nk-color-text-primary);--ds-color-info-background-default:var(--nk-color-background-surface);--ds-color-info-background-tinted:var(--nk-color-booking-charging);--ds-color-info-surface-default:var(--nk-color-background-surface);--ds-color-info-surface-tinted:var(--nk-color-booking-charging);--ds-color-info-surface-hover:var(--nk-color-booking-charging);--ds-color-info-surface-active:var(--nk-color-border-default);--ds-color-info-border-subtle:var(--nk-color-border-default);--ds-color-info-border-default:var(--nk-color-feedback-info);--ds-color-info-border-strong:var(--nk-color-feedback-info);--ds-color-info-text-subtle:var(--nk-color-feedback-info);--ds-color-info-text-default:var(--nk-color-text-primary);--ds-color-info-base-default:var(--nk-color-feedback-info);--ds-color-info-base-hover:var(--nk-color-feedback-info);--ds-color-info-base-active:var(--nk-color-feedback-info);--ds-color-info-base-contrast-subtle:var(--nk-color-booking-charging);--ds-color-info-base-contrast-default:var(--nk-color-text-inverse)}body,html{background:var(--nk-color-background-canvas)}body{color:var(--nk-color-text-primary);font-family:var(--nk-font-family-body);font-size:var(--nk-font-size-md);line-height:var(--nk-font-line-height-body)}button,input,nav,select,textarea{font-family:var(--nk-font-family-interface)}:where(a,button,select,input,textarea,[tabindex]):focus-visible{outline:3px solid var(--nk-color-action-focus);outline-offset:3px}::selection{background:var(--nk-color-action-focus);color:var(--nk-color-text-primary)}.brand-link{display:inline-flex;min-height:var(--nk-size-touch-target);align-items:center;gap:var(--nk-space-3);color:var(--nk-color-action-primary);font-family:var(--nk-font-family-display);font-size:var(--nk-font-size-lg);font-weight:var(--nk-font-weight-bold);letter-spacing:.035em;text-transform:uppercase}.brand-mark{position:relative;display:grid;width:38px;height:38px;place-items:center;overflow:hidden;border-radius:var(--nk-radius-sm);background:var(--nk-color-action-primary);color:var(--nk-color-text-inverse)}.brand-mark:after{position:absolute;right:-8px;bottom:-9px;width:24px;height:24px;border:4px solid var(--nk-color-action-focus);border-radius:var(--nk-radius-round);content:""}.app-nav-link,.mobile-nav__link{min-height:var(--nk-size-touch-target);border-radius:var(--nk-radius-sm);font-family:var(--nk-font-family-interface);font-weight:var(--nk-font-weight-semibold)}.app-nav-link{display:inline-flex;align-items:center;padding-inline:var(--nk-space-4);font-size:var(--nk-font-size-sm)}.app-nav-link:hover,.mobile-nav__link:hover{background:var(--nk-color-background-subtle)}.app-nav-link[aria-current=page],.mobile-nav__link[aria-current=page]{background:var(--nk-color-action-primary);color:var(--nk-color-text-inverse)}.app-login-button.ds-button,.calendar-control.ds-button,.calendar-create-button.ds-button{min-height:var(--nk-size-touch-target);border-radius:var(--nk-radius-sm)}.mobile-nav{position:fixed;z-index:50;inset:auto 0 0;border-top:1px solid var(--nk-color-border-default);background:var(--nk-color-background-surface);box-shadow:var(--nk-shadow-header);padding:var(--nk-space-2) var(--nk-space-2) max(var(--nk-space-2),env(safe-area-inset-bottom))}.mobile-nav__link{display:flex;min-height:58px;align-items:center;justify-content:center;flex-direction:column;gap:var(--nk-space-1);color:var(--nk-color-text-secondary);font-size:var(--nk-font-size-xs)}.mobile-nav__icon{font-size:var(--nk-font-size-lg);line-height:1}.welcome-card{position:relative;display:grid;min-height:min(620px,calc(100dvh - var(--nk-size-header-desktop) - var(--nk-space-16)));overflow:hidden;border-radius:var(--nk-radius-md);background:var(--nk-color-action-primary);box-shadow:var(--nk-shadow-surface);color:var(--nk-color-text-inverse)}.welcome-card__content{position:relative;z-index:1;display:flex;max-width:var(--nk-size-reading-max);align-items:start;justify-content:center;flex-direction:column;padding:clamp(var(--nk-space-6),7vw,var(--nk-space-16))}.welcome-card h1{font-family:var(--nk-font-family-display);line-height:var(--nk-font-line-height-tight);text-transform:uppercase;text-wrap:balance;max-width:12ch;margin:0 0 var(--nk-space-5);font-size:clamp(var(--nk-font-size-display-sm),8vw,var(--nk-font-size-display-lg))}.welcome-card__content>p:not(.eyebrow){max-width:40rem;margin:0 0 var(--nk-space-8);font-size:var(--nk-font-size-lg)}.welcome-card .ds-button{--ds-color-accent-base-default:var(--nk-color-action-focus);--ds-color-accent-base-hover:var(--nk-color-reference-sunwashed-yellow);--ds-color-accent-base-active:var(--nk-color-action-focus);--ds-color-accent-base-contrast-default:var(--nk-color-text-primary)}.welcome-card__signal{position:absolute;right:-9rem;bottom:-12rem;width:min(48vw,34rem);aspect-ratio:1.35;border:18px solid var(--nk-color-reference-boathouse-red);border-radius:var(--nk-radius-round)}.welcome-card__signal span{position:absolute;inset:var(--nk-space-8);border:10px solid var(--nk-color-action-focus);border-radius:inherit}.calendar-toolbar__eyebrow,.eyebrow{margin:0 0 var(--nk-space-2);color:var(--nk-color-reference-boathouse-red);font-family:var(--nk-font-family-interface);font-size:var(--nk-font-size-xs);font-weight:var(--nk-font-weight-bold);letter-spacing:var(--nk-font-tracking-label);text-transform:uppercase}.welcome-card .eyebrow{color:var(--nk-color-action-focus)}.page-header{display:flex;align-items:end;justify-content:space-between;gap:var(--nk-space-6);margin-bottom:var(--nk-space-6)}.member-page>.page-header{margin-bottom:0}.page-header__content{max-width:var(--nk-size-reading-max)}.page-header h1{margin:0;color:var(--nk-color-action-primary);font-family:var(--nk-font-family-display);font-size:clamp(var(--nk-font-size-display-sm),5vw,3.25rem);line-height:var(--nk-font-line-height-tight);text-transform:uppercase;text-wrap:balance}.page-header__description{margin-top:var(--nk-space-3);margin-bottom:0;color:var(--nk-color-text-secondary)}.page-header__actions{display:flex;flex:none;align-items:end;flex-wrap:wrap;justify-content:flex-end;gap:var(--nk-space-4)}.access-state{display:grid;max-width:var(--nk-size-reading-max);gap:var(--nk-space-4);border:1px solid var(--nk-color-border-default);border-top:6px solid var(--nk-color-reference-boathouse-red);border-radius:var(--nk-radius-md);margin-inline:auto;background:var(--nk-color-background-surface);box-shadow:var(--nk-shadow-surface);padding:clamp(var(--nk-space-5),5vw,var(--nk-space-8))}.access-state h1{margin:0;color:var(--nk-color-action-primary);font-family:var(--nk-font-family-display);font-size:clamp(var(--nk-font-size-display-sm),6vw,3.25rem);line-height:var(--nk-font-line-height-tight);text-transform:uppercase;text-wrap:balance}.access-state>p:not(.eyebrow){margin:0;color:var(--nk-color-text-secondary)}.access-state__actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--nk-space-3)}.boat-picker,.booking-field{gap:var(--nk-space-2);color:var(--nk-color-text-primary);font-family:var(--nk-font-family-interface);font-size:var(--nk-font-size-sm);font-weight:var(--nk-font-weight-semibold)}.boat-picker .ds-input{min-height:var(--nk-size-touch-target);border-radius:var(--nk-radius-sm)}.booking-field textarea{min-height:7rem}.booking-calendar-shell{border-color:var(--nk-color-border-default);border-top:6px solid var(--nk-color-reference-boathouse-red);border-radius:var(--nk-radius-md);box-shadow:var(--nk-shadow-surface)}.booking-calendar-shell,.calendar-toolbar{background:var(--nk-color-background-surface)}.calendar-toolbar{gap:var(--nk-space-4);border-bottom-color:var(--nk-color-border-default);padding:var(--nk-space-3) var(--nk-space-4)}.calendar-toolbar__title{color:var(--nk-color-action-primary);font-size:clamp(var(--nk-font-size-lg),3vw,var(--nk-font-size-xl));line-height:var(--nk-font-line-height-heading)}.calendar-dialog__actions,.calendar-toolbar__controls,.calendar-toolbar__navigation{gap:var(--nk-space-2)}.calendar-control--icon.ds-button,.calendar-view-button.ds-button{width:var(--nk-size-touch-target);padding:0}.calendar-view-button.ds-button{min-width:var(--nk-size-touch-target);min-height:var(--nk-size-touch-target)}.calendar-view-button.ds-button[aria-pressed=true]{background:var(--nk-color-action-primary);color:var(--nk-color-text-inverse)}.calendar-status-row{gap:var(--nk-space-4);background:var(--nk-color-booking-closed);padding:var(--nk-space-3) var(--nk-space-4)}.calendar-legend{gap:var(--nk-space-2) var(--nk-space-4);color:var(--nk-color-text-secondary);font-family:var(--nk-font-family-interface);font-size:var(--nk-font-size-xs)}.calendar-legend span{gap:var(--nk-space-2)}.calendar-legend i{width:var(--nk-space-3);height:var(--nk-space-3);border-radius:var(--nk-radius-sm)}.calendar-legend__mine{background:var(--nk-color-booking-mine);color:var(--nk-color-booking-mine)}.calendar-legend__booked{background:var(--nk-color-booking-other);color:var(--nk-color-text-secondary)}.calendar-legend__official{background:var(--nk-color-booking-official);color:var(--nk-color-action-primary)}.calendar-legend__charging{background:repeating-linear-gradient(135deg,var(--nk-color-booking-charging),var(--nk-color-booking-charging) 3px,var(--nk-color-feedback-info) 3px,var(--nk-color-feedback-info) 5px);color:var(--nk-color-feedback-info)}.calendar-legend__unavailable{background:repeating-linear-gradient(135deg,var(--nk-color-background-canvas),var(--nk-color-background-canvas) 3px,var(--nk-color-border-default) 3px,var(--nk-color-border-default) 5px);color:var(--nk-color-text-secondary)}.calendar-loading{color:var(--nk-color-text-secondary);font-family:var(--nk-font-family-interface);font-size:var(--nk-font-size-xs)}.fullcalendar-frame{border-top-color:var(--nk-color-border-default);padding:0 var(--nk-space-3) var(--nk-space-3)}.fullcalendar-frame>div{--fc-page-bg-color:var(--nk-color-background-surface);--fc-neutral-bg-color:var(--nk-color-background-canvas);--fc-border-color:var(--nk-color-border-default);--fc-today-bg-color:color-mix(in srgb,var(--nk-color-action-focus) 15%,transparent);--fc-now-indicator-color:var(--nk-color-reference-boathouse-red)}.fullcalendar-frame .fc{color:var(--nk-color-text-primary);font-family:var(--nk-font-family-interface);font-size:var(--nk-font-size-sm)}.fullcalendar-frame .calendar-event{border-radius:var(--nk-radius-sm);box-shadow:none}.fullcalendar-frame .calendar-event--mine{--fc-event-text-color:var(--nk-color-text-inverse);border-color:var(--nk-color-booking-mine);background:var(--nk-color-booking-mine);color:var(--nk-color-text-inverse)}.fullcalendar-frame .calendar-event--booked{--fc-event-text-color:var(--nk-color-text-primary);border-color:var(--nk-color-text-secondary);background:var(--nk-color-booking-other);color:var(--nk-color-text-primary)}.fullcalendar-frame .calendar-event--official{--fc-event-text-color:var(--nk-color-text-primary);border-color:var(--nk-color-action-focus);background:var(--nk-color-booking-official);color:var(--nk-color-text-primary)}.fullcalendar-frame .calendar-event--charging{--fc-event-text-color:var(--nk-color-text-primary);border-color:var(--nk-color-feedback-info);background:repeating-linear-gradient(135deg,var(--nk-color-background-surface),var(--nk-color-background-surface) 6px,var(--nk-color-booking-charging) 6px,var(--nk-color-booking-charging) 12px);color:var(--nk-color-text-primary)}.fullcalendar-frame .calendar-event--maintenance{--fc-event-text-color:var(--nk-color-text-on-accent);border-color:var(--nk-color-booking-maintenance);background:var(--nk-color-booking-maintenance);color:var(--nk-color-text-on-accent)}.fullcalendar-frame .fc-bg-event.calendar-unavailable{opacity:1;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--nk-color-background-canvas) 82%,transparent),color-mix(in srgb,var(--nk-color-background-canvas) 82%,transparent) 7px,color-mix(in srgb,var(--nk-color-border-default) 48%,transparent) 7px,color-mix(in srgb,var(--nk-color-border-default) 48%,transparent) 9px);pointer-events:none}.fullcalendar-frame .calendar-event--mine .calendar-event__content{color:var(--nk-color-text-inverse)}.fullcalendar-frame .calendar-event--booked .calendar-event__content,.fullcalendar-frame .calendar-event--charging .calendar-event__content,.fullcalendar-frame .calendar-event--official .calendar-event__content{color:var(--nk-color-text-primary)}.fullcalendar-frame .calendar-event--maintenance .calendar-event__content{color:var(--nk-color-text-on-accent)}.calendar-event__content{padding:var(--nk-space-1) var(--nk-space-2);font-size:var(--nk-font-size-xs)}.calendar-event__title{font-weight:var(--nk-font-weight-bold)}.calendar-event__secondary{font-weight:var(--nk-font-weight-medium)}.calendar-event__weather{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--nk-space-1) var(--nk-space-2);font-size:.675rem;font-weight:var(--nk-font-weight-semibold);line-height:1.2}.calendar-weather-metric{display:inline-flex;min-width:0;align-items:center;gap:.15rem;white-space:nowrap}.calendar-weather-metric svg{width:.8rem;height:.8rem;flex:none}.booking-official-toggle.ds-field{border:1px solid var(--nk-color-border-default);border-radius:var(--nk-radius-sm);background:var(--nk-color-background-subtle);padding:var(--nk-space-3)}.calendar-alert.ds-alert{margin:0 0 var(--nk-space-4);border-radius:var(--nk-radius-md);font-family:var(--nk-font-family-interface)}.calendar-alert>span,.calendar-alert>strong{display:block}.calendar-dialog.ds-dialog{width:min(calc(100% - 2 * var(--nk-space-4)),38rem);max-width:none;max-height:min(92dvh,50rem);overflow:auto;border:1px solid var(--nk-color-border-default);border-top:6px solid var(--nk-color-reference-boathouse-red);border-radius:var(--nk-radius-md);background:var(--nk-color-background-surface);box-shadow:var(--nk-shadow-floating);color:var(--nk-color-text-primary);padding:0}.calendar-dialog.ds-dialog::backdrop{background:color-mix(in srgb,var(--nk-color-action-primary) 68%,transparent)}.calendar-dialog.ds-dialog>.ds-button:first-child{position:absolute;z-index:1;top:var(--nk-space-4);right:var(--nk-space-4)}.calendar-dialog__content{padding:clamp(var(--nk-space-5),4vw,var(--nk-space-8))}.calendar-dialog__header{gap:var(--nk-space-4);margin-bottom:var(--nk-space-5);padding-right:calc(var(--nk-size-touch-target) + var(--nk-space-2))}.calendar-dialog__header h2{color:var(--nk-color-action-primary);font-size:var(--nk-font-size-xl);line-height:var(--nk-font-line-height-heading)}.booking-form{gap:var(--nk-space-4)}.calendar-dialog__actions{justify-content:flex-end;margin-top:var(--nk-space-1)}.booking-details-list{margin-bottom:var(--nk-space-6)}.booking-details-list div{grid-template-columns:7rem 1fr;gap:var(--nk-space-4);border-bottom-color:var(--nk-color-border-default);padding:var(--nk-space-3) 0}.booking-details-list dt{color:var(--nk-color-text-secondary)}.booking-details-list a,.booking-details-list dt{font-family:var(--nk-font-family-interface);font-weight:var(--nk-font-weight-semibold)}.booking-details-list a{color:var(--nk-color-text-link)}.member-page{display:grid;gap:var(--nk-space-6);min-width:0}.member-section__heading{display:flex;max-width:none;align-items:end;justify-content:space-between;gap:var(--nk-space-5)}.booking-card h2,.empty-card h2,.member-section h2,.member-state h1,.preference-card h2{color:var(--nk-color-action-primary);font-family:var(--nk-font-family-display);line-height:var(--nk-font-line-height-heading)}.member-state h1{margin:0;font-size:clamp(var(--nk-font-size-display-sm),6vw,var(--nk-font-size-display-lg));text-transform:uppercase;text-wrap:balance}.empty-card>p,.member-state>p,.preference-card>div>p{max-width:var(--nk-size-reading-max);margin:var(--nk-space-3) 0 0;color:var(--nk-color-text-secondary)}.empty-card,.member-state,.preference-card{display:grid;gap:var(--nk-space-5);border:1px solid var(--nk-color-border-default);border-top:6px solid var(--nk-color-reference-boathouse-red);border-radius:var(--nk-radius-md);background:var(--nk-color-background-surface);box-shadow:var(--nk-shadow-surface);padding:clamp(var(--nk-space-5),5vw,var(--nk-space-8))}.member-state{max-width:var(--nk-size-reading-max);margin-inline:auto}.member-page>.ds-alert,.member-state .ds-alert,.preference-card .ds-alert{border-radius:var(--nk-radius-md)}.member-actions,.preference-card__control{display:flex;align-items:end;flex-wrap:wrap;gap:var(--nk-space-3)}.member-section{display:grid;gap:var(--nk-space-4)}.empty-card h2,.member-section__heading h2,.preference-card h2{margin:0;font-size:var(--nk-font-size-xl)}.booking-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:var(--nk-space-4)}.booking-card{display:flex;min-width:0;border:1px solid var(--nk-color-border-default);border-left:6px solid var(--nk-color-booking-mine);border-radius:var(--nk-radius-md);background:var(--nk-color-background-surface);box-shadow:var(--nk-shadow-surface);flex-direction:column;gap:var(--nk-space-4);padding:var(--nk-space-5)}.booking-card--official{border-left-color:var(--nk-color-booking-official)}.booking-card__topline{display:flex;align-items:start;justify-content:space-between;gap:var(--nk-space-3)}.booking-card__date{margin:0;font-family:var(--nk-font-family-interface);font-size:var(--nk-font-size-sm);font-weight:var(--nk-font-weight-bold);text-transform:capitalize}.booking-card__statuses{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--nk-space-2)}.booking-card h2{margin:0;font-size:var(--nk-font-size-xl)}.booking-card__details{display:grid;gap:var(--nk-space-2);margin:0}.booking-card__details div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:var(--nk-space-3)}.booking-card__details dt{color:var(--nk-color-text-secondary);font-family:var(--nk-font-family-interface);font-size:var(--nk-font-size-sm);font-weight:var(--nk-font-weight-semibold)}.booking-card__details dd{margin:0}.booking-card__comment{margin:0;color:var(--nk-color-text-secondary)}.booking-card__comment,.booking-weather{border-top:1px solid var(--nk-color-border-default);padding-top:var(--nk-space-3)}.booking-weather{display:grid;gap:var(--nk-space-2)}.booking-weather dl,.booking-weather h3,.booking-weather p{margin:0}.booking-weather h3{font-size:var(--nk-font-size-md)}.booking-weather dl{display:grid;gap:var(--nk-space-1)}.booking-weather dl div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:var(--nk-space-3)}.booking-weather dt,.booking-weather small{color:var(--nk-color-text-secondary);font-family:var(--nk-font-family-interface);font-size:var(--nk-font-size-sm)}.booking-weather dt{font-weight:var(--nk-font-weight-semibold)}.booking-weather dd{margin:0}.booking-card>.ds-button{align-self:start;margin-top:auto}.booking-status{flex:none;border:1px solid var(--nk-color-border-default);border-radius:var(--nk-radius-round)}.booking-status,.booking-type{display:inline-flex;min-height:1.75rem;align-items:center;padding-inline:var(--nk-space-3);font-family:var(--nk-font-family-interface);font-size:var(--nk-font-size-xs);font-weight:var(--nk-font-weight-bold)}.booking-type{border:1px solid var(--nk-color-text-primary);border-radius:var(--nk-radius-round)}.booking-type--official{background:var(--nk-color-booking-official);color:var(--nk-color-text-primary)}.booking-status--active{border-color:var(--nk-color-feedback-success);background:color-mix(in srgb,var(--nk-color-feedback-success) 12%,var(--nk-color-background-surface));color:var(--nk-color-feedback-success)}.booking-status--upcoming{border-color:var(--nk-color-feedback-info);background:var(--nk-color-booking-charging);color:var(--nk-color-text-primary)}.booking-status--expired{background:var(--nk-color-booking-closed);color:var(--nk-color-text-secondary)}.preference-card{grid-template-columns:minmax(0,1fr) minmax(17rem,.7fr);align-items:end}.preference-card__control .ds-field{min-width:min(100%,17rem);flex:1}@media (max-width:899px){.calendar-toolbar__controls{flex-wrap:wrap}.calendar-toolbar__navigation{flex:none}.preference-card{grid-template-columns:1fr}}@media (max-width:599px){.fullcalendar-frame{padding-inline:var(--nk-space-1)}.calendar-dialog.ds-dialog{width:calc(100% - 2 * var(--nk-space-2));max-height:calc(100dvh - var(--nk-space-4))}.calendar-dialog__actions{align-items:stretch;flex-direction:column}.calendar-dialog__actions .ds-button{width:100%}.booking-details-list div{grid-template-columns:1fr;gap:var(--nk-space-1)}.welcome-card{min-height:30rem}.welcome-card__signal{right:-10rem;bottom:-9rem;width:22rem}.member-section__heading,.page-header,.preference-card__control{align-items:stretch;flex-direction:column}.booking-card>.ds-button,.member-actions .ds-button,.member-section__heading .ds-button,.page-header__actions,.page-header__actions .ds-button,.page-header__actions .ds-field,.preference-card__control .ds-button{width:100%}.page-header__actions{align-items:stretch;justify-content:stretch}.access-state__actions{align-items:stretch;flex-direction:column}.access-state__actions .ds-button{width:100%}.booking-card__topline{align-items:stretch;flex-direction:column}.booking-card__statuses,.booking-status{align-self:start}}