:root{--lumo-primary-color: #335c67;--lumo-secondary-text-color: #425466;--lumo-body-text-color: #22313f;--tenant-primary-color: #335c67;--tenant-secondary-color: #e09f3e}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}.primary-action{box-shadow: 0 12px 28px rgba(31,58,95,0.16)}.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}.public-site-layout{--lumo-primary-color: var(--tenant-primary-color)}.public-header-bar{gap: 1rem;padding: 1rem 1.5rem;border-bottom: 1px solid rgba(34,49,63,0.08);background: rgba(255,255,255,0.92);backdrop-filter: blur(10px)}.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-logo{width: 2.75rem;height: 2.75rem;object-fit: cover;border-radius: 999px;border: 2px solid rgba(34,49,63,0.1)}.public-brand-text{font-size: 1.05rem;font-weight: 700;letter-spacing: 0.01em}.public-header-links{display: flex;flex-wrap: wrap;justify-content: center}.public-nav-link{color: #22313f;text-decoration: none;padding: 0.45rem 0.8rem;border-radius: 999px}.public-nav-link[highlight]{background: rgba(51,92,103,0.1);color: var(--tenant-primary-color)}.public-nav-cta-button{white-space: nowrap}.public-booking-auth-single{max-width: 34rem}.booking-choice-chip{display: inline-flex;align-items: center;padding: 0.65rem 1rem;border: 1px solid rgba(51,92,103,0.18);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: #335c67;background: rgba(51,92,103,0.12)}.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 600px;width: 100%;max-width: 600px;border: 3px solid #000;border-radius: 1.25rem;box-shadow: none;padding: 10px}.public-room-card-title{margin: 0 0 1rem}.public-room-cards{display: flex;flex-wrap: wrap;gap: 1rem;align-items: stretch;justify-content: flex-start}.public-room-card-body{display: grid;grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) minmax(16rem,0.9fr);gap: 1rem;align-items: start}.public-room-card-column{min-width: 0}.public-room-card-column vaadin-scroller{max-width: 100%}.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-room-card-body{grid-template-columns: 1fr}.public-booking-auth-columns{flex-direction: column}.public-booking-pet-card-body{grid-template-columns: 1fr}}