@font-face{font-family:inter;src:url(../media/Inter-s.p.24zbyljy1vorm.ttf)format("truetype");font-display:swap;font-weight:100 900}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.wEBTFa_className{font-family:inter,inter Fallback}.wEBTFa_variable{--font-inter:"inter", "inter Fallback"}
@font-face{font-family:manrope;src:url(../media/Manrope-s.p.3at5cmeewtdj8.ttf)format("truetype");font-display:swap;font-weight:200 800}@font-face{font-family:manrope Fallback;src:local(Arial);ascent-override:106.45%;descent-override:29.96%;line-gap-override:0.0%;size-adjust:100.14%}.uXfjlG_className{font-family:manrope,manrope Fallback}.uXfjlG_variable{--font-manrope:"manrope", "manrope Fallback"}
@font-face{font-family:outfit;src:url(../media/Outfit-s.p.3tyakrq6r4z19.ttf)format("truetype");font-display:swap;font-weight:100 900}@font-face{font-family:outfit Fallback;src:local(Arial);ascent-override:100.84%;descent-override:26.22%;line-gap-override:0.0%;size-adjust:99.17%}.khW6ua_className{font-family:outfit,outfit Fallback}.khW6ua_variable{--font-outfit:"outfit", "outfit Fallback"}
:root{--font-family-base:"Avenir Next", "Nunito Sans", "Trebuchet MS", ui-rounded, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-page:#f5f8fb;--color-surface:#ffffffd1;--color-surface-strong:#ffffffeb;--color-surface-soft:#f7fafddb;--color-border:#8095b13d;--color-border-strong:#8095b161;--color-ink:#14223a;--color-muted:#5b7194;--color-mint:#98e2d7;--color-mint-deep:#50c7b7;--color-coral:#ff9696;--color-coral-deep:#eb6f70;--color-violet:#c8a7ff;--color-danger:#ff8f8b;--shadow-soft:0 18px 46px #2b375414;--shadow-control:0 10px 22px #2b37541a;--radius-panel:8px;--radius-control:16px;--topbar-height:98px;--sidebar-width:304px}*{box-sizing:border-box}html{background:var(--color-page);min-height:100%;color:var(--color-ink);font-family:var(--font-family-base);letter-spacing:0;font-size:16px}body{min-height:100%;color:var(--color-ink);background:radial-gradient(circle at 23% 18%,#98e2d738,#0000 22rem),linear-gradient(#f8fafc 0%,#f2f6fb 100%);margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.72}h1,h2,h3,p{margin:0}h1{font-size:clamp(2.1rem,5vw,4rem);font-weight:900;line-height:1.05}h2{font-size:1.35rem;font-weight:900;line-height:1.25}h3{font-size:1rem;font-weight:850;line-height:1.3}p{color:var(--color-muted);font-weight:650;line-height:1.6}input,select{border:1px solid var(--color-border);width:100%;height:44px;color:var(--color-ink);background:#ffffffbd;border-radius:8px;outline:none;padding:0 14px}select{appearance:none}input:focus,select:focus{border-color:var(--color-mint-deep);box-shadow:0 0 0 3px #48c6b224}.page-container{width:min(1220px,100% - 48px);margin:0 auto}.glass-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%)}.button{border-radius:var(--radius-control);min-height:46px;color:var(--color-ink);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 28px;font-size:1rem;font-weight:900;line-height:1;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover{box-shadow:var(--shadow-control);transform:translateY(-1px)}.button-primary{background:var(--color-coral)}.button-secondary{background:var(--color-violet)}.button-outline{border-color:var(--color-coral);background:#ffffff8c}.button-dashed{color:var(--color-muted);background:#ffffff61;border-style:dashed;border-color:#58709438}.button-danger{background:var(--color-danger)}.brand-mark{color:var(--color-mint-deep);align-items:center;gap:12px;font-size:1.75rem;font-weight:900;display:inline-flex}.brand-icon{width:50px;height:50px;color:var(--color-ink);background:linear-gradient(135deg, #9be6d8f2, #6cd6c6e6), var(--color-mint);border-radius:11px;place-items:center;font-size:1.08rem;font-weight:950;display:grid;overflow:hidden}.brand-icon img{object-fit:contain;width:72%;height:72%}.public-shell{background:#f8fafc;min-height:100vh;font-family:Avenir Next,Segoe UI Variable,Segoe UI,sans-serif;overflow-x:hidden}.public-header{z-index:3;justify-content:space-between;align-items:center;height:76px;display:flex;position:relative}.public-header .brand-mark{gap:10px;font-size:1.12rem}.public-header .brand-icon{border-radius:8px;width:34px;height:34px}.hero{z-index:1;isolation:isolate;min-height:clamp(520px,100vh - 180px,620px);padding-top:clamp(64px,8vh,94px);display:block;position:relative;overflow:hidden}.hero:after{z-index:3;content:"";background:#50c7b775;width:100vw;height:1px;position:absolute;bottom:0;right:50%;transform:translate(50%)}.hero:before{z-index:-2;content:"";background:#dcf5f0;width:max(38vw,520px);position:absolute;inset:0 calc(50% - 50vw) 0 auto}.hero-content{z-index:2;text-align:left;width:min(680px,57%);position:relative}.hero-content h1{letter-spacing:0;max-width:680px;font-size:clamp(3rem,4.5vw,4.35rem);font-weight:780;line-height:.98}.hero-content h1 span{color:var(--color-mint-deep);display:block}.eyebrow{color:var(--color-mint-deep);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-size:.82rem;font-weight:760}.hero-copy{max-width:580px;color:var(--color-muted);margin:26px 0 0;font-size:1.05rem;font-weight:560;line-height:1.65}.hero-actions{flex-wrap:wrap;justify-content:flex-start;gap:14px;margin-top:30px;display:flex}.hero-actions .button{border-radius:8px;min-width:172px;min-height:48px;padding:0 24px;font-size:.9rem;font-weight:780}.public-register-button{border-color:var(--color-ink);color:#fff;background:var(--color-ink);min-width:0;min-height:38px;box-shadow:none;border-radius:8px;padding:0 19px;font-size:.84rem;font-weight:760}.public-register-button:hover{background:#263853;border-color:#263853}.hero-proof{flex-wrap:wrap;gap:10px 22px;margin:30px 0 0;padding:0;list-style:none;display:flex}.hero-proof li{color:var(--color-muted);align-items:center;gap:8px;font-size:.78rem;font-weight:620;display:inline-flex}.hero-proof li:before{color:#155e55;background:var(--color-mint);content:"✓";border-radius:50%;place-items:center;width:17px;height:17px;font-size:.68rem;font-weight:950;display:grid}.hero-pet{z-index:1;pointer-events:none;width:min(47vw,610px);height:100%;position:absolute;bottom:0;right:clamp(-24px,1vw,20px)}.hero-pet>img{filter:drop-shadow(0 26px 34px #2a434729);width:min(100%,570px);height:auto;position:absolute;bottom:-1px;right:2%}.hero-pet-note{z-index:2;background:#ffffffc7;border-color:#ffffffbd;align-items:center;gap:12px;width:248px;padding:14px 16px;display:flex;position:absolute;bottom:56px;right:0;box-shadow:0 18px 42px #1e434524}.hero-pet-note-icon{color:#155e55;background:var(--color-mint);border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.hero-pet-note-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:19px;height:19px}.hero-pet-note strong,.hero-pet-note small{display:block}.hero-pet-note strong{color:var(--color-ink);font-size:.85rem}.hero-pet-note small{color:var(--color-muted);margin-top:3px;font-size:.7rem;font-weight:650}.how-it-works{z-index:0;background:#fff;padding:82px 0 72px;position:relative}.section-heading{text-align:center;margin-bottom:42px;width:min(660px,100%);margin-inline:auto}.section-heading h2{font-size:clamp(1.9rem,3vw,2.55rem);font-weight:780}.section-heading p{margin-top:10px;font-size:.95rem}.section-heading .eyebrow{color:var(--color-mint-deep);margin-bottom:10px;font-size:.76rem}.step-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:min(920px,100%);margin:0 auto;display:grid}.step-card{background:#fff;min-height:188px;padding:28px 26px;box-shadow:0 14px 38px #2b375412}.step-icon{width:38px;height:38px;color:var(--color-mint-deep);background:#c8a7ff70;border-radius:999px;place-items:center;margin-bottom:18px;display:grid}.step-icon img{object-fit:contain;width:18px;height:18px}.step-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:19px;height:19px}.step-card p{margin-top:10px;font-size:.84rem}.app-shell{min-height:100vh;padding-top:var(--topbar-height);padding-left:var(--sidebar-width)}.app-topbar{z-index:10;height:var(--topbar-height);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;justify-content:space-between;align-items:center;padding:0 5.1vw;display:flex;position:fixed;inset:0 0 auto}.topbar-actions{align-items:center;gap:22px;display:flex}.icon-button{width:42px;height:42px;color:var(--color-ink);background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.bell-icon{width:24px;height:24px}.account-menu{position:relative}.user-chip{color:var(--color-ink);background:0 0;border:0;border-radius:999px;align-items:center;gap:16px;max-width:360px;padding:0;font-size:1.08rem;font-weight:900;display:inline-flex}.user-chip:hover,.user-chip:focus-visible{color:var(--color-ink)}.user-avatar{background:var(--color-coral);text-transform:uppercase;border-radius:999px;place-items:center;width:54px;height:54px;font-size:1rem;font-weight:950;display:grid}.user-chip strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.user-chip-chevron{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:18px;height:18px}.account-menu-panel{z-index:20;border:1px solid var(--color-border);width:220px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border-radius:8px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 12px);right:0}.account-menu-item{min-height:42px;color:var(--color-ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:0 12px;font-weight:850;display:flex}.account-menu-item:hover,.account-menu-item:focus-visible{background:#ff969638}.account-menu-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;flex:none;width:19px;height:19px}.app-sidebar{inset:var(--topbar-height) auto 0 0;width:var(--sidebar-width);border-right:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fafdffbd;padding:36px 16px 0 4.3vw;position:fixed}.nav-stack{gap:10px;display:grid}.nav-item{min-height:58px;color:var(--color-ink);border-radius:8px;align-items:center;gap:16px;padding:0 20px;font-size:1.08rem;font-weight:900;display:flex}.nav-item.is-active{background:var(--color-coral)}.nav-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;flex:none;width:21px;height:21px}.patient-icon{border:2px solid;border-radius:999px}.patient-icon:before,.patient-icon:after{content:"";border:2px solid;border-radius:999px;width:6px;height:6px;position:absolute}.patient-icon:before{top:-7px;left:-2px}.patient-icon:after{top:-7px;right:-2px}.app-main{padding:56px clamp(40px,8vw,132px) 64px 46px}.admin-shell{min-height:100vh;padding-top:var(--topbar-height)}.admin-main{gap:28px;padding:48px clamp(28px,7vw,112px) 64px;display:grid}.admin-title-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.admin-title-row h1{font-size:clamp(2.4rem,4vw,3.2rem)}.admin-sync-note{color:var(--color-muted);margin-top:8px;font-size:.92rem;font-weight:800}.admin-settings-card{gap:24px;width:min(720px,100%);padding:28px;display:grid}.admin-settings-card p{margin-top:8px}.admin-settings-form{gap:18px;max-width:520px;display:grid}.admin-settings-form label{color:var(--color-ink);gap:8px;font-weight:900;display:grid}.admin-settings-form input{background:#f6f9fd;border-radius:14px;height:48px}.admin-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.admin-metric-card{align-content:space-between;min-height:128px;padding:22px;display:grid;position:relative;overflow:hidden}.admin-metric-card:after{content:"";opacity:.28;border-radius:999px;width:112px;height:112px;position:absolute;bottom:-36px;right:-28px}.admin-metric-card.is-coral:after{background:var(--color-coral)}.admin-metric-card.is-mint:after{background:var(--color-mint)}.admin-metric-card.is-violet:after{background:var(--color-violet)}.admin-metric-card span{color:var(--color-muted);font-weight:850}.admin-metric-card strong{color:var(--color-ink);font-size:2.25rem;font-weight:950}.admin-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.admin-chart-card{gap:18px;padding:24px;display:grid}.admin-chart-card header{justify-content:space-between;align-items:center;gap:18px;display:flex}.admin-chart-card header strong{font-size:1.7rem;font-weight:950}.admin-line-chart{border-bottom:1px solid var(--color-border);width:100%;height:130px}.admin-line-chart polyline{fill:none;stroke:var(--color-mint-deep);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2px;vector-effect:non-scaling-stroke}.admin-chart-card.is-coral .admin-line-chart polyline{stroke:var(--color-coral-deep)}.admin-chart-card.is-violet .admin-line-chart polyline{stroke:#8a63d2}.admin-bar-chart{grid-template-columns:repeat(auto-fit,minmax(8px,1fr));align-items:end;gap:8px;height:64px;display:grid}.admin-bar-chart span{background:#50c7b780;border-radius:8px 8px 2px 2px;min-height:6px}.admin-chart-card.is-coral .admin-bar-chart span{background:#ff9696a3}.admin-chart-card.is-violet .admin-bar-chart span{background:#c8a7ffad}.admin-chart-empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);min-height:130px;color:var(--color-muted);place-items:center;font-weight:850;display:grid}.admin-chart-range{color:var(--color-muted);justify-content:space-between;font-size:.82rem;font-weight:850;display:flex}.admin-table-card{gap:22px;padding:28px;display:grid}.admin-tenant-card{gap:24px}.admin-tenant-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:14px;display:grid}.admin-tenant-form label,.member-invite-form label{color:var(--color-ink);gap:8px;font-weight:900;display:grid}.admin-tenant-form input,.member-invite-form input,.member-invite-form select{background:var(--color-surface-soft);border-radius:8px;min-width:0;height:48px}.admin-id-cell{overflow-wrap:anywhere;max-width:240px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;color:var(--color-muted)!important}.member-management-card{gap:24px;display:grid}.member-invite-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(160px,.65fr) auto;align-items:end;gap:14px;display:grid}.settings-page .member-invite-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.member-list{border-top:1px solid var(--color-border);display:grid}.member-list-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(130px,auto) auto;align-items:center;gap:18px;padding:16px 0;display:grid}.member-list-row>div{gap:4px;min-width:0;display:grid}.member-list-row strong,.member-list-row span{overflow-wrap:anywhere}.member-list-row>div span,.member-role{color:var(--color-muted);font-size:.88rem;font-weight:800}.member-role{text-align:right}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:14px 10px}.admin-table th{color:var(--color-muted);font-size:.86rem;font-weight:900}.admin-table td{color:var(--color-ink);font-weight:750}.admin-table-action{min-height:36px;padding:0 18px;font-size:.88rem}.admin-table-clickable-row{cursor:pointer}.admin-table-clickable-row:hover,.admin-table-clickable-row:focus-visible{background:#97e0d329;outline:none}.admin-vet-modal{max-width:640px}.admin-vet-details{grid-template-columns:1fr;display:grid}.content-stack{gap:32px;display:grid}.dashboard-hero,.page-title-row,.card-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.dashboard-hero h1,.page-title-row h1{letter-spacing:-.01em;font-size:clamp(2.6rem,4vw,3.05rem);line-height:1.02}.hero-tools{align-items:center;gap:14px;display:flex}.qr-card{border:1px solid var(--color-border);background:#ffffffad;border-radius:16px;justify-items:center;width:102px;height:118px;padding:10px;display:grid}.pet-qr-code{width:78px;height:78px;color:var(--color-ink);object-fit:contain;border:6px solid #fff;border-radius:8px;box-shadow:inset 0 0 0 1px #14223a29}.pet-qr-code-placeholder{color:var(--color-muted);background:#95e7d838;border-style:dashed;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:flex}.qr-card span{color:var(--color-muted);font-size:.72rem}.pet-strip{scrollbar-width:thin;align-items:center;gap:14px;max-width:100%;padding-bottom:6px;display:flex;overflow-x:auto}.pet-pill{min-height:56px;color:var(--color-ink);box-shadow:none;background:#ffffff8f;border:1px solid #0000;border-radius:999px;align-items:center;gap:12px;padding:6px 18px 6px 8px;font-weight:900;display:inline-flex}.pet-pill.is-selected{background:var(--color-mint);box-shadow:var(--shadow-control)}.pet-pill:hover,.pet-pill:focus-visible{box-shadow:var(--shadow-control);border-color:#50c7b76b}.pet-avatar,.pet-photo-large{color:#15233bbd;background:radial-gradient(circle at 36% 32%,#f4b46f 0 16%,#0000 17%),radial-gradient(circle at 58% 40%,#793e2f 0 18%,#0000 19%),radial-gradient(circle at 48% 58%,#bf6a42 0 42%,#8e4d39 43%);border-radius:999px;place-items:center;font-size:.72rem;font-weight:760;display:grid;overflow:hidden}.pet-avatar{width:44px;height:44px}.pet-avatar img,.pet-photo-large img{object-fit:cover;width:100%;height:100%}.care-card,.settings-card,.pet-profile-card{padding:36px}.card-header a{color:var(--color-ink);font-weight:900}.card-heading{margin-bottom:18px}.care-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.info-tile{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;align-content:center;gap:10px;min-height:92px;padding:18px;display:grid}.info-tile span{color:var(--color-muted)}.pet-profile-card{grid-template-columns:220px minmax(0,1fr);gap:28px;display:grid}.pet-profile-media{align-content:start;justify-items:center;gap:16px;display:grid}.pet-photo-large{width:150px;height:150px;box-shadow:var(--shadow-control)}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;position:absolute;inset:0}.pet-profile-body{gap:22px;display:grid}.status-badge{background:var(--color-violet);min-height:28px;color:var(--color-ink);border-radius:999px;align-items:center;padding:0 14px;font-size:.82rem;font-weight:900;display:inline-flex}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0;display:grid}.detail-grid div{gap:6px;display:grid}.detail-grid dt{color:var(--color-muted);font-size:.86rem;font-weight:850}.detail-grid dd{color:var(--color-ink);margin:0;font-weight:750}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;margin-top:22px;display:grid}.form-grid label{color:var(--color-ink);gap:8px;font-size:1.03rem;font-weight:900;display:grid}.form-message{border:1px solid var(--color-border);overflow-wrap:anywhere;background:#ffffff9e;border-radius:8px;width:fit-content;max-width:100%;padding:10px 14px;font-weight:900}.form-message.is-success{color:var(--color-mint-deep);border-color:#48c6b261}.form-message.is-error{color:var(--color-coral-deep);border-color:#ff8f8b7a}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.form-grid .form-actions{grid-column:1/-1}.back-link{width:fit-content;color:var(--color-muted);font-weight:720}.danger-zone{border-color:#ff8f8b75}.danger-zone h2{color:var(--color-coral-deep)}.danger-zone p{margin:14px 0 16px}.auth-state{place-items:center;min-height:100vh;padding:24px;display:grid}.page-loader{place-items:center;padding:48px 24px;display:grid}.page-loader-content{min-height:min(460px, calc(100vh - var(--topbar-height) - 120px))}.page-loader-full{min-height:100vh}.dog-loader{color:var(--color-muted);justify-items:center;gap:16px;font-weight:900;display:grid}.dog-loader-mark{place-items:center;width:92px;height:92px;display:grid;position:relative}.dog-loader-mark:before{border:4px solid #98e2d752;border-top-color:var(--color-coral);content:"";border-radius:999px;animation:.9s linear infinite dog-loader-spin;position:absolute;inset:0}.dog-loader-face{border:3px solid var(--color-ink);background:var(--color-mint);border-radius:44% 44% 52% 52%;width:54px;height:46px;display:block;position:relative;box-shadow:0 8px 18px #2b375414}.dog-loader-ear{z-index:0;border:3px solid var(--color-ink);background:#8ee0d2;width:24px;height:38px;position:absolute;top:22px}.dog-loader-ear-left{border-radius:70% 30% 58% 42%;left:12px;transform:rotate(-24deg)}.dog-loader-ear-right{border-radius:30% 70% 42% 58%;right:12px;transform:rotate(24deg)}.dog-loader-eye,.dog-loader-nose{background:var(--color-ink);border-radius:999px;display:block;position:absolute}.dog-loader-eye{width:6px;height:6px;top:16px}.dog-loader-eye-left{left:15px}.dog-loader-eye-right{right:15px}.dog-loader-nose{width:10px;height:8px;bottom:12px;left:50%;transform:translate(-50%)}@keyframes dog-loader-spin{to{transform:rotate(360deg)}}.auth-card{text-align:center;width:min(520px,100%);padding:32px}.auth-card h1{font-size:2rem}.auth-card p{margin-top:12px}.login-shell{background:#fff;justify-content:center;align-items:flex-start;min-height:100dvh;padding:32px;display:flex;overflow-y:auto}.login-card{background:#fffffff5;border:1px solid #8095b147;border-radius:24px;width:min(560px,100%);margin-block:auto;padding:40px;box-shadow:0 18px 42px #2b375414,0 1px 2px #2b375414}.login-brand{justify-content:center;margin-bottom:32px;display:flex}.login-brand .brand-mark{font-size:1.35rem}.login-brand .brand-icon{border-radius:10px;width:40px;height:40px}.login-card h1{text-align:center;margin-bottom:32px;font-size:1.55rem;font-weight:850;line-height:1.2}.auth-review-copy{color:var(--color-text-muted);text-align:center;margin:-12px 0 24px;line-height:1.6}.login-form{gap:22px;display:grid}.login-form label{color:var(--color-ink);gap:8px;font-size:1rem;font-weight:850;display:grid}.login-form input{background:#f6f9fd;border-radius:14px;height:48px}.password-field{gap:8px;display:grid}.password-input-wrap{display:block;position:relative}.password-input-wrap input{width:100%;padding-right:76px}.password-visibility-button{min-width:54px;color:var(--color-ink);font:inherit;background:0 0;border:0;border-radius:8px;padding:7px 8px;font-size:.82rem;font-weight:800;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-visibility-button:hover,.password-visibility-button:focus-visible{background:#74dac92e}.password-policy{color:var(--color-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:10px 0 0;padding:0;font-size:.82rem;font-weight:650;line-height:1.45;list-style:none;display:grid}.password-policy li{align-items:center;gap:7px;transition:color .16s,opacity .16s;display:flex}.password-policy-indicator{border:1px solid var(--color-border-strong);background:var(--color-surface-soft);border-radius:50%;flex:0 0 17px;place-items:center;width:17px;height:17px;display:grid}.password-policy li.is-met{color:#167e6d}.password-policy li.is-met .password-policy-indicator{border-color:var(--color-mint-deep);background:var(--color-mint)}.password-policy li.is-met .password-policy-indicator:after{content:"✓";color:var(--color-ink);font-size:.72rem;font-weight:900;line-height:1}.dashboard-pet-actions{align-items:center;gap:10px;display:flex}.dashboard-pet-actions .button{min-width:142px}.pet-invitations{gap:16px;display:grid}.pet-invitation-list{gap:12px;display:grid}.pet-invitation-card{border-left:4px solid var(--color-mint);justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;display:flex}.pet-invitation-copy,.pet-invitation-actions{align-items:center;gap:12px;display:flex}.pet-invitation-copy{min-width:0}.pet-invitation-copy h3{margin:0 0 4px;font-size:1.05rem}.pet-invitation-copy p{overflow-wrap:anywhere;margin:0}.pet-invitation-avatar{background:#74dac957;flex:none}.pet-invitation-actions .button{white-space:nowrap;width:auto}.pet-qr-zoom-trigger{cursor:zoom-in;background:0 0;border:0;border-radius:8px;padding:0;display:grid}.pet-qr-zoom-trigger:focus-visible{outline-offset:3px;outline:3px solid #31bfac57}.qr-zoom-backdrop{z-index:120}.qr-zoom-dialog{border:1px solid var(--color-border);background:#fff;border-radius:20px;width:min(520px,100%);padding:24px;box-shadow:0 28px 80px #16274438}.qr-zoom-dialog header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.qr-zoom-dialog header p{color:var(--color-muted);margin-top:5px}.qr-zoom-dialog>img{aspect-ratio:1;object-fit:contain;width:min(360px,100%);margin:24px auto 0;display:block}.phone-verification-form,.vet-add-parent-form{gap:16px;margin-top:18px;display:grid}.phone-verification-form{grid-template-columns:repeat(2,minmax(0,1fr))}.phone-verification-form label,.vet-add-parent-form label{gap:8px;min-width:0;display:grid}.phone-verification-form .form-actions{grid-column:1/-1}.vet-add-parent-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.vet-add-parent-form .button{min-height:46px}.field-error{color:var(--color-danger);font-weight:750}.login-form small{color:var(--color-muted);font-weight:650}.login-label-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.vet-certificate-field{border:1px solid var(--color-border);min-height:48px;color:var(--color-ink);background:#f6f9fd;border-radius:14px;align-items:center;gap:14px;padding:7px 14px;font-weight:650;display:flex;position:relative;overflow:hidden}.vet-certificate-field input{opacity:0;width:100%;height:100%;position:absolute;inset:0}.vet-certificate-button{color:var(--color-coral);background:#fff;border-radius:8px;padding:10px 16px;font-weight:800}.vet-consent-row{color:var(--color-ink);grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;font-weight:650;line-height:1.5}.vet-consent-row input{width:18px;height:18px;margin-top:2px}.text-button{color:var(--color-coral-deep);font:inherit;background:0 0;border:0;padding:0;font-size:.9rem;font-weight:750}.login-submit{border-radius:14px;width:100%;margin-top:2px}.signup-divider{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:34px 0 20px;display:grid}.signup-divider span{background:#8095b142;height:1px}.signup-divider p{font-size:.92rem;font-weight:650}.signup-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.login-wide-action{width:100%}.public-pet-page{place-items:start center;min-height:100dvh;padding:24px;display:grid;overflow-y:auto}.public-pet-card{gap:18px;width:min(520px,100%);margin-block:auto;padding:34px;display:grid}.public-pet-card h1{font-size:2rem}.public-pet-card dl{gap:12px;margin:0;display:grid}.public-pet-card div{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;gap:4px;padding:14px;display:grid}.public-pet-card dt{color:var(--color-muted);font-weight:800}.public-pet-card dd{color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-weight:900}.pet-full-page{background:var(--color-page);min-height:100vh;padding:0 28px 56px}.pet-loader-page{place-items:center;display:grid}.pet-profile-header{height:64px;color:var(--color-ink);align-items:center;gap:22px;display:flex}.pet-profile-header strong{font-size:1.35rem;font-weight:900}.pet-profile-header>span{color:var(--color-coral);font-size:.9rem;font-weight:850}.pet-profile-back{color:var(--color-ink);align-items:center;gap:8px;font-weight:850;display:inline-flex}.pet-profile-back span{font-size:2rem;line-height:1}.pet-profile-tabs{border-bottom:1px solid var(--color-border);background:#ffffffbd;gap:18px;margin:0 -28px 40px;padding:0 28px;display:flex;overflow-x:auto}.pet-profile-tabs button{min-height:60px;color:var(--color-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 20px;font-weight:900}.pet-profile-tabs button.is-active{border-color:var(--color-coral);color:var(--color-coral)}.pet-identity-layout{grid-template-columns:350px minmax(0,1fr);gap:40px;display:grid}.pet-photo-panel{min-height:350px;color:var(--color-muted);background:#e5ebf3c7;border-radius:24px;place-items:center;font-size:1.08rem;font-weight:700;display:grid;overflow:hidden}.pet-photo-panel img{object-fit:cover;width:100%;height:100%}.identity-details{padding:34px 32px}.profile-row{border-bottom:1px solid var(--color-border);min-height:56px;color:var(--color-muted);justify-content:space-between;align-items:center;gap:24px;display:flex}.profile-row:last-child{border-bottom:0}.profile-row strong{min-width:0;color:var(--color-ink);overflow-wrap:anywhere;text-align:right;font-weight:900}.pet-id-card-section{grid-column:1/-1;padding:30px}.compact-actions{flex-wrap:wrap;gap:8px;display:flex}.compact-actions .button{border-color:var(--color-border);border-radius:999px;min-height:38px;padding:0 16px;font-size:.88rem}.pet-id-card{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;width:min(480px,100%);margin:20px auto 0;padding:24px;display:grid}.pet-id-avatar{width:72px;height:72px;color:var(--color-ink);background:#e8ebf0;border-radius:999px;place-items:center;font-size:1.5rem;font-weight:900;display:grid;overflow:hidden}.pet-id-avatar img{object-fit:cover;width:100%;height:100%}.pet-id-card .pet-qr-code{width:82px;height:82px}.pet-id-card .pet-qr-zoom-trigger{grid-column:1/-1;justify-self:center}.pet-id-card p{margin:6px 0 8px}.pet-id-card small{color:var(--color-muted);grid-column:1/-1;justify-self:center}.emergency-card{grid-column:1/-1;gap:14px;padding:30px;display:grid}.emergency-save-message{margin-top:-2px}.emergency-card textarea,.observation-form textarea{resize:vertical;border:1px solid var(--color-border);width:100%;min-height:146px;color:var(--color-ink);font:inherit;background:#ffffffbd;border-radius:12px;outline:none;padding:14px}.checkbox-row{color:var(--color-ink);align-items:flex-start;gap:14px;display:flex}.checkbox-row input{width:20px;height:20px;margin-top:2px}.checkbox-row span{gap:4px;display:grid}.checkbox-row small{color:var(--color-muted)}.pet-tab-stack{gap:30px;display:grid}.year-filter{color:var(--color-muted);align-items:center;gap:14px;font-weight:750;display:flex}.year-filter strong,.soft-badge{background:var(--color-coral);min-height:38px;color:var(--color-ink);border-radius:999px;align-items:center;padding:0 18px;font-weight:900;display:inline-flex}.medical-chart-card{align-items:end;min-height:410px;padding:34px 80px;display:grid}.month-axis{color:#000;text-align:center;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;font-size:.88rem;display:grid}.health-summary-card{gap:20px;padding:30px;display:grid}.soft-badge{min-height:24px;color:var(--color-coral);background:#ff969624;margin-top:4px;padding:0 10px;font-size:.82rem}.owner-observation-note{color:#8c470b;background:#fffcecb3;border:1px solid #ecbe3cb8;border-radius:22px;padding:22px 60px}.owner-observation-note strong{color:#8c470b;font-weight:900}.owner-observation-note p{color:#a85f1f;font-size:.92rem}.observation-form{border-color:#ecbe3cb8;gap:14px;width:min(720px,100%);padding:26px;display:grid}.clinical-record-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.clinical-record-form label{gap:8px;display:grid}.clinical-record-form .full-row{grid-column:1/-1}.clinical-record-list{gap:16px;display:grid}.clinical-record-item{gap:10px;display:grid}.clinical-record-item div{justify-content:space-between;align-items:center;gap:16px;display:flex}.clinical-record-item time{color:var(--color-muted);font-size:.9rem}.observation-form .button-dashed{width:fit-content}.observation-photo-button{position:relative;overflow:hidden}.observation-photo-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.observation-list{gap:14px;display:grid}.observation-item{gap:12px;padding:22px;display:grid}.observation-item div{justify-content:space-between;align-items:center;gap:16px;display:flex}.observation-photo{border:1px solid var(--color-border);object-fit:cover;border-radius:8px;width:min(320px,100%);max-height:240px}.observation-item time,.access-history-row time{color:var(--color-muted);font-size:.84rem}.observation-item button,.access-row button{color:var(--color-coral-deep);background:0 0;border:0;font-weight:850}.tab-action-row{justify-content:flex-end;display:flex}.appointment-list{gap:14px;display:grid}.appointment-item{justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.appointment-item div{gap:6px;display:grid}.appointment-item span{color:var(--color-muted);font-weight:700}.appointment-item button{color:var(--color-ink);background:0 0;border:0;font-weight:900}.slot-picker{flex-wrap:wrap;gap:10px;display:flex}.slot-picker button{border:1px solid var(--color-border);min-height:38px;color:var(--color-ink);background:#ffffffb8;border-radius:999px;padding:0 16px;font-weight:900}.slot-picker button:hover,.slot-picker button:focus-visible{border-color:var(--color-coral)}.slot-picker button.is-selected{border-color:var(--color-coral);background:var(--color-coral)}.modal-close-button{width:38px;height:38px;color:var(--color-ink);background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.modal-close-button:hover,.modal-close-button:focus-visible{background:#ff96962e}.modal-close-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2.1px;width:20px;height:20px}.modal-backdrop{z-index:30;overscroll-behavior:contain;background:#14223a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.appointment-modal{border:1px solid var(--color-border);background:#fffffff5;border-radius:24px;grid-template-rows:auto minmax(0,1fr) auto;width:min(640px,100%);max-height:calc(100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #14223a38}.appointment-modal header,.appointment-modal footer{justify-content:space-between;align-items:center;gap:18px;padding:24px 26px;display:flex}.appointment-modal header{border-bottom:1px solid var(--color-border)}.appointment-modal footer{border-top:1px solid var(--color-border);background:#f7fafdd1;justify-content:flex-end}.appointment-modal-body{overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;min-height:0;padding:24px 26px 30px;display:grid;overflow-y:auto}.appointment-modal-body>*{min-width:0}.appointment-modal-body label,.appointment-modal-body .full-row{color:var(--color-muted);gap:8px;font-weight:850;display:grid}.appointment-modal-body .full-row{grid-column:1/-1}.appointment-modal-body p{font-weight:650}.claim-pet-modal{width:min(520px,100vw - 32px)}.measurement-field{grid-template-columns:minmax(0,1fr) 88px;gap:10px;display:grid}.measurement-field select{padding-inline:14px}.appointment-modal textarea{resize:vertical;border:1px solid var(--color-border);width:100%;min-height:98px;color:var(--color-ink);font:inherit;background:#f7fafdd1;border-radius:12px;outline:none;padding:14px}.empty-dashed-panel{min-height:108px;color:var(--color-muted);border:1px dashed #8095b133;border-radius:22px;place-items:center;font-weight:700;display:grid}.access-stack{padding:8px 28px}.access-stack h2{margin-bottom:14px;font-size:1.25rem}.access-card{color:var(--color-muted);padding:28px;font-weight:700}.grant-access-button{width:fit-content}.access-form{gap:14px;width:min(560px,100%);padding:22px;display:grid}.access-form label{color:var(--color-ink);gap:8px;font-weight:850;display:grid}.access-form .form-hint{color:var(--color-muted);margin:-4px 0 0;font-size:.875rem;line-height:1.5}.access-row,.access-history-row{justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.access-row+.access-row,.access-history-row+.access-history-row{border-top:1px solid var(--color-border)}.ownership-card{padding:30px}.ownership-card h2{margin-bottom:16px}.vet-page h1{font-size:2rem}.vet-dashboard-header,.vet-title-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.vet-title-row{justify-content:flex-start}.verified-badge{color:#008f65;background:#98e2d752;border:1px solid #11aa7147;border-radius:999px;align-items:center;min-height:28px;padding:0 12px;font-weight:900;display:inline-flex}.vet-search{display:block;position:relative}.vet-search input{height:58px;box-shadow:var(--shadow-soft);background:#ffffffc7;border-radius:20px;padding-right:54px}.vet-search-icon{width:28px;height:28px;color:var(--color-muted);fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.vet-list-section h2{margin-bottom:16px}.vet-patient-list{gap:16px;display:grid}.vet-patient-card{border-left:4px solid var(--color-coral);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:18px;padding:26px 20px 26px 36px;display:grid}.patient-icon{width:22px;height:22px;color:var(--color-coral);position:relative}.vet-patient-card div{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.vet-patient-card p{flex-basis:100%;font-size:1rem}.vet-patient-card mark{color:#9a5300;background:#ffe7a8;border-radius:999px;padding:4px 12px;font-weight:900}.vet-modal{width:min(640px,100vw - 32px)}.calendar-legend{color:var(--color-muted);flex-wrap:wrap;gap:12px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:inline-flex}.calendar-dot{background:var(--color-muted);border-radius:999px;width:11px;height:11px;display:inline-block}.calendar-dot-consultation{background:#3b82f6}.calendar-dot-vaccination{background:#10b981}.calendar-dot-surgery{background:#ef4444}.calendar-dot-checkup{background:#8b5cf6}.calendar-dot-grooming{background:#f59e0b}.calendar-dot-other,.calendar-dot-followUp{background:#64748b}.vet-calendar{padding:18px 14px 14px;overflow:hidden}.calendar-toolbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:10px;display:grid}.calendar-toolbar>strong{font-size:1.1rem;font-weight:700}.segmented-buttons{display:flex}.segmented-buttons:last-child{justify-content:flex-end}.segmented-buttons button{border:1px solid var(--color-border-strong);background:#fff;min-height:40px;padding:0 18px}.segmented-buttons button.is-active{background:#e8edf3;box-shadow:inset 0 2px 6px #2b37541f}.segmented-buttons .calendar-arrow-button{place-items:center;width:54px;padding:0;display:inline-grid}.calendar-arrow-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:20px;height:20px}.calendar-grid{grid-template-columns:repeat(7,minmax(96px,1fr));display:grid;overflow-x:auto}.calendar-grid-day{grid-template-columns:minmax(180px,1fr)}.calendar-grid-day .calendar-cell{align-items:flex-start;min-height:108px}.calendar-grid-day>strong:not(:first-child){display:none}.calendar-grid-week{grid-template-columns:repeat(7,minmax(132px,1fr))}.calendar-grid>strong,.calendar-cell{border:1px solid #8095b13d}.calendar-grid>strong{background:#fff;place-items:center;min-height:26px;display:grid}.calendar-cell{background:#ffffff9e;min-height:130px;padding:8px}.calendar-cell.is-muted{color:#8a94a3;background:#00000014}.calendar-cell.is-today{outline-offset:-2px;outline:2px solid #ff9696b8}.calendar-cell>span{width:fit-content;margin-left:auto;display:block}.calendar-event{color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;width:fit-content;max-width:100%;margin-top:8px;padding:5px 7px;font-size:.76rem;font-weight:800;display:inline-flex;overflow:hidden}.calendar-empty-state,.appointment-empty-state{border:1px dashed var(--color-border);color:var(--color-muted);text-align:center;border-radius:18px;padding:18px}.calendar-empty-state{margin-top:14px}.appointment-empty-state{background:#f8fbffb8;justify-items:center;gap:10px;display:grid}.appointment-empty-state strong{color:var(--color-ink)}.availability-list{gap:18px;display:grid}.availability-card{padding:18px}.availability-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.availability-row input{width:144px}.availability-row input:nth-of-type(3){width:92px}@media (max-width:980px){.hero{min-height:680px;padding:58px 0 0}.hero:before{background:#dcf5f0;width:auto;height:40%;inset:auto calc(50% - 50vw) 0}.hero-content{text-align:center;width:min(680px,100%)}.hero-content h1{max-width:680px;margin:0 auto;font-size:clamp(2.7rem,8vw,4.4rem)}.hero-copy{margin-inline:auto}.hero-actions,.hero-proof{justify-content:center}.hero-proof{display:none}.hero-pet{width:430px;height:330px;right:50%;transform:translate(50%)}.hero-pet>img{width:300px;right:50%;transform:translate(50%)}.hero-pet-note{bottom:34px;right:-48px}.step-grid,.care-grid,.detail-grid,.form-grid,.pet-identity-layout,.pet-profile-card{grid-template-columns:1fr}.app-shell{padding-left:0}.app-topbar{padding:0 24px}.app-sidebar{width:auto;padding:12px 18px;position:static}.nav-stack{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.nav-item{justify-content:center}.app-main,.admin-main{padding:28px 18px 40px}.admin-title-row{flex-direction:column;align-items:flex-start}.admin-metric-grid,.admin-chart-grid{grid-template-columns:1fr}.admin-tenant-form,.member-invite-form,.settings-page .member-invite-form{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero,.page-title-row,.card-header,.vet-dashboard-header{flex-direction:column;align-items:flex-start}.vet-title-row{flex-wrap:wrap}.clinical-record-form{grid-template-columns:1fr}.clinical-record-form .full-row,.pet-id-card-section{grid-column:auto}.medical-chart-card{min-height:300px;padding:28px;overflow-x:auto}.month-axis{min-width:760px}}@media (max-width:620px){.page-container{width:min(100% - 32px,1220px)}.public-header .button{width:auto}.hero{min-height:680px;padding-top:38px}.hero:before{height:32%}.hero-content h1{font-size:clamp(2.2rem,10.5vw,2.8rem);font-weight:780;line-height:1.02}.hero-copy{margin-top:18px;font-size:.94rem;line-height:1.55}.hero-actions{gap:10px;margin-top:22px}.hero-actions .button{min-height:44px}.hero-proof{display:none}.hero-pet{width:350px;height:210px}.hero-pet>img{width:220px}.hero-pet-note{display:none}.how-it-works{padding:60px 0 52px}.section-heading{margin-bottom:28px}.topbar-actions strong,.nav-item span:last-child{display:none}.hero-actions,.hero-tools{flex-direction:column;align-items:stretch}.dashboard-pet-actions,.phone-verification-form,.vet-add-parent-form{grid-template-columns:1fr;width:100%}.dashboard-pet-actions{display:grid}.pet-invitation-card,.pet-invitation-actions{flex-direction:column;align-items:stretch}.pet-invitation-actions,.pet-invitation-actions .button{width:100%}.phone-verification-form .form-actions{grid-column:auto}.button{width:100%}.login-shell{padding:16px}.login-card,.public-pet-card{padding:24px 20px}.login-label-row{flex-direction:column;align-items:flex-start;gap:6px}.signup-actions,.password-policy{grid-template-columns:1fr}.care-card,.settings-card,.pet-profile-card,.identity-details,.pet-id-card-section,.emergency-card,.health-summary-card,.ownership-card,.access-card{padding:20px}.pet-photo-panel{min-height:260px}.profile-row,.access-row,.access-history-row,.observation-item>div,.clinical-record-item>div{flex-direction:column;align-items:flex-start;gap:6px}.profile-row{padding-block:12px}.profile-row strong{text-align:left}.owner-observation-note{padding:20px}.access-stack{padding-inline:0}.vet-patient-card{grid-template-columns:32px minmax(0,1fr);padding:20px 16px}.vet-patient-card>.button{grid-column:1/-1}.calendar-toolbar{grid-template-columns:1fr;justify-items:center;gap:10px}.calendar-toolbar>strong{text-align:center;grid-row:1}.segmented-buttons,.segmented-buttons:last-child{justify-content:center;width:100%}.segmented-buttons button{flex:1 1 0;padding-inline:10px}.availability-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%;display:grid}.admin-tenant-form,.member-invite-form,.settings-page .member-invite-form,.member-list-row{grid-template-columns:1fr}.member-role{text-align:left}.availability-row input,.availability-row input:nth-of-type(3){width:100%}.availability-row input:nth-of-type(3),.availability-row span:last-of-type,.availability-row .button{grid-column:1/-1}.modal-backdrop{padding:12px}.appointment-modal{border-radius:16px;max-height:calc(100dvh - 24px)}.appointment-modal header,.appointment-modal footer{padding:16px 18px}.appointment-modal-body{gap:14px;padding:18px}.measurement-field{grid-template-columns:minmax(0,1fr) 72px}.qr-card{display:none}.pet-full-page{padding-inline:18px}.pet-profile-tabs{margin-inline:-18px;padding-inline:18px}.pet-id-card{grid-template-columns:1fr;justify-items:start}.appointment-modal-body{grid-template-columns:1fr}.appointment-modal footer,.appointment-item{flex-direction:column;align-items:stretch}}@media (max-height:700px){.modal-backdrop{padding:12px}.appointment-modal{max-height:calc(100dvh - 24px)}.appointment-modal header,.appointment-modal footer{padding:14px 20px}.appointment-modal-body{gap:14px;padding:16px 20px 20px}}
:root{--font-family-base:var(--font-inter), system-ui, sans-serif;--color-page:#fcf8fa;--color-surface:#fff;--color-surface-strong:#fff;--color-surface-soft:#fafafd;--color-border:#e9e9f0;--color-border-strong:#cfcfdd;--color-ink:#11132e;--color-muted:#626a81;--color-coral:#dd246e;--color-coral-deep:#be1759;--color-mint:#e4f8ef;--color-mint-deep:#00875d;--color-violet:#eee7ff;--color-danger:#c92a43;--accent:#dd246e;--accent-hover:#be1759;--accent-soft:#fce8f0;--brand-color:#d83d70;--shadow-soft:0 5px 22px #17142b05;--shadow-control:0 6px 20px #17142b0c;--radius-panel:14px;--radius-control:10px;--sidebar-width:224px;--topbar-height:76px}.theme-vet{--brand-color:#20a875;--accent:#00875d;--accent-hover:#006c4a;--accent-soft:#e3f5ed;--color-page:#f5fbf8;--color-coral:#00875d;--color-coral-deep:#006c4a}.theme-admin{--brand-color:#5546d7}.theme-admin .app-sidebar{--accent:#5546d7;--accent-soft:#eeebff}body{background:var(--color-page)}button,input,select,textarea{font-family:var(--font-family-base)}h1,h2,h3{font-family:var(--font-manrope), sans-serif;letter-spacing:-.035em;font-weight:750}p{font-weight:400}:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--accent);outline-offset:4px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.button{min-height:42px;padding:0 20px;font-size:.84rem;font-weight:650}.button-primary{color:#fff;background:var(--accent)}.button-primary:hover{background:var(--accent-hover)}.button-secondary{color:#513785;background:var(--color-violet)}.button-outline{color:var(--color-ink);border-color:var(--color-border-strong);background:#fff}.button-danger{color:#fff}.button-quiet{color:var(--color-ink);background:0 0}.button:disabled:hover{box-shadow:none;transform:none}.glass-panel{-webkit-backdrop-filter:none;backdrop-filter:none}.brand-mark{color:var(--color-ink);font-family:var(--font-outfit), sans-serif;letter-spacing:-.055em;gap:9px;font-size:1.8rem;font-weight:650}.brand-icon{width:36px;height:36px;color:var(--brand-color);background:0 0;border-radius:0;flex:none;overflow:visible}.brand-icon .snootr-logo{width:100%;height:100%;display:block}.care-icon{flex:none;width:20px;height:20px}.status-badge,.verified-badge{color:#137448;background:#e5f8ed;font-size:.72rem;font-weight:600}.landing-page{background:linear-gradient(135deg, var(--accent-soft), #fff 65%);padding:20px 24px 0}.landing-frame{background:#ffffffa8;border:1px solid #ffffffc9;border-radius:24px;max-width:1400px;margin:auto;overflow:hidden}.landing-header{align-items:center;gap:42px;padding:22px 40px;display:flex}.landing-nav{gap:30px;font-size:.8rem;display:flex}.landing-nav a:hover,.landing-footer a:hover{color:var(--accent)}.landing-auth-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.landing-auth-actions .button{white-space:nowrap;flex-shrink:0;width:auto}.landing-hero{grid-template-columns:1.05fr 1fr;align-items:center;min-height:620px;padding:20px 40px 24px;display:grid}.landing-copy{max-width:610px;padding:18px 0 50px}.audience-switch{border:1px solid var(--color-border);background:#fff;border-radius:999px;margin-bottom:42px;padding:4px;display:inline-flex}.audience-switch button{color:var(--color-muted);background:0 0;border:0;border-radius:999px;padding:10px 17px;font-size:.77rem;font-weight:600}.audience-switch button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.landing-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px;font-size:.68rem;font-weight:700}.landing-copy h1{letter-spacing:-.06em;font-size:clamp(2.6rem,4.2vw,4.2rem);line-height:1.1}.landing-copy h1 span{color:var(--color-ink)}.landing-description{max-width:470px;margin-top:24px;font-size:1rem;line-height:1.8}.landing-cta{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.landing-cta .button{min-height:47px;padding-inline:24px}.landing-reassurance{align-items:center;gap:8px;margin-top:24px;font-size:.72rem;display:flex}.landing-reassurance svg{width:14px;height:14px;color:var(--accent)}.landing-visual{isolation:isolate;place-items:center;min-width:0;height:570px;display:grid;position:relative}.visual-orbit{z-index:-1;aspect-ratio:1;background:radial-gradient(circle, var(--accent-soft), transparent 72%);border-radius:50%;width:95%;position:absolute}.phone-preview{background:#fff;border:7px solid #22232c;border-radius:44px;width:284px;height:524px;padding:16px 13px;position:relative;transform:rotate(6deg);box-shadow:3px 3px #777783,0 25px 55px #38203323}.phone-status{justify-content:space-between;align-items:center;padding:0 10px;font-size:9px;font-weight:700;display:flex}.phone-island{background:#111;border-radius:20px;width:76px;height:21px}.phone-heading{justify-content:space-between;margin:22px 2px 12px;font-size:11px;font-weight:600;display:flex}.sample-pet-card{background:linear-gradient(125deg, #f88eb6, var(--accent));color:#fff;border-radius:16px;height:185px;position:relative;overflow:hidden;box-shadow:0 7px 14px #dd246e1a}.theme-vet .sample-pet-card{background:linear-gradient(125deg, #63c8a5, var(--accent))}.sample-card-brand{z-index:2;font:600 22px var(--font-outfit), sans-serif;letter-spacing:-1px;position:absolute;top:13px;left:14px}.sample-card-brand span{margin-left:3px}.sample-pet-card>img{object-fit:contain;width:165px;height:190px;position:absolute;bottom:-10px;right:-10px}.sample-card-name{text-shadow:0 1px 8px #69203355;gap:3px;display:grid;position:absolute;bottom:16px;left:14px}.sample-card-name strong{font:600 30px var(--font-outfit), sans-serif}.sample-card-name span{font-size:10px}.sample-card-name small{font-size:7px}.sample-id-icon{width:34px;height:34px;color:var(--accent);background:#fff;border-radius:8px;place-items:center;display:grid;position:absolute;bottom:13px;right:12px}.phone-details{padding:16px 3px}.phone-details .status-badge{min-height:19px;padding-inline:8px;font-size:8px}.phone-details h3{margin-top:12px;font-size:15px}.phone-details p{margin:6px 0 10px;font-size:9px;line-height:1.6}.phone-detail-row{border-top:1px solid var(--color-border);align-items:center;gap:9px;padding:10px 0;font-size:10px;display:flex}.phone-detail-row .care-icon{width:15px;height:15px;color:var(--accent)}.phone-detail-row span:last-child{margin-left:auto}.phone-home-indicator{background:#161622;border-radius:4px;width:85px;height:4px;position:absolute;bottom:9px;left:calc(50% - 42px)}.floating-note{z-index:2;background:#ffffffef;border:1px solid #fff;border-radius:14px;align-items:center;gap:10px;padding:13px 16px;display:flex;position:absolute;box-shadow:0 12px 30px #35263f0d}.floating-note strong,.floating-note small{display:block}.floating-note strong{font-size:11px}.floating-note small{color:var(--color-muted);margin-top:5px;font-size:9px}.note-top{top:62px;left:-10px}.note-bottom{bottom:55px;right:-6px}.preview-caption{color:var(--color-muted);font-size:9px;position:absolute;bottom:-8px}.landing-benefits{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:32px 40px 38px;display:grid}.landing-benefits article{align-items:flex-start;gap:13px;display:flex}.benefit-icon{width:42px;height:42px;color:var(--accent);background:var(--accent-soft);border-radius:50%;flex:0 0 42px;place-items:center;display:grid}.benefit-card{color:#874ce0;background:#f1e8ff}.benefit-heart{color:#00875d;background:#e3f7ed}.landing-benefits h2{font-family:var(--font-inter), sans-serif;letter-spacing:-.02em;font-size:.8rem;font-weight:650;line-height:1.5}.landing-benefits p{margin-top:4px;font-size:.75rem;line-height:1.7}.landing-section{max-width:1140px;margin:auto;padding:88px 20px;scroll-margin-top:24px}.landing-section h2{font-size:clamp(2rem,3vw,2.8rem);line-height:1.2}.landing-steps{grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.landing-steps article{border-top:1px solid var(--color-border-strong);padding:26px 0}.step-number{color:var(--accent);font:500 30px var(--font-outfit), sans-serif;margin-bottom:22px;display:block}.landing-steps h3{font-size:1.05rem}.landing-steps p{margin-top:12px;font-size:.85rem;line-height:1.8}.landing-faq{grid-template-columns:1fr 1.5fr;gap:60px;padding-top:15px;display:grid}.landing-faq details{border-bottom:1px solid var(--color-border);padding:22px 0}.landing-faq summary{cursor:pointer;justify-content:space-between;gap:20px;font-size:.9rem;font-weight:600;list-style:none;display:flex}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq summary span{color:var(--accent)}.landing-faq details[open] summary span{transform:rotate(45deg)}.landing-faq details p{margin-top:14px;font-size:.85rem}.landing-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;max-width:1320px;margin:auto;padding:30px 0;display:flex}.landing-footer p,.landing-footer>a{font-size:.75rem}.app-shell{background:var(--color-page)}.app-topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding:0 28px}.app-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding:28px 16px}.workspace-label{text-transform:uppercase;letter-spacing:.09em;margin:0 12px 20px;font-size:.62rem;font-weight:600}.nav-stack{gap:6px}.nav-item{min-height:44px;color:var(--color-muted);gap:12px;padding:0 14px;font-size:.83rem;font-weight:550}.nav-item.is-active{color:var(--accent);background:var(--accent-soft);font-weight:650}.nav-item:hover{color:var(--accent);background:var(--accent-soft)}.nav-icon{stroke-width:1.7px;width:18px;height:18px}.nav-icon-pets{background:currentColor;width:24px;height:24px;-webkit-mask:url(/assets/nuzzle-mark-outline.png) 50%/contain no-repeat;mask:url(/assets/nuzzle-mark-outline.png) 50%/contain no-repeat}.app-main{max-width:1500px;margin:auto;padding:38px clamp(22px,4vw,64px) 64px}.app-main>.pet-full-page{min-height:0;padding:0}.app-main>.pet-loader-page{min-height:50vh}.app-main>.pet-full-page .pet-profile-tabs{margin-inline:0;padding-inline:0}.user-avatar{width:36px;height:36px;color:var(--accent);background:var(--accent-soft);font-size:.75rem;font-weight:650}.user-chip{gap:10px;font-size:.85rem;font-weight:600}.user-chip strong{font-weight:600}.topbar-actions{gap:18px}.bell-icon{width:20px;height:20px}.account-menu-item{font-size:.85rem;font-weight:550}.account-menu-item:hover,.account-menu-item:focus-visible{background:var(--accent-soft)}.content-stack{gap:24px}.dashboard-hero h1,.page-title-row h1,.vet-page h1{font-size:clamp(1.65rem,3vw,2.15rem);line-height:1.3}.dashboard-hero p{margin-top:8px;font-size:.84rem}.hero-tools{align-items:flex-start}.care-card,.settings-card,.pet-profile-card{padding:24px}.care-card h2,.card-heading h2{font-size:1.05rem}.care-card p,.info-tile{font-size:.82rem}.care-card>p{margin-top:18px}.card-header a{color:var(--accent);font-size:.76rem;font-weight:600}.dashboard-pet-actions .button{min-height:40px}.info-tile{background:#fff;border-radius:10px}.info-tile strong{font-weight:600}.pet-card-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:16px;display:grid}.dashboard-pet-card{border:1px solid var(--color-border);text-align:left;min-width:0;color:var(--color-ink);background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:7px;padding:12px;display:flex}.dashboard-pet-card:hover,.dashboard-pet-card.is-selected{border-color:var(--accent);box-shadow:var(--shadow-soft)}.dashboard-pet-photo{aspect-ratio:1.5;background:var(--accent-soft);width:100%;color:var(--accent);border-radius:9px;place-items:center;display:grid;overflow:hidden}.dashboard-pet-photo img{object-fit:cover;width:100%;height:100%}.dashboard-pet-photo>svg{width:36px;height:36px}.dashboard-pet-card strong{font:700 .96rem var(--font-manrope), sans-serif;padding-top:4px}.dashboard-pet-card small{color:var(--color-muted);font-size:.72rem}.dashboard-pet-card .status-badge{min-height:23px;margin-top:3px;padding:0 9px}.add-pet-card{background:#ffffff80;border-style:dashed;justify-content:center;align-items:center;min-height:230px}.add-pet-card>svg{color:var(--accent);width:30px;height:30px}.pet-profile-tabs{border-color:var(--color-border);gap:20px}.pet-profile-tabs button{font-size:.8rem;font-weight:550}.pet-profile-tabs button.is-active{color:var(--accent);border-color:var(--accent);background:0 0}.slot-picker button.is-selected{color:#fff}.profile-row{font-size:.82rem}.profile-row strong,.detail-grid dd{font-weight:550}.pet-id-card{background:var(--accent-soft);border-color:var(--color-border)}.vet-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.vet-stat{border:1px solid var(--color-border);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:22px;display:flex}.vet-stat strong{font:700 1.6rem var(--font-manrope), sans-serif;display:block}.vet-stat small{color:var(--color-muted);font-size:.75rem}.vet-patient-card{border-radius:12px;padding:18px 20px}.vet-patient-card p{font-size:.8rem}.vet-search input{background:#fff;border-radius:10px;height:46px;font-size:.85rem}.vet-list-section h2{font-size:1.05rem}.vet-list-section .empty-dashed-panel{background:#fff;min-height:120px;font-size:.85rem}.login-shell{background:radial-gradient(ellipse at top left, var(--accent-soft), #fafafd 65%)}.login-card{border-color:var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:20px}.login-card h1{font-size:2rem}.login-form label{font-size:.82rem;font-weight:600}.text-button{color:var(--accent);font-weight:600}@media (max-width:1100px){.landing-header{gap:24px;padding:20px 28px}.landing-nav{gap:18px}.landing-hero{padding-inline:28px}.floating-note{padding:10px}.note-top{top:35px;left:-5px}.note-bottom{bottom:30px;right:-12px}.landing-benefits{gap:20px;padding-inline:28px}}@media (max-width:980px){.app-sidebar{padding:12px 18px}.workspace-label{display:none}.app-main{padding:26px 20px 40px}.app-shell .nav-item{min-height:42px}.landing-nav{display:none}.landing-copy h1{font-size:2.7rem}.floating-note{display:none}.landing-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-visual{height:550px}}@media (max-width:700px){.landing-page{padding:10px 10px 0}.landing-frame{border-radius:18px}.landing-header{flex-wrap:wrap;gap:8px;padding:16px}.landing-header .brand-mark{font-size:1.5rem}.landing-header .brand-icon{width:30px;height:30px}.landing-auth-actions{gap:2px}.landing-auth-actions .button{min-height:36px;padding:0 10px;font-size:.73rem}.landing-auth-actions .care-icon{display:none}.landing-hero{grid-template-columns:1fr;padding:26px 20px}.landing-copy{text-align:center;margin:auto;padding:0}.audience-switch{margin-bottom:30px}.landing-copy h1{font-size:clamp(2.3rem,8vw,3.3rem)}.landing-description{margin-top:18px;font-size:.88rem}.landing-cta,.landing-reassurance{justify-content:center}.landing-reassurance{margin-bottom:16px}.landing-visual{height:560px}.phone-preview{transform:rotate(3deg)scale(.95)}.landing-benefits{gap:25px 16px;padding:24px 20px 32px}.landing-benefits article{flex-direction:column;gap:10px}.landing-section{padding:56px 14px}.landing-steps,.landing-faq{grid-template-columns:1fr;gap:18px}.landing-steps article{padding:22px 0 0}.step-number{margin-bottom:12px}.landing-faq{padding-top:0}.landing-footer{flex-wrap:wrap;padding-inline:12px}.landing-footer p{order:3;width:100%}.vet-stat-grid{grid-template-columns:1fr;gap:10px}.vet-stat{padding:15px 18px}.pet-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.add-pet-card{min-height:200px}.app-shell .nav-stack{display:flex;overflow-x:auto}.app-shell .nav-item{flex:1 0 auto;gap:6px;padding-inline:12px;font-size:.75rem}.app-shell .nav-item span:last-child{display:inline}.app-topbar{padding-inline:18px}.app-topbar .brand-mark{font-size:1.5rem}.hero-tools{flex-wrap:wrap}.care-card,.settings-card,.pet-profile-card{padding:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
