/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:#f8fafc;--color-surface:#fff;--color-foreground:#172033;--color-muted:#526179;--color-primary:#4338ca;--color-on-primary:#fff;--color-border:#cbd5e1;--radius-control:.375rem;--radius-panel:.75rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#0f172a;--color-surface:#1e293b;--color-foreground:#f1f5f9;--color-muted:#cbd5e1;--color-primary:#a5b4fc;--color-on-primary:#172033;--color-border:#64748b}body{background:var(--color-background);color:var(--color-foreground)}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.min-h-24{min-height:calc(var(--spacing) * 24)}.w-80{width:calc(var(--spacing) * 80)}.w-\[min\(90vw\,32rem\)\]{width:min(90vw,32rem)}.w-full{width:100%}.max-w-\[90vw\]{max-width:90vw}.min-w-40{min-width:calc(var(--spacing) * 40)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-spin{animation:var(--animate-spin)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-control{border-radius:var(--radius-control)}.rounded-panel{border-radius:var(--radius-panel)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--color-border)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-surface{background-color:var(--color-surface)}.p-1{padding:var(--spacing)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-10{padding-right:calc(var(--spacing) * 10)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-foreground{color:var(--color-foreground)}.text-muted{color:var(--color-muted)}.text-on-primary{color:var(--color-on-primary)}.shadow-panel{--tw-shadow:0 4px 16px var(--tw-shadow-color,#0f172a1f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-primary:focus-visible{outline-color:var(--color-primary)}.disabled\:opacity-50:disabled{opacity:.5}.data-checked\:bg-primary[data-checked]{background-color:var(--color-primary)}.data-checked\:text-on-primary[data-checked]{color:var(--color-on-primary)}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-highlighted\:bg-primary[data-highlighted]{background-color:var(--color-primary)}.data-highlighted\:text-on-primary[data-highlighted]{color:var(--color-on-primary)}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}.camper{--color-background:#f7f7f2;--color-surface:#fff;--color-foreground:#263c32;--color-muted:#54675c;--color-primary:#25634b;--color-on-primary:#fff;--color-border:#718078;--color-surface-subtle:#eef2eb;--color-danger:#b42318;--color-focus:#1e40af;--person-text:#fff;--c1:#166534;--c2:#115e59;--c3:#075985;--c4:#1e40af;--c5:#3730a3;--c6:#6b21a8;--c7:#86198f;--c8:#9f1239;--c9:#9a3412;--c10:#854d0e;--c11:#3f6212;--c12:#334155;background:var(--color-background);color:var(--color-foreground);font-variant-numeric:tabular-nums;min-height:100dvh;font:16px/1.5 system-ui,Segoe UI,sans-serif}.dark .camper{--color-background:#101c17;--color-surface:#172b23;--color-foreground:#edf4ee;--color-muted:#b4c4b8;--color-primary:#8ed0ad;--color-on-primary:#14251f;--color-border:#87998b;--color-surface-subtle:#20382d;--color-danger:#fda4af;--color-focus:#93c5fd;--person-text:#14251f;--c1:#86efac;--c2:#5eead4;--c3:#7dd3fc;--c4:#93c5fd;--c5:#a5b4fc;--c6:#d8b4fe;--c7:#f0abfc;--c8:#fda4af;--c9:#fdba74;--c10:#fde047;--c11:#bef264;--c12:#cbd5e1}.camper *{box-sizing:border-box}.camper h1{margin:0 0 24px;font-size:28px;font-weight:600;line-height:1.22}.camper h2,[role=dialog] h2,[role=alertdialog] h2{margin:0 0 16px;font-size:20px;font-weight:600;line-height:1.4}.camper h3{font-size:16px;font-weight:600}.camper p{margin:8px 0 16px}.camper button,.camper input,.camper select{font:inherit}.camper button,.camper .button-link{min-height:44px}.camper button{cursor:pointer}.camper button:disabled{cursor:not-allowed}.camper a{color:inherit}.camper a:hover{text-decoration:underline}.camper :focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;box-shadow:0 0 0 2px var(--color-surface)}.camper h1:focus{box-shadow:none;outline:none}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:24px;height:64px;padding:0 24px;display:flex}.brand{align-items:center;gap:10px;min-width:0;font-size:20px;font-weight:600;display:flex}.brand span{white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.header svg{flex-shrink:0}.desktop-nav{flex:1;gap:24px;display:flex}.desktop-nav a,.desktop-subscription{align-items:center;min-height:44px;font-size:14px;display:flex}.main{max-width:1248px;margin:0 auto 48px;padding:24px}.form-page{max-width:640px;margin:16px auto}.access-main{padding-top:96px}.access-card{max-width:440px;margin:auto;padding:32px!important}.access-card>svg{color:var(--color-primary);margin-bottom:24px}.access-card h1{margin-bottom:16px}.field{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.field input,.field textarea,.native-select{background:var(--color-surface);color:var(--color-foreground);border:1px solid var(--color-border);border-radius:8px;width:100%;min-height:48px;padding:10px 12px;font-size:16px}.field textarea{resize:vertical;min-height:104px}.field p{margin:0;font-size:14px}.field-error{color:var(--color-danger)}.muted{color:var(--color-muted);font-size:14px}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.actions>*{flex-shrink:0}.button-link{border:1px solid var(--color-border);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.primary-link{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)!important}.two-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.preferences{flex-wrap:wrap;gap:16px;margin:24px 0;display:flex}.preferences>div{flex:1;min-width:130px}.menu-links{gap:8px;display:grid}.menu-links a{min-height:44px;padding:10px 0}.notice,.banner{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:12px;margin-bottom:24px;padding:12px 16px}.notice{justify-content:space-between;align-items:center;gap:8px;display:flex}.notice button{padding:0 14px}.error-alert{color:var(--color-danger);background:var(--color-surface);margin:16px 0;border:1px solid var(--color-danger)!important;padding:16px!important}.bottom-nav{display:none}.skip-link{z-index:100;background:var(--color-surface);padding:12px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}.confirm-panel{border:1px solid var(--color-border);background:var(--color-surface);width:min(440px,100vw - 48px);max-height:calc(100dvh - 48px);color:var(--color-foreground);border-radius:16px;padding:24px;overflow:auto}.camper [role=dialog]:has(>.dialog-content){border:1px solid var(--color-border);background:var(--color-surface);width:min(440px,100vw - 48px);max-height:calc(100dvh - 48px);color:var(--color-foreground);border-radius:16px;padding:24px;overflow:auto}.camper [role=dialog]:has(>.dialog-content[data-full-height]){width:min(640px,100vw - 48px)}.camper [role=dialog]:has(>.dialog-content)>button[aria-label]{min-width:44px;min-height:44px;top:4px;right:4px}.camper [role=dialog]:has(>.dialog-content)>h2{padding-right:36px}.modal-backdrop{z-index:70;background:#0006;position:fixed;inset:0}.confirm-panel{z-index:71;width:min(440px,100vw - 32px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.danger{background:var(--color-danger)!important;color:var(--color-surface)!important}.camper details{border-top:1px solid var(--color-border);padding:8px 0}.camper summary{cursor:pointer;align-content:center;min-height:44px;font-weight:600;display:list-item}.badge{white-space:nowrap;border:1px solid;border-radius:999px;padding:2px 8px;font-size:13px}.fatal-page{max-width:640px;margin:120px auto;padding:24px}.fatal-page a,.fatal-page button{margin:16px;padding:12px;display:inline-block}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.calendar-layout{grid-template-columns:minmax(0,872px) minmax(240px,304px);gap:24px;display:grid}.status-card{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:12px;margin-bottom:24px;padding:20px 24px}.status-card h2{margin-bottom:4px}.status-card p{margin:0}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.toolbar .period{text-transform:capitalize;flex:1;min-width:150px;font-weight:600}.view-tabs{border:1px solid var(--color-border);border-radius:8px;display:flex;overflow:hidden}.view-tabs button{padding:8px 16px}.view-tabs [aria-selected=true]{background:var(--color-primary);color:var(--color-on-primary)}.calendar-actions{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.legend{flex-wrap:wrap;gap:16px;margin:20px 0;font-size:14px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend i{border:1px solid var(--color-border);border-radius:3px;width:16px;height:16px}.legend .solid{background:var(--color-primary)}.legend .half{background:linear-gradient(90deg, var(--color-primary) 48%, transparent 48%, transparent 52%, var(--color-surface-subtle) 52%)}.legend .own{border:3px double var(--color-primary)}.month-calendar{--week-height:104px;--week-header:36px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;position:relative;overflow:hidden}.month-grid [role=row]{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-grid [role=columnheader]{height:var(--week-header);text-align:center;color:var(--color-muted);align-content:center;font-size:14px}.month-grid [role=gridcell]{height:var(--week-height);border-top:1px solid var(--color-border);border-right:1px solid color-mix(in srgb, var(--color-border) 40%, transparent);position:relative}.month-grid [role=gridcell]:last-child{border-right:0}.day-button{text-align:left;border-radius:0;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%;padding:6px 8px;display:flex}.day-button .number{border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.day-button[aria-current=date] .number{background:var(--color-primary);color:var(--color-on-primary)}.day-button small{color:var(--color-muted);font-size:11px}.day-button.past,.day-button.weekend{background:var(--color-surface-subtle)}.month-grid [aria-selected=true]>.day-button{outline:2px dashed var(--color-primary);outline-offset:-3px}.booking-lanes{pointer-events:none;z-index:2;position:absolute;inset:0}.booking-segment{height:28px;top:calc(var(--week-header) + var(--week-index)*var(--week-height) + 65px);background:var(--person);white-space:nowrap;pointer-events:auto;min-height:28px;box-shadow:inset 1px 0 var(--color-surface), inset -1px 0 var(--color-surface);border-radius:6px;padding:3px 6px 3px 10px;font-size:13px;line-height:22px;position:absolute;overflow:hidden;color:var(--person-text)!important}.booking-segment:before{content:"";border-right:1px solid var(--person-text);width:6px;position:absolute;top:0;bottom:0;left:1px}.booking-segment.mine{outline:3px double var(--person-text);outline-offset:-3px}.booking-segment.mine:before{background:repeating-linear-gradient(135deg, transparent 0, transparent 3px, var(--person-text) 3px, var(--person-text) 5px)}.booking-segment.continues-before{border-top-left-radius:0;border-bottom-left-radius:0}.booking-segment.continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.selection-summary{z-index:5;background:var(--color-surface);border:2px dashed var(--color-primary);border-radius:12px;margin:16px 0;padding:16px;position:sticky;bottom:16px;box-shadow:0 4px 16px #0002}.selection-summary p{margin:0}.selection-summary .actions{margin-top:8px}.agenda{gap:16px;display:grid}.booking-card{border:1px solid var(--color-border);border-left:6px solid var(--person,var(--color-primary));background:var(--color-surface);border-radius:12px;min-height:88px;padding:16px;text-decoration:none;display:block}.booking-card .person{flex-wrap:wrap;gap:8px;font-weight:600;display:flex}.booking-card h3{margin:8px 0}.booking-card p{margin:4px 0}.free-interval{border:1px dashed var(--color-border);border-radius:12px;padding:16px}.handover-divider{border-left:3px solid var(--color-primary);padding:4px 12px;font-size:14px}.year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.mini-month{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:16px}.mini-month>a{text-transform:capitalize;min-height:44px;font-weight:600;display:block}.mini-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.mini-days span{border:1px solid var(--color-border);aspect-ratio:1;text-align:center;border-radius:2px;font-size:11px}.mini-days .occupied{background:var(--color-primary);color:var(--color-on-primary)}.activity-list{margin:0;padding:0;list-style:none}.activity-list>li{border-bottom:1px solid var(--color-border);padding:16px 0}.activity-list p{margin:4px 0}.activity-list a{font-weight:600}.activity-sidebar{padding-top:4px}.activity-sidebar .activity-list{font-size:14px}.activity-sidebar h2{font-size:18px}.activity-sidebar time{font-size:12px}.booking-detail dl{grid-template-columns:1fr 1fr;gap:8px 24px;margin:24px 0;display:grid}.booking-detail dt{color:var(--color-muted)}.booking-detail dd{margin:0;font-weight:600}.plain-note{white-space:pre-wrap;overflow-wrap:anywhere}.sticky-actions{background:var(--color-surface);padding:16px 0 0;position:sticky;bottom:0}.colour-group{grid-template-columns:repeat(6,1fr);gap:8px;margin:12px 0 24px;display:grid}.colour-option{cursor:pointer;flex-direction:column;align-items:center;gap:4px;min-height:70px;font-size:12px;display:flex}.colour-option [role=radio]{background:var(--person);width:48px;height:48px;color:var(--person-text);border:3px solid #0000;border-radius:8px;justify-content:center;align-items:center;display:flex}.colour-option [role=radio][data-checked]{border:3px double var(--person-text);outline:2px solid var(--color-focus);outline-offset:2px}.people-list{gap:12px;margin:24px 0;padding:0;list-style:none;display:grid}.person-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;grid-template-columns:minmax(0,2fr) 1fr 1fr minmax(280px,2fr);align-items:center;gap:24px;padding:16px 20px;display:grid}.person-row p{overflow-wrap:anywhere;margin:0}.person-row .actions{margin:0}.radio-list{gap:8px;margin:16px 0;display:grid}.radio-list label{border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:12px;min-height:48px;padding:10px 12px;display:flex}.radio-list [role=radio]{border:2px solid var(--color-border);border-radius:50%;width:22px;height:22px}.radio-list [data-checked]{background:var(--color-primary);box-shadow:inset 0 0 0 4px var(--color-surface)}.subscription-url{overflow-wrap:anywhere;word-break:break-all;width:100%;min-height:100px}.camper svg{stroke-width:1.75px;width:20px;height:20px}.camper .brand svg{width:28px;height:28px}@media (width<=1100px){.desktop-subscription,.desktop-name{display:none}.calendar-layout{grid-template-columns:minmax(0,1fr) 240px}.desktop-nav{gap:16px}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.header{justify-content:space-between;height:56px;padding:0 16px}.desktop-nav,.desktop-subscription,.desktop-name{display:none}.main{margin-bottom:88px;padding:24px 16px}.camper h1{font-size:24px}.access-main{margin-bottom:24px;padding-top:24px}.access-card{padding:24px!important}.bottom-nav{z-index:10;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex}.calendar-layout{display:block}.activity-sidebar{margin-top:32px}.status-card{margin-bottom:20px;padding:16px}.toolbar{gap:4px}.toolbar .period{min-width:130px;font-size:16px}.view-tabs{width:100%;margin-top:12px}.view-tabs button{flex:1;padding:8px}.calendar-actions>.primary-link{width:100%}.calendar-actions{gap:8px}.legend{gap:10px;margin:16px 0;font-size:12px}.month-calendar{--week-height:80px;--week-header:28px}.day-button{align-items:center;padding:4px 2px}.day-button small{display:none}.booking-segment{height:20px;top:calc(var(--week-header) + var(--week-index)*var(--week-height) + 51px);pointer-events:none;min-height:20px;padding:0 2px 0 6px;font-size:10px;line-height:20px}.selection-summary{bottom:76px}.year-grid{grid-template-columns:1fr}.mini-days span{aspect-ratio:1.5}.camper [role=dialog]:has(>.dialog-content){--tw-translate-x:0;--tw-translate-y:0;width:100%;height:auto;max-height:100dvh;padding:24px 16px max(24px, env(safe-area-inset-bottom));z-index:50;border-radius:16px 16px 0 0;top:auto;bottom:0;left:0;transform:translate(0,0)}.camper [role=dialog]:has(>.dialog-content[data-full-height]){border-radius:0;width:100%;height:100dvh;top:0}.confirm-panel{max-height:calc(100dvh - 32px);padding:24px}.two-fields{gap:12px}.colour-group{grid-template-columns:repeat(4,1fr)}.person-row{grid-template-columns:1fr;gap:8px;padding:16px}.person-row .actions{flex-wrap:wrap;margin-top:8px}.sticky-actions{padding-bottom:env(safe-area-inset-bottom);bottom:0}.form-page{margin:0 auto}.camper .rdp-root{--rdp-day-width:44px;--rdp-day-height:44px}.booking-detail .actions{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.camper *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){.booking-segment,.booking-card,.month-grid [aria-selected=true]>.day-button,.badge{border:2px solid canvastext!important}.booking-segment.mine{outline:3px double canvastext}.day-button[aria-current=date] .number{border:3px solid highlight}.colour-option [role=radio][data-checked]{outline:3px solid highlight}}.loading-state{min-height:160px}.skeleton{background:var(--color-muted);opacity:.45;border-radius:12px;height:120px}.camper [data-toast-viewport]{bottom:80px}.camper [data-toast-viewport] button{min-width:44px}.person-row>*{min-width:0}.actions>p{flex-shrink:1;flex-basis:100%;min-width:0;max-width:100%}.mini-days .handover-mini{border-left:5px double var(--color-on-primary)}.select-field{flex-direction:column;gap:6px;display:flex}.control-label{font-size:14px;font-weight:500}.app-modal{z-index:50;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.camper .app-modal:has(>.dialog-content){z-index:50;flex-direction:column;display:flex;overflow:hidden}.app-modal>h2{flex-shrink:0;margin-bottom:16px}.dialog-close{position:absolute;top:4px;right:4px}.dialog-content{min-height:0;overflow:auto}.dialog-content:has(>.booking-form){flex:1;display:flex;overflow:hidden}.booking-form{width:100%;min-height:0}.dialog-content>.booking-form{flex-direction:column;display:flex}.dialog-content .booking-body{flex:1;min-height:0;overflow:auto}.booking-fields{border:0;min-width:0;margin:0;padding:0}.booking-form>.sticky-actions{border-top:1px solid var(--color-border);flex-shrink:0;margin-top:0;padding:16px}.booking-form>.sticky-actions>button[type=submit]{min-height:48px}@media (width<=767px){.form-page:has(.booking-form){padding-bottom:160px}.booking-form>.sticky-actions{bottom:calc(64px + env(safe-area-inset-bottom));z-index:20;gap:8px;position:fixed;left:0;right:0}.booking-form>.sticky-actions>button{width:100%}.camper .app-modal:has(>.dialog-content[data-full-height]){padding-bottom:0}.app-modal .booking-form>.sticky-actions{padding-bottom:max(16px, env(safe-area-inset-bottom));position:static}}.dialog-backdrop{z-index:40}.field-control{display:flex}.field-control input{border-radius:8px 0 0 8px;min-width:0}.field-control .date-trigger{border-radius:0 8px 8px 0;flex:0 0 44px;width:44px;height:48px;padding:0}.booking-fields .field{margin-bottom:24px}.booking-fields .two-fields{gap:12px}.booking-fields details .two-fields label{min-height:40px}.camper .rdp-root{--rdp-accent-color:var(--color-primary);--rdp-accent-background-color:var(--color-surface-subtle);--rdp-range_middle-background-color:var(--color-surface-subtle);--rdp-range_middle-color:var(--color-foreground);--rdp-range_start-color:var(--color-on-primary);--rdp-range_end-color:var(--color-on-primary);--rdp-day-width:44px;--rdp-day-height:44px;--rdp-day_button-width:44px;--rdp-day_button-height:44px;--rdp-nav_button-width:44px;--rdp-nav_button-height:44px;--rdp-disabled-opacity:1}.camper .rdp-disabled{color:var(--color-muted)}@media (width<=767px){.camper .app-modal:has(>.dialog-content[data-full-height]){padding:24px 0 0}.app-modal:has(>.dialog-content[data-full-height])>h2{padding-left:16px}.app-modal .booking-body{padding:0 16px}.app-modal .booking-detail{padding:0 16px 24px}}.calendar-workspace.is-selecting{flex-direction:column;height:calc(100dvh - 160px);scroll-margin-top:80px;display:flex}.is-selecting>.calendar-grid-scroll{flex:1;min-height:0;overflow:auto}.selection-summary{box-shadow:none;flex-shrink:0;margin:8px 0 0;position:static}.selection-summary .actions{gap:8px}.selection-summary .primary-link{min-height:48px}.calendar-actions [aria-pressed=true]{color:var(--color-on-primary);background:var(--color-primary)}.day-button[data-preview]{outline:2px dashed var(--color-primary);outline-offset:-3px;background:var(--color-surface-subtle)}.day-button[data-preview=invalid]{outline-color:var(--color-danger)}.selection-endpoint{color:var(--color-primary);font-size:11px;font-weight:600;line-height:14px}@media (width<=767px){.selection-summary .primary-link{width:100%}}.month-calendar{-webkit-user-select:none;user-select:none}.legend{font-size:14px;line-height:20px}.legend i.half{width:32px;height:20px;font-size:12px;font-style:normal}.booking-segment{align-items:center;gap:3px;display:flex;overflow:visible}.segment-text{flex:1;min-width:0;display:flex;overflow:hidden}.segment-person{flex-shrink:0}.segment-mine,.segment-title{text-overflow:ellipsis;overflow:hidden}.segment-title{flex-shrink:2}.segment-endpoint{flex:none}.booking-segment:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;z-index:3}.day-button.past:not(.weekend){background:0 0}.day-button.past .number,.day-button.adjacent:not([aria-current=date]) .number{color:var(--color-muted)}.day-button.adjacent .number{border:0}@media (width>=768px){.booking-segment:after{content:"";position:absolute;inset:-8px 0}}@media (width<=767px){.booking-segment{font-size:12px;line-height:16px}}.mini-month[data-current-month]{border:2px solid var(--color-primary)}.current-month-label{color:var(--color-primary);font-size:14px;font-weight:600;display:block}.mini-days span{position:relative}.mini-days .pickup-mini{background:linear-gradient(90deg, var(--color-surface) 50%, var(--color-primary) 50%);color:var(--color-foreground)}.mini-days .return-mini{background:linear-gradient(90deg, var(--color-primary) 50%, var(--color-surface) 50%);color:var(--color-foreground)}.mini-days .handover-mini{border-left:1px solid var(--color-border);background:linear-gradient(90deg, var(--color-primary) 48%, var(--color-surface) 48%, var(--color-surface) 52%, var(--color-primary) 52%)}.mini-return,.mini-pickup{color:var(--color-on-primary);font-size:9px;font-style:normal;position:absolute;top:0}.mini-return{left:0}.mini-pickup{right:0}@media (forced-colors:active){.mini-days .occupied{border:3px double canvastext}.mini-return,.mini-pickup{color:canvastext}}:is(.form-page:has(.booking-detail)>h1,.app-modal:has(.booking-detail)>h2){font-size:28px;line-height:34px}.booking-detail .button-link{min-height:44px}@media (width<=767px){:is(.form-page:has(.booking-detail)>h1,.app-modal:has(.booking-detail)>h2){font-size:24px;line-height:30px}}.provider-steps{margin:16px 0;padding-left:24px}.provider-steps li+li{margin-top:8px}.camper-toast-viewport{z-index:90;width:min(360px,100vw - 32px);position:fixed;bottom:16px;right:16px}.camper-toast{background:var(--color-surface);color:var(--color-foreground);border:1px solid var(--color-border);border-radius:12px;min-height:64px;padding:16px 56px 16px 16px;position:relative;box-shadow:0 4px 16px #0003}.toast-dismiss{width:44px;height:44px;position:absolute;top:4px;right:4px}@media (width<=767px){.camper-toast-viewport{bottom:calc(80px + env(safe-area-inset-bottom))}}.people-toolbar{justify-content:space-between;gap:16px}.people-toolbar h1{margin:0}.people-table{border-collapse:collapse;width:100%;margin:24px 0;display:block}.people-table thead{margin-bottom:12px;padding:0 16px;display:block}.people-table tbody{gap:16px;display:grid}.people-table tr{grid-template-columns:minmax(0,2fr) 1fr 1fr 64px;gap:16px;display:grid}.people-table .person-row{padding:16px}.people-table th{text-align:left;font-weight:600}.people-table td{min-width:0}.person-actions-trigger{width:44px;min-width:44px;height:44px;padding:0;font-size:24px}.person-menu-positioner{z-index:100}.person-menu{border:1px solid var(--color-border);background:var(--color-surface);min-width:220px;color:var(--color-foreground);border-radius:8px;padding:4px;box-shadow:0 4px 16px #0003}.person-menu-item{border-radius:4px;min-height:44px;padding:10px 12px}.person-menu-item[data-highlighted]{background:var(--color-primary);color:var(--color-on-primary)}.person-menu-item[data-disabled]{color:var(--color-muted)}@media (width<=767px){.people-table thead{display:none}.people-table .person-row{grid-template-columns:1fr 1fr 44px;gap:8px 12px}.person-row>td:first-child{grid-area:1/1/auto/3}.person-row>td:nth-child(2){grid-area:2/1}.person-row>td:nth-child(3){grid-area:2/2}.person-row>td:last-child{grid-area:1/3/3;align-self:start}}.desktop-nav a[aria-current=page],.bottom-nav a[aria-current=page],.menu-links a[aria-current=page]{color:var(--color-primary);background:var(--color-surface-subtle);font-weight:600}.desktop-nav a[aria-current=page],.menu-links a[aria-current=page]{border-radius:8px}
