@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2"),url(/app/assets/outfit-latin-400-normal-DMwTpYkH.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/outfit-latin-500-normal-DKnIMDSk.woff2)format("woff2"),url(/app/assets/outfit-latin-500-normal-ClnHRwRh.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2"),url(/app/assets/outfit-latin-600-normal-BEfTtDA7.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/outfit-latin-700-normal-Cu9v6i1X.woff2)format("woff2"),url(/app/assets/outfit-latin-700-normal-D4itBLBr.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:800;src:url(/app/assets/outfit-latin-800-normal-CQna6-G7.woff2)format("woff2"),url(/app/assets/outfit-latin-800-normal-BRHLSPcU.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/app/assets/plus-jakarta-sans-latin-300-normal-ubitlNZx.woff2)format("woff2"),url(/app/assets/plus-jakarta-sans-latin-300-normal-n-kmFdAV.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2)format("woff2"),url(/app/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/app/assets/plus-jakarta-sans-latin-400-italic-D5MFNpT-.woff2)format("woff2"),url(/app/assets/plus-jakarta-sans-latin-400-italic-BVaBttQe.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2)format("woff2"),url(/app/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2)format("woff2"),url(/app/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2)format("woff2"),url(/app/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff)format("woff")}:root{--font-base:18px;--border-radius:1.5rem;--border-radius-control:calc(var(--border-radius) / 2);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-base);color:#1e2925;font-synthesis:none;text-rendering:optimizelegibility;--brand-primary:#24352f;--brand-accent:#d9e2dc;--surface:#fff;--border:#d9ddd9;--muted:#66736e;background:#f4f2ec}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,a,button,input{font:inherit}.auth-shell{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.auth-card{border:1px solid var(--border);background:var(--surface);border-radius:1.5rem;width:min(100%,28rem);padding:clamp(1.5rem,6vw,2.5rem);box-shadow:0 1.25rem 4rem #24352f1a}.auth-card h1{letter-spacing:-.045em;margin:2rem 0 .5rem;font-size:2.25rem}.auth-card>p{color:var(--muted);margin:0 0 1.75rem;line-height:1.55}.auth-form{gap:1rem;display:grid}.auth-form label{color:var(--brand-primary);gap:.45rem;font-size:.9rem;font-weight:700;display:grid}.auth-form input:not([type=checkbox]){border:1px solid var(--border);width:100%;color:inherit;background:#fff;border-radius:.75rem;padding:.85rem .95rem}.auth-form input:focus-visible{outline-offset:1px;border-color:var(--brand-primary);outline:3px solid #24352f33}.auth-form .checkbox-field{grid-template-columns:auto 1fr;align-items:center;gap:.65rem;font-weight:600;display:flex}.checkbox-field input{width:1.1rem;min-width:1.1rem;height:1.1rem;accent-color:var(--brand-primary);flex:0 0 1.1rem}.auth-error{color:#7b1e1e;background:#fff0f0;border-radius:.75rem;padding:.8rem .9rem;font-size:.9rem;line-height:1.4}.auth-submit{color:#fff;background:var(--brand-primary);cursor:pointer;border:0;border-radius:.75rem;padding:.9rem 1rem;font-weight:800}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-loading{color:var(--muted);font-weight:700}.app-shell{min-height:100vh;padding-bottom:5.5rem}.app-header{justify-content:space-between;align-items:center;max-width:72rem;margin:0 auto;padding:1.25rem;display:flex}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.wordmark{letter-spacing:-.03em;margin-top:.2rem;font-size:1.35rem;font-weight:800}.secondary-action{border:1px solid var(--border);background:var(--surface);color:var(--brand-primary);cursor:pointer;border-radius:999px;padding:.7rem 1rem;font-weight:700}.app-header-actions{align-items:center;gap:.6rem;display:flex}.install-action{color:#fff;background:var(--brand-primary);cursor:pointer;border:0;border-radius:999px;padding:.72rem 1rem;font-weight:800}.pwa-update-prompt{z-index:80;color:#f8f7f1;background:#1c3041;border:1px solid #ffffff2e;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;width:min(100% - 2rem,32rem);margin-inline:auto;padding:.85rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 1rem 3rem #141f1b4d}.pwa-update-prompt div{gap:.15rem;min-width:0;display:grid}.pwa-update-prompt strong{font-size:.85rem}.pwa-update-prompt span{color:#f8f7f1b8;font-size:.7rem;line-height:1.35}.pwa-update-prompt button{color:#1c3041;cursor:pointer;background:#a9c5d3;border:0;border-radius:.7rem;flex:none;padding:.65rem .8rem;font-size:.72rem;font-weight:850}.pwa-update-prompt button:disabled{cursor:wait;opacity:.7}.auth-install-action{z-index:20;color:#f2efe8;cursor:pointer;background:#1c3041;border:1px solid #ffffff38;border-radius:999px;padding:.68rem 1rem;font-size:.78rem;font-weight:800;position:fixed;top:1rem;right:1rem;box-shadow:0 .45rem 1.25rem #1c304133}.logout-action{border:1px solid var(--border);width:2.75rem;height:2.75rem;color:var(--brand-primary);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.logout-action svg{width:1.25rem;height:1.25rem}.current-client{min-width:4.5rem;color:var(--brand-primary);justify-items:center;gap:.2rem;text-decoration:none;display:grid;position:relative}.current-client img,.current-client>span:not(.profile-update-indicator){object-fit:cover;width:3.5rem;height:3.5rem;color:var(--brand-primary);background:#dbe59e;border:2px solid #fff;border-radius:50%;place-items:center;font-weight:900;display:grid;box-shadow:0 .2rem .65rem #24352f26}.current-client strong{text-overflow:ellipsis;white-space:nowrap;max-width:7rem;font-size:.72rem;line-height:1.2;overflow:hidden}.feature-card{border:1px solid var(--border);background:var(--surface);border-radius:2rem;min-height:28rem;padding:clamp(1.5rem,5vw,4rem);box-shadow:0 1.25rem 4rem #24352f12}.feature-card h1{letter-spacing:-.055em;max-width:16ch;margin:1.25rem 0 .75rem;font-size:clamp(2.2rem,7vw,4.8rem);line-height:.95}.feature-card p{max-width:42rem;color:var(--muted);font-size:1.08rem;line-height:1.65}.status-pill{background:var(--brand-accent);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.45rem .75rem;font-size:.75rem;font-weight:800;display:inline-flex}.placeholder-panel{background:#f7f8f6;border-radius:1.25rem;gap:.8rem;max-width:34rem;margin-top:3rem;padding:1.25rem;display:grid}.placeholder-panel span{background:#e1e5e1;border-radius:999px;height:.8rem}.placeholder-panel span:nth-child(2){width:72%}.placeholder-panel span:nth-child(3){width:48%}.bottom-navigation{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #d9ddd9e6;border-radius:1rem;justify-content:center;gap:.25rem;max-width:44rem;margin:auto;padding:.45rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem;overflow-x:auto;box-shadow:0 .75rem 2.5rem #24352f1f}.bottom-navigation a{color:var(--muted);border-radius:.7rem;flex:none;padding:.75rem .9rem;font-size:.82rem;font-weight:700;text-decoration:none}.bottom-navigation a,.desktop-navigation a{position:relative}.nav-update-indicator{color:#fff;background:#a34841;border:2px solid #f7f4ee;border-radius:50%;place-items:center;width:1.05rem;height:1.05rem;font-size:.6rem;font-weight:900;line-height:1;display:grid;position:absolute;top:-.28rem;right:-.18rem}.bottom-navigation a.active{background:var(--brand-primary);color:#fff}.client-page{gap:1.5rem;display:grid}.client-page-header{border:1px solid var(--border);background:var(--surface);border-radius:1.5rem;justify-content:space-between;align-items:end;gap:1.5rem;padding:clamp(1.4rem,4vw,2.6rem);display:flex}.client-page-header h1{letter-spacing:-.055em;margin:.4rem 0 .55rem;font-size:clamp(2.2rem,6vw,4.25rem);line-height:.98}.client-page-header p{max-width:42rem;color:var(--muted);margin:0;line-height:1.55}.client-page-header .secondary-action:disabled{cursor:wait;opacity:.6}.client-page-state{border:1px solid var(--border);min-height:25rem;color:var(--muted);background:var(--surface);border-radius:1.5rem;justify-content:center;align-items:center;gap:.8rem;font-weight:700;display:flex}.client-page-error{text-align:center;flex-direction:column;padding:2rem}.client-page-error span{max-width:34rem;font-weight:400}.client-spinner{border:2px solid #d5dbd6;border-top-color:var(--brand-primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:.7s linear infinite auth-spin}.primary-action{color:#fff;background:var(--brand-primary);cursor:pointer;border:0;border-radius:.75rem;padding:.8rem 1rem;font-weight:800}.action-with-icon{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.action-with-icon>svg{flex:none;width:1rem;height:1rem}.client-notice{color:#315445;background:#f2f8f4;border:1px solid #cbd9d1;border-radius:1rem;padding:1rem 1.15rem;line-height:1.5}.client-notice-warning{color:#765c1d;background:#fff9e9;border-color:#e8d9ac}.profile-completion-notice{border-radius:var(--border-radius);background:#f2f8f4;border:1px solid #cbd9d1;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.25rem,3vw,1.75rem);display:flex}.profile-completion-notice h2{letter-spacing:-.025em;margin:.25rem 0 .35rem;font-size:1.4rem}.profile-completion-notice p{color:#52665d;margin:0;line-height:1.5}.profile-completion-notice .primary-action{flex:none}.client-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.client-stat-grid article{color:#f8f7f1;background:var(--brand-primary);border-radius:1.25rem;gap:.15rem;padding:1.35rem;display:grid}.client-stat-grid strong{letter-spacing:-.04em;font-size:2.35rem;line-height:1}.client-stat-grid span{color:#ffffffb3;font-size:.82rem}.client-section{border:1px solid var(--border);background:var(--surface);border-radius:1.5rem;gap:1rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.client-section-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.client-section-heading h2{letter-spacing:-.025em;margin:.2rem 0 0;font-size:1.4rem}.client-section-heading>span{background:var(--brand-accent);border-radius:999px;place-items:center;min-width:2rem;height:2rem;font-size:.8rem;font-weight:800;display:grid}.home-add-pet{border:1px solid var(--border);width:2.15rem;height:2.15rem;color:var(--brand-primary);cursor:pointer;background:#fff;border-radius:50%;flex:none;place-items:center;padding:0;transition:border-color .15s,background .15s,transform .15s;display:grid}.home-add-pet:hover{background:#ebf3f7;border-color:#a9c5d3;transform:translateY(-1px)}.home-add-pet svg{stroke-width:2.5px;width:1rem;height:1rem}.section-refresh{color:#375e4d;cursor:pointer;background:0 0;border:0;padding:.4rem;font-size:.75rem;font-weight:800}.pet-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:1rem;display:grid}.pet-card{border:1px solid var(--border);background:var(--surface);border-radius:1.35rem;grid-template-columns:6rem minmax(0,1fr);align-items:start;gap:1.2rem;padding:1.15rem;display:grid;box-shadow:0 .7rem 2rem #24352f0b}.pet-avatar{color:#24352f;background:#dbe59e;border-radius:1rem;place-items:center;width:3.3rem;height:3.3rem;font-size:1.35rem;font-weight:900;display:grid}.pet-card .pet-avatar{border-radius:1.35rem;width:6rem;height:6rem;font-size:1.75rem}.pet-avatar-image{object-fit:cover}.pet-birthday-image{width:max-content;color:inherit;display:block;position:relative}.pet-birthday-badge{z-index:2;width:1.65rem;height:1.65rem;color:initial;pointer-events:none;background:#fffaf0;border:2px solid #d9a83e;border-radius:50%;place-items:center;font-size:.85rem;line-height:1;display:grid;position:absolute;top:-.4rem;right:-.4rem;box-shadow:0 .2rem .55rem #5a3f142e}.pet-sex-icon{z-index:2;pointer-events:none;background:#fff;border:2px solid #f7f4ee;border-radius:50%;place-items:center;width:1.45rem;height:1.45rem;display:grid;position:absolute;bottom:-.25rem;right:-.25rem;box-shadow:0 .15rem .45rem #1c304124}.pet-sex-icon svg,.pet-detail-sex-icon svg{stroke-width:2.5px;width:.8rem;height:.8rem}.pet-sex-icon.male,.pet-detail-sex-icon.male{color:#39739d}.pet-sex-icon.female,.pet-detail-sex-icon.female{color:#ad5872}.pet-card-title{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pet-card-title>h2{text-overflow:ellipsis;margin:0;font-size:1.25rem;overflow:hidden}.pet-card-title>span,.appointment-title>span{color:#356249;text-transform:uppercase;background:#eaf5ed;border-radius:999px;flex:none;padding:.3rem .55rem;font-size:.68rem;font-weight:800}.pet-birthday-greeting{color:#7b5510;background:#fff1c7;border-radius:999px;margin-top:.7rem;padding:.3rem .55rem;font-size:.68rem;font-weight:800;display:inline-flex}.pet-card-copy>p{color:var(--muted);margin:.2rem 0 .7rem;font-size:.85rem}.pet-card dl{flex-wrap:wrap;gap:.4rem 1.25rem;margin:0;display:flex}.pet-card dl div{gap:.15rem;display:grid}.pet-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.pet-card dd{margin:0;font-size:.82rem;font-weight:750}.pet-detail-sex-value{align-items:center;min-height:1.45rem;display:flex}.pet-detail-sex-icon{background:#fff;border:1px solid #d8ded9;border-radius:50%;place-items:center;width:1.45rem;height:1.45rem;display:grid}.pet-card .local-pet-editor,.pet-card .pet-change-request{margin-top:.65rem}.pet-summary-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;grid-template-columns:4.75rem minmax(0,1fr);align-items:center;padding:1rem}.pet-summary-card .pet-avatar{border-radius:1.1rem;width:4.75rem;height:4.75rem}.pet-summary-card:hover{background:#fbfcf7;border-color:#aebc7a;box-shadow:0 .8rem 2.1rem #24352f17}.pet-summary-card .pet-card-title strong{text-overflow:ellipsis;font-size:1.25rem;overflow:hidden}.pet-summary-species{color:var(--muted);margin-top:.25rem;font-size:.85rem;line-height:1.45;display:block}.pet-summary-species strong{color:#40584b;font-weight:750}.pet-summary-facts{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.pet-summary-facts>span{gap:.1rem;display:grid}.pet-summary-facts small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:500}.pet-summary-facts strong{font-size:.85rem}.appointment-list{gap:.75rem;display:grid}.appointment-card{background:#fafbf9;border:1px solid #e3e6e3;border-radius:1rem;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;display:grid}.appointment-card time{color:#fff;background:var(--brand-primary);border-radius:.9rem;align-content:center;place-items:center;width:3.5rem;height:3.5rem;line-height:1;display:grid}.appointment-card time strong{font-size:1.25rem}.appointment-card time span{text-transform:uppercase;margin-top:.2rem;font-size:.67rem}.appointment-title{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.appointment-title h3{margin:0;font-size:1rem}.appointment-card p{color:var(--muted);margin:.35rem 0 0;font-size:.8rem;line-height:1.4}.appointment-cancel-action{color:#8a3024;cursor:pointer;background:#fff8f6;border:1px solid #d6b6ae;border-radius:999px;padding:.48rem .72rem;font-size:.68rem;font-weight:800}.appointment-cancel-action:hover{background:#f9e7e3}.appointment-cancel-action:disabled{cursor:wait;opacity:.65}.appointment-cancel-error{color:#9b3025;margin-top:.35rem;font-size:.67rem;display:block}.appointment-cancellation-dialog{background:#faf8f5;border:1px solid #d8cbb9b3;width:min(100%,30rem)}.appointment-cancellation-heading{align-items:center;gap:.55rem;min-width:0;display:flex}.appointment-cancellation-icon{color:#8a3024;background:#f9e7e3;border-radius:.72rem;flex:none;place-items:center;width:2.35rem;height:2.35rem;display:grid}.appointment-cancellation-icon svg{width:1.2rem;height:1.2rem}.install-dialog.appointment-cancellation-dialog h2{color:#1c3041;letter-spacing:-.035em;white-space:nowrap;min-width:0;margin:0;font-size:clamp(.95rem,3.2vw,1.15rem);line-height:1.1}@media (width<=420px){.appointment-cancellation-heading{gap:.4rem}.appointment-cancellation-icon{border-radius:.62rem;width:2rem;height:2rem}.appointment-cancellation-icon svg{width:1.05rem;height:1.05rem}.install-dialog.appointment-cancellation-dialog h2{font-size:clamp(.78rem,3.65vw,.95rem)}}.appointment-cancellation-dialog dl{background:#f2efe8;border:1px solid #d8cbb999;border-radius:.85rem;gap:.65rem;margin:1.25rem 0 0;padding:.85rem;display:grid}.appointment-cancellation-dialog dl>div{grid-template-columns:5.5rem minmax(0,1fr);gap:.75rem;display:grid}.appointment-cancellation-dialog dt{color:#777970;font-size:.68rem}.appointment-cancellation-dialog dd{color:#1c3041;margin:0;font-size:.72rem;font-weight:750}.appointment-cancellation-reason{gap:.4rem;margin-top:1rem;display:grid}.appointment-cancellation-reason>span{color:#1c3041;justify-content:space-between;align-items:center;gap:.75rem;font-size:.72rem;font-weight:750;display:flex}.appointment-cancellation-reason>span strong{color:#8a3024;text-transform:uppercase;font-size:.6rem}.appointment-cancellation-reason textarea{resize:vertical;color:#1c3041;width:100%;font:inherit;background:#fff;border:1px solid #a9b2a4bf;border-radius:.8rem;padding:.75rem;font-size:.76rem;line-height:1.45}.appointment-cancellation-reason textarea:focus{border-color:#2b465e;outline:3px solid #a9c5d359}.appointment-cancellation-reason small{color:#777970;justify-self:end;font-size:.58rem}.appointment-cancellation-error{font-size:.72rem;color:#9b3025!important;margin:.85rem 0 0!important}.appointment-cancelled{opacity:.68}.appointment-cancelled time{background:#7d8581}.appointment-title span{color:#7b2822;background:#fff0ed}.client-empty{text-align:center;background:#fafbf9;border:1px dashed #ccd2cd;border-radius:1rem;padding:1.5rem}.client-empty strong{display:block}.client-empty p{max-width:38rem;color:var(--muted);margin:.4rem auto 0;font-size:.85rem;line-height:1.5}.client-request-list{gap:1rem;display:grid}.client-request-card{border:1px solid var(--border);border-radius:var(--border-radius);background:var(--surface);grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1.25rem;display:grid}.client-request-card.status-updated{background:#fffaf9;border-color:#bd746d;box-shadow:0 0 0 2px #a3484114}.client-request-status-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.client-request-updated{color:#8b3731;align-items:center;gap:.3rem;margin-top:.55rem;font-size:.72rem;font-weight:850;display:inline-flex}.client-request-updated:before{color:#fff;content:"!";background:#a34841;border-radius:50%;place-items:center;width:1rem;height:1rem;font-size:.62rem;font-weight:900;line-height:1;display:grid}.client-request-icon{width:2.75rem;height:2.75rem;color:var(--brand-primary);background:var(--brand-accent);border-radius:50%;place-items:center;display:grid}.client-request-icon svg{width:1.25rem;height:1.25rem}.client-request-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.client-request-heading h2{margin:0;font-size:1.1rem}.client-request-heading time{color:var(--muted);flex:none;font-size:.85rem}.client-request-card p{white-space:pre-wrap;overflow-wrap:anywhere;color:#475750;margin:.65rem 0 0;line-height:1.55}.client-request-status{color:#745d1f;background:#fff3cc;border-radius:999px;width:fit-content;margin-top:.55rem;padding:.3rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}.client-request-status.in-review{color:#294f68;background:#e3f0f7}.status-updates-summary{color:#294f68;background:#edf5f9;border:1px solid #c9dce7;border-radius:1rem;gap:.25rem;padding:.9rem 1rem;display:grid}.status-updates-summary strong{font-size:.9rem}.status-updates-summary span{opacity:.82;font-size:.78rem;line-height:1.45}.profile-update-indicator{color:#fff;background:#a34841;border:2px solid #f7f4ee;border-radius:50%;place-items:center;width:1.15rem;height:1.15rem;font-size:.68rem;font-weight:900;line-height:1;display:grid;position:absolute;top:-.3rem;right:-.2rem}.client-request-status.resolved{color:#315843;background:#e5f2e9}.client-request-response{background:#f1f6f2;border-left:.22rem solid #779383;margin-top:.9rem;padding:.75rem .9rem}.client-request-response>strong{color:#315445;font-size:.85rem}.client-request-response p{margin-top:.3rem}.client-request-response time{color:var(--muted);margin-top:.45rem;font-size:.75rem;display:block}.client-profile-requests .client-page-state{border:0;min-height:8rem}.client-profile-requests{gap:1rem;padding:clamp(1.4rem,4vw,2.6rem);display:grid}.account-management{justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.2rem,3vw,1.8rem);display:flex}.account-management h2{margin:.2rem 0;font-size:1.15rem}.account-management p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.password-change-form{gap:.8rem;display:grid}.password-change-form label{color:#33413c;gap:.38rem;font-size:.75rem;font-weight:800;display:grid}.password-change-form input{border:1px solid var(--border);min-width:0;min-height:2.8rem;color:var(--brand-primary);font:inherit;background:#fff;border-radius:.75rem;padding:.65rem .75rem;font-weight:650}.password-change-form input:focus-visible{outline-offset:1px;border-color:#2b465e;outline:3px solid #a9c5d361}.password-change-form label>small{color:var(--muted);font-size:.68rem;font-weight:500;line-height:1.45}.password-change-feedback{border-radius:.75rem;padding:.7rem .8rem;font-size:.75rem;line-height:1.45}.password-change-feedback.success{color:#285c3f;background:#f2faf4}.password-change-feedback.error{color:#7b2822;background:#fff5f3}.password-change-dialog{width:min(100%,32rem)}.password-change-dialog>p{margin:0 0 1.2rem;font-size:.82rem}.password-change-actions{justify-content:flex-end;gap:.7rem;margin-top:.35rem;display:flex}.password-change-actions .primary-action{width:auto}.account-delete-action{border-radius:var(--border-radius-control);color:#8a332d;font:inherit;cursor:pointer;background:0 0;border:1px solid #d8b9b5;flex:none;padding:.65rem .9rem;font-size:.76rem;font-weight:800}.account-delete-action:hover{background:#fff2f0}.profile-requests-heading{justify-content:space-between;align-items:end;gap:1.5rem;display:flex}.profile-requests-heading h2{margin:.25rem 0 0;font-size:clamp(1.35rem,3vw,2rem)}.profile-requests-heading p{max-width:28rem;color:var(--muted);text-align:right;margin:0;font-size:.85rem;line-height:1.5}.client-requests-content{gap:1rem;display:grid}.client-health-record-list{gap:.8rem;display:grid}.client-health-record-filters{flex-wrap:wrap;gap:.45rem;margin-bottom:.15rem;display:flex}.client-health-record-filters button{border:1px solid var(--border);color:#56635c;font:inherit;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.48rem .62rem;font-size:.75rem;font-weight:750;display:inline-flex}.client-health-record-filters button.active{color:#f2efe8;background:#1c3041;border-color:#1c3041}.client-health-record-filters button span{color:#40584b;background:#edf1df;border-radius:999px;place-items:center;min-width:1.3rem;height:1.3rem;font-size:.65rem;display:grid}.client-health-record-badges{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.client-health-record-category,.client-health-record-new{letter-spacing:.035em;border-radius:999px;padding:.28rem .55rem;font-size:.7rem;font-weight:800;display:inline-flex}.client-health-record-category.record{color:#315445;background:#e4f0e8}.client-health-record-category.document{color:#294f68;background:#e3f0f7}.client-health-record-category.prescription{color:#684b29;background:#f5eadc}.client-health-record-new{color:#fff;background:#a34841}.client-health-record-list article.new-item{background:#fffaf9;border-color:#bd746d;box-shadow:0 0 0 2px #a3484112}.client-health-record-subheading{color:var(--brand-primary);justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 0 .7rem;font-size:1.08rem;display:flex}.client-health-record-subheading>span{color:#40584b;background:#edf1df;border-radius:999px;place-items:center;min-width:1.8rem;height:1.8rem;font-size:.78rem;display:grid}.client-health-record-list article{border:1px solid var(--border);border-radius:var(--border-radius-control);background:#fafbf9;grid-template-columns:6.5rem minmax(0,1fr);gap:1.25rem;padding:1.15rem;display:grid}.client-health-record-date{border-radius:calc(var(--border-radius-control) - .35rem);color:#31483d;text-align:center;background:#edf1df;align-content:center;align-self:stretch;justify-items:center;min-height:7rem;padding:.75rem .5rem;display:grid}.client-health-record-date.unavailable{color:var(--muted);font-size:.85rem}.client-health-record-day{font-size:2rem;font-weight:750;line-height:1}.client-health-record-month{text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem;font-size:.76rem;font-weight:750}.client-health-record-time{color:#65736c;margin-top:.45rem;font-size:.76rem}.client-health-record-content{align-self:center;min-width:0}.client-health-record-type{color:#52645a;text-transform:uppercase;letter-spacing:.055em;background:#eef1ec;border-radius:999px;padding:.28rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}.client-health-record-list h3{margin:.55rem 0 0;font-size:1.15rem;line-height:1.35}.client-health-record-list p{color:#475750;margin:.7rem 0 0;line-height:1.55}.client-health-record-vet{align-items:center;gap:.45rem;font-size:.9rem;display:flex}.client-health-record-vet svg{color:#61746a;flex:none;width:1.05rem;height:1.05rem}.client-health-record-note{border-left:.22rem solid var(--brand-accent);white-space:pre-wrap;background:#f3f5ed;padding:.8rem}.client-health-document-link{border:1px solid var(--border);border-radius:var(--border-radius-control);color:var(--brand-primary);background:#fff;align-items:center;gap:.45rem;margin-top:.85rem;padding:.65rem .8rem;font-weight:750;text-decoration:none;display:inline-flex}.client-health-document-link:hover{background:#f5f8f1;border-color:#91a66f}.client-prescription-drugs{gap:.55rem;margin-top:.85rem;display:grid}.client-prescription-drugs>div{border:1px solid var(--border);border-radius:var(--border-radius-control);background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.55rem;padding:.7rem .8rem;display:grid}.client-prescription-drugs svg{color:#61766a;margin-top:.1rem}.client-prescription-drugs span{gap:.12rem;display:grid}.client-prescription-drugs small{color:var(--muted);line-height:1.45}.client-record-attachments{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.8rem;display:flex}.client-record-attachments>span{color:var(--muted);font-size:.85rem}.client-record-attachments .secondary-action{align-items:center;gap:.4rem;display:inline-flex}.client-record-attachments>a{border:1px solid var(--border);border-radius:var(--border-radius-control);color:var(--brand-primary);background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.6rem;padding:.65rem .8rem;text-decoration:none;display:grid}.client-record-attachments>a>svg{color:#61766a;width:1.3rem;height:1.3rem}.client-record-attachments>a>span{gap:.05rem;min-width:0;display:grid}.client-record-attachments>a strong{overflow-wrap:anywhere}.client-record-attachments>a small{color:var(--muted);font-size:.78rem}.client-record-attachments>a:hover{background:#f5f8f1;border-color:#91a66f}.home-pet-list{gap:1rem;padding:.2rem 0 .5rem;display:flex;overflow-x:auto}.home-pet{color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:1rem;flex:0 0 5rem;justify-items:center;gap:.3rem;padding:.35rem;display:grid}.home-pet .pet-avatar{border-radius:50%;width:4.25rem;height:4.25rem}.home-pet strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.85rem;overflow:hidden}.home-pet span{color:var(--muted);font-size:.7rem}.home-pet .pet-birthday-image{color:inherit;font-size:inherit}.home-pet .pet-birthday-badge{color:initial;font-size:.85rem}.pet-detail-back{justify-self:start}.pet-detail-card .pet-card{grid-template-columns:9rem minmax(0,1fr);padding:clamp(1.25rem,4vw,2.25rem);position:relative}.pet-detail-card .pet-card .pet-avatar{border-radius:50%;width:9rem;height:9rem;font-size:2.5rem}.pet-health-record-link{border-radius:var(--border-radius);background:#f2f8f4;border:1px solid #ccd9d1;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.25rem;display:flex}.pet-health-record-link h2{margin:.2rem 0;font-size:1.4rem}.pet-health-record-link p{color:#52665d;margin:0}.pet-health-record-link .primary-action{flex:none}.clinic-summary{color:#fff;background:var(--brand-primary);border-radius:1.5rem;grid-template-columns:minmax(0,1.25fr) minmax(15rem,.75fr);gap:2rem;padding:clamp(1.4rem,4vw,2.25rem);display:grid}.clinic-summary .eyebrow{color:#fff9}.clinic-summary h2{margin:.35rem 0;font-size:1.5rem}.clinic-summary p{color:#ffffffb8;max-width:42rem;margin:.5rem 0 0;line-height:1.55}.clinic-contacts{align-content:center;gap:.55rem;font-size:.85rem;display:grid}.clinic-contacts span{color:#ffffffb8}.clinic-contacts a{color:#fff;text-underline-offset:.18rem;font-weight:750}.photo-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1rem;display:flex}.small-action{border:1px solid var(--border);color:var(--brand-primary);cursor:pointer;background:#fff;border-radius:.65rem;align-items:center;padding:.55rem .7rem;font-size:.75rem;font-weight:800;display:inline-flex}.small-action input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.text-action{color:#8b342d;cursor:pointer;background:0 0;border:0;padding:.35rem;font-size:.75rem;font-weight:750}.text-action:disabled{cursor:wait;opacity:.55}.small-action:has(input:disabled){cursor:wait;opacity:.55}.photo-error{color:#8b342d;flex-basis:100%;font-size:.72rem;line-height:1.4}.social-photo-control{align-self:start;justify-items:center;display:grid;position:relative}.pet-photo-control,.profile-photo-control{place-items:center;display:grid;position:relative}.photo-menu-control>input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.photo-menu-trigger{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;line-height:0;transition:box-shadow .18s,transform .18s;display:block;box-shadow:0 0 0 3px #fff,0 0 0 4px #b9c7bf}.photo-menu-trigger:hover{transform:translateY(-1px);box-shadow:0 0 0 3px #fff,0 0 0 5px #789184}.photo-menu-trigger:focus-visible{outline-offset:5px;outline:3px solid #265b4a59}.photo-menu-trigger:disabled{cursor:wait}.photo-action-menu{z-index:6;border:1px solid var(--border);background:#fff;border-radius:.85rem;width:11.5rem;display:grid;position:absolute;top:calc(100% + .65rem);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 .75rem 2rem #1c30412e}.photo-action-menu button{border:0;border-bottom:1px solid var(--border);color:var(--brand-primary);font:inherit;text-align:left;cursor:pointer;background:#fff;padding:.75rem 1rem;font-size:.8rem;font-weight:750}.photo-action-menu button:last-child{border-bottom:0}.photo-action-menu button:hover,.photo-action-menu button:focus-visible{background:#f3f6f1;outline:0}.photo-action-menu button.destructive{color:#97372f}.photo-action-menu button.destructive:hover,.photo-action-menu button.destructive:focus-visible{background:#fff2f0}.camera-capture-dialog{width:min(100%,38rem)}.camera-capture-dialog h2{padding-right:2rem}.camera-preview{background:#17231f;border-radius:1rem;place-items:center;min-height:16rem;display:grid;position:relative;overflow:hidden}.camera-preview video{object-fit:contain;width:100%;max-height:min(58vh,28rem);display:block}.camera-preview-status,.camera-preview-error{color:#fff;text-align:center;background:#17231fe0;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem;line-height:1.5;display:flex;position:absolute;inset:0}.camera-preview-status .client-spinner{border-color:#fff #fff6 #fff6}.camera-preview-error{color:#fff1ef}.camera-capture-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.camera-capture-actions .primary-action,.camera-capture-actions .secondary-action{width:100%}.photo-viewer-dialog{width:min(100%,58rem)}.photo-viewer-dialog h2{padding-right:2rem}.photo-viewer-dialog img{object-fit:contain;background:#eef1ed;border-radius:1rem;width:100%;max-height:min(75vh,48rem);display:block}.photo-upload-progress{z-index:3;color:#fff;text-align:center;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#1c3041b8;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;font-size:.68rem;font-weight:800;display:flex;position:absolute;inset:0}.photo-upload-progress .client-spinner{border-color:#fff #fff6 #fff6;width:1.7rem;height:1.7rem}.profile-photo-control{width:9rem;height:9rem}.readonly-help{background:#fff8e5;border-radius:.75rem;padding:.75rem;line-height:1.45;color:#69551d!important;margin:1rem 0 0!important;font-size:.75rem!important}.profile-card{border:1px solid var(--border);background:var(--surface);border-radius:1.5rem;grid-template-columns:minmax(10rem,.32fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.4rem,4vw,2.6rem);display:grid}.profile-photo-column{flex-direction:column;align-items:center;gap:.7rem;display:flex}.profile-photo{object-fit:cover;border-radius:50%;width:9rem;height:9rem}.profile-photo-placeholder{color:var(--brand-primary);background:#dbe59e;place-items:center;font-size:3rem;font-weight:900;display:grid}.photo-hint{color:var(--muted);text-align:center;font-size:.72rem}.profile-details>h2{letter-spacing:normal;margin:0 0 .7rem;font-size:1.25rem}.profile-details>dl{grid-template-columns:1fr;gap:.75rem;margin:0;display:grid}.profile-details>dl>div{gap:.15rem;display:grid}.profile-details>dl dt{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem}.profile-details>dl dd{overflow-wrap:anywhere;margin:0;font-size:.82rem;font-weight:750}.profile-help{color:var(--muted);margin:1.25rem 0 0;font-size:.8rem;line-height:1.55}.change-request-box,.pet-change-request{gap:.65rem;margin-top:1rem;display:grid}.change-request-box .small-action,.pet-change-request .small-action{justify-self:start}.request-message{color:#436151;font-size:.75rem;line-height:1.4}.request-feedback{border:1px solid;border-radius:.85rem;grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.7rem;padding:.8rem .9rem;line-height:1.4;display:grid}.request-feedback.success{color:#294e39;background:#edf7f0;border-color:#bad8c4}.request-feedback.error{color:#7b302b;background:#fff2f0;border-color:#e1b7b3}.request-feedback-icon{color:#fff;background:#527861;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.9rem;font-weight:900;display:grid}.request-feedback.error .request-feedback-icon{background:#a34841}.request-feedback-icon svg{stroke-width:3px;width:1.1rem;height:1.1rem}.request-feedback>span:last-child{gap:.15rem;display:grid}.request-feedback strong{font-size:.85rem}.request-feedback small{color:inherit;opacity:.82;font-size:.75rem}.local-profile-form,.pet-data-form{gap:1rem;display:grid}.local-profile-intro h3{margin:0;font-size:1.25rem}.local-profile-intro .profile-help{margin-top:.35rem}.local-form-grid,.pet-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.local-form-grid label,.pet-form-grid label{color:#33413c;align-content:start;gap:.4rem;font-size:.75rem;font-weight:800;display:grid}.local-form-grid label>small{color:var(--muted);font-size:.72rem;font-weight:500}.local-form-grid input,.local-form-grid select,.pet-form-grid input,.pet-form-grid select{border:1px solid var(--border);min-width:0;min-height:2.8rem;color:var(--brand-primary);font:inherit;background:#fff;border-radius:.75rem;padding:.65rem .75rem;font-weight:650}.local-form-grid input:disabled{color:var(--muted);background:#f2f4f1}.local-form-grid .span-two,.pet-form-grid .breed-field{grid-column:span 2}.phone-number-field{grid-template-columns:minmax(11rem,.7fr) minmax(10rem,1fr);gap:.75rem;display:grid}.local-profile-form .primary-action,.pet-data-form .small-action{justify-self:start}.pet-form-actions{grid-column:1/-1;justify-content:flex-start;align-items:center;gap:.7rem;margin-top:.35rem;display:flex}.add-pet-panel{border:1px solid var(--border);background:var(--surface);border-radius:1.25rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.25rem;display:grid}.add-pet-panel h2{margin:.25rem 0;font-size:1.25rem}.add-pet-panel>div>p{color:var(--muted);margin:0;font-size:.8rem}.add-pet-panel>.client-notice,.add-pet-panel>.pet-data-form,.add-pet-panel>.text-action,.add-pet-panel>.photo-error{grid-column:1/-1}.breed-field{color:#33413c;border:0;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;min-width:0;margin:0;padding:0;font-size:.75rem;font-weight:800;display:grid}.breed-field>input,.breed-field>select{grid-column:1/-1}.breed-field legend{margin-bottom:.4rem;padding:0}.breed-selection-status{color:var(--muted);grid-column:1/-1;justify-self:end;font-size:.68rem;font-weight:550}.catalog-empty{color:#725b20;background:#fff7df;border-radius:.65rem;grid-column:1/-1;padding:.6rem .7rem;font-size:.72rem;font-weight:650}.breed-search-results{border:1px solid var(--border);background:#fff;border-radius:.8rem;grid-column:1/-1;max-height:13rem;display:grid;overflow-y:auto}.breed-search-results:empty{display:none}.breed-search-result{width:100%;color:var(--brand-primary);font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #ece8e1;justify-content:space-between;align-items:center;gap:1rem;padding:.72rem .8rem;font-size:.78rem;font-weight:700;display:flex}.breed-search-result:last-child{border-bottom:0}.breed-search-result:hover,.breed-search-result:focus-visible{background:#f1f6f2;outline:0}.breed-search-result.selected{color:#294f3d;background:#e7f1ea}.breed-search-result strong{color:#fff;background:#527861;border-radius:50%;flex:none;place-items:center;width:1.25rem;height:1.25rem;font-size:.7rem;display:grid}.local-pet-editor{gap:.5rem;margin-top:1rem;display:grid}.local-data-help{background:#eef6f1;border-radius:.7rem;padding:.7rem;line-height:1.45;color:#3e624f!important;margin:0!important;font-size:.75rem!important}.pet-card-title .local-pet-editor{flex:none;margin-top:0}.pet-edit-action{white-space:nowrap;padding:.55rem .75rem;font-size:.74rem}.pet-change-action{white-space:nowrap;justify-self:start;width:auto;padding:.55rem .75rem;font-size:.74rem;position:absolute;top:clamp(1.25rem,4vw,2.25rem);right:clamp(1.25rem,4vw,2.25rem)}.pet-data-form-compact .pet-form-grid{grid-template-columns:1fr}.pet-data-form-compact .breed-field{grid-column:auto}.install-dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141f1b94;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.install-dialog{background:#fff;border-radius:1.4rem;width:min(100%,27rem);padding:1.6rem;position:relative;box-shadow:0 1.5rem 5rem #00000040}.install-dialog h2{letter-spacing:-.04em;margin:.35rem 0 .75rem;font-size:2rem}.install-dialog>p{color:var(--muted);line-height:1.5}.install-dialog-close{width:2.2rem;height:2.2rem;color:var(--brand-primary);cursor:pointer;background:#f0f2ef;border:0;border-radius:50%;place-items:center;font-size:1.4rem;display:grid;position:absolute;top:.8rem;right:.8rem}.install-dialog-close svg{width:1.2rem;height:1.2rem;display:block}.install-browser-note{background:#fff7df;border-radius:.8rem;padding:.8rem;font-size:.85rem;color:#6d571e!important}.install-steps{gap:.8rem;margin:1.25rem 0;padding:0;list-style:none;display:grid}.install-steps li{color:var(--muted);grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.75rem;line-height:1.45;display:grid}.install-steps li>span{width:2rem;height:2rem;color:var(--brand-primary);background:var(--brand-accent);border-radius:50%;place-items:center;font-size:.75rem;font-weight:900;display:grid}.install-dialog .primary-action{width:100%}.photo-removal-dialog{width:min(100%,25rem)}.account-deletion-dialog{width:min(100%,34rem)}.account-deletion-dialog>p{margin:.55rem 0;font-size:.82rem}.account-deletion-dialog>label{color:#33413c;gap:.45rem;margin-top:1.2rem;font-size:.78rem;font-weight:700;display:grid}.account-deletion-dialog input{border:1px solid var(--border);min-height:2.8rem;color:var(--brand-primary);font:inherit;text-transform:uppercase;background:#fff;border-radius:.75rem;padding:.65rem .75rem;font-weight:800}.photo-removal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.change-report-dialog{width:min(100%,32rem)}.add-pet-dialog,.edit-pet-dialog{width:min(100%,46rem);max-height:calc(100dvh - 2rem);overflow-y:auto}.add-pet-dialog>.client-notice{margin:1rem 0 1.15rem}.add-pet-dialog .pet-data-form,.edit-pet-dialog .pet-data-form{gap:1rem;display:grid}.add-pet-dialog .pet-form-actions,.edit-pet-dialog .pet-form-actions{justify-content:flex-end}.add-pet-dialog .pet-form-actions .primary-action,.edit-pet-dialog .pet-form-actions .primary-action{width:auto}.change-report-dialog h2{margin-bottom:.35rem}.change-report-dialog form{gap:.7rem;margin-top:1.2rem;display:grid}.change-report-dialog label{color:#33413c;font-size:.8rem;font-weight:800}.change-report-dialog textarea{resize:vertical;border:1px solid var(--border);width:100%;color:inherit;font:inherit;background:#fff;border-radius:.85rem;padding:.8rem;line-height:1.5}.change-report-dialog form>small{justify-self:end;font-size:.72rem}.change-report-actions{justify-content:flex-end;gap:.7rem;margin-top:.35rem;display:flex}.change-report-actions .primary-action{width:auto}.change-report-error{color:#7b302b;background:#fff2f0;border-radius:.75rem;padding:.65rem .75rem;font-size:.78rem}.destructive-action{border-radius:var(--border-radius-control);color:#fff;cursor:pointer;background:#922f29;border:0;padding:.7rem 1rem;font-weight:800}.destructive-action:disabled{cursor:wait;opacity:.6}.emergency-notice{color:#742d27;background:#fff4f2;border:1px solid #efc8c4;border-radius:1.25rem;padding:1.2rem}.emergency-notice strong{display:block}.emergency-notice p{color:#76504c;margin:.4rem 0;font-size:.8rem;line-height:1.55}.emergency-notice a{color:#8b342d;margin-top:.35rem;font-size:.82rem;font-weight:850;display:inline-block}.app-legal-footer{justify-content:center;gap:1.25rem;width:min(100% - 2rem,72rem);margin:2rem auto 1rem;padding-bottom:5rem;display:flex}.app-legal-footer a{color:var(--muted);text-underline-offset:.2rem;font-size:.75rem;font-weight:750}.legal-page{background:#f4f2ec;min-height:100vh;padding:clamp(1rem,4vw,3rem)}.legal-page article{border:1px solid var(--border);background:#fff;border-radius:1.5rem;width:min(100%,52rem);margin:auto;padding:clamp(1.5rem,5vw,3rem)}.legal-page h1{letter-spacing:-.05em;margin:.5rem 0;font-size:clamp(2rem,6vw,3.5rem)}.legal-page small,.install-dialog small{color:var(--muted)}.legal-content{color:#33413c;overflow-wrap:anywhere;margin-top:2rem;line-height:1.7}.legal-content>:first-child{margin-top:0}.legal-content>:last-child{margin-bottom:0}.legal-content h1,.legal-content h2,.legal-content h3{letter-spacing:-.025em;line-height:1.2}.legal-content a{color:#375e4d;text-underline-offset:.18rem}.legal-content blockquote{border-left:.22rem solid var(--brand-accent);color:var(--muted);margin-inline:0;padding-left:1rem}.legal-content code{background:#eef1ed;border-radius:.25rem;padding:.1rem .25rem;font-size:.88em}.legal-content-dialog{background:#f6f7f5;border-radius:.8rem;max-height:55vh;margin:1rem 0;padding:1rem;font-size:.82rem;overflow-y:auto}.legal-consent-dialog{width:min(100%,34rem)}.legal-read-button{border:1px solid var(--border);width:100%;color:var(--brand-primary);cursor:pointer;background:#fff;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;margin:.65rem 0;padding:.8rem;font-weight:800;display:flex}.legal-read-button span{color:var(--muted);font-size:.7rem;font-weight:600}.legal-check{color:#33413c;align-items:flex-start;gap:.6rem;margin:.8rem 0;font-size:.8rem;line-height:1.45;display:flex}.legal-check input{width:1.1rem;height:1.1rem;accent-color:var(--brand-primary)}.registration-legal{background:#f3f5f2;border-radius:.8rem;gap:.65rem;padding:.8rem;display:grid}.registration-legal .checkbox-field{align-items:flex-start;margin:0}.registration-legal-dialog{width:min(100%,35rem)}.turnstile-field{justify-content:center;align-items:center;min-height:4.1rem;display:flex}.turnstile-field small{color:#7b1e1e;font-weight:700}@media (width>=800px){.app-shell{padding-bottom:6.5rem}.app-header{padding:2rem}.bottom-navigation{bottom:1.5rem}}@media (width<=640px){.account-management{flex-direction:column;align-items:stretch}.account-delete-action{align-self:start}.profile-requests-heading{flex-direction:column;align-items:start;gap:.35rem}.profile-requests-heading p{text-align:left}.client-page-header{flex-direction:column;align-items:stretch}.client-page-header .secondary-action{align-self:start}.client-stat-grid{grid-template-columns:1fr 1fr}.bottom-navigation a{padding-inline:.7rem}.clinic-summary,.profile-card{grid-template-columns:1fr}.app-header-actions{gap:.35rem}.install-action,.app-header .secondary-action{padding-inline:.75rem;font-size:.78rem}.current-client strong{max-width:4.5rem;display:block}.local-form-grid,.pet-form-grid,.add-pet-panel{grid-template-columns:1fr}.local-form-grid .span-two,.pet-form-grid .breed-field{grid-column:auto}.phone-number-field{grid-template-columns:1fr}.add-pet-panel .primary-action{justify-self:start}.client-request-heading{flex-direction:column;align-items:flex-start;gap:.25rem}.pet-detail-card .pet-card{grid-template-columns:1fr}.pet-detail-card .social-photo-control{justify-self:center}.pet-change-action{position:static}.pet-health-record-link{flex-direction:column;align-items:flex-start}.client-health-record-list article{grid-template-columns:1fr;gap:.85rem}.client-health-record-date{text-align:left;grid-template-columns:auto auto 1fr;justify-content:start;justify-items:start;min-height:0;padding:.65rem .8rem}.client-health-record-day{font-size:1.35rem}.client-health-record-month{align-self:center;margin:0 0 0 .35rem}.client-health-record-time{place-self:center end;margin:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.client-auth-shell{color:#17221e;background:#f7f6f1;min-height:100dvh;display:grid}.auth-story{color:#f8f7f1;background:radial-gradient(circle at 85% 12%,#d2dc7038,#0000 28%),radial-gradient(circle at 15% 88%,#81a79242,#0000 32%),#182720;min-width:0;min-height:100dvh;padding:clamp(2rem,4vw,4.5rem);display:none;position:relative;overflow:hidden}.auth-brand,.auth-mobile-brand{letter-spacing:-.02em;align-items:center;gap:.75rem;font-size:1.05rem;font-weight:850;display:flex}.auth-brand-mark{color:#182720;letter-spacing:-.04em;background:#d6df78;border-radius:50% 50% 44% 56%;place-items:center;width:2.65rem;height:2.65rem;font-size:.7rem;font-weight:900;display:grid;transform:rotate(-5deg)}.auth-brand-mark+strong{text-transform:uppercase;letter-spacing:.045em}.auth-clinic-brand{z-index:1;color:#f2efe8;align-items:center;gap:1rem;width:min(100%,36rem);margin-inline:auto;display:flex;position:relative}.auth-clinic-cross{color:#a9c5d3;opacity:.42;flex:none;width:4.5rem;height:4.5rem}.auth-clinic-brand-copy{text-transform:uppercase;justify-items:start;line-height:1;display:grid}.auth-clinic-brand-copy>span,.auth-clinic-brand-copy>small{letter-spacing:.12em;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;font-size:.66rem;font-weight:750}.auth-clinic-brand-copy strong{letter-spacing:-.035em;margin:.22rem 0 .18rem;font-family:Outfit,ui-sans-serif,system-ui,sans-serif;font-size:1.85rem}.auth-clinic-brand-mobile{color:#1c3041;justify-content:center;width:min(100%,31rem);margin-bottom:1.75rem}.auth-clinic-brand-mobile .auth-clinic-cross{color:#2b465e;opacity:.72;width:3.5rem;height:3.5rem}.auth-clinic-brand-mobile .auth-clinic-brand-copy strong{font-size:1.55rem}.auth-clinic-animals{z-index:0;opacity:.16;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(86%,53rem);height:auto;position:absolute;bottom:0;right:0}.auth-story-copy{z-index:1;align-self:center;max-width:36rem;margin:auto 0;position:relative}.auth-kicker{color:#d6df78;letter-spacing:.15em;text-transform:uppercase;font-size:.72rem;font-weight:850}.auth-story-copy h2{overflow-wrap:anywhere;letter-spacing:-.06em;margin:1.25rem 0;font-size:clamp(2.8rem,5.2vw,5.6rem);line-height:.96}.auth-story-copy p{color:#f8f7f1b3;max-width:31rem;margin:0;font-size:1.05rem;line-height:1.65}.auth-panel{align-content:safe center;justify-items:center;min-width:0;min-height:100dvh;padding:1.25rem;display:grid}.auth-mobile-brand{color:#182720;width:min(100%,31rem);margin-bottom:2rem}.client-auth-shell .auth-card{width:min(100%,31rem);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.client-auth-shell .auth-card h1{letter-spacing:-.055em;margin:.65rem 0 .7rem;font-size:clamp(2rem,7vw,3.25rem);line-height:1.02}.client-auth-shell .auth-card>p{color:var(--muted);margin:0 0 1.65rem;line-height:1.6}.client-auth-shell .eyebrow{color:#647268;letter-spacing:.14em;font-weight:850}.client-auth-shell .auth-form{gap:.9rem}.client-auth-shell .auth-form label{color:#25342e;gap:.4rem;font-size:.82rem;font-weight:780}.client-auth-shell .auth-form label>small{color:var(--muted);font-size:.7rem;font-weight:500;line-height:1.4}.client-auth-shell .auth-form input:not([type=checkbox]){background:#ffffffdb;border-color:#d7dcd7;border-radius:.8rem;min-height:3.15rem;padding:.8rem .9rem;transition:border-color .16s,box-shadow .16s,background .16s}.client-auth-shell .auth-form input:not([type=checkbox]):hover{background:#fff;border-color:#aeb8b1}.client-auth-shell .auth-form input:focus-visible{border-color:#5f776b;outline:0;box-shadow:0 0 0 3px #5f776b24}.client-auth-shell .checkbox-field{color:var(--muted);margin:.2rem 0;font-size:.78rem}.client-auth-shell .auth-submit{color:#f8f7f1;background:#182720;border-radius:.8rem;min-height:3.25rem;margin-top:.2rem;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 .65rem 1.5rem #18272029}.client-auth-shell .auth-submit:hover:not(:disabled){background:#253b31;transform:translateY(-1px);box-shadow:0 .8rem 1.8rem #18272033}.field-label-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.inline-link,.auth-back-link{color:#375e4d;font-size:inherit;text-underline-offset:.2rem;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;-webkit-text-decoration:underline #375e4d59;text-decoration:underline #375e4d59}.inline-link:hover,.auth-back-link:hover{color:#182720;text-decoration-color:currentColor}.inline-link:disabled{cursor:wait;opacity:.55}.auth-divider{color:#89928d;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.7rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#dfe2de;flex:1;height:1px}.auth-switch{color:var(--muted);text-align:center;font-size:.82rem;margin:0!important}.auth-switch-registration{margin-top:.75rem!important}.auth-fields-row{gap:.9rem;display:grid}.auth-notice{border:1px solid;border-radius:.75rem;grid-template-columns:1.6rem minmax(0,1fr);align-items:start;gap:.65rem;margin-bottom:.9rem;padding:.75rem .8rem;font-size:.8rem;line-height:1.45;display:grid}.auth-notice>span{border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;font-size:.7rem;font-weight:900;display:grid}.auth-notice p{margin:.15rem 0 0}.auth-notice .inline-link{margin-top:.35rem;display:inline-block}.auth-notice-success{color:#285c3f;background:#f2faf4;border-color:#c9ddcf}.auth-notice-success>span{color:#fff;background:#397c53}.auth-notice-error{color:#7b2822;background:#fff5f3;border-color:#eccbc7}.auth-notice-error>span{color:#fff;background:#a4433a}.auth-result-icon{color:#182720;background:#e4eaa9;border-radius:1.2rem;place-items:center;width:4rem;height:4rem;margin:.25rem 0 1rem;font-size:1.45rem;display:grid;transform:rotate(-3deg)}.auth-result-copy{color:#25342e;margin-bottom:.75rem;font-weight:750;line-height:1.55}.auth-help{font-size:.82rem;margin-bottom:1.25rem!important}.auth-back-link{margin-top:1.15rem;font-size:.8rem}.auth-technical-note{color:#89928d;letter-spacing:.02em;margin-top:2rem;font-size:.67rem}.auth-technical-note a{color:#617068;text-underline-offset:.15rem}.auth-progress{background:#ffffffbf;border-radius:.8rem;align-items:center;gap:.8rem;padding:1rem;display:flex}.auth-progress span{border:2px solid #d5dbd6;border-top-color:#375e4d;border-radius:50%;width:1.25rem;height:1.25rem;animation:.7s linear infinite auth-spin}.auth-card,.feature-card,.placeholder-panel,.bottom-navigation,.client-page-header,.client-page-state,.client-notice,.client-stat-grid article,.client-section,.pet-card,.appointment-card,.client-empty,.clinic-summary,.profile-card,.add-pet-panel,.install-dialog,.emergency-notice,.legal-page article{border-radius:var(--border-radius)}.auth-form input:not([type=checkbox]),.auth-error,.auth-submit,.primary-action,.small-action,.readonly-help,.local-form-grid input,.local-form-grid select,.pet-form-grid input,.pet-form-grid select,.local-data-help,.legal-content-dialog,.legal-read-button,.registration-legal,.auth-notice,.auth-progress{border-radius:var(--border-radius-control)}.eyebrow,.status-pill,.section-refresh,.pet-card-title span,.appointment-title span,.pet-card dt,.appointment-card time span,.home-pet span,.small-action,.text-action,.photo-error,.readonly-help,.photo-hint,.profile-details dt,.request-message,.local-form-grid label,.pet-form-grid label,.pet-form-grid .breed-field legend,.local-data-help,.install-steps li>span,.app-legal-footer a,.legal-read-button span,.auth-kicker,.client-auth-shell .auth-form label>small,.client-auth-shell .checkbox-field,.auth-divider,.auth-notice>span,.auth-technical-note{font-size:.85rem!important}button,a,input,select,textarea{line-height:1.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #375e4d80}.auth-progress p{color:var(--muted);margin:0;font-size:.82rem;font-weight:700}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (width>=540px){.auth-fields-row{grid-template-columns:1fr 1fr}}@media (width>=960px){.client-auth-shell{grid-template-columns:minmax(0,1.05fr) minmax(31rem,.95fr)}.auth-story{flex-direction:column;display:flex}.client-auth-shell-branded .auth-story{background:radial-gradient(circle at 50% 16%,#a9c5d32e,#0000 31%),radial-gradient(circle at 12% 90%,#a9c5d31a,#0000 34%),#1c3041}.client-auth-shell-branded .auth-story-copy{width:min(100%,36rem);margin-inline:auto}.auth-panel{max-height:100vh;padding:clamp(1.25rem,3vh,3rem) clamp(2.5rem,6vw,6rem);overflow-y:auto}.auth-mobile-brand,.auth-clinic-brand-mobile{display:none}.registration-auth-shell .auth-card>p{margin-bottom:1rem}.registration-auth-shell .auth-form{gap:.65rem}.registration-auth-shell .auth-form input:not([type=checkbox]){min-height:2.75rem;padding-block:.65rem}.registration-auth-shell .registration-legal{gap:.5rem;padding:.65rem .75rem}.registration-auth-shell .auth-submit{min-height:2.9rem}.registration-auth-shell .auth-technical-note{margin-top:1rem}}@media (width<=959px){.auth-panel{align-content:start;padding-top:2rem}}@media (prefers-reduced-motion:reduce){.auth-progress span{animation-duration:2s}}:root{--font-base:16px;--border-radius:1rem;--border-radius-control:.75rem;--brand-primary:#1c3041;--brand-primary-light:#2b465e;--brand-accent:#a9c5d3;--surface:#faf8f5;--border:#d8cbb9b8;--muted:#676760;color:#343431;background:#f2efe8;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif}body{color:#343431;background:#f2efe8}h1,h2,h3,h4,h5,h6,.wordmark{color:#1c3041;font-family:Outfit,ui-sans-serif,system-ui,sans-serif}.app-shell{background:#f2efe8;padding-bottom:6rem}.app-header{max-width:56rem;padding:1rem 1.25rem .65rem}.app-brand{color:inherit;align-items:center;gap:.65rem;text-decoration:none;display:flex}.live-update-prompt{z-index:20;color:#294f68;background:#edf5f9fa;border:1px solid #c5d9e3;border-radius:1rem;align-items:center;gap:.85rem;width:min(25rem,100% - 2rem);padding:.75rem .75rem .75rem 1rem;display:flex;position:fixed;bottom:5.75rem;right:1rem;box-shadow:0 .75rem 2rem #1c304129}.live-update-prompt>span{flex:1;gap:.1rem;min-width:0;display:grid}.live-update-prompt strong{color:#1c3041;font-size:.82rem}.live-update-prompt small{color:#536a77;font-size:.68rem;line-height:1.35}.live-update-prompt button{color:#f2efe8;font:inherit;cursor:pointer;background:#1c3041;border:0;border-radius:.7rem;flex:none;padding:.6rem .75rem;font-size:.72rem;font-weight:800}.app-brand-cross{color:#1c3041;flex:none;width:2.35rem;height:2.35rem}.wordmark{margin-top:0;font-size:1.25rem;line-height:1}.wordmark:first-letter{color:#1c3041}.eyebrow{color:#676760;letter-spacing:.08em;font-weight:700;font-size:.64rem!important}.app-header-actions{gap:.45rem}.current-client{border:1px solid var(--border);background:#faf8f5e6;border-radius:999px;align-items:center;gap:.45rem;min-width:auto;padding:.25rem .65rem .25rem .25rem;display:flex;box-shadow:0 .2rem .8rem #1c304112}.current-client img,.current-client>span:not(.profile-update-indicator){width:2rem;height:2rem;box-shadow:none;background:#a9c5d3;border:0;font-size:.75rem}.current-client strong{color:#1c3041;text-transform:uppercase;max-width:7rem;font-size:.68rem}.logout-action{border-color:var(--border);color:#1c3041;background:#faf8f5;width:2.35rem;height:2.35rem}.logout-action:hover{background:#ebf3f7}.primary-action,.auth-submit{color:#f2efe8;background:#1c3041;box-shadow:0 .45rem 1.25rem #1c304124}.install-action{border:1px solid var(--border);color:#1c3041;box-shadow:none;background:#faf8f5;align-items:center;gap:.3rem;padding:.52rem .65rem;font-size:.68rem;font-weight:700;display:inline-flex}.install-action svg{width:.9rem;height:.9rem}.install-action:hover{background:#ebf3f7}.install-label-full{display:none}.app-content{width:min(100% - 1.25rem,56rem);margin:.65rem auto 1.25rem}.client-page{gap:1rem}.client-section,.client-page-header,.pet-card,.profile-card,.add-pet-panel,.client-page-state,.feature-card{border-color:var(--border);background:#faf8f5;box-shadow:0 .3rem 1.1rem #1c30410b}.client-section{gap:.85rem;padding:1.15rem 1.25rem}.client-section-heading h2{color:#1c3041;font-size:1.15rem}.client-section-heading>span{color:#1c3041;background:#ebf3f7}.home-pet-list{gap:.7rem}.home-pet{flex-basis:4.8rem}.home-pet .pet-avatar{background:#a9c5d3;border:3px solid #f7f4ee;width:3.7rem;height:3.7rem;box-shadow:0 .2rem .65rem #1c30411f}.home-pet:hover{background:#f7f4ee}.appointment-card{background:#f7f4ee;border-color:#d8cbb99e;grid-template-columns:4.1rem minmax(0,1fr) auto}.appointment-card time{background:#1c3041;border-radius:.85rem;width:4.1rem;height:4.1rem}.appointment-title h3{color:#1c3041;font-family:Outfit,sans-serif;font-size:1.05rem}.pet-avatar,.health-record-pet-initial{color:#1c3041;background:#a9c5d3}.clinic-summary{background:#1c3041;border:1px solid #a9c5d338;border-radius:1rem;grid-template-columns:minmax(0,1.25fr) minmax(14rem,.75fr);padding:1.25rem;box-shadow:0 .4rem 1.3rem #1c304124}.clinic-summary h2{color:#f2efe8;font-size:1.2rem}.emergency-notice{color:#7f2637;background:#fff0f2;border-color:#edc8ce;border-radius:1rem}.client-page-header{padding:1.4rem}.client-page-header h1{margin-top:.25rem;font-size:clamp(2rem,6vw,3.2rem)}.secondary-action,.small-action{border-color:var(--border);color:#1c3041;background:#faf8f5}.bottom-navigation{background:#faf8f5f2;border-color:#d8cbb9d1;border-radius:999px;gap:.2rem;max-width:34rem;padding:.38rem;box-shadow:0 .65rem 1.8rem #1c304126}.bottom-navigation a{color:#676760;border-radius:999px;align-items:center;gap:.35rem;padding:.62rem .85rem;font-size:.72rem;display:flex}.bottom-navigation a svg{width:1rem;height:1rem}.bottom-navigation a.nav-cta{color:#1c3041;background:#ebf3f7}.bottom-navigation a.active{color:#f2efe8;background:#1c3041}.app-legal-footer a{color:#676760}.client-auth-shell .auth-story{color:#f2efe8;background:#1c3041}.client-auth-shell .auth-story-copy h2{color:#f2efe8}.client-auth-shell .auth-kicker{color:#a9c5d3}.auth-brand-mark{color:#1c3041;background:#a9c5d3}.client-auth-shell .auth-form input:focus-visible{border-color:#2b465e;box-shadow:0 0 0 3px #a9c5d361}@media (width<=640px){.app-header{padding-inline:.85rem}.install-action{color:#f2efe8;background:#1c3041;width:auto;height:auto;padding:.72rem 1rem;font-size:.72rem;font-weight:800;display:inline-flex;box-shadow:0 .45rem 1.25rem #1c304124}.install-action:hover{background:#1c3041}.install-label-short{display:none}.install-label-full{display:inline}.current-client{padding-right:.35rem}.current-client strong{display:none}.app-content{width:min(100% - 1rem,56rem)}.client-section{padding:1rem}.appointment-card{grid-template-columns:3.65rem minmax(0,1fr)}.appointment-cancel-action{grid-column:2;justify-self:start}.appointment-card time{width:3.65rem;height:3.65rem}.clinic-summary{grid-template-columns:1fr;gap:1rem}.bottom-navigation{bottom:.65rem;left:.65rem;right:.65rem}.bottom-navigation a{text-align:center;flex-direction:column;flex:1 1 0;gap:.12rem;min-width:0;padding:.45rem .3rem}.bottom-navigation a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}.appointment-history-section{align-items:stretch}.history-toggle{align-self:flex-start}.history-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;padding-top:.25rem;display:flex}.booking-page{width:100%}.booking-saving-overlay{z-index:3000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1227329e;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.booking-saving-overlay>div{text-align:center;background:#fff;border:1px solid #e8ddd0;border-radius:1.25rem;justify-items:center;width:min(100%,25rem);padding:2rem;display:grid;box-shadow:0 24px 70px #1227323d}.booking-saving-overlay .client-spinner{border-width:3px;width:2rem;height:2rem;margin-bottom:1rem}.booking-saving-overlay strong{color:#1c3041;font-size:1.05rem}.booking-saving-overlay p{color:#676760;margin:.45rem 0 0;font-size:.85rem;line-height:1.5}.booking-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.booking-toolbar .secondary-action{border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .85rem;display:inline-flex}.booking-toolbar>strong{color:#676760;font-size:.72rem}.booking-progress{justify-content:center;align-items:center;gap:.45rem;display:flex}.booking-progress span{background:#d8cbb999;border-radius:999px;width:.75rem;height:.35rem;transition:width .2s,background .2s}.booking-progress span.complete{background:#a9c5d3}.booking-progress span.active{background:#1c3041;width:2rem}.booking-step{gap:1.25rem;padding:1.5rem}.booking-step>header h1{color:#1c3041;margin:.25rem 0 .35rem;font-size:clamp(1.55rem,5vw,2rem);line-height:1.08}.booking-step>header p{color:#676760;margin:0;font-size:.82rem;line-height:1.55}.booking-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.booking-pet,.booking-service,.booking-staff-list>button{color:#343431;text-align:left;cursor:pointer;background:#fff;border:2px solid #d8cbb99e;border-radius:1rem;align-items:center;gap:.85rem;width:100%;padding:.9rem;transition:border-color .15s,background .15s,transform .15s;display:flex;position:relative}.booking-pet:hover,.booking-service:hover,.booking-staff-list>button:hover{border-color:#1c304173;transform:translateY(-1px)}.booking-pet.selected,.booking-service.selected,.booking-staff-list>button.selected{background:#faf8f5;border-color:#1c3041}.booking-pet img,.booking-pet>.pet-avatar{object-fit:cover;border:2px solid #d8cbb9;border-radius:50%;flex:none;width:3.5rem;height:3.5rem}.booking-pet>span:nth-child(2),.booking-service>span:nth-child(2),.booking-staff-list>button>span:nth-child(2){gap:.2rem;min-width:0;display:grid}.booking-pet strong,.booking-service strong,.booking-staff-list strong{color:#1c3041;font-family:Outfit,sans-serif;font-size:.95rem}.booking-pet small,.booking-service small,.booking-staff-list small{color:#676760;font-size:.72rem;line-height:1.45}.booking-check{color:#f2efe8;background:#1c3041;border-radius:50%;flex:none;place-items:center;width:1.55rem;height:1.55rem;margin-left:auto;display:grid!important}.pet-update-indicator{color:#fff;background:#a34841;border:2px solid #f7f4ee;border-radius:50%;place-items:center;width:1.2rem;height:1.2rem;font-size:.68rem;font-weight:900;line-height:1;position:absolute;top:-.35rem;right:-.35rem;display:grid!important}.booking-pet.has-update{border-color:#a348418c}.booking-check svg{stroke-width:3px;width:.9rem;height:.9rem}.booking-service-list{gap:.65rem;display:grid}.booking-service-card{background:#fff;border:2px solid #d8cbb99e;border-radius:1rem;transition:border-color .15s,background .15s;overflow:hidden}.booking-service-card.selected{background:#faf8f5;border-color:#1c3041}.booking-service-card>.booking-service{background:0 0;border:0;border-radius:0}.booking-service-card>.booking-service:hover{background:#d8cbb91f;border-color:#0000;transform:none}.booking-service-card>.booking-service.selected{background:0 0}.booking-service-selection{padding:0 1rem 1rem}.booking-service-selection .booking-pet-count{margin-top:0}.booking-service-selection .booking-actions{padding-top:.85rem}.booking-staff-list{gap:.65rem;display:grid}.booking-service{align-items:flex-start;padding:1rem}.booking-service-icon{color:#1c3041;background:#d8cbb96b;border-radius:.75rem;flex:none;place-items:center;width:2.5rem;height:2.5rem;display:grid!important}.booking-service em{color:#1c3041;align-items:center;gap:.35rem;margin-top:.25rem;font-size:.68rem;font-style:normal;font-weight:700;display:inline-flex}.booking-service em svg{width:.8rem}.booking-pet-count{background:#f7f4ee;border:1px solid #d8cbb9b8;border-radius:1rem;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.booking-pet-count>span{flex:1;gap:.15rem;display:grid}.booking-pet-count>span strong{color:#1c3041;font-family:Outfit,sans-serif}.booking-pet-count>span small{color:#676760}.booking-pet-count>div{background:#fff;border:1px solid #d8cbb9;border-radius:.75rem;align-items:center;display:inline-flex;overflow:hidden}.booking-pet-count button{color:#1c3041;cursor:pointer;background:0 0;border:0;place-items:center;width:2.45rem;height:2.45rem;display:grid}.booking-pet-count button:disabled{color:#aaa69f;cursor:not-allowed}.booking-pet-count output{color:#1c3041;text-align:center;min-width:2.35rem;font-weight:800}.booking-pet-count>em{color:#1c3041;text-align:right;min-width:4.8rem;font-size:.78rem;font-style:normal;font-weight:800}.booking-actions{justify-content:space-between;align-items:center;gap:.8rem;padding-top:.5rem;display:flex}.booking-actions-end{justify-content:flex-end}.booking-actions .primary-action{align-items:center;gap:.35rem;display:inline-flex}.booking-actions button:disabled{cursor:not-allowed;opacity:.45;transform:none}.booking-help,.booking-empty{color:#676760;text-align:center;margin:-.25rem 0 0;font-size:.75rem}.booking-calendar{background:#f7f4ee;border:1px solid #d8cbb9b8;border-radius:1rem;padding:1rem}.booking-calendar>header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.booking-calendar>header>strong{color:#1c3041;font-family:Outfit,sans-serif}.booking-calendar>header span{gap:.3rem;display:flex}.booking-calendar>header button{color:#1c3041;cursor:pointer;background:#fff;border:1px solid #d8cbb9;border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid}.booking-calendar>header button:disabled{opacity:.3;cursor:not-allowed}.booking-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;display:grid}.booking-calendar-grid>strong{color:#676760;text-align:center;padding-block:.3rem;font-size:.56rem}.booking-calendar-grid>i{min-height:2.3rem}.booking-calendar-grid>button{color:#1c3041;cursor:pointer;background:#fff;border:1px solid #d8cbb9a6;border-radius:.7rem;min-width:0;height:2.35rem;font-size:.72rem;font-weight:700}.booking-calendar-grid>button:hover:not(:disabled){border-color:#1c3041}.booking-calendar-grid>button.selected{color:#f2efe8;background:#1c3041;border-color:#1c3041;box-shadow:0 0 0 2px #a9c5d3}.booking-calendar-grid>button:disabled{color:#6767604d;cursor:not-allowed;background:0 0;border-color:#0000}.booking-slots{gap:.75rem;display:grid}.booking-slots>strong{color:#1c3041;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.booking-slots>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;display:grid}.booking-slots button{color:#1c3041;cursor:pointer;background:#fff;border:1px solid #d8cbb9;border-radius:.7rem;padding:.65rem .5rem;font-size:.75rem;font-weight:700}.booking-slots button.selected{color:#f2efe8;background:#1c3041;border-color:#1c3041}.booking-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.booking-summary div{background:#f7f4ee;border:1px solid #d8cbb99e;border-radius:.85rem;gap:.2rem;padding:.85rem;display:grid}.booking-summary dt{color:#676760;text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;font-weight:700}.booking-summary dd{color:#1c3041;margin:0;font-weight:700}.booking-instructions{background:#ebf3f7;border-left:3px solid #a9c5d3;border-radius:.35rem .8rem .8rem .35rem;padding:.75rem .9rem}.booking-instructions strong{color:#1c3041;font-size:.72rem}.booking-instructions p{overflow-wrap:anywhere;color:#4f5d66;white-space:pre-line;margin:.2rem 0 0;font-size:.75rem;line-height:1.55}.booking-notes{color:#1c3041;gap:.45rem;font-size:.72rem;font-weight:700;display:grid}.booking-notes>span{color:#676760;font-weight:500}.booking-notes textarea{resize:vertical;color:#343431;font:inherit;background:#fff;border:1px solid #d8cbb9;border-radius:.75rem;padding:.8rem;font-weight:500}.health-record-pet-selector{gap:1rem}.health-record-pet-selector>header h2{margin:.25rem 0 .35rem;font-size:clamp(1.35rem,4vw,1.8rem)}.health-record-pet-selector>header p{color:#676760;margin:0;font-size:.8rem;line-height:1.5}.desktop-navigation{display:none}@media (width>=768px){.app-shell{padding-bottom:0}.live-update-prompt{bottom:1rem}.app-header{grid-template-columns:minmax(0,1fr) auto;gap:.8rem 1.25rem;max-width:56rem;padding:1rem 1.5rem;display:grid}.app-brand{grid-area:1/1}.app-header-actions{grid-area:1/2;justify-self:end}.desktop-navigation{background:#faf8f5f2;border:1px solid #d8cbb9d1;border-radius:999px;grid-area:2/1/auto/-1;justify-self:center;align-items:center;gap:.2rem;padding:.32rem;display:flex;box-shadow:0 .35rem 1.2rem #1c304117}.desktop-navigation a{color:#676760;border-radius:999px;align-items:center;gap:.35rem;padding:.58rem .82rem;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex}.desktop-navigation a svg{width:1rem;height:1rem}.desktop-navigation a.nav-cta{color:#1c3041;background:#ebf3f7}.desktop-navigation a.active{color:#f2efe8;background:#1c3041}.bottom-navigation{display:none}}@media (width>=1100px){.app-header{grid-template-columns:auto minmax(0,1fr) auto}.app-brand{grid-column:1}.desktop-navigation{grid-area:1/2}.app-header-actions{grid-column:3}}@media (width<=640px){.booking-step{padding:1.1rem}.booking-choice-grid{grid-template-columns:1fr}.booking-slots>div{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-summary{grid-template-columns:1fr}.booking-pet-count{flex-wrap:wrap;align-items:flex-start}.booking-pet-count>span{flex-basis:100%}.booking-calendar{padding:.75rem}.booking-calendar-grid{gap:.2rem}.booking-calendar-grid>button{border-radius:.6rem;height:2.15rem}}
