.header{background:#fff;border-bottom:1px solid #eee;width:100%;position:relative}.header__container{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:12px 20px;display:flex}.header__logo{cursor:pointer;font-size:18px;font-weight:600}.header__nav a{color:#444;font-size:15px;text-decoration:none}.header__nav a:hover{text-decoration:underline}.header__actions{align-items:center;gap:16px;display:flex}.header__nav{gap:20px;display:none}.header__login{color:#444;font-size:15px;text-decoration:none;display:none}.header__login:hover{text-decoration:underline}.header__burger{cursor:pointer;font-size:22px}.header__lang{cursor:pointer;color:#444;-webkit-user-select:none;user-select:none;font-size:14px;position:relative}.header__lang-menu{z-index:30;background:#fff;border:1px solid #ddd;border-radius:6px;flex-direction:column;min-width:60px;padding:6px 0;display:flex;position:absolute;top:120%;right:0;box-shadow:0 4px 12px #00000014}.header__lang-menu div{cursor:pointer;padding:6px 12px}.header__lang-menu div:hover{background:#f5f5f5}@media (width>=768px){.header__nav{display:flex}.header__burger{display:none}}.header__dropdown{z-index:30;background:#fff;border:1px solid #ddd;border-radius:8px;flex-direction:column;min-width:180px;padding:8px 0;display:flex;position:absolute;top:120%;right:0;box-shadow:0 6px 20px #00000014}.header__dropdown a,.header__dropdown div{color:#444;cursor:pointer;padding:8px 14px;font-size:14px;text-decoration:none}.header__dropdown a:hover,.header__dropdown div:hover{background:#f5f5f5}.header__menu{position:relative}.header__burger{cursor:pointer;padding:4px;font-size:22px}.header__nav a:last-child{font-weight:500}.modal_overlay_login{z-index:999;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal_login{text-align:center;z-index:1000;background:#fff;border-radius:10px;flex-direction:column;gap:12px;min-width:320px;padding:24px;display:flex}.google-btn{color:#3c4043;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:6px;justify-content:center;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.google-btn:hover{background:#f7f8f8;box-shadow:0 1px 2px #0000001a}.google-icon{width:18px;height:18px}.cancel-btn{color:#5f6368;cursor:pointer;background:0 0;border:none;margin-top:10px;font-size:14px}.cancel-btn:hover{text-decoration:underline}.notification-bell{color:#444;align-items:center;padding:4px;display:inline-flex;position:relative}.notification-bell:hover{color:#000}.notification-bell__badge{box-sizing:border-box;color:#fff;text-align:center;background:#c0392b;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-6px}.notifications-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.notifications-toolbar .bookings-roles{margin:0}.notifications-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notification{color:#555;background:#fff;border:1px solid #e5e4e7;border-radius:12px;align-items:flex-start;gap:10px;padding:12px;display:flex}.notification--unread{color:#222;background:#f4ecff;border-color:#d9c2ff}.notification__dot{border-radius:50%;flex:none;width:10px;height:10px;margin-top:6px}.notification--unread .notification__dot{background:#aa3bff}.notification__link{min-width:0;color:inherit;flex-direction:column;flex:1;gap:2px;text-decoration:none;display:flex}.notification__link:hover .notification__text{text-decoration:underline}.notification__text{font-size:15px}.notification--unread .notification__text{font-weight:600}.notification__context,.notification__time{color:#666;font-size:13px}.notification__read-btn{flex:none;padding:4px 10px;font-size:13px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=480px){.notification{flex-wrap:wrap}.notification__read-btn{margin-left:20px}}.push-settings{background:#fafafa;border:1px solid #e5e4e7;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px;padding:12px 14px;display:flex}.push-settings__text{flex:240px;min-width:0}.push-settings h2{margin:0;font-size:16px}.push-settings p{margin:2px 0 0;font-size:14px}.hero{text-align:center;max-width:600px;padding:6px}.pet-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.pet-card{cursor:pointer;appearance:none;color:#222;background:#fff;border:1px solid #ddd;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px;display:flex}.pet-card:hover{transform:translateY(-2px)}.emoji{font-size:28px}.label{text-transform:capitalize;margin-top:8px}.browse-all{color:#666;cursor:pointer;background:0 0;border:none;margin-top:12px}.page{text-align:center;background:linear-gradient(135deg,#e7e6f0,#fffbf9);justify-content:center;align-items:center;display:flex}.page--centered{justify-content:center;align-items:flex-start;min-height:100%;padding-top:40px;padding-bottom:40px;display:flex}.container{background-image:url(/assets/background-BrUhD6mX.png);padding:20px;animation:.6s ease-in-out fadeIn}.container--narrow{width:100%;max-width:500px;margin:0 auto}.container--wide{background-image:url(/assets/background-BrUhD6mX.png);width:100%;max-width:1100px;margin:0 auto}.logo{object-fit:contain;width:100%;max-width:320px;height:auto;max-height:30vh}h1{color:#6c8c4f;margin:5px 0;font-size:28px}h2{color:#6c8c4f;margin:10px 0;font-size:18px}p{margin-bottom:25px;font-size:16px;line-height:1.5}.footer{color:#888;margin-top:30px;font-size:13px}@media (width>=768px){h1{color:#6c8c4f;margin:10px 0;font-size:34px}p{font-size:18px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}body{color:#444;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}.centered-page{justify-content:center;align-items:center;height:100%;display:flex}.footer{text-align:center;color:#888;padding:16px;font-size:13px}.layout{background:#fff;flex-direction:column;min-height:100dvh;display:flex}.text-centered{text-align:center}.main{flex:1}html,body,#root{height:100%}.filters{text-align:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-button{cursor:pointer;white-space:nowrap;color:#6c8c4f;background:#fff;border:1px solid #ddd;border-radius:20px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;transition:all .2s;display:flex}.filter-button:hover{background:#f5f5f5}.filter-button .value{color:#666}.filter-button.active{background:#e8f5e9;border-color:#4caf50}.filter-modal{z-index:1000;background:#fff;border-radius:12px 12px 0 0;min-width:150px;max-height:70vh;padding:16px;position:absolute;overflow-y:auto}@keyframes slideUp{to{transform:translateY(0)}}.filter-modal h3{margin-bottom:12px}.filter-modal button{text-align:left;cursor:pointer;color:#666;background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;margin-bottom:8px;padding:10px;display:block}.filter-modal button:hover{background:#f5f5f5}.filter-modal button.active{background:#e8f5e9;border-color:#4caf50}.filters .modal input[type=date]{border:1px solid #ddd;border-radius:8px;width:100%;margin-bottom:12px;padding:8px}.filter-actions{gap:8px;display:flex}.filter-actions button{cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px}.filter-actions button:first-child{background:#eee}.filter-actions button:last-child{color:#fff;background:#4caf50}.filter-overlay{z-index:999;background:#0006;width:100%;height:100%;position:fixed;top:0;left:0}.location-filter{min-width:260px}.location-filter__search{box-sizing:border-box;width:100%;font:inherit;border:1px solid #ddd;border-radius:8px;margin-bottom:10px;padding:8px 10px}.location-filter__country,.filter-modal .location-filter__city{color:#444;margin:8px 0 4px;font-weight:700}.location-filter__country{text-transform:uppercase;letter-spacing:.04em;padding-left:10px;font-size:12px}.location-filter__area{font-weight:600}.location-filter__context{color:#999;font-size:12px;display:block}.location-filter__note{color:#888;margin:0 0 8px}.location-filter__attribution{color:#999;margin:8px 0 0;font-size:11px}.location-filter__attribution a{color:inherit}.date-filter__group{border:none;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;padding:0;display:grid}.date-filter__group legend{margin-bottom:6px;font-weight:600}.date-filter__field{flex-direction:column;gap:4px;font-size:14px;display:flex}.date-filter__field input{font:inherit;border:1px solid #ddd;border-radius:8px;padding:8px}.date-filter__error{color:#c0392b;margin:0 0 12px;font-size:13px}.neighbours-filter{align-items:center;gap:6px;display:flex}.neighbours-filter__radius select{color:#2e5d32;font:inherit;cursor:pointer;background:#e8f5e9;border:1px solid #4caf50;border-radius:20px;padding:8px 10px;font-size:14px}.neighbours-filter .visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.profile-page{box-sizing:border-box;text-align:left;flex-direction:column;gap:20px;width:100%;max-width:640px;margin:0 auto;padding:20px 16px 40px;display:flex}.profile-page h1{text-align:center}.profile-card{box-shadow:var(--shadow);color:#333;background:#fff;border:1px solid #ddd;border-radius:12px;padding:20px}.profile-card h2{color:#111;margin:0}.profile-card__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.profile-prompt{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.profile-form{flex-direction:column;gap:16px;display:flex}.profile-field{border:none;flex-direction:column;gap:4px;margin:0;padding:0;font-size:15px;display:flex}.profile-field>span,.profile-field>legend{color:#222;padding:0;font-weight:600}.profile-field input,.profile-field select,.profile-field textarea{font:inherit;color:#111;background:#fff;border:1px solid #ccc;border-radius:8px;padding:10px 12px}.profile-field input[readonly]{color:#555;background:#f3f3f3}.profile-field input[aria-invalid=true]{border-color:#c0392b}.profile-hint{color:#777;font-size:13px}.profile-error{color:#c0392b;font-size:13px}.profile-muted{color:#888}.profile-chips{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.profile-chip{color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #ccc;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:14px;display:inline-flex;position:relative}.profile-chip input{opacity:0;pointer-events:none;position:absolute}.profile-chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.profile-chip.active{background:var(--accent-bg);border-color:var(--accent-border);color:#111}.profile-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.profile-btn{color:#fff;font:inherit;cursor:pointer;background:#222;border:1px solid #222;border-radius:8px;padding:8px 16px;font-size:14px}.profile-btn:hover:not(:disabled){background:#444}.profile-btn:disabled{opacity:.6;cursor:default}.profile-btn.secondary{color:#222;background:#fff}.profile-btn.secondary:hover:not(:disabled){background:#f0f0f0}.profile-btn.danger{color:#c0392b;background:#fff;border-color:#c0392b}.profile-btn.danger:hover:not(:disabled){background:#fdecea}.profile-details{grid-template-columns:max-content 1fr;gap:10px 16px;margin:0;font-size:15px;display:grid}.profile-details dt{color:#555;font-weight:600}.profile-details dd{overflow-wrap:anywhere;margin:0}@media (width<=480px){.profile-details{grid-template-columns:1fr;gap:2px}.profile-details dd{margin-bottom:10px}}.pet-list{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.pet-list__item{border:1px solid #eee;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.pet-list__info{flex-direction:column;flex:1;min-width:140px;font-size:15px;display:flex}.pet-list__actions{gap:6px;display:flex}.pet-form{border:1px dashed #ccc;border-radius:10px;padding:12px}.availability-form__row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.address-autocomplete{flex-direction:column;gap:4px;display:flex;position:relative}.address-autocomplete__popup{z-index:20;box-shadow:var(--shadow);background:#fff;border:1px solid #ccc;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.address-autocomplete__popup ul{margin:0;padding:4px 0;list-style:none}.address-autocomplete__popup li{cursor:pointer;flex-direction:column;padding:8px 12px;display:flex}.address-autocomplete__popup li.active{background:var(--accent-bg)}.address-autocomplete__line1{color:#111}.address-autocomplete__line2{color:#777;font-size:13px}.address-autocomplete__attribution{color:#777;text-align:right;border-top:1px solid #eee;padding:4px 12px 6px;font-size:11px;text-decoration:none;display:block}.photo-picker{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px;display:flex}.photo-picker__actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.photo-image{object-fit:cover;background:#e4e4e7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.photo-image--large{width:112px;height:112px;font-size:56px}.photo-image--small{width:48px;height:48px;font-size:26px}.photo-default-avatar{width:100%;height:100%}.photo-default-avatar circle:first-child{fill:#e4e4e7}.photo-default-avatar circle:last-of-type,.photo-default-avatar path{fill:#a1a1aa}.profile-description{white-space:pre-line;overflow-wrap:anywhere}.profile-visibility{border-top:1px solid #eee;flex-direction:column;gap:6px;margin-top:20px;padding-top:16px;display:flex}.profile-visibility__row{justify-content:space-between;align-items:center;gap:16px;display:flex}.profile-visibility h3{color:#111;margin:0;font-size:16px}.profile-visibility__state{font-size:14px;font-weight:600}.profile-switch{cursor:pointer;background:#ccc;border:none;border-radius:999px;flex-shrink:0;width:48px;height:28px;padding:0;transition:background .15s;position:relative}.profile-switch[aria-checked=true]{background:var(--accent)}.profile-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-switch:disabled{opacity:.6;cursor:default}.profile-switch__thumb{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px}.profile-switch[aria-checked=true] .profile-switch__thumb{transform:translate(20px)}.helpers-results{margin-top:20px}.helpers-count{color:#666;margin:0 0 12px}.helpers-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.helper-card{color:#333;text-align:left;background:#fff;border:1px solid #ddd;border-radius:12px;align-items:flex-start;gap:12px;padding:14px;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.helper-card:hover,.helper-card:focus-visible{border-color:var(--accent-border);box-shadow:var(--shadow)}.helper-card__body{flex:1;min-width:0}.helper-card__name{color:#111;margin:0;font-size:17px}.helper-card__area{color:#777;margin:2px 0 6px;font-size:13px}.helper-card__description{-webkit-line-clamp:3;line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0 0 8px;font-size:14px;display:-webkit-box;overflow:hidden}.helper-card__services{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.helper-card__services li{color:#555;background:#f1f1f4;border-radius:999px;padding:2px 8px;font-size:12px}.helpers-state{text-align:center;color:#666;padding:32px 16px}.helpers-button{color:#fff;font:inherit;cursor:pointer;background:#222;border:1px solid #222;border-radius:8px;padding:8px 16px;font-size:14px}.helpers-button:disabled{opacity:.4;cursor:default}.filters .helpers-clear{color:#666}.helpers-pagination{color:#555;justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.helper-profile{box-sizing:border-box;text-align:left;width:100%;max-width:640px;margin:0 auto;padding:20px 16px 40px}.helper-profile__back{color:var(--accent);font-size:14px;text-decoration:none}.helper-profile__card{box-shadow:var(--shadow);color:#333;text-align:center;background:#fff;border:1px solid #ddd;border-radius:12px;flex-direction:column;align-items:center;margin-top:16px;padding:24px 20px;display:flex}.helper-profile__card h1{color:#111;margin:12px 0 0}.helper-profile__description{white-space:pre-line;overflow-wrap:anywhere;margin:12px 0}.helper-profile__details{text-align:left;width:100%;margin:12px 0 0}.helper-profile__details dt{margin-top:12px;font-weight:600}.helper-profile__details dd{margin:6px 0 0}@media (width<=480px){.helpers-grid{grid-template-columns:1fr}}.helper-profile__availability{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.booking-request{box-shadow:var(--shadow);color:#333;text-align:left;background:#fff;border:1px solid #ddd;border-radius:12px;margin-top:16px;padding:20px}.booking-request h2{color:#111;margin:0 0 12px;font-size:20px}.booking-request>.profile-btn{width:100%}.booking-request--sent{border-color:var(--accent-border);background:var(--accent-bg)}.booking-request--sent p{margin:0 0 12px}@media (width<=480px){.booking-request{padding:16px}.booking-request .profile-actions{flex-direction:column-reverse}.booking-request .profile-actions .profile-btn{width:100%}}.bookings-page{box-sizing:border-box;text-align:left;width:100%;max-width:720px;margin:0 auto;padding:20px 16px 40px}.bookings-page h1{margin:8px 0 16px}.bookings-state{color:#555;padding:16px 0}.bookings-roles{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.bookings-roles .profile-chip{font:inherit;font-size:14px}.bookings-group{margin-top:24px}.bookings-group h2{margin:0 0 10px;font-size:18px}.bookings-group__count{color:#888;font-weight:400}.bookings-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.bookings-more{width:100%;margin-top:12px}.booking-card{color:#333;box-shadow:var(--shadow);background:#fff;border:1px solid #ddd;border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.booking-card+.booking-card{margin-top:16px}.booking-card__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.booking-card__details{color:var(--accent);font-size:14px;text-decoration:none}.booking-summary{flex-direction:column;gap:10px;display:flex}.booking-summary__head{align-items:center;gap:12px;display:flex}.booking-summary__who{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.booking-summary__name{color:#111;overflow-wrap:anywhere;font-size:16px}.booking-summary__name a{color:inherit}.booking-summary__created{color:#888;margin:0;font-size:13px}.booking-direction{border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:12px}.booking-direction--incoming{background:var(--accent-bg);border:1px solid var(--accent-border);color:#111}.booking-direction--outgoing{color:#555;background:#f1f1f4;border:1px solid #ddd}.booking-status{white-space:nowrap;color:#555;background:#f1f1f4;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.booking-status--pending{color:#7a5600;background:#fff4d6}.booking-status--accepted{color:#1d6b34;background:#e2f5e7}.booking-status--declined,.booking-status--cancelled{color:#9b2c1f;background:#fbe5e2}.booking-item p{margin:0}.booking-item__service{font-weight:600}.booking-item__time{color:#555;font-size:14px}.booking-pets{flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.booking-pet{background:#f1f1f4;border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 2px;font-size:13px;display:flex}.booking-pet__photo{object-fit:cover;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.booking-pet__notes{color:#777;display:block}.booking-actions{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.booking-messages h2{margin:0;font-size:18px}.booking-messages__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.booking-message{background:#f1f1f4;border-radius:12px;align-self:flex-start;max-width:85%;padding:8px 12px}.booking-message--mine{background:var(--accent-bg);align-self:flex-end}.booking-message__meta{color:#777;font-size:12px}.booking-message p{white-space:pre-line;overflow-wrap:anywhere;margin:2px 0 0}@media (width<=480px){.booking-card__footer,.booking-actions{align-items:stretch}.booking-card__footer{flex-direction:column-reverse}.booking-actions .profile-actions .profile-btn{flex:1}}.how{width:100%}.how__container{max-width:800px;margin:0 auto;padding:40px 20px}.how__title{margin-bottom:16px;font-size:28px}.how__intro{color:#555;margin-bottom:32px;font-size:16px}.how__steps{flex-direction:column;gap:24px;display:flex}.how__step h2{margin-bottom:6px;font-size:18px}.how__step p{color:#555;line-height:1.5}.how__footer{color:#555;border-top:1px solid #eee;margin-top:40px;padding-top:20px}.shops-page{width:100%}.shops-page__title{text-align:center;margin-bottom:16px}.shops-filters{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px;display:flex}.shops-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.shop-card{border:1px solid #e5e5e5;border-radius:12px;flex-direction:column;justify-content:space-between;padding:12px;display:flex}.shop-card__title{margin-bottom:6px}.shop-card__address{color:#666;margin-bottom:8px;font-size:14px}.shop-card__tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.shop-card__footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.shop-card__hours{color:#444;margin-bottom:8px;font-size:10px}.vet-clinics-page{width:100%}.vet-clinics-page__title{text-align:center;margin-bottom:16px}.vet-clinics-filters{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px;display:flex}.filter{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:8px;padding:6px 12px}.vet-clinics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.vet-clinic-card{border:1px solid #e5e5e5;border-radius:12px;flex-direction:column;justify-content:space-between;padding:12px;display:flex}.vet-clinic-card__title{margin-bottom:6px}.vet-clinic-card__address{color:#666;margin-bottom:8px;font-size:14px}.vet-clinic-card__tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tag{background:#f0f0f0;border-radius:6px;padding:2px 6px;font-size:12px}.tag--secondary{background:#e0e7ff}.vet-clinic-card__footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.price{font-size:14px;font-weight:500}.btn{color:#fff;cursor:pointer;background:#333;border:none;border-radius:8px;padding:6px 10px}.vet-clinic-card__hours{color:#444;margin-bottom:8px;font-size:10px}.cal{--cal-hour:44px;--cal-line:#e5e4e7;--cal-available:#eaf7ef;--cal-unavailable-a:#f3f3f3;--cal-unavailable-b:#e8e8e8;color:#222;flex-direction:column;gap:12px;min-width:0;font-size:14px;display:flex}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cal-title{text-transform:capitalize;margin:0;font-size:20px}.cal-nav,.cal-views{gap:4px;display:flex}.cal-btn{color:#222;font:inherit;cursor:pointer;background:#fff;border:1px solid #222;border-radius:8px;padding:6px 12px}.cal-btn:hover{background:#f0f0f0}.cal-btn--active,.cal-btn--active:hover{color:#fff;background:#222}.cal-event{min-width:0;font:inherit;text-align:left;cursor:pointer;border:1px solid #0000;border-radius:6px;gap:4px;display:flex;overflow:hidden}.cal-event:focus-visible,.cal-btn:focus-visible,.cal-month__date:focus-visible,.cal-more:focus-visible{outline-offset:1px;outline:2px solid #222}.cal-event--pending{color:#7a5600;background:#fff4d6;border:1px dashed #c08a00}.cal-event--accepted{color:#fff;background:#2e8b57;border-color:#2e8b57}.cal-event--completed{color:#3d4a63;background:#e4e9f2;border-color:#b9c3d6}.cal-event--cancelled{color:#9b2c1f;opacity:.8;background:#fbe5e2;border-color:#f0c4be;text-decoration:line-through}.cal-day--available{background:var(--cal-available)}.cal-day--unavailable{background:repeating-linear-gradient(-45deg, var(--cal-unavailable-a) 0 6px, var(--cal-unavailable-b) 6px 12px)}.cal-month{border:1px solid var(--cal-line);border-radius:10px;overflow:hidden}.cal-month__row{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-month__row+.cal-month__row{border-top:1px solid var(--cal-line)}.cal-month__head>div{text-align:center;text-transform:capitalize;color:#666;padding:6px;font-size:12px;font-weight:600}.cal-month__day{flex-direction:column;gap:2px;min-width:0;min-height:104px;padding:4px;display:flex}.cal-month__day+.cal-month__day{border-left:1px solid var(--cal-line)}.cal-month__day--outside .cal-month__date{color:#aaa}.cal-month__day--selected{box-shadow:inset 0 0 0 2px #222}.cal-month__date{width:26px;height:26px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;align-self:flex-start;font-size:13px}.cal-day--today .cal-month__date{color:#fff;background:#222}.cal-month__events{flex-direction:column;gap:2px;min-width:0;display:flex}.cal-chip{white-space:nowrap;padding:1px 4px;font-size:12px;line-height:1.4}.cal-chip__time{font-weight:600}.cal-chip__title{text-overflow:ellipsis;overflow:hidden}.cal-more{font:inherit;color:#555;text-align:left;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:12px}.cal-more:hover{text-decoration:underline}.cal-agenda h3{text-transform:capitalize;margin:0 0 8px;font-size:16px}.cal-agenda ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cal-agenda__event{flex-wrap:wrap;column-gap:10px;width:100%;padding:8px 10px}.cal-agenda__time{font-weight:600}.cal-agenda__detail{opacity:.85}.cal-agenda__status{margin-left:auto;font-size:12px}.cal-agenda__empty{color:#888;margin:0}.cal-week-wrap{border:1px solid var(--cal-line);border-radius:10px;overflow-x:auto}.cal-week{min-width:600px}.cal-week__head,.cal-week__grid{grid-template-columns:52px repeat(7,minmax(0,1fr));display:grid}.cal-week__head{border-bottom:1px solid var(--cal-line)}.cal-week__dayname{color:#666;text-transform:capitalize;flex-direction:column;align-items:center;padding:6px 0;font-size:12px;display:flex}.cal-week__dayname strong{color:#222;font-size:16px}.cal-week__dayname.cal-day--today strong{color:#fff;background:#222;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.cal-week__body{max-height:min(70vh,640px);overflow-y:auto}.cal-week__hours>div{height:var(--cal-hour);color:#888;text-align:right;padding-right:6px;font-size:11px;transform:translateY(-.6em)}.cal-week__hours>div:first-child{visibility:hidden}.cal-week__day{height:calc(var(--cal-hour) * 24);border-left:1px solid var(--cal-line);background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--cal-hour) - 1px), var(--cal-line) calc(var(--cal-hour) - 1px) var(--cal-hour));position:relative}.cal-week__day.cal-day--available{background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--cal-hour) - 1px), var(--cal-line) calc(var(--cal-hour) - 1px) var(--cal-hour));background-color:var(--cal-available)}.cal-week__day.cal-day--unavailable{background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--cal-hour) - 1px), var(--cal-line) calc(var(--cal-hour) - 1px) var(--cal-hour)), repeating-linear-gradient(-45deg, var(--cal-unavailable-a) 0 6px, var(--cal-unavailable-b) 6px 12px)}.cal-block{box-sizing:border-box;border-right-width:2px;flex-direction:column;gap:0;min-height:20px;padding:2px 4px;font-size:12px;line-height:1.3;position:absolute}.cal-block__time{font-weight:600}.cal-block__title{text-overflow:ellipsis;overflow:hidden}.cal-legend{color:#555;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.cal-legend li{align-items:center;gap:6px;display:flex}.cal-swatch{border:1px solid var(--cal-line);box-sizing:border-box;cursor:default;border-radius:3px;width:16px;height:12px;display:inline-block}@media (width<=640px){.cal-title{order:-1;width:100%;font-size:18px}.cal-month__day{min-height:64px;padding:2px}.cal-chip{border-radius:3px;height:6px;padding:0;font-size:0}.cal-more{padding:0;font-size:11px}.cal-month__head>div{padding:4px 0;font-size:11px}}.bookings-page.calendar-page{max-width:1200px}.calendar-page .bookings-roles+.profile-hint{margin:0 0 12px}.calendar-page__layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.calendar-page__main{min-width:0}.calendar-page__status:empty{display:none}.calendar-page__status p{margin:0}.calendar-page__toggle{color:#555;align-items:center;gap:6px;font-size:14px;display:flex}.calendar-page__side{flex-direction:column;gap:16px;min-width:0;display:flex}.calendar-page__side .profile-card,.calendar-page__side .booking-card+.booking-card{margin:0}.calendar-side-list h2{margin:0;font-size:18px}.calendar-side-list ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.calendar-side-list__item{color:inherit;border:1px solid #ddd;border-radius:8px;flex-direction:column;padding:8px 10px;font-size:14px;text-decoration:none;display:flex}.calendar-side-list__item:hover{background:#f5f5f5}.calendar-side-list__item--pending{color:#7a5600;background:#fff4d6;border:1px dashed #c08a00}.calendar-side-list__item--pending:hover{background:#ffecb8}.calendar-sitter{flex-direction:row;align-items:center;gap:10px}.calendar-sitter>span{flex-direction:column;display:flex}@media (width<=960px){.calendar-page__layout{grid-template-columns:minmax(0,1fr)}.calendar-page__side{display:contents}.calendar-side-list{order:-1}}@media (width<=640px){.calendar-page__main{padding:10px}}.admin-page{box-sizing:border-box;text-align:left;flex-direction:column;gap:20px;width:100%;max-width:960px;margin:0 auto;padding:20px 16px 40px;display:flex}.admin-page h1{text-align:center;margin:0}.admin-back{color:var(--accent);align-self:flex-start;font-size:14px;text-decoration:none}.admin-card{box-shadow:var(--shadow);color:#333;background:#fff;border:1px solid #ddd;border-radius:12px;padding:20px}.admin-card h2{color:#111;margin:0 0 8px;font-size:20px}.admin-card p{margin:0 0 16px}.admin-prompt{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.admin-prompt p{margin:0}.admin-sections{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.admin-section{flex-direction:column;display:flex}.admin-section p{flex:1}.admin-btn{color:#fff;font:inherit;cursor:pointer;background:#222;border:1px solid #222;border-radius:8px;align-self:flex-start;padding:8px 16px;font-size:14px;text-decoration:none;display:inline-block}.admin-btn:hover{background:#444}.admin-btn.small{white-space:nowrap;padding:4px 12px;font-size:13px}.admin-btn.secondary{color:#222;background:#fff}.admin-btn.secondary:hover{background:#f3f3f3}.admin-btn:disabled{opacity:.6;cursor:default}.admin-muted{color:#888}.admin-error{color:#c0392b}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eee;padding:10px 12px}.admin-table th{color:#555;white-space:nowrap;font-weight:600}.admin-table td{overflow-wrap:anywhere}.admin-badge{color:#555;white-space:nowrap;background:#f1f1f4;border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.admin-badge.off{color:#a3281b;background:#fdecea}.admin-badge.on{background:var(--accent-bg);color:#6b21a8}@media (width<=640px){.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{box-sizing:border-box;width:100%;display:block}.admin-table tr{border-bottom:1px solid #ddd;padding:8px 0}.admin-table td{border:none;justify-content:space-between;gap:12px;padding:4px 0;display:flex}.admin-table td:before{content:attr(data-label);color:#555;font-weight:600}}
