:root{--lumo-primary-color: #335c67;--lumo-secondary-text-color: #425466;--lumo-body-text-color: #22313f;--tenant-primary-color: #335c67;--tenant-secondary-color: #e09f3e;--tenant-cta-color: #0f766e}html,body{margin: 0;background: radial-gradient(circle at top right,rgba(224,159,62,0.18),transparent 25%),linear-gradient(180deg,#f7fbfc 0%,#edf3f5 100%)}.stat-card{padding: 1rem 1.25rem;border-radius: 1rem;background: rgba(255,255,255,0.88);box-shadow: 0 14px 40px rgba(31,58,95,0.08);min-width: 10rem}.stat-card p{margin: 0;color: #5a6b7b}.stat-card h2{margin: 0.35rem 0 0}vaadin-button{border-radius: 999px}.primary-action{background: var(--tenant-cta-color) !important;color: white !important;border-radius: 999px;border: 1px solid color-mix(in srgb,var(--tenant-cta-color) 82%,#000 18%);box-shadow: 0 12px 28px rgba(31,58,95,0.16)}.primary-action::part(label){color: white}.app-message{min-width: 18rem;max-width: 34rem;border-radius: 1rem;border: 1px solid transparent;box-shadow: 0 14px 32px rgba(31,58,95,0.14);text-align: center}.app-message::part(content){justify-content: center;text-align: center}.app-message-text{width: 100%;text-align: center;font-weight: 600}.app-message-info{background: #eaf4ff;border-color: #8ec5ff;color: #0f4c81}.app-message-success{background: #eafaf0;border-color: #94ddb0;color: #146c3b}.app-message-warning,.app-message-error{background: #fff1f1;border-color: #f0a9a9;color: #8a1f1f}.tenant-theme-picker{width: 100%}.tenant-theme-picker-title{margin: 0 0 0.5rem;font-weight: 600}.tenant-theme-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(10rem,1fr));gap: 0.75rem;width: 100%}.tenant-theme-option{display: flex;align-items: center;gap: 0.75rem;min-height: 3rem;padding: 0.6rem 0.75rem;border: 1px solid rgba(34,49,63,0.18);border-radius: 0.5rem;background: white;cursor: pointer}.tenant-theme-option:hover,.tenant-theme-option-selected{border-color: var(--tenant-primary-color);box-shadow: 0 8px 22px rgba(31,58,95,0.12)}.tenant-theme-swatches{display: flex;overflow: hidden;width: 5.25rem;height: 1.6rem;border-radius: 0.35rem;border: 1px solid rgba(34,49,63,0.16)}.tenant-theme-swatch{flex: 1 1 33.333%}.tenant-theme-name{font-weight: 600}.gallery-admin-thumb{width: 6rem;height: 4rem;object-fit: cover;border-radius: 0.35rem}.tenant-profile-logo-preview{width: 8rem;height: 8rem;aspect-ratio: 1 / 1;object-fit: contain;flex: 0 0 8rem;border: 1px solid rgba(34,49,63,0.12);border-radius: 0.75rem;background: white;padding: 0.5rem;box-sizing: border-box}.public-site-layout{--lumo-primary-color: var(--tenant-primary-color);background: radial-gradient(circle at top right,color-mix(in srgb,var(--tenant-secondary-color) 20%,transparent),transparent 28%),linear-gradient(180deg,#f7fbfc 0%,#edf3f5 100%)}.public-header-bar{gap: 1rem;padding: 1rem 1.5rem;border-bottom: 1px solid var(--tenant-secondary-color);background: rgba(255,255,255,0.92);backdrop-filter: blur(10px)}.public-header-leading{display: inline-flex;align-items: center;gap: 0.85rem;min-width: 0}.public-header-bar-booking-only{justify-content: space-between}.public-brand,.public-brand-link{display: inline-flex;align-items: center;gap: 0.75rem;color: inherit;text-decoration: none}.public-brand-text{position: relative;font-size: 1.05rem;font-weight: 700;letter-spacing: 0.01em;color: var(--tenant-primary-color)}.public-brand-text::after{content: "";display: block;width: 2.4rem;height: 0.2rem;margin-top: 0.18rem;border-radius: 999px;background: var(--tenant-secondary-color)}.public-header-links{display: flex;flex-wrap: wrap;justify-content: end}.public-locale-switcher{min-width: 8.5rem}.public-nav-link{display: inline-flex;align-items: center;color: #22313f;text-decoration: none;padding: 0.45rem 0.8rem;border-radius: 999px}.public-nav-link[highlight]{background: color-mix(in srgb,var(--tenant-secondary-color) 22%,white);color: var(--tenant-primary-color)}.public-nav-cta-button{white-space: nowrap}.public-booking-auth-single{width: min(100%,28rem);max-width: 28rem}.public-booking-flow-shell{display: grid;grid-template-columns: minmax(0,1fr) minmax(16rem,20rem);gap: 1.5rem;width: min(100%,78rem);align-items: start}.public-booking-flow-main{min-width: 0}.public-booking-flow-sidebar{position: sticky;top: 0;padding: 1rem 1.15rem;border: 1px solid color-mix(in srgb,var(--tenant-primary-color) 16%,transparent);border-radius: 1rem;background: rgba(255,255,255,0.94);box-shadow: 0 14px 36px rgba(31,58,95,0.08)}.public-booking-flow-sidebar h4{margin: 0 0 0.85rem;color: var(--tenant-primary-color)}.public-booking-flow-sidebar-line{margin: 0 0 0.65rem}.public-booking-flow-sidebar-line:last-child{margin-bottom: 0}@media (max-width: 900px){.public-booking-flow-shell{grid-template-columns: 1fr}.public-booking-flow-sidebar{position: static;order: -1}}.booking-choice-chip{display: inline-flex;align-items: center;padding: 0.65rem 1rem;border: 1px solid color-mix(in srgb,var(--tenant-primary-color) 18%,transparent);border-radius: 999px;background: rgba(255,255,255,0.88);box-shadow: 0 10px 24px rgba(31,58,95,0.08);transition: transform 120ms ease,border-color 120ms ease,background 120ms ease}.booking-choice-chip:hover{transform: translateY(-1px)}.booking-choice-chip-selected{border-color: var(--tenant-secondary-color);background: color-mix(in srgb,var(--tenant-secondary-color) 22%,white)}.booking-choice-card{position: relative;border: 2px solid transparent;transition: transform 120ms ease,border-color 120ms ease,box-shadow 120ms ease}.booking-choice-card:hover{transform: translateY(-2px)}.booking-choice-selected{border-color: #335c67;box-shadow: 0 18px 44px rgba(51,92,103,0.18)}.booking-choice-badge{display: none;width: fit-content;padding: 0.35rem 0.7rem;border-radius: 999px;background: rgba(51,92,103,0.12);color: #22313f;font-size: 0.85rem}.booking-choice-selected .booking-choice-badge{display: inline-flex}.public-room-card{flex: 1 1 35rem;max-width: 35rem;border: 1px solid rgba(34,49,63,0.12);border-radius: 1.5rem;box-shadow: 0 18px 48px rgba(34,49,63,0.08);padding: 1.2rem;background: linear-gradient(180deg,rgba(255,255,255,0.96),rgba(248,250,252,0.98)),radial-gradient(circle at top right,rgba(51,92,103,0.12),transparent 45%)}.public-room-card-title{margin: 0 0 1rem;font-size: 1.2rem}.public-room-cards{display: flex;flex-wrap: wrap;gap: 1.25rem;align-items: stretch;justify-content: flex-start}.public-room-card-body{display: grid;grid-template-columns: minmax(0,1.15fr) minmax(0,1fr) minmax(14rem,0.9fr);gap: 1.1rem;align-items: start}.public-room-card-column{min-width: 0}.public-room-card-badge{display: inline-flex;width: fit-content;margin-bottom: 0.5rem;padding: 0.45rem 0.8rem;border-radius: 999px;background: rgba(51,92,103,0.1);color: #22313f;font-size: 0.9rem;font-weight: 600}.public-room-card-column vaadin-scroller{max-width: 100%}.public-booking-shell{width: 100%;display: grid;gap: 1.5rem}.public-booking-controls{padding: 1.35rem;border-radius: 1.75rem;border: 1px solid rgba(34,49,63,0.1);background: radial-gradient(circle at top left,rgba(51,92,103,0.14),transparent 38%),linear-gradient(135deg,rgba(255,255,255,0.98),rgba(245,248,250,0.96));box-shadow: 0 22px 60px rgba(34,49,63,0.08)}.public-booking-window-message{margin: 0.75rem 0 0;color: #415161;max-width: 50rem}.public-booking-rule-chips{display: flex;flex-wrap: wrap;gap: 0.75rem;margin: 1rem 0 1.15rem}.public-booking-rule-chip{display: inline-flex;align-items: center;min-height: 2.25rem;padding: 0.45rem 0.85rem;border-radius: 999px;background: rgba(255,255,255,0.84);border: 1px solid rgba(51,92,103,0.14);color: #22313f;font-weight: 600}.public-booking-date-form{align-items: end}.public-booking-date-form vaadin-date-picker{width: 9.5rem;max-width: 9.5rem}.public-booking-room-section{display: grid;gap: 1rem}.public-booking-availability{margin: 0;color: #415161}.public-booking-continue{align-self: flex-start}.public-booking-auth-columns{gap: 1.5rem;align-items: flex-start}.public-booking-auth-columns>*{flex: 1 1 20rem}.public-booking-summary{gap: 0.25rem}.public-booking-pet-card{border: 2px solid #000;box-shadow: none}.public-booking-pet-card-body{display: grid;grid-template-columns: minmax(0,1.2fr) minmax(12rem,0.8fr) minmax(16rem,1fr);gap: 1rem;align-items: start}.public-booking-pet-card-column{min-width: 0}.public-booking-pet-thumb{width: 100%;max-width: 220px;border-radius: 0.75rem;object-fit: cover}@media (max-width: 900px){.public-header-bar{flex-wrap: wrap;align-items: flex-start}.public-header-links{order: 3;width: 100%;justify-content: flex-start}.public-room-card{flex-basis: 100%;max-width: 100%}.public-booking-controls{padding: 1rem;border-radius: 1.35rem}.public-booking-date-form vaadin-date-picker{width: 100%}.public-room-card-body{grid-template-columns: 1fr}.public-booking-auth-columns{flex-direction: column}.public-booking-pet-card-body{grid-template-columns: 1fr}}.operations-split{min-height: 70vh}.queue-toolbar{padding: 0 0 1rem}.workflow-panel{padding-left: 1rem}.summary-card{margin-bottom: 1rem;border-radius: 1rem;background: rgba(255,255,255,0.92);box-shadow: 0 14px 40px rgba(31,58,95,0.08)}.pet-check-card{margin-bottom: 0.75rem;border-radius: 0.85rem;background: rgba(247,251,252,0.92)}.dashboard-highlight-row{align-items: stretch}.dashboard-workflow-card{flex: 1 1 20rem}.dashboard-workflow-card h3{margin: 0;color: var(--tenant-primary-color)}.dashboard-badge,.dashboard-badge-urgent{display: inline-flex;width: fit-content;margin-top: 0.35rem;padding: 0.3rem 0.65rem;border-radius: 999px;font-size: 0.82rem;font-weight: 600}.dashboard-badge{background: rgba(51,92,103,0.1);color: #27434a}.dashboard-badge-urgent{background: rgba(180,48,48,0.12);color: #8a1f1f}.dashboard-payment-line{padding: 0.4rem 0;border-top: 1px solid rgba(34,49,63,0.08)}.dashboard-payment-line:first-of-type{border-top: 0}.charge-row{padding: 0.5rem 0}@media (max-width: 900px){.queue-toolbar,.operations-toolbar,.dashboard-highlight-row{flex-direction: column;align-items: stretch}.operations-row-actions{flex-wrap: wrap}.workflow-panel{padding-left: 0;padding-top: 1rem}}quill-editor{display: block;min-height: 26rem;border-radius: 0.75rem;background: #fff}quill-editor .ql-toolbar{border-radius: 0.75rem 0.75rem 0 0}quill-editor .quill-image-tools{display: flex;flex-wrap: wrap;gap: 0.4rem;padding: 0.5rem;border-inline: 1px solid #ccc;background: #f7fbfc}quill-editor .quill-image-tools[hidden]{display: none}quill-editor .quill-image-tools button{min-height: 2rem;padding: 0.25rem 0.55rem;border: 1px solid rgba(34,49,63,0.2);border-radius: 0.35rem;background: white;color: #22313f}quill-editor .ql-container{min-height: 20rem;border-radius: 0 0 0.75rem 0.75rem;font-size: 1rem}quill-editor .ql-image-selected{outline: 3px solid var(--tenant-secondary-color,#f4b942);outline-offset: 3px}.tenant-page-public-content{max-width: 72rem;line-height: 1.7}quill-editor .tenant-page-image,.tenant-page-public-content .tenant-page-image{max-width: 100%;height: auto}quill-editor .tenant-page-image-25,.tenant-page-public-content .tenant-page-image-25{width: 25%}quill-editor .tenant-page-image-50,.tenant-page-public-content .tenant-page-image-50{width: 50%}quill-editor .tenant-page-image-75,.tenant-page-public-content .tenant-page-image-75{width: 75%}quill-editor .tenant-page-image-100,.tenant-page-public-content .tenant-page-image-100{width: 100%}quill-editor .tenant-page-image-left,.tenant-page-public-content .tenant-page-image-left{display: block;margin-inline: 0 auto}quill-editor .tenant-page-image-center,.tenant-page-public-content .tenant-page-image-center{display: block;margin-inline: auto}quill-editor .tenant-page-image-right,.tenant-page-public-content .tenant-page-image-right{display: block;margin-inline: auto 0}.tenant-page-public-content h1,.tenant-page-public-content h2,.tenant-page-public-content h3{color: var(--tenant-primary-color,#1f3a5f);line-height: 1.15}.tenant-page-public-content blockquote{margin-left: 0;padding-left: 1rem;border-left: 4px solid var(--tenant-secondary-color,#f4b942);color: #40515f}.tenant-gallery-intro{max-width: 64rem;color: #425466}.tenant-gallery-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(13rem,1fr));gap: 1rem;width: 100%}.tenant-gallery-card{margin: 0;overflow: hidden;background: white;border: 1px solid rgba(34,49,63,0.12);border-radius: 0.5rem}.tenant-gallery-image{display: block;width: 100%;aspect-ratio: 4 / 3;object-fit: cover;cursor: zoom-in}.tenant-gallery-caption{display: block;padding: 0.65rem 0.75rem;color: #22313f;font-weight: 600}.tenant-gallery-carousel{width: 100%}.tenant-gallery-carousel-track{display: flex;gap: 1rem;overflow-x: auto;scroll-snap-type: x mandatory;padding-bottom: 0.75rem}.tenant-gallery-carousel-track .tenant-gallery-card{flex: 0 0 min(82vw,44rem);scroll-snap-align: start}.tenant-gallery-infinite{width: 100%}.tenant-gallery-load-more{margin-top: 1rem}.tenant-gallery-preview-image{max-width: min(86vw,70rem);max-height: 75vh;object-fit: contain}