.app-only-badge{padding:var(--space-1) var(--space-2);background-color:var(--color-bg-tertiary);color:var(--color-text-tertiary);border-radius:var(--radius-sm);margin-top:var(--space-1);font-size:12px;font-weight:500;display:inline-block}
.stats-section-horizontal{gap:var(--space-3);padding-top:var(--space-1);align-items:flex-start;display:flex}.stat-column{gap:var(--space-1);flex-direction:column;align-items:center;display:flex}.stat-value{color:var(--color-text-primary);font-size:18px;font-weight:700;line-height:1.2}.stat-label{color:var(--color-text-secondary);font-size:13px;font-weight:500;line-height:1.2}
.btn{cursor:pointer;transition:all var(--transition-base) cubic-bezier(.16, 1, .3, 1);font-weight:600;font-family:var(--font-primary);white-space:nowrap;letter-spacing:-.01em;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:relative}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #f1144f33}.btn-small{padding:var(--space-2) var(--space-5);min-height:32px;font-size:13px}.btn-medium{padding:var(--space-2) var(--space-7);min-height:40px;font-size:14px}.btn-large{padding:var(--space-3) var(--space-9);min-height:48px;font-size:15px}.btn-primary{background:var(--color-brand);color:#fff;box-shadow:0 4px 12px #f1144f4d,0 2px 4px #f1144f33}.btn-primary:hover:not(:disabled){background:#d91145;transform:translateY(-2px);box-shadow:0 8px 20px #f1144f66,0 4px 8px #f1144f40}.btn-primary:active:not(:disabled){background:#c10f3d;transform:translateY(0);box-shadow:0 2px 8px #f1144f40,0 1px 2px #f1144f33}.btn-primary:disabled{background:var(--color-brand);opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:var(--color-brand);border:2px solid var(--color-brand);box-shadow:none;background:0 0}.btn-secondary:hover:not(:disabled){color:#d91145;background:#f1144f0f;border-color:#d91145;transform:translateY(-1px);box-shadow:0 4px 12px #f1144f26}.btn-secondary:active:not(:disabled){box-shadow:none;background:#f1144f1a;transform:translateY(0)}.btn-secondary:disabled{color:var(--color-text-disabled);border-color:var(--color-text-disabled);cursor:not-allowed;opacity:.5}.btn-text{color:var(--color-brand);padding-left:var(--space-4);padding-right:var(--space-4);background:0 0}.btn-text:hover:not(:disabled){color:#d91145;background:#f1144f0f}.btn-text:active:not(:disabled){background:#f1144f1a}.btn-text:disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.5}.btn-boarding{color:#fff;background-color:#ef5b50;box-shadow:0 4px 12px #ef5b504d,0 2px 4px #ef5b5033}.btn-boarding:hover:not(:disabled){background-color:#e04a40;transform:translateY(-2px);box-shadow:0 8px 20px #ef5b5066,0 4px 8px #ef5b5040}.btn-boarding:active:not(:disabled){background-color:#cc3d33;transform:translateY(0);box-shadow:0 2px 8px #ef5b5040,0 1px 2px #ef5b5033}.btn-boarding:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;background-color:#ef5b50;transform:none}.btn-dog-walking{color:#fff;background-color:#16a085;box-shadow:0 4px 12px #16a0854d,0 2px 4px #16a08533}.btn-dog-walking:hover:not(:disabled){background-color:#138f73;transform:translateY(-2px);box-shadow:0 8px 20px #16a08566,0 4px 8px #16a08540}.btn-dog-walking:active:not(:disabled){background-color:#107d61;transform:translateY(0);box-shadow:0 2px 8px #16a08540,0 1px 2px #16a08533}.btn-dog-walking:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;background-color:#16a085;transform:none}.btn-house-sitting{color:#fff;background-color:#0097b2;box-shadow:0 4px 12px #0097b24d,0 2px 4px #0097b233}.btn-house-sitting:hover:not(:disabled){background-color:#00849d;transform:translateY(-2px);box-shadow:0 8px 20px #0097b266,0 4px 8px #0097b240}.btn-house-sitting:active:not(:disabled){background-color:#007088;transform:translateY(0);box-shadow:0 2px 8px #0097b240,0 1px 2px #0097b233}.btn-house-sitting:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;background-color:#0097b2;transform:none}.btn-drop-in{color:#fff;background-color:#3b6fe0;box-shadow:0 4px 12px #3b6fe04d,0 2px 4px #3b6fe033}.btn-drop-in:hover:not(:disabled){background-color:#2f5bc9;transform:translateY(-2px);box-shadow:0 8px 20px #3b6fe066,0 4px 8px #3b6fe040}.btn-drop-in:active:not(:disabled){background-color:#2a52b5;transform:translateY(0);box-shadow:0 2px 8px #3b6fe040,0 1px 2px #3b6fe033}.btn-drop-in:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;background-color:#3b6fe0;transform:none}.btn-doggy-day-care{color:#fff;background-color:#f2640d;box-shadow:0 4px 12px #f2640d4d,0 2px 4px #f2640d33}.btn-doggy-day-care:hover:not(:disabled){background-color:#d9570b;transform:translateY(-2px);box-shadow:0 8px 20px #f2640d66,0 4px 8px #f2640d40}.btn-doggy-day-care:active:not(:disabled){background-color:#be4d0a;transform:translateY(0);box-shadow:0 2px 8px #f2640d40,0 1px 2px #f2640d33}.btn-doggy-day-care:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;background-color:#f2640d;transform:none}.btn-full-width{width:100%}.btn-loading{color:#0000;pointer-events:none;position:relative}.btn-spinner{border:2.5px solid #0000;border-radius:50%;width:18px;height:18px;animation:.7s cubic-bezier(.68,-.55,.265,1.55) infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-primary .btn-spinner{border-top-color:#fff;border-bottom-color:#ffffff4d;border-right-color:#fff}.btn-secondary .btn-spinner,.btn-text .btn-spinner{border-top-color:var(--color-brand);border-right-color:var(--color-brand);border-bottom-color:#f1144f4d}@keyframes spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}
.modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:var(--z-modal);padding:var(--space-5);background:#0009;justify-content:center;align-items:center;animation:.25s cubic-bezier(.16,1,.3,1) fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-content{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg), var(--shadow-brand);flex-direction:column;width:100%;max-width:440px;max-height:min(85dvh,600px);animation:.35s cubic-bezier(.16,1,.3,1) modalSlideUp;display:flex;overflow:hidden}.modal-title{color:var(--color-text-primary);padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;margin:0;font-size:20px;font-weight:700}.modal-form{padding:var(--space-6);flex:auto;min-height:0;overflow-y:auto}.form-label{color:var(--color-text-primary);margin-bottom:var(--space-2);font-size:14px;font-weight:600;display:block}.form-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-focus);border-radius:var(--radius-sm);transition:all var(--transition-base);color:var(--color-text-primary);font-family:inherit;font-size:16px}.form-input:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 3px #f1144f1a}.form-input:disabled{background-color:var(--color-bg-secondary);color:#999;cursor:not-allowed}.form-textarea{resize:vertical;min-height:100px}.error-message{color:var(--color-error);margin-top:var(--space-2);font-size:13px;font-weight:500}.modal-actions{gap:var(--space-3);padding:var(--space-5) var(--space-6);border-top:1px solid var(--color-border);flex-shrink:0;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.spinner{border-style:solid;border-color:#e7e7e7;border-top-color:var(--color-brand);border-radius:50%;animation:.6s linear infinite spinner-spin;display:inline-block}.spinner-sm{border-width:2px;width:16px;height:16px}.spinner-md{border-width:2.5px;width:32px;height:32px}.spinner-lg{border-width:3px;width:44px;height:44px}@keyframes spinner-spin{to{transform:rotate(360deg)}}.loading-inline{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:200px;padding:60px 24px;display:flex}.loading-message{color:#5e5e5e;margin:0;font-size:14px;font-weight:500}.loading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#fffffff2;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.loading-overlay-content{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.loading-overlay-message{color:var(--color-text-primary);margin:0;font-size:16px;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.btn-loading .spinner{opacity:.7;border-color:currentColor #0000}@media (max-width:768px){.spinner-lg{border-width:3px;width:40px;height:40px}.loading-overlay-message{font-size:14px}}
.petme-chip-group{gap:var(--s2);flex-wrap:wrap;display:flex}.petme-chip-group--scroll{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.petme-chip-group--scroll::-webkit-scrollbar{display:none}.petme-chip{align-items:center;gap:var(--s1);padding:var(--s2) var(--s3);border:1.5px solid color-mix(in srgb, var(--color-inverse-primary) 12%, transparent);border-radius:var(--r-stadium);color:var(--color-inverse-primary);font:600 13px/1 var(--font-text);letter-spacing:0;white-space:nowrap;cursor:pointer;transition:background-color var(--motion-short) var(--curve-out), color var(--motion-short) var(--curve-out), border-color var(--motion-short) var(--curve-out);background:0 0;display:inline-flex}.petme-chip:focus{outline:none}.petme-chip:focus-visible{outline:2px solid var(--cta);outline-offset:2px}@media (hover:hover){.petme-chip:hover:not([data-selected=true]){border-color:color-mix(in srgb, var(--color-inverse-primary) 24%, transparent)}}.petme-chip[data-selected=true]{background:var(--color-inverse-primary);color:var(--color-primary);border-color:var(--color-inverse-primary)}.petme-tabbar{align-items:stretch;gap:var(--s5);padding:0 var(--s4);border-bottom:1px solid var(--color-secondary-container);display:flex}.petme-tabbar--scroll{scrollbar-width:none;overflow-x:auto}.petme-tabbar--scroll::-webkit-scrollbar{display:none}.petme-tab{padding:var(--s3) 0;color:var(--soft-white);cursor:pointer;font:600 15px/1.3 var(--font-text);letter-spacing:0;white-space:nowrap;transition:color var(--motion-short) var(--curve-out);background:0 0;border:none;position:relative}.petme-tab:focus{outline:none}.petme-tab:focus-visible{outline:2px solid var(--cta);outline-offset:4px;border-radius:var(--r-transient)}@media (hover:hover){.petme-tab:hover:not([data-selected=true]){color:var(--color-inverse-primary)}}.petme-tab[data-selected=true]{color:var(--color-inverse-primary)}.petme-tab[data-selected=true]:after{content:"";background:var(--color-inverse-primary);border-radius:var(--r-stadium);height:2px;position:absolute;bottom:-1px;left:0;right:0}
