@layer reset,tokens,base,components,layout,zones,press;.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}@layer zones{.booking-card{border-radius:var(--radius-xl);padding:var(--space-32);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-20)}@media(width<=640px){.booking-card{padding:var(--space-20)}}.booking-page__main .btn,.token-landing__main .btn,.login-page .btn,.onboarding-page .btn{min-height:var(--tap-target)}.booking-page__main .btn-link:not(.btn-link--underline),.token-landing__main .btn-link:not(.btn-link--underline),.login-page .btn-link:not(.btn-link--underline),.onboarding-page .btn-link:not(.btn-link--underline),.onboarding-sheet .btn-link:not(.btn-link--underline){min-height:var(--tap-target);display:inline-flex;align-items:center}.booking-page__main .logged-in__signout{margin-top:calc(-1 * var(--space-12));margin-bottom:calc(-1 * var(--space-4))}.booking-card--error h2{color:var(--color-danger)}.booking-card--success,.booking-card--pending{text-align:center;align-items:center}.outcome-badge{width:64px;height:64px;border-radius:var(--radius-circle);font-weight:700;display:flex;align-items:center;justify-content:center;animation:outcome-badge-pop .32s cubic-bezier(.16,1,.3,1) both}@keyframes outcome-badge-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.outcome-badge--success{background:var(--color-success);color:var(--color-on-accent)}.outcome-badge--pending{background:var(--color-warning);color:var(--color-on-accent)}.outcome-badge--neutral{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-subtle)}.outcome-badge--error{background:var(--alert-error-bg);color:var(--alert-error-text);border:1px solid var(--alert-error-border)}.success-lede{margin:0;color:var(--text-secondary)}.pending-hint{margin:0;color:var(--text-muted);font:var(--text-body)}.success-actions{display:flex;flex-wrap:wrap;gap:var(--space-12);justify-content:center;width:100%}.step-header{display:flex;flex-direction:column;gap:var(--space-8)}.step-pill{align-self:flex-start;background:var(--color-primary-soft);color:var(--color-accent);padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);font:var(--text-label);letter-spacing:var(--text-label-spacing);text-transform:uppercase}.step-context{margin:0;color:var(--text-secondary);font:var(--text-body)}.banner{padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);font:var(--text-body);display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}.banner--stacked{flex-direction:column;align-items:flex-start;gap:var(--space-8)}.banner--warning{background:var(--alert-warning-bg);color:var(--alert-warning-text);border:1px solid var(--alert-warning-border)}.banner--error{background:var(--alert-error-bg);color:var(--alert-error-text);border:1px solid var(--alert-error-border)}.banner--info{background:var(--alert-info-bg);color:var(--alert-info-text);border:1px solid var(--alert-info-border)}.svc-name{min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.svc-name--inline{display:-webkit-inline-box;max-width:100%;vertical-align:bottom}.svc-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-8);font:var(--text-body);color:var(--svc-meta-ink, var(--text-secondary))}.svc-meta__price{color:var(--svc-meta-price-ink, var(--text-primary));font-weight:600}.svc-meta__price:before{content:"\b7" / "";margin-right:var(--space-8);color:var(--svc-meta-quiet-ink, var(--text-muted));font-weight:400}.svc-meta__price--tba{color:var(--svc-meta-quiet-ink, var(--text-muted));font-weight:400}.leg-num{flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:var(--radius-circle);background:var(--leg-num-bg, var(--color-primary-soft));color:var(--leg-num-ink, var(--color-accent));font:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:center}.recap{background:var(--bg-input);border-radius:var(--radius-md);padding:var(--space-16);display:flex;flex-direction:column;gap:var(--space-8);font:var(--text-body)}.recap>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:var(--space-8)}@media(width<=480px){.recap>div{grid-template-columns:minmax(0,1fr)}}.recap>div span{color:var(--text-secondary)}.recap--success,.recap--pending{text-align:left}.booking-card--success .recap,.booking-card--pending .recap{width:100%}.recap--success{background:var(--color-primary-soft)}.recap--pending{background:var(--alert-warning-bg)}.recap--combo{text-align:left}.combo-recap__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.combo-recap__item{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) 0;border-top:1px solid var(--border-subtle)}.combo-recap__item:last-child{padding-bottom:0}.combo-recap__time{flex:0 0 auto;font:var(--text-body);font-weight:700;color:var(--color-accent)}.combo-recap__name{flex:1;font:var(--text-body)}.combo-recap__staff{color:var(--text-secondary);font:var(--text-sm)}.token-landing{min-height:100svh;background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;align-items:center;padding:var(--space-24) var(--space-16) var(--space-64);overflow-wrap:break-word}@media(width<=640px){.token-landing{padding-left:var(--space-12);padding-right:var(--space-12)}}.token-landing__header{width:100%;max-width:640px;text-align:center;margin-bottom:var(--space-24)}.token-landing__brand{font:var(--text-label);font-weight:700;letter-spacing:.08em;color:var(--color-accent);text-transform:uppercase}.token-landing__via{margin:var(--space-2) 0 0;font:var(--text-sm);color:var(--text-muted)}.token-landing__main{width:100%;max-width:640px}.token-landing__loading{text-align:center;color:var(--text-secondary);padding:var(--space-32) 0}.token-landing__main .booking-card{align-items:center;text-align:center}:is(.booking-page__main,.token-landing__main) .booking-card h2{margin:0;font:var(--text-h2)}.token-landing__main .booking-card>p{margin:0;color:var(--text-secondary)}.token-landing__main .recap{width:100%}.token-landing__main .recap>div{text-align:left}.token-landing__main app-auth-methods{width:100%}.wizard-actions{display:flex;align-items:center}.wizard-actions--split{justify-content:space-between}}@layer zones{app-auth-card{display:block}.login-page{display:flex;align-items:center;justify-content:center;min-height:100svh;background:var(--bg-primary);overflow-wrap:break-word}.login-card{border-radius:var(--radius-xl);padding:var(--space-40);width:100%;max-width:380px;text-align:center;box-shadow:var(--shadow-lg)}@media(width<=480px){.login-page{padding-left:var(--space-12);padding-right:var(--space-12)}.login-card{padding:var(--space-20)}}.login-page .field__input{min-height:var(--tap-target)}.login-card__logo{margin-bottom:var(--space-8)}.login-card__title{display:flex;justify-content:center;margin:0 0 var(--space-4)}.login-card__subtitle{color:var(--text-muted);font:var(--text-body);margin-bottom:var(--space-24)}.login-card__crosslink{margin:var(--space-20) 0 0;font:var(--text-sm);color:var(--text-muted)}.login-card__crosslink a{display:inline-flex;align-items:center;min-height:var(--tap-target);text-decoration:underline}.auth-methods__phone{display:block}.auth-methods__form{--auth-form-gap: var(--space-12);display:flex;flex-direction:column;gap:var(--auth-form-gap);text-align:left}.auth-methods__actions{display:flex;align-items:center;gap:var(--space-8)}.auth-methods__actions>[type=submit]{flex:1}.auth-methods__actions>:not([type=submit]){flex:none}.auth-methods__forgot{display:flex;align-items:center;min-height:var(--tap-target);width:fit-content;padding:0;background:none;border:none;color:var(--text-muted);font:var(--text-sm);cursor:pointer}@media(hover:hover){.auth-methods__forgot:hover:not(:disabled){color:var(--color-primary);text-decoration:underline}}.auth-methods__forgot:disabled{opacity:.6;cursor:not-allowed}.auth-methods__hint{color:var(--text-muted);font:var(--text-sm);text-align:left;margin:0 0 var(--space-12)}.auth-methods__hint strong{color:var(--text-primary)}.auth-methods__exit>:is(button,a){display:inline-flex;align-items:center;min-height:var(--tap-target);font:var(--text-sm)}.auth-methods__code-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);margin-top:var(--space-8)}.auth-methods__divider{display:flex;align-items:center;gap:var(--space-16);margin:var(--space-20) 0;color:var(--text-muted);font:var(--text-sm)}.auth-methods__divider:before,.auth-methods__divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}}@layer zones{.onboarding-page,.onboarding-sheet,.sheet:has(.onboarding-sheet){--color-primary: #245bb2;--color-primary-hover: #1c4890;--color-primary-soft: color-mix(in srgb, #245bb2 10%, transparent);--color-primary-strong: #245bb2;--color-primary-strong-hover: #1c4890;--focus-glow: 0 0 0 4px var(--color-primary-soft);--text-primary: #15132e;--text-secondary: #4b4867;--text-muted: #6e6c85;--border-subtle: #e4e3ee;--border-strong: #d9d8e6;--bg-primary: #fbfbfd;--bg-subtle: #f1f0f8;--text-label-color: var(--text-primary);--surface-ink: #15132e;--choice-radius: var(--radius-lg);--choice-rim: 1.5px;--choice-on-bg: #edf4ff;--choice-on-hover-bg: color-mix(in srgb, var(--color-primary) 6%, #edf4ff);--choice-on-ring: var(--focus-glow);color:var(--text-primary);overflow-wrap:break-word}.onboarding-page{display:flex;flex-direction:column;min-height:100svh;background:var(--bg-primary)}@media(width>1024px){.onboarding-page{--onb-bar-block-size: calc(2 * var(--space-12) + var(--tap-target))}}@media(width<=1024px){.onboarding-page{background:var(--bg-card)}}.onboarding-page .field__input:not(.onb-field){min-height:3rem;padding:0 var(--space-12);border-color:var(--border-strong);border-radius:var(--radius-lg);font:var(--text-body-lg)}.onboarding-page .field__input::placeholder{color:var(--text-muted)}.onboarding-page{--onb-field-inset: 5px}.onboarding-page input.onb-field,.onboarding-page select.onb-field,.onboarding-page .onb-field--picker:before{border-radius:var(--radius-md);background-color:var(--bg-input);box-shadow:inset 0 0 0 1px var(--border-strong)}.onboarding-page input.onb-field,.onboarding-page select.onb-field{min-height:var(--tap-target);padding-block:0;border:var(--onb-field-inset) solid transparent;border-radius:calc(var(--radius-md) + var(--onb-field-inset));background-clip:padding-box;color:var(--text-primary);font:var(--text-input)}.onboarding-page .onb-field--picker{position:relative}.onboarding-page .onb-field--picker:before{content:"";position:absolute;inset:var(--onb-field-inset) 0;pointer-events:none}.onboarding-page .onb-field--picker .time-picker__input{position:relative}.onboarding-page input.onb-field:focus,.onboarding-page select.onb-field:focus,.onboarding-page .onb-field--picker:focus-within:before{box-shadow:inset 0 0 0 1px var(--color-primary),inset 0 0 0 4px var(--color-primary-soft)}.onboarding-page input.onb-field.onb-field--invalid,.onboarding-page .onb-field--picker.onb-field--invalid:before{box-shadow:inset 0 0 0 1px var(--color-danger)}.onboarding-page input.onb-field.onb-field--invalid:focus,.onboarding-page .onb-field--picker.onb-field--invalid:focus-within:before{box-shadow:inset 0 0 0 1px var(--color-danger),inset 0 0 0 4px color-mix(in srgb,var(--color-danger) 12%,transparent)}.onboarding-page .onb-icon-btn:focus-visible,.onboarding-sheet .onb-icon-btn:focus-visible{outline:1px solid var(--color-primary);outline-offset:calc((var(--tap-target) - 24px) / -2)}.onboarding-page .btn:not(.btn--sm){min-height:3.25rem;border-radius:.875rem;font:var(--text-body-lg);font-weight:600}.onboarding-page .btn--primary:not(.btn--sm){box-shadow:inset 0 1px color-mix(in srgb,var(--color-on-accent) 16%,transparent),var(--shadow-sm)}@media(hover:hover){.onboarding-page .btn--primary:not(.btn--sm):hover:not(:disabled){box-shadow:inset 0 1px color-mix(in srgb,var(--color-on-accent) 16%,transparent),var(--shadow-md)}}.onboarding-page .onboarding-legal a{display:inline-flex;align-items:center;min-height:var(--tap-target);text-decoration:underline;color:var(--color-primary-hover)}}.cdk-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(100%);white-space:nowrap;outline:0}@layer base{.app-tooltip-panel{pointer-events:none}}@layer tokens{:root{--brand-mark-ink: light-dark(#245bb2, #b6d3ff);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-signature: var(--font-family);--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", monospace;--text-caption: 500 .75rem/1.4 var(--font-family);--text-sm: 400 .8125rem/1.45 var(--font-family);--text-body: 400 .875rem/1.5 var(--font-family);--text-input: 400 .875rem/1.5 var(--font-family);--text-label: 600 .75rem/1.4 var(--font-family);--text-label-spacing: .05em;--text-label-case: uppercase;--text-title: 600 1rem/1.35 var(--font-family);--text-h2: 700 1.1875rem/1.3 var(--font-family);--text-display: 700 1.5rem/1.2 var(--font-family);--text-micro: 500 .6875rem/1.4 var(--font-family);--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-danger-strong: #dc2626;--color-danger-soft: rgba(239, 68, 68, .1);--text-on-warning: #1a1a1a;--color-favorite: #d97706;--color-primary: light-dark(#245bb2, #639df9);--color-primary-hover: light-dark(#1c4890, #80b1ff);--color-primary-soft: color-mix(in srgb, #245bb2 12%, transparent);--color-primary-strong: light-dark(#245bb2, #3c74cd);--color-primary-strong-hover: light-dark(#1c4890, #3a6fc5);--color-accent: light-dark(#245bb2, #639df9);--surface-ink-fg-muted: rgba(255, 255, 255, .78);--surface-ink-line: rgba(255, 255, 255, .3);--surface-ink-wash: rgba(255, 255, 255, .14);--surface-ink-success: #86efac;--color-on-accent: #fff;--device-bezel: #14152a;--color-backdrop: rgba(0, 0, 0, .5);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-pill: 999px;--radius-circle: 50%;--focus-ring: 2px solid var(--color-primary);--focus-glow: 0 0 0 3px var(--color-primary-soft);--ring-selected: 0 0 0 2px var(--bg-card), 0 0 0 4px var(--text-primary);--motion-fast: .12s;--motion-base: .15s;--motion-slow: .2s;--ease-standard: ease;--z-progress: 60;--z-backdrop: 90;--z-drawer: 100;--z-modal: 200;--z-toast: 1100;--space-1: .0625rem;--space-2: .125rem;--space-4: .25rem;--space-6: .375rem;--space-8: .5rem;--space-12: .75rem;--space-16: 1rem;--space-20: 1.25rem;--space-24: 1.5rem;--space-32: 2rem;--space-40: 2.5rem;--space-48: 3rem;--space-64: 4rem;--control-height: 2.4375rem;--tap-target: 44px;--header-control-size: 2.25rem;--sidebar-width: 260px;--sidebar-width-collapsed: 68px;--topbar-height: 3.5rem;--st-pending: light-dark( #a21caf, #e879f9 );--st-confirmed: light-dark( #166534, #4ade80 );--st-no-show: #ef4444;--st-completed: #6b7280;--st-cancelled: #475569;--chart-1: light-dark(#2a78d6, #3987e5);--chart-2: light-dark(#eb6834, #d95926);--chart-3: light-dark(#1baf7a, #199e70);--chart-4: light-dark(#eda100, #c98500);--chart-5: light-dark(#e87ba4, #d55181);--chart-6: light-dark(#008300, #008300);--chart-7: light-dark(#4a3aa7, #9085e9);--chart-8: light-dark(#e34948, #e66767);--chart-other: light-dark(#6b7280, #8d8da8);--chart-surface: var(--bg-card)}}@layer tokens{[data-zone=storefront]{--text-title: 600 1.0625rem/1.35 var(--font-family);--text-h2: 700 1.3125rem/1.3 var(--font-family);--text-display: 700 1.625rem/1.15 var(--font-family)}[data-zone=onboarding]{--font-display: "Schibsted Grotesk", "Inter", var(--font-family);--text-h2: 700 1.375rem/1.25 var(--font-display);--text-display: 800 1.875rem/1.1 var(--font-display);--text-display-tracking: -.03em;--text-label: 600 .875rem/1.4 var(--font-family);--text-label-spacing: normal;--text-label-case: none;--text-body-lg: 400 1rem/1.5 var(--font-family);--text-display-lg: 800 2.5rem/1.05 var(--font-display)}@media(width<=640px){[data-zone=onboarding]{--text-display: 800 1.5rem/1.15 var(--font-display)}}}@layer tokens{@media(pointer:coarse){:root{--text-input: 400 1rem/1.5 var(--font-family)}}}@layer base{@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn__spinner,.cmdk__spinner,.motion-essential{animation-duration:var(--motion-essential-duration, .6s)!important;animation-iteration-count:var(--motion-essential-iterations, infinite)!important}.field__input:-webkit-autofill,.field__input:-webkit-autofill:hover,.field__input:-webkit-autofill:focus,.phone-field__input:-webkit-autofill,.phone-field__input:-webkit-autofill:hover,.phone-field__input:-webkit-autofill:focus{transition-duration:9999s!important}}}@layer tokens{[data-theme=dark],[data-theme=light] body[data-palette=ink] app-sidebar,[data-theme=light] body[data-palette=ink] app-rail-shell,[data-theme=light] body[data-palette=ink] app-calendar-ribbon,[data-theme=light] body[data-palette=plum] app-sidebar,[data-theme=light] body[data-palette=plum] app-rail-shell,[data-theme=light] body[data-palette=plum] app-calendar-ribbon{color-scheme:dark;--bg-primary: #0f0f14;--bg-card: #1e1e2a;--bg-sidebar: #15151f;--bg-sidebar-hover: rgba(255, 255, 255, .04);--bg-sidebar-active: color-mix(in srgb, var(--color-primary) 14%, transparent);--bg-header: #191923;--bg-input: #222230;--bg-subtle: rgba(255, 255, 255, .03);--skel-base: #272736;--skel-shine: #34344a;--surface-elevated: #262636;--surface-ink: #32323f;--surface-ink-fg: #ffffff;--text-primary: #f0f0f5;--text-secondary: #a0a0b8;--text-muted: #8d8da8;--text-sidebar: #c8c8d8;--border-subtle: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .14);--border-chrome: rgba(255, 255, 255, .1);--avatar-mat: color-mix(in srgb, var(--text-primary) 52%, transparent);--color-favorite: #fbbf24;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);--shadow-drag-preview: 0 8px 16px rgba(0, 0, 0, .55);--alert-error-bg: rgba(239, 68, 68, .08);--alert-error-text: #fca5a5;--alert-error-border: rgba(239, 68, 68, .25);--alert-success-bg: rgba(34, 197, 94, .08);--alert-success-text: #86efac;--alert-success-border: rgba(34, 197, 94, .25);--alert-info-bg: rgba(36, 91, 178, .14);--alert-info-text: #b6d3ff;--alert-info-border: rgba(36, 91, 178, .35);--alert-warning-bg: rgba(245, 158, 11, .1);--alert-warning-text: #fbbf24;--alert-warning-border: rgba(245, 158, 11, .3);--rail-holiday-bg: rgba(20, 184, 166, .1);--rail-holiday-text: #2dd4bf;--rail-holiday-border: rgba(20, 184, 166, .3);--hatch-line: rgba(255, 255, 255, .05);--hatch-line-strong: rgba(255, 255, 255, .09);--hatch-closed: rgba(180, 83, 9, .12);--hatch-no-hours: rgba(148, 163, 184, .12);--scrollbar-thumb: rgba(255, 255, 255, .16);--scrollbar-thumb-hover: rgba(255, 255, 255, .28);--press-filter: brightness(1.22);--press-tint: rgba(255, 255, 255, .1)}}@layer tokens{[data-theme=light],[data-surface=public]:not([data-theme=dark]),:where(:root){color-scheme:light;--bg-primary: #f4f5f9;--bg-card: #ffffff;--bg-sidebar: #eceff5;--bg-sidebar-hover: rgba(0, 0, 0, .04);--bg-sidebar-active: color-mix(in srgb, var(--color-primary) 12%, transparent);--bg-header: #ffffff;--bg-input: #ffffff;--bg-subtle: #f7f8fb;--surface-elevated: #ffffff;--surface-ink: #2e3039;--surface-ink-fg: #ffffff;--skel-base: #e4e6ee;--skel-shine: #f3f4f8;--text-primary: #16161d;--text-secondary: #52525f;--text-muted: #6b6b7a;--text-sidebar: #52525f;--border-subtle: #e6e7ee;--border-strong: #d4d5df;--border-chrome: #cfd1dd;--avatar-mat: color-mix(in srgb, var(--text-primary) 40%, transparent);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .1);--shadow-lg: 0 8px 30px rgba(16, 24, 40, .12);--shadow-drag-preview: 0 8px 16px rgba(16, 24, 40, .18);--alert-error-bg: #fef2f2;--alert-error-text: #b42318;--alert-error-border: #fecdca;--alert-success-bg: #ecfdf3;--alert-success-text: #067647;--alert-success-border: #abefc6;--alert-info-bg: #edf4ff;--alert-info-text: #245bb2;--alert-info-border: #b6d3ff;--alert-warning-bg: #fffaeb;--alert-warning-text: #b54708;--alert-warning-border: #fedf89;--rail-holiday-bg: #f0fdfa;--rail-holiday-text: #0f766e;--rail-holiday-border: #99f6e4;--hatch-line: rgba(0, 0, 0, .06);--hatch-line-strong: rgba(0, 0, 0, .1);--hatch-closed: rgba(180, 83, 9, .06);--hatch-no-hours: rgba(100, 116, 139, .06);--scrollbar-thumb: rgba(0, 0, 0, .2);--scrollbar-thumb-hover: rgba(0, 0, 0, .32);--press-filter: brightness(.93);--press-tint: rgba(0, 0, 0, .07)}}@layer reset{*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6}@media(pointer:fine){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}}a{color:var(--color-primary);text-decoration:none;transition:color var(--motion-base) var(--ease-standard)}@media(hover:hover){a:hover{color:var(--color-primary-hover)}}}@layer base{.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-16)}.card--pad{padding:var(--space-20)}.card--inset{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-12) var(--space-16)}}@layer base{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-8) var(--space-20);border:1px solid transparent;border-radius:var(--radius-md);font:var(--text-body);font-weight:500;cursor:pointer;transition:background-color var(--motion-slow) var(--ease-standard),border-color var(--motion-slow) var(--ease-standard),color var(--motion-slow) var(--ease-standard),box-shadow var(--motion-slow) var(--ease-standard),opacity var(--motion-slow) var(--ease-standard),transform var(--motion-slow) var(--ease-standard)}.btn--primary{background:var(--color-primary-strong);color:var(--color-on-accent)}@media(hover:hover){.btn--primary:hover{background:var(--color-primary-strong-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}}.btn--on-accent{background:var(--color-on-accent);border-color:var(--color-on-accent);color:var(--color-primary-strong);font-weight:600}@media(hover:hover){.btn--on-accent:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}}.btn--full{width:100%}.btn--ghost{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}@media(hover:hover){.btn--ghost:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}}.btn--danger{background:var(--color-danger-strong);border:1px solid var(--color-danger-strong);color:var(--color-on-accent);font-weight:500}@media(hover:hover){.btn--danger:hover:not(:disabled){opacity:.88}}.btn--danger-ghost{background:transparent;border:1px solid color-mix(in srgb,var(--color-danger) 45%,transparent);color:var(--color-danger)}@media(hover:hover){.btn--danger-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 10%,transparent)}}.alert .btn--ghost{border-color:color-mix(in srgb,currentColor 35%,transparent);color:inherit}@media(hover:hover){.alert .btn--ghost:hover:not(:disabled){border-color:currentColor;background:color-mix(in srgb,currentColor 8%,transparent);color:inherit}}.btn--sm{padding:var(--space-4) var(--space-12);font:var(--text-sm);font-weight:500;border-radius:var(--radius-sm)}.btn--toolbar{height:32px;padding:0 10px;gap:var(--space-6);font:var(--text-sm);font-weight:500;border-radius:var(--radius-sm);border-color:var(--border-subtle);background:var(--bg-card);color:var(--text-primary);white-space:nowrap}.btn--toolbar app-icon{flex:none;color:var(--text-secondary)}@media(hover:hover){.btn--toolbar:hover:not(:disabled){border-color:var(--color-primary)}}.btn--toolbar[aria-expanded=true]{border-color:var(--color-primary);box-shadow:var(--focus-glow)}.btn--toolbar.btn--ghost{border-color:transparent;background:transparent;color:var(--text-secondary);padding:0 var(--space-8)}@media(hover:hover){.btn--toolbar.btn--ghost:hover:not(:disabled){border-color:transparent;color:var(--color-primary)}}@media(pointer:coarse){.btn--hit{position:relative}.btn--hit:not(.btn--collapse-sm):after{content:"";position:absolute;top:50%;left:0;right:0;height:var(--tap-target);transform:translateY(-50%)}}@media(width<=640px){.btn--collapse-sm{position:relative;width:var(--control-height);height:var(--control-height);padding:0;gap:0;font-size:0;flex-shrink:0}.btn--collapse-sm:after{content:"";position:absolute;top:50%;left:50%;width:var(--tap-target);height:var(--tap-target);transform:translate(-50%,-50%)}.page-header__actions .btn:not(.btn--collapse-sm){height:var(--control-height);padding-top:0;padding-bottom:0}}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--color-accent);cursor:pointer;font:var(--text-body);padding:var(--space-4) 0}@media(hover:hover){.btn-link:hover{color:var(--text-primary)}}.btn-link--icon{display:inline-flex;align-items:center;gap:var(--space-4)}.btn-link--underline{color:var(--color-primary);font:inherit;padding:0;text-decoration:underline}@media(hover:hover){.btn-link--underline:hover:not(:disabled){color:var(--color-primary);text-decoration:none}}.btn-link--underline:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.disclosure-toggle{display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-8);background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font:var(--text-sm);font-weight:600;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard)}@media(hover:hover){.disclosure-toggle:hover{color:var(--color-primary)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0 var(--space-8);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font:var(--text-sm);transition:border-color var(--motion-base),color var(--motion-base)}@media(hover:hover){.icon-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.icon-btn--danger:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger)}.icon-btn--quiet:hover:not(:disabled){border-color:transparent}}.icon-btn--quiet{min-width:24px;min-height:24px;padding:0 var(--space-4);border-color:transparent;color:var(--text-muted)}.icon-btn--lg{min-width:var(--control-height);min-height:var(--control-height);border-radius:var(--radius-md)}.icon-btn--primary{border-color:var(--color-primary-strong);background:var(--color-primary-strong);color:var(--color-on-accent)}@media(hover:hover){.icon-btn--primary:hover:not(:disabled){border-color:var(--color-primary-strong-hover);background:var(--color-primary-strong-hover);color:var(--color-on-accent)}}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.panel__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-16);margin-bottom:var(--space-16)}.panel h2{font:var(--text-title);margin-bottom:var(--space-4);color:var(--text-secondary)}.panel__header{display:flex;align-items:center;gap:var(--space-12);margin-bottom:var(--space-4)}.panel__header h2{margin-bottom:0}.panel__hint{font:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-16);max-width:60ch}.panel__head .panel__hint{margin-bottom:0}.panel>app-callout{margin-bottom:var(--space-16)}.panel__error{font:var(--text-body);color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-radius:var(--radius-sm);padding:var(--space-8) var(--space-12);margin:0}.list-stack{display:flex;flex-direction:column;gap:var(--space-8);list-style:none;padding:0;margin:0}.flat-rows{display:flex;flex-direction:column}.flat-rows>*+*{border-top:1px solid var(--border-subtle)}.list-row__price{font:var(--text-title);color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.filter-field,.filter-field__row{display:contents}.filter-field__label{display:none}@container collection-toolbar (width <= 640px){.filter-field{display:flex;flex-direction:column;gap:var(--space-4);width:100%}.filter-field__label{display:block;font:var(--text-caption);color:var(--text-muted)}.filter-field .field__input{width:100%;min-height:var(--tap-target)}.filter-field__row{display:flex;gap:var(--space-8)}.filter-field__row>*{flex:1;min-width:0}}}.page-back{display:inline-flex;align-self:flex-start;align-items:center;gap:var(--space-4);color:var(--text-secondary);text-decoration:none;font:var(--text-sm);transition:color var(--motion-fast)}@media(hover:hover){.page-back:hover{color:var(--text-primary)}}app-page>app-page-header:first-child{margin-bottom:0}@layer base{.list-row__lead-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-circle);background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-muted);flex-shrink:0}.list-row__title{font:var(--text-body);font-weight:600;color:var(--text-primary);display:inline-flex;align-items:center;gap:var(--space-8);flex-wrap:wrap}.list-row__meta{display:inline-flex;align-items:center;gap:var(--space-8);flex-wrap:wrap}.list-row__detail{font:var(--text-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row__actions{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-8)}@container list-row (width <= 640px){.list-row__detail{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.list-row__title{overflow-wrap:anywhere}}@container list-row (width <= 480px){.list-row:not(.list-row--narrow-datum) .list-row__actions{width:100%;justify-content:flex-start}}.line-anchor{display:inline-flex;align-items:center;justify-content:center;height:1lh;vertical-align:baseline}.line-anchor:before{content:"\200b";flex:none;width:0;min-width:0;letter-spacing:0}@media(pointer:coarse){.tap-floor{position:relative}.tap-floor:after{content:"";position:absolute;top:50%;left:50%;width:var(--tap-target);height:var(--tap-target);transform:translate(-50%,-50%)}}@media(pointer:coarse){.tap-cluster .tap-floor:after{width:auto;left:calc((var(--tap-gap, 0px) / 2 + var(--tap-floor-border, 1px)) * -1);right:calc((var(--tap-gap, 0px) / 2 + var(--tap-floor-border, 1px)) * -1);transform:translateY(-50%)}.tap-cluster--column .tap-floor:after{width:max(calc(100% + 2 * var(--tap-floor-border, 1px)),var(--tap-target));height:auto;left:50%;right:auto;top:calc((var(--tap-gap, 0px) / 2 + var(--tap-floor-border, 1px)) * -1);bottom:calc((var(--tap-gap, 0px) / 2 + var(--tap-floor-border, 1px)) * -1);transform:translate(-50%)}}@media(pointer:coarse){.list-row__trail .icon-btn,.list-row__trail .btn{position:relative}.list-row__trail .icon-btn:after{content:"";position:absolute;top:50%;left:50%;width:var(--tap-target);height:var(--tap-target);transform:translate(-50%,-50%)}.list-row__trail .btn:not(.btn--collapse-sm):after{content:"";position:absolute;top:50%;left:0;right:0;height:var(--tap-target);transform:translateY(-50%)}.list-row__actions{gap:var(--space-12);row-gap:var(--space-20)}.callout__action .btn:not(.btn--collapse-sm){position:relative}.callout__action .btn:not(.btn--collapse-sm):after{content:"";position:absolute;top:50%;left:0;right:0;height:var(--tap-target);transform:translateY(-50%)}.modal .modal__actions>.btn--sm:not(.btn--collapse-sm){position:relative}.modal .modal__actions>.btn--sm:not(.btn--collapse-sm):after{content:"";position:absolute;top:50%;left:0;right:0;height:var(--tap-target);transform:translateY(-50%)}}.access-chips{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.field__input{padding:var(--space-8) var(--space-12);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font:var(--text-input)}.field__input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-glow)}.field__input:disabled{opacity:.55;cursor:not-allowed}.field__input-with-unit{display:flex;align-items:center;gap:var(--space-8)}.field__input-with-unit .field__input{flex:1;min-width:0}.field__unit{color:var(--text-muted);font:var(--text-body);white-space:nowrap}.field__input:-webkit-autofill,.field__input:-webkit-autofill:hover,.field__input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 100px var(--bg-input) inset;-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);transition:background-color 9999s ease-in-out 0s}select.field__input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8a99' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:var(--space-40)}}@layer layout{.form-grid{display:grid;grid-template-columns:repeat(var(--form-grid-cols, 2),minmax(0,1fr));gap:var(--space-16) var(--space-20)}.form-grid .field__input,.form-band__fields .field__input{width:100%;max-width:100%;box-sizing:border-box}.form-grid select.field__input,.form-band__fields select.field__input{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.form-bands,.settings-cards{display:flex;flex-direction:column;gap:var(--space-16)}.settings-card__divide{padding-block-start:var(--space-16);border-block-start:1px solid var(--border-subtle)}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-16) var(--space-12)}@media(width<=640px){.field-row{grid-template-columns:1fr}}.settings-section-title{font:var(--text-title);color:var(--text-secondary)}.form-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-8);align-items:center;margin-top:var(--space-16)}.form-actions__alert{flex:1 0 100%}.form-actions--sticky{position:sticky;bottom:calc(-1 * var(--space-24));z-index:1;background:var(--bg-primary);border-top:1px solid var(--border-subtle);padding-top:var(--space-12);padding-bottom:var(--space-12);margin-right:calc(-1 * var(--space-24));padding-right:var(--space-24);max-height:40dvh;overflow-y:auto}.form-grid__alert{grid-column:1 / -1;margin-top:var(--space-8)}.form-grid__full{grid-column:1 / -1}@media(width<=640px){.form-grid{grid-template-columns:1fr;gap:var(--space-12)}}[drawer-footer]{display:flex;gap:var(--space-8);align-items:center}.footer-reason{flex:1 1 100%;margin:0;align-self:center;font:var(--text-sm);color:var(--text-secondary)}@media(width>640px){.footer-reason{flex:1 1 auto;margin-inline-end:auto}}.dialog-lead{font:var(--text-body);color:var(--text-secondary);margin:0}@media(width<=640px){.form-actions,[drawer-footer],.modal__actions{flex-direction:column;align-items:stretch;width:100%}.form-actions>.btn,[drawer-footer]>.btn,.modal__actions>.btn{width:100%;min-height:var(--tap-target)}.form-actions__alert,.footer-reason{flex:0 0 auto}.form-actions--sticky{width:auto;margin-inline:calc(-1 * var(--space-24));padding-inline:var(--space-24)}.form-actions:has(>.btn:first-child):has(>.btn:nth-child(2):last-child),[drawer-footer]:has(>.btn:first-child):has(>.btn:nth-child(2):last-child){display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:stretch}}@media(width<=640px){.modal-pane--full{width:100vw!important;max-width:100vw!important;height:100dvh}}@media(width<=768px){.modal-pane--dock{width:100vw!important;max-width:100vw!important}}}.shape-row__word{padding-inline:11px var(--space-6);font:var(--text-sm);color:var(--text-secondary);white-space:nowrap}@layer components{.panel-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);width:100%;min-height:36px;padding:var(--space-8) var(--space-12);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:var(--text-sm);font-weight:500;text-align:left;cursor:pointer}@media(hover:hover){.panel-row:hover{background:var(--bg-subtle)}}.panel-row:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.panel-row--on{background:var(--color-primary-soft);color:var(--color-primary)}@media(hover:hover){.panel-row--on:hover{background:var(--color-primary-soft)}}.panel-row>app-icon{flex:none}}@layer components{.floating-panel{background:var(--surface-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);max-width:min(var(--panel-max-w, 100vw),calc(100vw - 2 * var(--space-16)))}}@keyframes skel-shimmer{0%{background-position:200% center}to{background-position:-200% center}}@layer base{.logged-in{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);background:var(--color-primary-soft);border:1px solid var(--color-primary);margin-bottom:var(--space-16)}.logged-in__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.logged-in__label{font:var(--text-caption);color:var(--text-muted)}.logged-in__name{font:var(--text-title)}.logged-in__contact{font:var(--text-body);color:var(--text-muted)}.logged-in__signout{font:var(--text-sm)}.text-muted{color:var(--text-muted)}.text-center{text-align:center}}@layer tokens{body.theme-client{--color-primary: light-dark(#8b5cf6, #a78bff);--color-primary-hover: light-dark(#7c3aed, #b8a5ff);--color-primary-soft: color-mix(in srgb, #8b5cf6 12%, transparent);--color-primary-strong: #8457ea;--color-primary-strong-hover: #8054e2}[data-zone=platform]{--color-primary: light-dark(#245bb2, #639df9);--color-primary-hover: light-dark(#1c4890, #80b1ff);--color-primary-soft: color-mix(in srgb, #245bb2 12%, transparent);--color-primary-strong: light-dark(#245bb2, #3c74cd);--color-primary-strong-hover: light-dark(#1c4890, #3a6fc5);--focus-ring: 2px solid var(--color-primary);--focus-glow: 0 0 0 3px var(--color-primary-soft)}body[data-palette=ocean]{--color-primary: light-dark(#0d9488, #38ada0);--color-primary-hover: light-dark(#0f766e, #4fc0b3);--color-primary-soft: color-mix(in srgb, #0d9488 12%, transparent);--color-primary-strong: #0c8379;--color-primary-strong-hover: #0b7e74}body[data-palette=rubi]{--color-primary: light-dark(#d4161d, #ff6b60);--color-primary-hover: light-dark(#b91319, #ff9084);--color-primary-soft: color-mix(in srgb, #ed1b23 12%, transparent);--color-primary-strong: light-dark(#d4161d, #e12a29);--color-primary-strong-hover: light-dark(#b91319, #d82827)}body[data-palette=ink]{--color-primary: light-dark(#245bb2, #639df9);--color-primary-hover: light-dark(#1c4890, #80b1ff);--color-primary-soft: color-mix(in srgb, #245bb2 12%, transparent);--color-primary-strong: light-dark(#245bb2, #3c74cd);--color-primary-strong-hover: light-dark(#1c4890, #3a6fc5)}body[data-palette=plum]{--color-primary: light-dark(#9333ea, #b983ff);--color-primary-hover: light-dark(#7e22ce, #c79fff);--color-primary-soft: color-mix(in srgb, #a855f7 12%, transparent);--color-primary-strong: light-dark(#9333ea, #9e42f7);--color-primary-strong-hover: light-dark(#7e22ce, #983fed)}[data-theme=light] body[data-palette=ocean]{--bg-sidebar: #e1f0f0}[data-theme=light] body[data-palette=rubi]{--bg-sidebar: #fbe9ea}[data-theme=light] body[data-palette=ink] :is(app-sidebar,app-rail-shell,app-calendar-ribbon){--bg-sidebar: #16161f}[data-theme=light] body[data-palette=plum] :is(app-sidebar,app-rail-shell,app-calendar-ribbon){--bg-sidebar: #2a1730}body{--focus-ring: 2px solid var(--color-primary);--focus-glow: 0 0 0 3px var(--color-primary-soft);--bg-sidebar-active: light-dark( color-mix(in srgb, var(--color-primary) 12%, transparent), color-mix(in srgb, var(--color-primary) 14%, transparent) )}}@layer base{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(100%);white-space:nowrap;border:0}}@layer base{.btn__spinner{display:inline-block;width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:var(--radius-circle);animation:spin .6s linear infinite;margin-right:var(--space-8);vertical-align:middle}}@keyframes spin{to{transform:rotate(360deg)}}@layer press{:where(button,a[href],[role=button],[role=menuitem],[role=option]):where(:not(:disabled,[aria-disabled=true])):active{filter:var(--press-filter);background-image:linear-gradient(var(--press-tint),var(--press-tint))}}.list-view__group--card .list-row,.flat-rows .list-row{background:transparent;border-color:transparent;border-radius:0}.flat-rows .list-row{padding-inline:0}.cdk-drag-preview{filter:drop-shadow(var(--shadow-drag-preview));cursor:grabbing}.cdk-drag-preview .list-view__handle{color:var(--color-primary)}.cdk-drag-placeholder:not(.list-row-slot__ghost){opacity:0}.cdk-drag-animating{transition:transform var(--motion-slow) var(--ease-standard)}.cdk-drop-list-dragging .list-row-slot:not(.cdk-drag-placeholder){transition:transform var(--motion-slow) var(--ease-standard)}
