@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=Spline+Sans+Mono:wght@400;500;600&display=swap');.cs-view{padding: 28px 32px;max-width: 1180px;min-width: 50%;justify-self: center;gap: 10px}.cs-centered-view{display: flex;justify-content: center;padding: 48px 24px}.cs-view-title{font-size: 27px;font-weight: 800;letter-spacing: -0.6px;color: var(--campsmart-text);margin: 0}.cs-eyebrow{font-size: 12px;font-weight: 700;letter-spacing: .5px;text-transform: uppercase;color: var(--campsmart-text-2)}.cs-field-label{font-size: 12px;font-weight: 600;color: var(--campsmart-text-2)}.cs-text-muted{font-size: 13px;color: var(--campsmart-text-3)}.cs-text-muted--sm{font-size: 12.5px;color: var(--campsmart-text-3)}.cs-inline-detail{margin-left: 6px}.cs-hint{margin: 0}.cs-hint--error{color: var(--campsmart-danger);font-weight: 600}.cs-placeholder{color: var(--campsmart-text-3);margin: 0}.cs-section-title{display: block;font-size: 13px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.4px;color: var(--campsmart-text-2);margin-bottom: 10px}.cs-money{font-variant-numeric: tabular-nums;font-weight: 600;color: var(--campsmart-text);white-space: nowrap}.cs-card{background: var(--campsmart-paper);border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius);box-shadow: var(--campsmart-shadow-sm);padding: 18px}.cs-card--flush{padding: 0;overflow: hidden}.cs-empty{margin: 0;padding: 18px;border: 1px dashed var(--campsmart-line);border-radius: var(--campsmart-radius);background: var(--campsmart-surface-2);color: var(--campsmart-text-3);font-size: 13px}.cs-metric-row{display: flex;flex-wrap: wrap;gap: 20px;align-items: start}.cs-metric{display: flex;flex-direction: column;gap: 4px;background: var(--campsmart-paper);border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius);box-shadow: var(--campsmart-shadow-sm);padding: 16px 18px;box-sizing: border-box;min-width: 168px}.cs-metric__label{font-size: 12px;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;color: var(--campsmart-text-2)}.cs-metric__value{font-size: 30px;font-weight: 800;color: var(--campsmart-text);white-space: nowrap}@media (max-width: 768px){.cs-metric-row{gap: 12px}.cs-metric{padding: 12px 14px;min-width: 150px}.cs-metric__value{font-size: 24px}}@media (max-width: 480px){.cs-metric{flex: 1 1 140px;min-width: 140px}.cs-metric__value{font-size: 20px}.cs-metric__label{font-size: 11px;letter-spacing: 0.3px}}.cs-note{margin: 0 0 16px;padding: 10px 13px;border: 1px solid var(--campsmart-info);border-radius: var(--campsmart-radius-sm);background: var(--campsmart-surface);color: var(--campsmart-text-2);font-size: 13px;line-height: 1.5}.cs-image-preview{display: flex;align-items: center;justify-content: center;min-height: 120px;margin-bottom: 10px;border: 1px dashed var(--campsmart-line-2);border-radius: var(--campsmart-radius-sm);background: var(--campsmart-surface-2);overflow: hidden}.cs-image-hint{font-size: 12.5px;color: var(--campsmart-text-3);padding: 10px;text-align: center}.cs-image-thumb{display: block;width: 100%;max-height: 160px;object-fit: cover}.cs-image-thumb--contain{display: block;max-width: 100%;max-height: 96px;object-fit: contain}.cs-image-zoom{position: relative;cursor: zoom-in}.cs-image-zoom__icon{position: absolute;top: 6px;right: 6px;width: 26px;height: 26px;padding: 5px;box-sizing: border-box;border-radius: 50%;background: var(--campsmart-primary-color);color: var(--campsmart-on-ink);opacity: 0;transition: opacity .12s;pointer-events: none}.cs-image-zoom:hover .cs-image-zoom__icon,.cs-image-zoom:focus-visible .cs-image-zoom__icon{opacity: .9}.cs-image-full{display: block;width: 100%;max-height: 70vh;object-fit: contain}.cs-card-title{display: inline-flex;align-items: center;gap: 9px;font-size: 12px;font-weight: 700;text-transform: uppercase;letter-spacing: .5px;color: var(--campsmart-text);margin-bottom: 14px}.cs-card-title svg{width: 15px;height: 15px;color: var(--campsmart-secondary-strong)}.cs-stack,.cs-stack--0,.cs-stack--2,.cs-stack--6,.cs-stack--14,.cs-stack--15,.cs-stack--16{display: flex;flex-direction: column}.cs-stack{gap: 20px}.cs-stack--0{gap: 0}.cs-stack--2{gap: 2px}.cs-stack--6{gap: 6px}.cs-stack--14{gap: 14px}.cs-stack--15{gap: 15px}.cs-stack--16{gap: 16px}.cs-split-grid{display: grid;grid-template-columns: 7fr 5fr;gap: 20px;align-items: start}.cs-inline-row{display: flex;align-items: center;gap: 10px}.cs-country-option__flag{width: 24px;height: 16px;flex: 0 0 auto;object-fit: cover;border: 1px solid var(--campsmart-line);border-radius: 2px}.cs-chip-row{display: flex;flex-wrap: wrap;gap: 8px}.cs-action-row{display: flex;flex-wrap: wrap;gap: 6px;align-items: center}.cs-tile{background: var(--campsmart-paper);border: 1px solid var(--campsmart-line-2);cursor: pointer}.cs-tile:hover{border-color: var(--campsmart-text-3)}.cs-tile--selected{border-color: var(--campsmart-secondary-strong);background: var(--campsmart-secondary-tint);box-shadow: 0 0 0 1px var(--campsmart-secondary-strong) inset}.cs-chevron{display: inline-flex;justify-content: flex-end;color: var(--campsmart-text-3)}.cs-chevron svg{width: 16px;height: 16px}.cs-status,.cs-status--wrap,.cs-status--sm,.cs-status--ok,.cs-status--warn,.cs-status--danger,.cs-status--neutral{display: inline-flex;align-items: center;border-radius: 10px;padding: 5px}.cs-status--sm{padding: 2px 10px;font-size: 11px;font-weight: 600}.cs-status,.cs-status--wrap{background: var(--campsmart-surface-2);color: var(--campsmart-text-2)}.cs-status{white-space: nowrap}.cs-status--wrap{white-space: normal;align-items: flex-start;padding: 10px 12px;line-height: 1.45}.cs-status--ok{background: var(--campsmart-secondary-tint);color: var(--campsmart-secondary-deep)}.cs-status--warn{background: var(--campsmart-amber-bg);color: var(--campsmart-amber-text)}.cs-status--danger{background: var(--campsmart-danger-tint);color: var(--campsmart-danger)}.cs-status--neutral{background: var(--campsmart-surface-3);color: var(--campsmart-text-2)}.cs-scroll-pane{max-height: 60vh;overflow-y: auto}.cs-rowlist{border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius-sm)}.cs-rowlist__row{display: flex;flex-wrap: wrap;align-items: center;gap: 10px;padding: 9px 12px;border-bottom: 1px solid var(--campsmart-line);font-size: 13px}.cs-rowlist__row:last-child{border-bottom: none}.cs-rowlist__lead{flex: 1 1 140px;font-weight: 600;color: var(--campsmart-text)}.cs-rowlist__row .cs-money{margin-left: auto}.cs-warn-inline{display: inline-flex;align-items: center;gap: 8px;padding: 9px 13px;border-radius: var(--campsmart-radius-sm);background: var(--campsmart-amber);color: var(--campsmart-primary-color);font-size: 13px}.cs-warn-inline--block{display: flex;align-items: flex-start;line-height: 1.5}.cs-brand{display: inline-flex;align-items: center;gap: 10px}.cs-brand__icon{height: 34px;width: auto;flex: none}.cs-brand b{color: var(--lime)}.cs-grid--4{display: grid;grid-template-columns: 1fr 1fr 1fr 1fr;gap: 20px;align-self: center}.cs-grid-auto--2{display: grid;grid-template-columns: auto auto;gap: 20px;align-self: center}.cs-copy{display: flex;align-items: center;gap: 8px;padding: 8px 10px;border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius-sm);background: var(--campsmart-surface-2)}.cs-copy__value{flex: 1;min-width: 0;overflow-x: auto;white-space: nowrap;font-size: 13px;color: var(--campsmart-text)}.cs-copy__button svg{width: 15px;height: 15px;color: var(--campsmart-secondary-strong)}.cs-copy__shim{position: fixed;top: -1000px;left: -1000px;opacity: 0}.cs-download-link{font-weight: 600;color: var(--campsmart-secondary-deep)}.cs-section-divide{padding-top: 12px;border-top: 1px solid var(--campsmart-line)}@media (max-width: 880px){.cs-view{padding: 20px 16px}.cs-split-grid{grid-template-columns: 1fr}}.admin-sections{display: grid;grid-template-columns: repeat(auto-fill,minmax(220px,1fr));gap: 14px;margin-top: 8px}.admin-card{display: block;padding: 16px 18px;text-decoration: none;color: var(--campsmart-text)}.admin-card:hover{border-color: var(--campsmart-secondary-line);box-shadow: var(--campsmart-shadow-md)}.admin-card__icon{width: 34px;height: 34px;border-radius: 9px;display: grid;place-items: center;background: var(--campsmart-secondary-tint);color: var(--campsmart-secondary-strong);margin-bottom: 10px}.admin-card__icon svg{width: 18px;height: 18px}.admin-card__title{font-weight: 700;font-size: 15px}.admin-card__subtitle{font-size: 12.5px;color: var(--campsmart-text-3);margin-top: 2px}.admin-toolbar{padding: 0;margin-bottom: 4px}.admin-toolbar__title{margin: 0;font-size: 22px;font-weight: 800;letter-spacing: -.5px;color: var(--campsmart-primary-color)}.admin-toolbar__search{min-width: 260px}.admin-suggestions{display: flex;flex-direction: column;width: 100%;flex: 0 0 auto}.admin-suggestions__head{display: flex;align-items: baseline;justify-content: space-between;gap: 12px}.admin-suggestions__grid{height: 220px}.admin-icon-preview{margin-top: 10px}.admin-icon-preview svg{width: 20px;height: 20px;color: var(--campsmart-text-2)}.admin-dialog__hint{margin: 8px 0 0;max-width: 420px;font-size: 13px;line-height: 1.5;color: var(--campsmart-text-3)}.admin-badge{padding: 2px 10px;font-size: 12px;font-weight: 600;line-height: 1.6}.admin-badge--muted{background: var(--campsmart-surface-3);color: var(--campsmart-text-3)}.auth{height: 100vh;height: 100dvh;display: grid;grid-template-columns: 1fr 1fr;background: var(--canvas);color: var(--text)}.auth__art,.auth__form-wrap{min-height: 0}.auth__art{position: relative;overflow: hidden;display: flex;flex-direction: column;padding: 46px;color: var(--on-ink);background: radial-gradient(120% 90% at 80% 0%,hsl(86 54% 50% / .30),transparent 55%),linear-gradient(160deg,hsl(var(--cs-sh) 11% 14%),hsl(var(--cs-sh) 11% 7%))}.auth__art::after{content: "";position: absolute;inset: 0;background: linear-gradient(180deg,hsl(var(--cs-sh) 20% 6% / .15),hsl(var(--cs-sh) 20% 6% / .55));pointer-events: none}.auth__watermark{position: absolute;right: 3%;bottom: 3%;width: 25%;max-width: 230px;height: auto;z-index: 1;opacity: .3;filter: brightness(0) drop-shadow(0 1px 0 hsl(0 0% 100% / .16)) drop-shadow(0 -1px 0 hsl(var(--cs-sh) 20% 2% / .5));pointer-events: none;user-select: none}.auth__brand{position: relative;z-index: 1;align-self: flex-start;font-size: 25px;font-weight: 800;letter-spacing: -.4px;color: var(--on-ink);text-decoration: none}.auth__brand:hover{opacity: .85}.auth__quote{position: relative;z-index: 1;margin-top: auto;display: flex;flex-direction: column;gap: 14px;max-width: 26ch;font-size: 21px;line-height: 1.5;font-weight: 500}.auth__by{font-size: 13px;font-weight: 500;color: var(--on-ink-2)}.auth__form-wrap{position: relative;display: flex;flex-direction: column;align-items: center;justify-content: safe center;padding: 40px 24px;overflow-y: auto;overflow-x: hidden}.auth__back{position: absolute;top: 24px;left: 24px;z-index: 2;font-size: 13px;font-weight: 600;color: var(--text-2);text-decoration: none}.auth__back:hover{color: var(--text)}.auth__card{width: min(420px,100%)}.auth__title{margin: 0 0 4px;font-size: 25px;font-weight: 800;letter-spacing: -.5px;text-align: center;color: var(--campsmart-primary-color)}.auth__sub{margin: 0 0 24px;text-align: center;font-size: 14px;color: var(--text-2)}.auth__toggle{display: flex;gap: 0;padding: 4px;margin-bottom: 20px;background: var(--surface-2);border: 1px solid var(--line);border-radius: 11px}.auth__toggle .auth__toggle-btn{flex: 1;min-width: 0;height: auto;margin: 0;padding: 11px;border-radius: 8px;background: transparent;color: var(--text-2);font-size: 13.5px;font-weight: 600;cursor: pointer;box-shadow: none}.auth__toggle .auth__toggle-btn:hover{background: transparent;color: var(--text)}.auth__toggle .auth__toggle-btn.is-on{background: var(--ink);color: var(--on-ink);box-shadow: var(--shadow-sm)}.auth__toggle .auth__toggle-btn vaadin-icon,.auth__toggle .auth__toggle-btn svg{width: 16px;height: 16px}.auth__toggle .auth__toggle-btn.is-on vaadin-icon,.auth__toggle .auth__toggle-btn.is-on svg{color: var(--lime)}.auth__fields{display: flex;flex-direction: column;gap: 14px;margin-top: 8px}.auth__frow{display: grid;grid-template-columns: 1fr 1fr;gap: 13px;align-items: start}.auth__card vaadin-text-field,.auth__card vaadin-email-field,.auth__card vaadin-password-field{width: 100%}.auth__label{font-size: 12px;font-weight: 600;color: var(--text-2)}.auth__pwhint{display: flex;align-items: center;gap: 6px;font-size: 11.5px;color: var(--text-3)}.auth__pwhint svg{width: 14px;height: 14px;color: var(--lime-strong)}.auth__tiers{display: grid;grid-template-columns: repeat(3,1fr);gap: 10px}.auth__tier{padding: 12px;text-align: center;background: var(--paper);border: 1px solid var(--line-2);border-radius: 10px;cursor: pointer}.auth__tier:hover{border-color: var(--lime-line)}.auth__tier.is-on{background: var(--lime-tint);border-color: var(--lime-strong);box-shadow: 0 0 0 1px var(--lime-strong) inset}.auth__tier-name{font-size: 13px;font-weight: 700}.auth__tier-price{margin-top: 3px;font-size: 17px;font-weight: 800}.auth__tier-price small{font-size: 11px;font-weight: 500;color: var(--text-3)}.auth__tier-limit{display: block;margin-top: 4px;font-size: 11.5px;font-weight: 600;color: var(--text-2)}.auth__tier-hint{display: block;font-size: 11.5px;line-height: 1.5;color: var(--text-3)}.auth__terms{justify-content: space-between;flex-wrap: wrap;margin-top: 6px;font-size: 13px}.auth__terms-link{color: var(--lime-deep);font-weight: 600;font-size: 13px;text-decoration: none;white-space: nowrap}.auth__terms-link:hover{text-decoration: underline}.auth__submit{height: 46px;margin-top: 4px;border-radius: 10px;background: var(--lime);color: var(--lime-deep);font-size: 15px;font-weight: 600;cursor: pointer}.auth__submit:hover{background: var(--lime-strong);color: #fff}.auth__foot{display: block;margin-top: 18px;text-align: center;font-size: 13px;color: var(--text-2)}.auth__foot a{color: var(--lime-deep);font-weight: 600;text-decoration: none}.auth__foot a:hover{text-decoration: underline}.auth__card vaadin-login-form,.auth__card vaadin-login-form-wrapper{width: 100%;padding: 0;background: transparent}@media (max-width: 860px){.auth{grid-template-columns: 1fr}.auth__art{display: none}}.forgot-password-view,.reset-password-view,.access-denied-view{background: var(--campsmart-canvas);color: var(--campsmart-text)}.forgot-password-view vaadin-form-layout,.reset-password-view vaadin-form-layout{max-width: 460px}.subscription-hero{display: flex;align-items: center;justify-content: space-between;gap: 16px;flex-wrap: wrap;margin-bottom: 20px}.subscription-hero span:first-child{font-size: 12px;font-weight: 700;letter-spacing: .5px;text-transform: uppercase;color: var(--campsmart-text-3)}.subscription-hero__plan{display: block;margin-top: 2px;font-size: 18px;font-weight: 700;color: var(--campsmart-text)}.subscription-hero p{margin: 4px 0 0;font-size: 14.5px;color: var(--campsmart-text)}.subscription-badge{padding: 4px 12px;font-size: 12px;font-weight: 700}.subscription-tiers{display: grid;grid-template-columns: repeat(3,1fr);gap: 16px;margin-bottom: 22px}@media (max-width: 880px){.subscription-tiers{grid-template-columns: 1fr}}.subscription-tier{display: flex;flex-direction: column;gap: 4px;padding: 20px}.subscription-tier__price{font-size: 28px;font-weight: 800;letter-spacing: -0.6px;color: var(--campsmart-text)}.subscription-tier__limit{margin-top: 6px;font-size: 12.5px;font-weight: 600;color: var(--campsmart-text-2)}.subscription-tiers__note{margin: 0 0 10px;font-size: 13px;color: var(--campsmart-text-3)}.subscription-tiers__empty{margin: 0 0 22px;padding: 16px 18px;background: var(--campsmart-amber-bg);color: var(--campsmart-amber-text);border-radius: var(--campsmart-radius);font-size: 13.5px}.subscription-tier__total{margin: 6px 0 14px;font-size: 13px;color: var(--campsmart-text-2)}.subscription-section{margin-bottom: 22px}.subscription-section__title{display: block;margin-bottom: 12px}.subscription-cancel-card{margin-bottom: 22px;padding: 16px 18px;border: 1px solid var(--campsmart-line-2);border-radius: var(--campsmart-radius);background: var(--campsmart-danger-tint)}.subscription-cancel__blurb{margin: 0 0 12px;max-width: 90ch;font-size: 13.5px;line-height: 1.5;color: var(--campsmart-text-2)}.subscription-cancel{max-width: 560px}.subscription-cancel__email-note{margin: 0}.browse-view__title{font-size: 30px;font-weight: 800;letter-spacing: -0.6px;color: var(--campsmart-text);margin: 0 0 4px}.browse-view__intro{margin: 0 0 18px;color: var(--campsmart-text-2);font-size: 15px}.browse-view__search{width: 100%;max-width: 440px;margin-bottom: 22px}.browse-view__empty{color: var(--campsmart-text-3);font-size: 14.5px}.browse-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(280px,1fr));gap: 18px}.site-card{transition: box-shadow .15s ease,transform .15s ease}.site-card:hover{box-shadow: var(--campsmart-shadow-md);transform: translateY(-2px)}.site-card__media{display: grid;place-items: center;height: 160px;background: var(--campsmart-surface-2);color: var(--campsmart-secondary-strong);font-size: 38px;overflow: hidden}.site-card__cover{width: 100%;height: 100%;object-fit: contain}.site-card--wide{display: grid;grid-template-columns: minmax(0,320px) minmax(0,1fr);margin-bottom: 18px}.site-card--wide:hover{box-shadow: var(--campsmart-shadow-sm);transform: none}.site-card--wide .site-card__media{height: 100%;min-height: 210px}@media (max-width: 680px){.site-card--wide{grid-template-columns: minmax(0,1fr)}.site-card--wide .site-card__media{height: 160px;min-height: 0}}.site-card__body{display: flex;flex-direction: column;gap: 8px;padding: 16px}.site-card__name{font-size: 17px;font-weight: 700;color: var(--campsmart-text);margin: 0}.site-card__loc{display: inline-flex;align-items: center;gap: 5px;font-size: 12.5px;color: var(--campsmart-text-3)}.site-card__loc svg,.booking-guests__pill svg{width: 13px;height: 13px}.site-card__blurb{margin: 2px 0;font-size: 13px;line-height: 1.5;color: var(--campsmart-text-2)}.site-card__amenities{display: flex;flex-wrap: wrap;gap: 6px}.site-card__amenity{display: inline-flex;align-items: center;gap: 5px;padding: 3px 9px;border-radius: 999px;background: var(--campsmart-surface-2);color: var(--campsmart-text-2);font-size: 11.5px;font-weight: 600}.site-card__amenity svg{width: 12px;height: 12px;color: var(--campsmart-secondary-strong)}.site-card__foot{display: flex;align-items: center;justify-content: space-between;margin-top: 6px;padding-top: 12px;border-top: 1px solid var(--campsmart-line)}.site-card__from{display: flex;flex-direction: column;gap: 1px;font-size: 13px;color: var(--campsmart-text-2)}.booking-view__header{margin-bottom: 18px}.booking-view__eyebrow{font-size: 11px;font-weight: 700;letter-spacing: .6px;text-transform: uppercase;color: var(--campsmart-text-3)}.booking-view__title{font-size: 28px;font-weight: 800;letter-spacing: -0.5px;color: var(--campsmart-text);margin: 2px 0 0}.booking-view__location{margin: 2px 0 0;color: var(--campsmart-text-2);font-size: 14px}.booking-view__layout{display: grid;grid-template-columns: minmax(0,1fr) 340px;gap: 18px;align-items: start}@media (max-width: 1200px){.booking-view__layout{grid-template-columns: minmax(0,1fr)}}.booking-cards{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: 14px}@media (max-width: 680px){.booking-cards{grid-template-columns: minmax(0,1fr)}}.booking-card{padding: 16px}.booking-card--accent{grid-column: 1 / -1;border-color: var(--campsmart-secondary-line)}.booking-card__head{margin-bottom: 12px}.booking-card__title{display: inline-flex;align-items: center;gap: 8px}.booking-card__title svg{width: 15px;height: 15px;color: var(--campsmart-secondary-strong)}.booking-frow{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: 12px}.booking-frow--three{grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.booking-field{width: 100%}.booking-clash,.booking-lookup__note,.booking-lookup__details,.booking-party-hint{margin-top: 12px}.booking-lookup{align-items: flex-end}.booking-lookup__field{flex: 1}.booking-subrow{display: flex;align-items: center;flex-wrap: wrap;gap: 9px;margin-top: 9px;padding-top: 10px;border-top: 1px dashed var(--campsmart-line)}.booking-subrow__field{flex: 1 1 140px;min-width: 0}.booking-subtag{flex: 0 0 auto;font-size: 10.5px;font-weight: 700;color: var(--campsmart-secondary-deep);background: var(--campsmart-secondary-tint);padding: 4px 9px;border-radius: 6px;white-space: nowrap}.booking-section{margin-top: 0.5em}.booking-section__title{font-size: 16px;font-weight: 800;color: var(--campsmart-text)}.stand-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 10px}.stand-opt{border-radius: 10px;padding: 12px;transition: border-color .12s ease,background .12s ease}.stand-opt__name{font-weight: 700;font-size: 13.5px;color: var(--campsmart-text)}.stand-grid .cs-hint{grid-column: 1 / -1;margin: 0}.booking-summary{position: sticky;top: 16px}.booking-summary__head{display: flex;flex-direction: column;gap: 3px;margin-bottom: 10px}.booking-summary__note{font-size: 11.5px;line-height: 1.45;color: var(--campsmart-text-3)}.admin-fee-note{display: flex;align-items: center;gap: 2px;margin-top: 8px;padding-top: 8px;border-top: 1px solid var(--campsmart-line)}.admin-fee-note__text{font-size: 11.5px;line-height: 1.45;color: var(--campsmart-text-3)}.admin-fee-note__help{min-width: 0;padding: 0 4px;color: var(--campsmart-text-3)}.admin-fee-note__help svg{width: 14px;height: 14px}.admin-fee-note__body{margin: 0;font-size: 13px;line-height: 1.55;color: var(--campsmart-text-2)}.booking-summary__actions{display: flex;flex-direction: column;gap: 8px;margin-top: 14px}.booking-summary__submit{width: 100%}.fee-line{display: flex;align-items: center;justify-content: space-between;gap: 12px;font-size: 13.5px;padding: 7px 0;border-bottom: 1px dashed var(--campsmart-line)}.fee-line__label{color: var(--campsmart-text-2)}.fee-line--strong{font-weight: 700}.fee-line--strong .cs-money{font-weight: 700}.fee-total{display: flex;align-items: baseline;justify-content: space-between;margin-top: 10px;padding-top: 12px;border-top: 2px solid var(--campsmart-primary-color)}.fee-total__label{font-size: 12px;font-weight: 700;letter-spacing: .4px;text-transform: uppercase;color: var(--campsmart-text-2)}.fee-total__value{font-size: 22px;font-weight: 800;letter-spacing: -0.5px;font-variant-numeric: tabular-nums;color: var(--campsmart-text)}.fee-sub{display: flex;justify-content: space-between;margin-top: 8px;font-size: 12px;color: var(--campsmart-text-3);font-variant-numeric: tabular-nums}.group-form__section{margin-top: 18px}.booking-section__heading{display: flex;align-items: center;justify-content: space-between;gap: 12px}.group-form__actions{justify-content: flex-end;margin-top: 14px}.group-estimate{margin-top: 14px}.booking-list{display: flex;flex-direction: column;gap: 8px}.booking-list__row{display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 12px 14px;background: var(--campsmart-paper);border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius-sm)}.booking-list__name{display: block;font-weight: 700;font-size: 14px;color: var(--campsmart-text)}.booking-list__dates,.booking-list__note,.booking-list__ref{display: block}.booking-list__ref{font-variant-numeric: tabular-nums}.booking-list__meta{display: flex;align-items: center;justify-content: flex-end;flex-wrap: wrap;gap: 14px}.booking-list__meta--stacked{flex-direction: column;align-items: flex-end;gap: 8px}.camper-dashboard__browse,.camper-dashboard__view-all{margin-top: 12px}.booking-cancel{max-width: 460px}.booking-cancel__policy{align-self: flex-start}.booking-board__toolbar{display: flex;flex-wrap: wrap;gap: 12px;align-items: center;margin: 18px 0 14px}.booking-board__search{flex: 0 1 260px;margin-left: auto}.booking-board__filters{align-items: center}.booking-board__date{flex: 0 1 165px}.booking-board__table{overflow-x: auto}.booking-grid{min-height: 320px}.seg{display: inline-flex;background: var(--campsmart-surface-2);border: 1px solid var(--campsmart-line);border-radius: 9px;padding: 3px;gap: 2px}.seg button{border: none;background: transparent;padding: 6px 14px;border-radius: 7px;font: inherit;font-size: 13px;font-weight: 600;color: var(--campsmart-text-2);cursor: pointer}.seg button.on{background: var(--campsmart-paper);color: var(--campsmart-text);box-shadow: var(--campsmart-shadow-sm)}.seg button:hover:not(.on){color: var(--campsmart-text)}.booking-table__row{display: grid;grid-template-columns: 56px minmax(150px,1.5fr) 110px minmax(140px,1fr) auto 110px 130px 28px;align-items: center;gap: 12px;padding: 13px 16px;border-bottom: 1px solid var(--campsmart-line)}.booking-table__row--group{grid-template-columns: 56px minmax(150px,1.5fr) minmax(140px,1fr) 110px 130px 28px}.booking-table__row:last-child{border-bottom: none}.booking-table__row--head{background: var(--campsmart-surface-2);font-size: 11px;font-weight: 700;letter-spacing: 0.5px;text-transform: uppercase;color: var(--campsmart-text-2)}.booking-table__row--body{cursor: pointer;transition: background 0.1s ease}.booking-table__row--body:hover{background: var(--campsmart-surface)}.booking-table__empty{margin: 0;padding: 24px 16px;text-align: center;color: var(--campsmart-text-3);font-size: 13.5px}.booking-cell--id{font-family: var(--campsmart-mono);font-size: 12.5px;color: var(--campsmart-text-2)}.booking-cell--who{min-width: 0;font-weight: 600;font-size: 14px;color: var(--campsmart-text)}.booking-cell--who>span:last-child{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.booking-cell--stand{font-family: var(--campsmart-mono);font-weight: 600;font-size: 13px;color: var(--campsmart-text)}.booking-cell--dates{font-size: 13px;font-variant-numeric: tabular-nums;color: var(--campsmart-text)}.booking-cell--stack .booking-cell--mut{font-size: 11.5px}.booking-cell--total{font-family: var(--campsmart-mono);font-weight: 600;font-size: 13px;color: var(--campsmart-text);font-variant-numeric: tabular-nums}.booking-avatar{flex: 0 0 auto;width: 30px;height: 30px;border-radius: 50%;display: inline-grid;place-items: center;background: var(--campsmart-secondary-tint);color: var(--campsmart-secondary-deep);font-size: 11.5px;font-weight: 700}.booking-guests{display: inline-flex;gap: 8px;align-items: center;font-size: 12.5px;color: var(--campsmart-text-2)}.booking-guests__pill{display: inline-flex;align-items: center;gap: 4px}@media (max-width: 1080px){.booking-table{min-width: 880px}}.booking-dialog__head{margin-bottom: 4px}.booking-dialog__eyebrow{font-size: 10.5px;font-weight: 700;letter-spacing: .8px;text-transform: uppercase;color: var(--campsmart-text-3)}.booking-dialog__name{font-size: 22px;font-weight: 800;letter-spacing: -0.4px;color: var(--campsmart-text);margin: 2px 0 0}.booking-dialog__meta{display: flex;align-items: center;gap: 12px;margin-top: 8px}.booking-dialog__ref{font-family: var(--campsmart-mono);font-weight: 600;font-size: 12.5px;color: var(--campsmart-text-2)}.booking-dialog .booking-cards,.booking-detail .booking-cards{margin-top: 12px;margin-bottom: 12px}.booking-detail{max-width: 960px}.booking-detail__back{margin-bottom: 4px}.booking-dialog__field{display: flex;flex-direction: column;gap: 4px}.booking-dialog__field-label{font-size: 11px;font-weight: 600;color: var(--campsmart-text-3);text-transform: uppercase;letter-spacing: .3px}.booking-dialog__field-value{font-size: 14.5px;font-weight: 600;color: var(--campsmart-text)}.booking-dialog__requirements{margin: 0;font-size: 13.5px;color: var(--campsmart-text-2)}.booking-badge{padding: 4px 11px;font-size: 11.5px;font-weight: 700}.account-view__sub{color: var(--campsmart-text-2);margin: 2px 0 22px}.account-card__header{display: flex;justify-content: space-between;align-items: center;margin-bottom: 14px}.account-card__title{display: inline-flex;align-items: center;gap: 9px;font-size: 13px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.4px;color: var(--campsmart-text-2)}.account-card__title svg{width: 18px;height: 18px;color: var(--campsmart-secondary-strong)}.account-card__action{font-weight: 600}.account-card__row{display: grid;grid-template-columns: 1fr 1fr;gap: 13px}.account-field__value{min-height: 40px;display: flex;align-items: center;padding: 0 12px;background: var(--campsmart-surface-2);border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius-sm);color: var(--campsmart-text);font-size: 15px}.account-field__value--mono{font-family: var(--campsmart-mono);font-size: 13px}.account-photo{display: flex;align-items: center;gap: 14px;padding-bottom: 15px;border-bottom: 1px solid var(--campsmart-line)}.account-photo .cs-action-row{margin-left: auto}.account-photo__avatar{width: 56px;height: 56px;flex: 0 0 auto;background: var(--campsmart-secondary-color);color: var(--campsmart-secondary-deep);font-weight: 700}.account-secrow{display: flex;justify-content: space-between;align-items: center;gap: 12px;padding: 11px 0;border-bottom: 1px solid var(--campsmart-line)}.account-secrow:last-child{border-bottom: none}.account-secrow__name{font-weight: 600;color: var(--campsmart-text)}.account-card__empty{color: var(--campsmart-text-3);margin: 4px 0}@media (max-width: 880px){.account-card__row{grid-template-columns: 1fr}}.camper-dashboard__header{margin: 0}.camper-dashboard__welcome{color: var(--campsmart-text-2);margin: 2px 0 0}.camper-dashboard__grid{display: grid;grid-template-columns: 1fr 320px;gap: 20px;align-items: start}.camper-dashboard__section-head{display: flex;align-items: baseline;justify-content: space-between;gap: 12px;margin-bottom: 10px}.camper-dashboard__section-head .cs-section-title{margin-bottom: 0}@media (max-width: 880px){.camper-dashboard__grid{grid-template-columns: 1fr}}.id-upload__card{width: 100%;max-width: 560px;background: var(--campsmart-paper);border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius);box-shadow: var(--campsmart-shadow-md);padding: 28px}.id-upload__title{font-size: 24px;font-weight: 800;letter-spacing: -0.4px;color: var(--campsmart-text);margin: 0 0 8px}.id-upload__intro{color: var(--campsmart-text-2);margin: 0 0 20px}.id-upload__upload{width: 100%}.id-upload__hint{margin-top: 12px;font-size: 13px;color: var(--campsmart-text-3)}.id-upload__hint p{margin: 0}.campsite-config-view{padding: 28px 32px;max-width: 1200px;justify-self: center}.campsite-config-view__eyebrow{display: block;font-size: 11px;font-weight: 700;letter-spacing: 1px;text-transform: uppercase;color: var(--campsmart-text-3);margin: 0 0 6px}.campsite-config-view__actions{margin-top: 20px;display: flex;justify-content: flex-end}.campsite-config-view__booking-link{margin-bottom: 18px}.campsite-form{display: flex;flex-direction: column;gap: 18px}.campsite-form__email-warning{margin-top: 14px}.campsite-form__image-preview--cover{min-height: 150px}.campsite-rules__cards{display: grid;grid-template-columns: 1fr 1fr;gap: 16px}.campsite-rules__toggle{display: flex;align-items: center;justify-content: space-between;gap: 14px;padding: 13px 0;border-bottom: 1px solid var(--campsmart-line)}.campsite-rules__toggle:last-of-type{border-bottom: none}.campsite-rules__toggle-title,.campsite-rules__tier-name{display: block;font-size: 14px;font-weight: 600;color: var(--campsmart-text)}.campsite-rules__switch{position: relative;flex: 0 0 auto;width: 42px;height: 24px;border-radius: 99px;background: var(--campsmart-line-2);cursor: pointer;transition: background .15s}.campsite-rules__switch::after{content: "";position: absolute;top: 3px;left: 3px;width: 18px;height: 18px;border-radius: 50%;background: #fff;box-shadow: 0 1px 2px rgba(0,0,0,.2);transition: left .15s}.campsite-rules__switch--on{background: var(--campsmart-secondary-strong)}.campsite-rules__switch--on::after{left: 21px}.campsite-rules__conditional{margin-top: 13px}.campsite-rules__card--wide{grid-column: 1 / -1}.campsite-rules__tier{padding-bottom: 13px;border-bottom: 1px solid var(--campsmart-line)}.campsite-rules__tier:last-of-type{padding-bottom: 0;border-bottom: none}.campsite-rules__tier-head{margin-bottom: 9px}.campsite-rules__tier-row{align-items: center}.campsite-rules__notice{display: inline-flex;align-items: center;gap: 8px}.campsite-rules__notice-amount{width: 84px}.campsite-rules__notice-unit,.campsite-rules__percent{width: 104px}@media (max-width: 880px){.campsite-rules__cards{grid-template-columns: 1fr}}.campsite-amen__head{display: flex;align-items: center;justify-content: flex-end;gap: 12px;margin-bottom: 12px}.campsite-amen__note{margin-bottom: 18px;padding: 11px 14px}.campsite-amen__review-note{margin-bottom: 0}.campsite-amen__image-note{margin-bottom: 12px}.campsite-amen__history-row{justify-content: space-between}.campsite-amen__grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 11px}.campsite-amen__tile{display: flex;align-items: center;gap: 11px;padding: 13px;border-radius: var(--campsmart-radius);transition: border-color .12s,background .12s,box-shadow .12s}.campsite-amen__icon-box{display: grid;place-items: center;flex: 0 0 auto;width: 36px;height: 36px;border-radius: 9px;background: var(--campsmart-surface-2);color: var(--campsmart-text-2)}.campsite-amen__icon-box svg{width: 18px;height: 18px}.cs-tile--selected .campsite-amen__icon-box{background: var(--campsmart-primary-color);color: var(--campsmart-secondary-color)}.campsite-amen__title{display: block;font-size: 13.5px;font-weight: 600;color: var(--campsmart-text)}.campsite-amen__sub{font-size: 11px;color: var(--campsmart-text-3)}.campsite-amen__check{width: 18px;height: 18px;margin-left: auto;flex: 0 0 auto;color: var(--campsmart-secondary-strong);opacity: 0}.cs-tile--selected .campsite-amen__check{opacity: 1}.campsite-stands__bulk{flex-wrap: wrap;align-items: flex-end;background: var(--campsmart-paper);border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius);padding: 14px}.campsite-stands__grid{border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius)}.campsite-fees__card-header{display: flex;justify-content: space-between;align-items: center;gap: 12px;flex-wrap: wrap;margin-bottom: 14px}.campsite-fees__card-title{display: inline-flex;align-items: center;gap: 9px;font-size: 14.5px;font-weight: 700;color: var(--campsmart-text)}.campsite-fees__card-title svg{width: 16px;height: 16px;color: var(--campsmart-secondary-strong)}.campsite-fees__card-actions{display: inline-flex;align-items: center;gap: 8px}.campsite-fees__badge{gap: 7px;padding: 3px 11px;font-size: 12px;font-weight: 700}.campsite-fees__badge-dot{width: 7px;height: 7px;border-radius: 50%;background: currentColor}.campsite-fees__rates{display: grid;grid-template-columns: repeat(auto-fill,minmax(130px,1fr));gap: 11px}.campsite-fees__rate-value{min-height: 36px;display: flex;align-items: center;padding: 0 11px;background: var(--campsmart-surface-2);border: 1px dashed var(--campsmart-line-2);border-radius: var(--campsmart-radius-sm);font-family: var(--campsmart-mono);font-size: 13px;color: var(--campsmart-text)}.campsite-fees__divider{height: 1px;background: var(--campsmart-line);margin: 14px 0}.campsite-fees__policies{display: grid;grid-template-columns: 1fr 1fr 1fr;gap: 13px}@media (max-width: 680px){.campsite-fees__policies{grid-template-columns: 1fr}}.campsite-fees__tabs{display: flex;gap: 2px;border-bottom: 1px solid var(--campsmart-line);margin-bottom: 4px}.campsite-fees__tab{padding: 11px 16px;font-size: 13.5px;font-weight: 600;color: var(--campsmart-text-3);cursor: pointer;border-bottom: 2px solid transparent;margin-bottom: -1px}.campsite-fees__tab:hover{color: var(--campsmart-text-2)}.campsite-fees__tab--on{color: var(--campsmart-text);border-bottom-color: var(--campsmart-primary-color)}.campsite-fees__placeholder{margin: 0;padding: 20px;border: 1px dashed var(--campsmart-line-2);border-radius: var(--campsmart-radius);background: var(--campsmart-surface-2);color: var(--campsmart-text-3);font-size: 13px}.campsite-fees__stand-bar{display: flex;align-items: flex-end;gap: 12px;flex-wrap: wrap;margin-bottom: 4px}.campsite-fees__stand-select{min-width: 240px}.campsite-fees__card-note{display: block;margin-top: 12px;padding-top: 10px;border-top: 1px dashed var(--campsmart-line);color: var(--campsmart-text-3);font-size: 12.5px}.campsite-emp__grid{margin-top: 14px}.campsite-emp__form{min-width: 420px}.campsite-emp__role-hint{margin-left: 26px}@media (max-width: 560px){.campsite-emp__form{min-width: 0}}.campsite-gallery__hint{margin: 0 0 12px;font-size: 13px;color: var(--campsmart-text-2)}.campsite-gallery__head{display: flex;align-items: center;justify-content: space-between;gap: 12px}.campsite-gallery__head .cs-card-title{margin-bottom: 0}.campsite-gallery__count{font-size: 12px;font-weight: 600;color: var(--campsmart-text-3)}.campsite-gallery__grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(220px,1fr));gap: 16px}.campsite-gallery__grid .cs-empty{grid-column: 1 / -1}.campsite-gallery__tile{display: flex;flex-direction: column;gap: 10px;padding: 12px}.campsite-gallery__preview{cursor: zoom-in;margin-bottom: 0}.campsite-gallery__thumb{max-height: 150px}.campsite-gallery__name{font-size: 13px;font-weight: 600;color: var(--campsmart-text);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.campsite-gallery__meta{font-size: 12px;color: var(--campsmart-text-3)}.campsite-gallery__actions{display: flex;justify-content: flex-end;margin-top: auto}.campsite-report{padding: 28px 32px;max-width: 1600px;justify-self: center}vaadin-button.campsite-report__chip{border-radius: 100px;border: 1px solid var(--campsmart-line);background: var(--campsmart-paper);color: var(--campsmart-text-2);transition: border-color 0.15s,background 0.15s,color 0.15s}vaadin-button.campsite-report__chip:hover{border-color: var(--campsmart-secondary-color);color: var(--campsmart-primary-color);background: var(--campsmart-secondary-tint)}.campsite-report__booleans{display: flex;flex-wrap: wrap;gap: 16px 32px}.campsite-report__filter-actions{align-items: center;padding-top: 12px;border-top: 1px solid var(--campsmart-line)}.campsite-report__export-group{display: flex;align-items: center;gap: 8px;margin-left: 4px;padding-left: 16px;border-left: 1px solid var(--campsmart-line)}.campsite-report__export-anchor{display: inline-flex;align-items: center;gap: 6px;border: 1px solid var(--campsmart-line);border-radius: 6px;background: var(--campsmart-surface-2);color: var(--campsmart-text);font-size: 13px;font-weight: 500;padding: 6px 12px;line-height: 1;white-space: nowrap;text-decoration: none;cursor: pointer;transition: border-color 0.15s,background 0.15s,color 0.15s}.campsite-report__export-anchor:hover{border-color: var(--campsmart-primary-color);background: var(--campsmart-surface-3);color: var(--campsmart-primary-color);text-decoration: none}.campsite-report__export-anchor>svg,.campsite-report__export-anchor>vaadin-icon{width: 16px;height: 16px;flex-shrink: 0}.campsite-report__grid{border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius);box-shadow: var(--campsmart-shadow-sm);overflow: hidden}.campsite-report__status--deposit-paid{background: hsl(212 70% 50% / .12);color: hsl(212 70% 34%)}.campsite-report__status--group-booking-must-be-completed{background: hsl(270 50% 60% / .12);color: hsl(270 50% 35%)}.campsite-report__req-icon{color: var(--campsmart-amber);display: flex;align-items: center;justify-content: center}.admin-booking-report__selector{width: 100%;max-width: 400px}.admin-booking-report__prompt{display: block;color: var(--campsmart-text-3);padding: 16px 0;font-size: 13px}.stand-availability{display: grid;grid-template-columns: repeat(auto-fill,minmax(230px,1fr));gap: 12px}.stand-availability__card{display: flex;flex-direction: column;gap: 6px;padding: 14px;border-left: 4px solid var(--campsmart-line)}.stand-availability .cs-hint{grid-column: 1 / -1;margin: 0}.stand-availability__head{display: flex;align-items: center;justify-content: space-between;gap: 10px}.stand-availability__name{font-weight: 700;font-size: 15px;color: var(--campsmart-text)}.stand-availability__booking{font-size: 12px;color: var(--campsmart-text-2);padding-left: 2px}.stand-availability__card--free{border-left-color: var(--campsmart-secondary-strong);background: var(--campsmart-secondary-tint)}.stand-availability__card--part{border-left-color: var(--campsmart-amber);background: var(--campsmart-amber-bg)}.stand-availability__card--full{border-left-color: var(--campsmart-line-2);background: var(--campsmart-surface-2)}.verification__card{width: 100%;max-width: 620px;background: var(--campsmart-paper);border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius);box-shadow: var(--campsmart-shadow-md);padding: 28px}.verification__badge{display: inline-flex;align-items: center;padding: 3px 12px;margin-bottom: 12px;border-radius: 999px;background: var(--campsmart-amber-bg);color: var(--campsmart-amber-text);font-size: 12px;font-weight: 700;letter-spacing: .3px}.verification__title{margin: 0 0 10px;font-size: 24px;font-weight: 800;letter-spacing: -0.4px;color: var(--campsmart-text)}.verification__intro{margin: 0 0 14px;line-height: 1.6;color: var(--campsmart-text-2)}.verification__help{margin: 18px 0 0;padding-top: 16px;border-top: 1px solid var(--campsmart-line);font-size: 13px;color: var(--campsmart-text-3)}.carousel{position: relative;width: 100%;height: 100%;overflow: hidden}.carousel__track{display: flex;width: 100%;height: 100%;overflow-x: auto;scroll-snap-type: x mandatory;scroll-behavior: smooth;background: var(--campsmart-surface-2);scrollbar-width: none}.carousel__track::-webkit-scrollbar{display: none}.carousel__slide{flex: 0 0 100%;height: 100%;scroll-snap-align: center;display: grid;place-items: center;overflow: hidden}vaadin-button.carousel__nav{position: absolute;top: 50%;transform: translateY(-50%);min-width: 0;width: 26px;height: 26px;padding: 0;border-radius: 100px;background: var(--campsmart-primary-color-70pct);color: var(--campsmart-on-ink);opacity: .55;transition: opacity .15s ease,background .15s ease}.carousel:hover vaadin-button.carousel__nav{opacity: 1}vaadin-button.carousel__nav:hover{background: var(--campsmart-primary-color)}.carousel__nav--prev{left: 8px}.carousel__nav--next{right: 8px}.carousel__counter{position: absolute;right: 8px;bottom: 8px;padding: 2px 8px;border-radius: 100px;background: var(--campsmart-primary-color-70pct);color: var(--campsmart-on-ink);font-size: 11px;font-weight: 600}@media (prefers-reduced-motion: reduce){.carousel__track{scroll-behavior: auto}}.close-account{max-width: 680px}.close-account__ask{flex: 0 0 auto;font-size: 13px}.close-account__locked{flex: 1 1 100%;font-size: 12px;font-style: italic;color: var(--campsmart-text-3)}.close-account__closing{padding: 2px}.campsite-docs__slots{display: grid;grid-template-columns: repeat(auto-fit,minmax(240px,1fr));gap: 14px}.campsite-docs__slot{border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius-sm);padding: 14px}.campsite-docs__slot-head{display: flex;align-items: center;justify-content: space-between;gap: 8px;margin-bottom: 10px}.campsite-docs__slot-row{display: flex;align-items: center;gap: 8px;min-height: 40px;padding: 0 12px;border: 1px solid var(--campsmart-line-2);border-radius: var(--campsmart-radius-sm);background: var(--campsmart-surface-2);font-size: 13.5px;color: var(--campsmart-text)}.campsite-docs__slot-row--empty{border-style: dashed;color: var(--campsmart-text-3)}.campsite-docs__slot-icon{flex: 0 0 auto;color: var(--campsmart-text-3)}.campsite-docs__slot-name{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;min-width: 0}.campsite-docs__slot-suffix{margin-left: auto;flex: 0 0 auto;font-size: 12px;color: var(--campsmart-text-3);white-space: nowrap}.campsite-docs__slot-actions{margin-top: 10px}.campsite-docs__warning{margin-top: 14px}.campsite-docs__library-head{display: flex;align-items: center;justify-content: space-between;gap: 12px;flex-wrap: wrap}.campsite-docs__list{display: flex;flex-direction: column;gap: 12px}.campsite-docs__item{display: flex;align-items: center;justify-content: space-between;gap: 12px;flex-wrap: wrap;padding: 14px 16px}.campsite-docs__item-main{flex-wrap: wrap;min-width: 0}.campsite-docs__item-title{font-size: 14.5px;font-weight: 700;color: var(--campsmart-text)}.campsite-docs__badge{display: inline-block;padding: 3px 9px;border: 1px solid var(--campsmart-line);border-radius: 7px;background: var(--campsmart-surface-2);color: var(--campsmart-text-2);font-size: 11.5px;font-weight: 500;white-space: nowrap}.campsite-docs__item-meta{font-size: 12px;color: var(--campsmart-text-3)}.campsite-docs__item-actions{display: inline-flex;align-items: center;gap: 6px;flex: 0 0 auto}.campsite-docs__version-list{display: flex;flex-direction: column;gap: 10px}.campsite-docs__version-row{display: flex;align-items: center;justify-content: space-between;gap: 12px;flex-wrap: wrap;padding: 10px 12px;border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius-sm);background: var(--campsmart-surface-2);font-size: 13.5px}.group-members{display: flex;flex-direction: column;gap: 8px;margin-top: 12px}.group-members__row{display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 10px 12px;border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius-sm);background: var(--campsmart-paper)}.group-members__name-line{display: flex;align-items: center;gap: 8px}.group-members__name{display: block;font-weight: 700;font-size: 13.5px;color: var(--campsmart-text)}.group-members__email,.group-members__ref{display: block;font-size: 12px;color: var(--campsmart-text-3)}.group-members__action{flex: 0 0 auto}.engage__note{font-size: 12.5px}.engage__actions{display: flex;gap: 9px;margin-top: 4px}.engage__template-row{display: flex;align-items: center;gap: 11px;padding: 10px 8px;border-radius: var(--campsmart-radius-sm);cursor: pointer;transition: background .12s}.engage__template-row:hover{background: var(--campsmart-surface-2)}.engage__template-main{display: flex;align-items: center;gap: 11px;flex: 1;min-width: 0;cursor: pointer}.engage__template-row svg{width: 15px;height: 15px;color: var(--campsmart-text-3);flex: 0 0 auto}.engage__template-name{flex: 1;min-width: 0;font-size: 14px;font-weight: 600;color: var(--campsmart-text);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.engage__template-actions{display: inline-flex;align-items: center;gap: 2px;flex: 0 0 auto}.message-grid::part(cell){cursor: pointer}.message-grid__details{display: flex;flex-direction: column;gap: 6px;padding: 10px 4px 14px}.message-grid__meta{display: block;font-size: 12px;color: var(--campsmart-text-3)}.message-grid__body{margin: 0;font-size: 14px;color: var(--campsmart-text);white-space: pre-wrap}.message-grid__actions{display: inline-flex;align-items: center;justify-content: flex-end;gap: 8px}.message-grid__clip{display: inline-flex;align-items: center;gap: 4px;font-size: 12px;color: var(--campsmart-text-3)}.message-grid__clip svg{width: 14px;height: 14px}.message-grid__attachments{display: flex;flex-direction: column;align-items: flex-start;gap: 6px;padding-top: 10px;margin-top: 4px;border-top: 1px solid var(--campsmart-line)}.activity-list__row{display: flex;gap: 10px;align-items: baseline;font-size: 13px;color: var(--campsmart-text-2);padding: 5px 0;border-bottom: 1px dashed var(--campsmart-line)}.activity-list__date{flex: 0 0 84px;font-size: 11.5px;color: var(--campsmart-text-3);font-variant-numeric: tabular-nums}vaadin-text-field::part(required-indicator)::after,vaadin-text-area::part(required-indicator)::after,vaadin-email-field::part(required-indicator)::after,vaadin-password-field::part(required-indicator)::after,vaadin-number-field::part(required-indicator)::after,vaadin-integer-field::part(required-indicator)::after,vaadin-date-picker::part(required-indicator)::after,vaadin-time-picker::part(required-indicator)::after,vaadin-date-time-picker::part(required-indicator)::after,vaadin-combo-box::part(required-indicator)::after,vaadin-multi-select-combo-box::part(required-indicator)::after,vaadin-select::part(required-indicator)::after,vaadin-custom-field::part(required-indicator)::after,vaadin-checkbox-group::part(required-indicator)::after,vaadin-radio-group::part(required-indicator)::after{content: "*";color: var(--campsmart-danger)}.main-layout__top-bar{height: 60px;background: var(--campsmart-primary-color);color: var(--campsmart-on-ink);padding: 0 22px;gap: 18px}.main-layout__logo{font-size: 25px;font-weight: 800;letter-spacing: -.4px;margin: 0;color: var(--campsmart-on-ink)}.main-layout__user-menu{background: transparent}.main-layout__user-menu vaadin-menu-bar-button{--vaadin-button-height: 44px;--vaadin-button-padding: 0 8px}.main-layout__user-menu vaadin-menu-bar-button::part(label){overflow: visible}.main-layout__avatar{width: 36px;height: 36px;flex: 0 0 auto;background: var(--campsmart-secondary-color);color: var(--campsmart-secondary-deep);font-weight: 700}.main-layout__user-text{display: flex;flex-direction: column;align-items: flex-start;line-height: 1.25}.main-layout__user-name{font-size: 13px;font-weight: 600;color: var(--campsmart-on-ink)}.main-layout__user-role{font-size: 11px;color: var(--campsmart-on-ink-2)}@media (max-width: 760px){.main-layout__user-text{display: none}}.main-layout::part(drawer){background: var(--campsmart-paper);border-right: 1px solid var(--campsmart-line)}.main-layout__nav{width: 100%}.main-layout__nav-group{display: block;padding: 14px 11px 5px;font-size: 10.5px;font-weight: 700;letter-spacing: .8px;text-transform: uppercase;color: var(--campsmart-text-3)}.main-layout__nav-link{display: flex;align-items: center;gap: 11px;padding: 9px 11px;border-radius: 8px;font-size: 13.5px;font-weight: 500;color: var(--campsmart-text-2);text-decoration: none}.main-layout__nav-icon{width: 18px;height: 18px;flex: 0 0 auto;color: var(--campsmart-text-3)}.main-layout__nav-link:hover{background: var(--campsmart-surface-2);color: var(--campsmart-text)}.main-layout__nav-link.router-link-active{background: var(--campsmart-primary-color);color: var(--campsmart-on-ink);font-weight: 600}.main-layout__nav-link.router-link-active .main-layout__nav-icon{color: var(--campsmart-secondary-color)}.payment-route__section{margin-bottom: 18px}.payment-route__section-label{display: block;font-size: 0.75rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.06em;color: var(--campsmart-text-3);margin-bottom: 8px}.payment-route__toggle{flex: 1 1 auto}.payment-route__summary{margin-top: 4px;padding: 12px 14px;background: var(--campsmart-bg-2);border: 1px solid var(--campsmart-line);border-radius: var(--campsmart-radius)}.payment-route__summary-row{display: flex;justify-content: space-between;align-items: center;padding: 4px 0;font-size: 0.85rem;color: var(--campsmart-text-2)}.payment-route__summary-row--total,.payment-route__summary-row--seller-total,.payment-route__summary-row--due{font-weight: 600;color: var(--campsmart-text)}.payment-route__summary-row--total{margin-top: 8px;padding-top: 10px;border-top: 1px solid var(--campsmart-line)}.payment-route__summary-row--subtotal{margin-top: 4px;padding-top: 8px;border-top: 1px solid var(--campsmart-line)}.payment-route__summary-label{color: inherit}.payment-route__summary-value{font-variant-numeric: tabular-nums;color: inherit}.payment-route__summary-value--total{font-size: 1rem;color: var(--campsmart-primary)}.payment-route__summary-group{display: block;margin-top: 10px;font-size: 0.72rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--campsmart-text-3)}.payment-route__summary-group:first-child{margin-top: 0}.payment-route__summary-by{display: block;font-size: 0.72rem;line-height: 1.45;color: var(--campsmart-text-3)}.payment-route__campsite{display: block;font-weight: 600;color: var(--campsmart-text)}.payment-route__actions{display: flex;flex-wrap: wrap;gap: 10px;margin-top: 14px}.payment-route__actions vaadin-button{flex: 1 1 auto}.dummy-pay{max-width: 560px;padding: 22px}.dummy-pay__info{margin: 0 0 12px;font-size: 14.5px;color: var(--campsmart-text)}.dummy-pay__ref{display: block;margin-bottom: 16px;font-family: var(--campsmart-mono);font-size: 12.5px;color: var(--campsmart-text-3);word-break: break-all}.dummy-pay__actions{display: flex;flex-wrap: wrap;gap: 10px}.dummy-pay__button{flex: 1 1 160px}.subscription-history__pay{white-space: nowrap}.payout-report__status{padding: 2px 10px;font-size: 0.75rem;font-weight: 600;letter-spacing: 0.03em;text-transform: uppercase}.admin-payout-report__selector{width: 100%;max-width: 480px}.admin-payout-report__prompt{display: block;color: var(--campsmart-text-3);font-size: 0.875rem;padding: 24px 0}.payout-mark-paid-dialog{width: 440px}.campsite-payout-history{padding: 24px}.campsite-payout-history__filter{margin-bottom: 16px}.pdf-dialog__frame{width: 100%;height: 70vh;border: none;border-radius: 8px;background: var(--campsmart-surface-2)}.pdf-dialog__download{margin-right: auto}.invoice-dialog .pdf-dialog__frame{height: 80vh}.public-shell{display: flex;flex-direction: column;min-height: 100vh;background: var(--canvas);color: var(--text)}.public-shell__content{flex: 1 0 auto}.public-shell .mk{max-width: 1200px;margin: 0 auto;padding: 0 36px}.public-nav{position: sticky;top: 0;z-index: 30;height: 64px;display: flex;align-items: center;gap: 18px;padding: 0 36px;background: hsl(var(--cs-sh) 11% 9% / .92);backdrop-filter: blur(8px);color: var(--on-ink)}.public-nav__brand{font-size: 25px;font-weight: 800;letter-spacing: -.4px;color: var(--on-ink)}.public-nav__links{display: flex;gap: 4px;margin-left: 8px}.public-nav__links a{padding: 8px 13px;border-radius: 8px;font-size: 13.5px;font-weight: 500;color: var(--on-ink-2)}.public-nav__links a:hover{color: var(--on-ink);background: hsl(0 0% 100% / .07)}.public-nav__spacer{flex: 1}.public-shell .btn{display: inline-flex;align-items: center;justify-content: center;gap: 8px;height: 42px;padding: 0 18px;border-radius: 10px;font-weight: 600;font-size: 14px;cursor: pointer;border: 1px solid transparent;text-decoration: none;white-space: nowrap}.public-shell .btn.sm{height: 34px;padding: 0 13px;font-size: 13px}.public-shell .btn.lg{height: 48px;padding: 0 22px;font-size: 15px}.public-shell .btn.block{display: flex;width: 100%}.public-shell .btn svg{width: 18px;height: 18px}.public-shell .btn-lime{background: var(--lime);color: var(--lime-deep)}.public-shell .btn-lime:hover{background: var(--lime-strong)}.public-shell .btn-ink{background: var(--ink);color: var(--on-ink)}.public-shell .btn-ink:hover{background: var(--ink-soft)}.public-shell .btn-out{background: transparent;border-color: var(--line-2);color: var(--text)}.public-shell .btn-out-white{background: var(--paper);border-color: var(--line-2);color: var(--text)}.public-shell .btn-out:hover,.public-shell .btn-out-white:hover{background: var(--surface-2)}.public-shell .btn-out.on-ink{border-color: hsl(0 0% 100% / .25);color: var(--on-ink)}.public-shell .btn-out.on-ink:hover{background: hsl(0 0% 100% / .08)}.public-shell .hero{background: var(--ink);color: var(--on-ink);position: relative;overflow: hidden}.public-shell .hero-in{max-width: 1200px;margin: 0 auto;padding: 64px 36px 72px;display: grid;grid-template-columns: 1.05fr .95fr;gap: 48px;align-items: center}.public-shell .hero-in.center{grid-template-columns: 1fr;text-align: center;padding-bottom: 48px}.public-shell .hero-in.center .hero-copy{max-width: 46ch;margin: 0 auto}.public-shell .hero-eyebrow{display: inline-flex;align-items: center;gap: 8px;font-size: 12px;font-weight: 600;letter-spacing: .4px;color: var(--lime);background: var(--lime-tint);border: 1px solid hsl(0 0% 100% / .1);padding: 6px 12px;border-radius: 99px;margin-bottom: 20px}.public-shell .hero h1{font-size: 52px;line-height: 1.04;font-weight: 800;letter-spacing: -1.6px;margin: 0 0 18px;color: var(--paper)}.public-shell .hero h1 b{color: var(--lime);font-weight: 800}.public-shell .hero .lead{font-size: 17px;line-height: 1.6;color: var(--on-ink-2);max-width: 48ch;margin: 0 0 26px}.public-shell .hero-in.center .lead{margin: 0 auto 26px}.public-shell .hero-cta{display: flex;gap: 12px;flex-wrap: wrap}.public-shell .hero-in.center .hero-cta{justify-content: center}.public-shell .hero-stats{display: flex;gap: 30px;margin-top: 34px;border-top: 1px solid hsl(0 0% 100% / .12);padding-top: 22px}.public-shell .hero-stats .s b{display: block;font-size: 26px;font-weight: 800;letter-spacing: -.5px}.public-shell .hero-stats .s span{font-size: 12.5px;color: var(--on-ink-2)}.public-shell .hero-visual{position: relative}.public-shell .hero-preview{height: 420px;border-radius: 16px;box-shadow: var(--shadow-lg);background: radial-gradient(120% 120% at 80% 0%,hsl(86 54% 50% / .35),transparent 55%),linear-gradient(160deg,hsl(var(--cs-sh) 11% 14%),hsl(var(--cs-sh) 11% 9%));border: 1px solid hsl(0 0% 100% / .08)}.public-shell .hero-float{position: absolute;background: var(--paper);color: var(--text);border-radius: 13px;box-shadow: var(--shadow-lg);padding: 13px 15px;display: flex;align-items: center;gap: 11px;font-size: 13px}.public-shell .hero-float.a{left: -22px;top: 34px}.public-shell .hero-float.b{right: -18px;bottom: 30px}.public-shell .hero-float .hf-ic{width: 34px;height: 34px;border-radius: 9px;background: var(--lime);color: var(--lime-deep);display: grid;place-items: center;flex: 0 0 auto}.public-shell .hero-float b{font-size: 14px;font-weight: 700;display: block}.public-shell .hero-float span{color: var(--text-3);font-size: 11.5px}.public-shell .trust{border-bottom: 1px solid var(--line);background: var(--paper)}.public-shell .trust-in{max-width: 1200px;margin: 0 auto;padding: 18px 36px;display: flex;align-items: center;gap: 18px;flex-wrap: wrap;font-size: 13px;color: var(--text-3)}.public-shell .trust-in b{color: var(--text-2);font-weight: 600}.public-shell .trust-in .spacer{flex: 1}.public-shell .badge-verified{display: inline-flex;align-items: center;gap: 6px;font-size: 12px;font-weight: 600;color: var(--lime-deep);background: var(--lime-tint);border: 1px solid var(--lime-line);padding: 5px 11px;border-radius: 99px}.public-shell .sec{padding: 68px 0}.public-shell .sec.alt{background: var(--paper);border-top: 1px solid var(--line);border-bottom: 1px solid var(--line)}.public-shell .sec-head{text-align: center;max-width: 640px;margin: 0 auto 44px}.public-shell .eyebrow{font-size: 12px;font-weight: 700;letter-spacing: .6px;text-transform: uppercase;color: var(--lime-strong);margin: 0 0 10px}.public-shell .sec-head h2{font-size: 34px;font-weight: 800;letter-spacing: -.9px;margin: 0 0 12px}.public-shell .sec-head p{font-size: 16px;color: var(--text-2);line-height: 1.6;margin: 0}.public-shell .feat-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 18px}.public-shell .feat{background: var(--paper);border: 1px solid var(--line);border-radius: var(--r-lg);padding: 24px}.public-shell .sec.alt .feat{background: var(--surface)}.public-shell .feat-ic{width: 46px;height: 46px;border-radius: 12px;background: var(--ink);color: var(--lime);display: grid;place-items: center;margin-bottom: 16px}.public-shell .feat h3{font-size: 17px;font-weight: 700;margin: 0 0 7px;letter-spacing: -.2px}.public-shell .feat p{font-size: 13.5px;color: var(--text-2);line-height: 1.55;margin: 0}.public-shell .steps{display: grid;grid-template-columns: repeat(4,1fr);gap: 20px}.public-shell .step-c{position: relative;padding-top: 14px}.public-shell .step-c .n{font-family: var(--mono);font-size: 13px;font-weight: 600;color: var(--lime-strong)}.public-shell .step-c h4{font-size: 16px;font-weight: 700;margin: 8px 0 6px}.public-shell .step-c p{font-size: 13px;color: var(--text-2);line-height: 1.5;margin: 0}.public-shell .step-c::before{content: "";position: absolute;top: 0;left: 0;width: 32px;height: 3px;border-radius: 3px;background: var(--lime)}.public-shell .cta-band{background: var(--lime);color: var(--lime-deep);border-radius: var(--r-xl);padding: 46px;text-align: center}.public-shell .cta-band h2{font-size: 32px;font-weight: 800;letter-spacing: -.8px;margin: 0 0 10px}.public-shell .cta-band p{font-size: 16px;margin: 0 0 22px;opacity: .85}.public-shell .tiers{display: grid;grid-template-columns: repeat(3,1fr);gap: 18px;align-items: start}.public-shell .tier{background: var(--paper);border: 1px solid var(--line);border-radius: var(--r-lg);padding: 26px;position: relative}.public-shell .tier.pop{border: 2px solid var(--ink)}.public-shell .tier .pop-tag{position: absolute;top: -12px;left: 50%;transform: translateX(-50%);background: var(--lime);color: var(--lime-deep);font-size: 11px;font-weight: 800;letter-spacing: .4px;padding: 4px 13px;border-radius: 99px}.public-shell .tier .tname{font-size: 15px;font-weight: 700}.public-shell .tier .tprice{font-size: 42px;font-weight: 800;letter-spacing: -1.5px;margin: 10px 0 20px;justify-self: center}.public-shell .tier .tprice small{font-size: 15px;color: var(--text-3);font-weight: 500;letter-spacing: 0}.public-shell .tier .tfee{font-size: 13px;color: var(--text-2);margin-bottom: 18px}.public-shell .tier .tfee b{color: var(--lime-deep)}.public-shell .tier ul{list-style: none;padding: 0;margin: 18px 0 22px;display: flex;flex-direction: column;gap: 11px}.public-shell .tier li{display: flex;align-items: flex-start;gap: 10px;font-size: 13.5px;color: var(--text)}.public-shell .tier li svg{color: var(--lime-strong);flex: 0 0 auto;margin-top: 1px;width: 16px;height: 16px}.public-shell .tier li.off{color: var(--text-3)}.public-shell .tier li.off svg{color: var(--line-2)}.public-shell .pricing-note{text-align: center;font-size: 13px;color: var(--text-3);margin-top: 26px}.public-shell .matrix{width: 100%;border-collapse: separate;border-spacing: 0;background: var(--paper);border: 1px solid var(--line);border-radius: var(--r-lg);overflow: hidden}.public-shell .matrix th,.public-shell .matrix td{padding: 14px 18px;border-bottom: 1px solid var(--line);font-size: 13.5px;text-align: left}.public-shell .matrix thead th{background: var(--surface-2);font-size: 11px;font-weight: 700;letter-spacing: .5px;text-transform: uppercase;color: var(--text-2)}.public-shell .matrix th.c,.public-shell .matrix td.c{text-align: center}.public-shell .matrix .grouprow td,.public-shell .matrix .grouprow th{background: var(--ink);color: var(--on-ink);font-weight: 700;font-size: 12px;letter-spacing: .4px;text-transform: uppercase}.public-shell .matrix tr:last-child td{border-bottom: none}.public-shell .matrix .yes{color: var(--lime-strong);font-weight: 700}.public-shell .matrix .dash{color: var(--line-2)}.public-shell .mk.narrow{max-width: 920px}.public-shell .center-cta{text-align: center;margin-top: 30px}.public-shell .legal{max-width: 820px;margin: 0 auto;padding: 56px 36px 72px}.public-shell .legal h1{font-size: 38px;font-weight: 800;letter-spacing: -1px;margin: 0 0 6px}.public-shell .legal .updated{color: var(--text-3);font-size: 13px;margin: 0 0 32px}.public-shell .legal h2{font-size: 19px;font-weight: 700;margin: 30px 0 8px}.public-shell .legal p,.public-shell .legal li{font-size: 14.5px;line-height: 1.7;color: var(--text-2)}.public-shell .legal ul{padding-left: 20px}.public-shell .legal .center-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.public-shell .mk-foot{background: var(--ink);color: var(--on-ink-2);padding: 48px 0 28px}.public-shell .mk-foot-in{max-width: 1200px;margin: 0 auto;padding: 0 36px;display: grid;grid-template-columns: 1.6fr 1fr 1fr 1fr;gap: 32px}.public-shell .mk-foot h5{color: var(--on-ink);font-size: 12px;letter-spacing: .6px;text-transform: uppercase;margin: 0 0 14px}.public-shell .mk-foot a{display: block;font-size: 13px;color: var(--on-ink-2);padding: 5px 0;cursor: pointer}.public-shell .mk-foot a:hover{color: var(--lime)}.public-shell .mk-foot .fbrand{font-size: 25px;font-weight: 800;color: var(--on-ink)}.public-shell .mk-foot .fblurb{font-size: 13px;line-height: 1.6;max-width: 34ch;margin-top: 12px;color: var(--on-ink-2)}.public-shell .mk-copy{max-width: 1200px;margin: 32px auto 0;padding: 20px 36px 0;border-top: 1px solid hsl(0 0% 100% / .1);font-size: 12px;display: flex;justify-content: space-between;gap: 16px;flex-wrap: wrap}@media (max-width: 1100px){.public-shell .hero-in{grid-template-columns: 1fr;gap: 32px}.public-shell .hero h1{font-size: 40px}.public-shell .hero-visual{display: none}.public-shell .feat-grid,.public-shell .steps,.public-shell .tiers{grid-template-columns: 1fr 1fr}.public-shell .mk-foot-in{grid-template-columns: 1fr 1fr}}@media (max-width: 760px){.public-nav__links{display: none}.public-shell .feat-grid,.public-shell .steps,.public-shell .tiers,.public-shell .mk-foot-in{grid-template-columns: 1fr}.public-shell .hero h1{font-size: 34px}}.star-rating{display: inline-flex;align-items: center;gap: 6px;line-height: 1}.star-rating__stars{display: inline-flex;align-items: center;gap: 1px}.star-rating__star{width: 15px;height: 15px}.star-rating__star--on{color: var(--campsmart-amber)}.star-rating__star--off{color: var(--campsmart-line-2)}.star-rating__label{font-weight: 600;white-space: nowrap}.star-rating--clickable{cursor: pointer;border-radius: 6px;padding: 2px 4px;margin: -2px -4px}.star-rating--clickable:hover,.star-rating--clickable:focus-visible{background: var(--campsmart-primary-color-10pct)}.ratings-dialog__list{max-height: 46vh;overflow-y: auto}.ratings-dialog__entry{padding: 12px 0;border-top: 1px solid var(--campsmart-line)}.ratings-dialog__entry:first-child{border-top: 0;padding-top: 0}.ratings-dialog__head{align-items: center}.ratings-dialog__who{font-weight: 700}.ratings-dialog__review{margin: 0;font-size: .88rem;line-height: 1.5}.rate-booking__prompt{font-weight: 700;font-size: 1rem}.rate-booking__stars{display: inline-flex;gap: 6px}.rate-booking__star{width: 30px;height: 30px;cursor: pointer;color: var(--campsmart-line-2);transition: color .12s ease,transform .12s ease}.rate-booking__star:hover,.rate-booking__star:focus-visible{transform: scale(1.12)}.rate-booking__star--on{color: var(--campsmart-amber)}.rate-booking__stars--invalid .rate-booking__star{color: var(--campsmart-danger)}.setup{display: grid;grid-template-columns: 300px 1fr;gap: 0;height: 100%}.setup-rail{background: var(--campsmart-primary-color);color: var(--campsmart-on-ink);padding: 24px 18px;display: flex;flex-direction: column;gap: 14px}.setup-rail__eyebrow{font-size: 11.5px;font-weight: 700;letter-spacing: 0.6px;text-transform: uppercase;color: var(--campsmart-on-ink-2)}.setup-rail__progress{height: 7px;border-radius: 99px;background: hsl(0 0% 100% / 0.12);overflow: hidden}.setup-rail__progress-fill{height: 100%;background: var(--campsmart-secondary-color);border-radius: 99px;transition: width 0.2s ease}.setup-rail__steps{display: flex;flex-direction: column;gap: 3px;margin-top: 6px}.setup-rail__step{display: flex;align-items: center;gap: 11px;padding: 10px 11px;border-radius: var(--campsmart-radius-sm);cursor: pointer}.setup-rail__step:hover{background: hsl(0 0% 100% / 0.05)}.setup-rail__step--on{background: hsl(0 0% 100% / 0.08);box-shadow: var(--campsmart-shadow-sm)}.setup-rail__num{flex: 0 0 auto;width: 28px;height: 28px;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 13px;font-weight: 700;background: hsl(0 0% 100% / 0.1);color: var(--campsmart-on-ink)}.setup-rail__step--on .setup-rail__num,.setup-rail__step--done .setup-rail__num{background: var(--campsmart-secondary-color);color: var(--campsmart-secondary-deep)}.setup-rail__step-title{display: block;font-size: 14px;font-weight: 600;color: var(--campsmart-on-ink)}.setup-rail__step-sub{display: block;font-size: 11.5px;color: var(--campsmart-on-ink-2)}.setup-main{padding: 32px 36px}.setup-main__eyebrow{font-size: 11.5px;font-weight: 700;letter-spacing: 0.6px;text-transform: uppercase;color: var(--campsmart-text-3)}.setup-main__title{font-size: 26px;font-weight: 800;letter-spacing: -0.5px;color: var(--campsmart-text);margin: 4px 0 2px}.setup-main__sub{color: var(--campsmart-text-2);margin: 0 0 22px}.setup-main__footer{display: flex;justify-content: space-between;align-items: center;margin-top: 26px;padding-top: 18px;border-top: 1px solid var(--campsmart-line)}.setup-main__footer-actions{display: flex;gap: 10px}.setup-rail__exit{margin-top: auto;align-self: flex-start;color: var(--campsmart-on-ink-2)}.setup-rail__exit:hover{color: var(--campsmart-on-ink)}@media (max-width: 880px){.setup{grid-template-columns: 1fr}.setup-main{padding: 20px 16px}}.shadow-inset{box-shadow: 0 0 5px 2px rgba(0,0,0,0.3) inset}.shadow{box-shadow: 0 0 5px 3px rgba(0,0,0,0.3)}html{--cs-sh: 80;--campsmart-primary-color: hsl(var(--cs-sh) 11% 9%);--campsmart-primary-color-soft: hsl(var(--cs-sh) 8% 16%);--campsmart-primary-color-70pct: hsl(var(--cs-sh) 11% 9% / .70);--campsmart-primary-color-10pct: hsl(var(--cs-sh) 11% 9% / .10);--campsmart-secondary-color: hsl(86 54% 50%);--campsmart-secondary-strong: hsl(88 52% 40%);--campsmart-secondary-deep: hsl(92 46% 22%);--campsmart-secondary-tint: hsl(86 54% 50% / .15);--campsmart-secondary-line: hsl(86 44% 70%);--campsmart-danger: hsl(4 68% 50%);--campsmart-danger-tint: hsl(6 72% 96.5%);--campsmart-amber: hsl(36 92% 50%);--campsmart-amber-bg: hsl(40 90% 94%);--campsmart-amber-text: hsl(28 74% 32%);--campsmart-info: hsl(212 70% 50%);--campsmart-paper: hsl(0 0% 100%);--campsmart-surface: hsl(var(--cs-sh) 24% 98.5%);--campsmart-surface-2: hsl(var(--cs-sh) 16% 96%);--campsmart-surface-3: hsl(var(--cs-sh) 13% 93%);--campsmart-canvas: hsl(var(--cs-sh) 14% 95%);--campsmart-line: hsl(var(--cs-sh) 12% 88%);--campsmart-line-2: hsl(var(--cs-sh) 9% 80%);--campsmart-text: hsl(var(--cs-sh) 9% 13%);--campsmart-text-2: hsl(var(--cs-sh) 5% 38%);--campsmart-text-3: hsl(var(--cs-sh) 5% 54%);--campsmart-on-ink: hsl(var(--cs-sh) 14% 96%);--campsmart-on-ink-2: hsl(var(--cs-sh) 6% 64%);--campsmart-radius: 11px;--campsmart-radius-sm: calc(var(--campsmart-radius) * .75);--campsmart-radius-lg: calc(var(--campsmart-radius) * 1.5);--campsmart-radius-xl: calc(var(--campsmart-radius) * 2);--campsmart-shadow-sm: 0 1px 2px hsl(var(--cs-sh) 20% 12% / .05),0 2px 6px -2px hsl(var(--cs-sh) 20% 12% / .06);--campsmart-shadow-md: 0 2px 4px hsl(var(--cs-sh) 20% 12% / .05),0 10px 24px -8px hsl(var(--cs-sh) 20% 12% / .12);--campsmart-shadow-lg: 0 8px 20px -6px hsl(var(--cs-sh) 24% 12% / .16),0 28px 60px -16px hsl(var(--cs-sh) 24% 12% / .30);--campsmart-font: "Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--campsmart-mono: "Spline Sans Mono",ui-monospace,"SF Mono",Menlo,monospace;--aura-accent-color-light: var(--campsmart-secondary-color);--aura-accent-text-color-light: var(--campsmart-primary-color);--aura-font-family: var(--campsmart-font);--aura-base-radius: 3;--aura-base-size: 12;--aura-base-font-size: 14;--vaadin-grid-header-text-color: var(--campsmart-primary-color);--vaadin-grid-header-font-weight: bold;--vaadin-grid-header-font-size: 16;--ink: var(--campsmart-primary-color);--ink-soft: var(--campsmart-primary-color-soft);--lime: var(--campsmart-secondary-color);--lime-strong: var(--campsmart-secondary-strong);--lime-deep: var(--campsmart-secondary-deep);--lime-tint: var(--campsmart-secondary-tint);--lime-line: var(--campsmart-secondary-line);--paper: var(--campsmart-paper);--surface: var(--campsmart-surface);--surface-2: var(--campsmart-surface-2);--surface-3: var(--campsmart-surface-3);--canvas: var(--campsmart-canvas);--line: var(--campsmart-line);--line-2: var(--campsmart-line-2);--text: var(--campsmart-text);--text-2: var(--campsmart-text-2);--text-3: var(--campsmart-text-3);--on-ink: var(--campsmart-on-ink);--on-ink-2: var(--campsmart-on-ink-2);--mono: var(--campsmart-mono);--r-lg: var(--campsmart-radius-lg);--r-xl: var(--campsmart-radius-xl);--shadow-sm: var(--campsmart-shadow-sm);--shadow-md: var(--campsmart-shadow-md);--shadow-lg: var(--campsmart-shadow-lg)}.v-loading-indicator{height: 10px !important;background-color: var(--campsmart-secondary-color) !important}vaadin-notification-card{text-align: center;width: 60%;justify-self: center}vaadin-notification-card[theme~="success"]::part(overlay),vaadin-notification-card[theme~="success"]::part(content){background: #039338;color: white}vaadin-notification-card[theme~="error"]::part(overlay),vaadin-notification-card[theme~="error"]::part(content){background: #ec1212;color: white}vaadin-notification-card[theme~="warning"]::part(overlay),vaadin-notification-card[theme~="warning"]::part(content){background: #d69527;color: black}vaadin-notification-card[theme~="primary"]::part(overlay),vaadin-notification-card[theme~="primary"]::part(content){background: var(--campsmart-secondary-color);color: black}vaadin-app-layout::part(content){box-shadow: 0 0 5px 2px rgba(0,0,0,0.3) inset}vaadin-app-layout[has-drawer][drawer-opened]::part(content){margin-left: 10px}vaadin-grid::part(header-cell){background-color: var(--campsmart-primary-color-10pct)}@media (max-width: 880px){vaadin-notification-card{width: 100%}}