:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-control:8px;--radius-card:12px;--radius-panel:16px;--radius-pill:999px;--control-min-height:44px;--text-small:12px;--text-body:16px;--text-label:13px;--text-section-title:18px;--text-page-title:clamp(28px, 5vw, 62px);--elevation-base:0 6px 16px #1720330f;--elevation-floating:0 10px 28px #1720331f;--elevation-overlay:0 20px 60px #17203314;--motion-fast:.12s;--motion-standard:.18s;--bottom-nav-height:76px;--bottom-nav-space:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + var(--space-3));--background:#fbfbf7;--surface:#fff;--surface-alt:#f0f8f7;--ink:#162132;--muted:#667085;--line:#e1ecea;--primary:#1f7f82;--primary-deep:#26324b;--primary-soft:#e7f5f3;--blue:#3f77a8;--terracotta:#c46d4f;--violet:#8d77b7;--gold:#c49a32;--success:#3d795f;--warning:#8a6818;--danger:#a3533c;--critical-soft:#fff2ed;--warning-soft:#fff8de;--success-soft:#f1faf5;--form-max-width:720px;--form-control-height:52px;--form-control-radius:12px;--form-section-gap:32px;--form-field-gap:18px;--form-grid-gap-x:16px;--form-grid-gap-y:20px;--form-label-size:14px;--form-value-size:16px;--form-help-size:13px;--form-focus-ring:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent)}*{box-sizing:border-box}html,body{overscroll-behavior-x:none;background:var(--background);width:100%;max-width:100%;min-height:100%;color:var(--ink);touch-action:pan-y;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button{min-height:var(--control-min-height);border-radius:var(--radius-control);background:var(--primary);color:#fff;cursor:pointer;border:0;padding:0 14px;font-weight:800}:where(a,button,input,select,summary,textarea,[tabindex]):focus-visible{outline:3px solid #75b8ba;outline:3px solid color-mix(in srgb, var(--primary) 70%, #fff);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}h1,h2,p{margin:0}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.legalPage{gap:18px;width:min(860px,100% - 32px);margin:0 auto;padding:56px 0;line-height:1.6;display:grid}.legalPage ul{margin:0;padding-left:22px}.legalPage code{background:var(--primary-soft);border-radius:6px;padding:2px 6px}.dangerNote{border-color:color-mix(in srgb, var(--danger) 40%, var(--line));background:var(--critical-soft)}.authPage{background:linear-gradient(#fbfaf71a,#fbfaf73d),url(/splash-background.png) 50% 58%/cover;flex-direction:column;justify-content:space-between;align-items:center;gap:28px;min-height:100vh;padding:28px 24px 54px;display:flex}.authPage:before,.splashState:before{content:"";pointer-events:none;position:fixed;inset:0}.authPage:before{background:#fbfaf714}.authHero{z-index:1;text-align:center;opacity:.78;justify-items:center;gap:12px;width:min(360px,100vw - 48px);margin-top:auto;display:grid;position:relative}.authLogo{object-fit:contain;width:94px;height:94px}.authHero h1,.pageHeader h1,.onboardingPanel h1{font-size:var(--text-page-title);letter-spacing:0;line-height:1}.authHero p,.pageHeader p,.muted{color:var(--muted);line-height:1.55}.authCard,.panel,.section,.modalPanel{border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--elevation-overlay);background:#fffffff0}.authCard{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;gap:14px;width:min(420px,100vw - 48px);margin-top:18px;padding:18px;display:grid;position:relative}.authForm{gap:14px;display:grid}.segmented{background:var(--surface-alt);border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.segmented button{color:var(--muted);background:0 0}.segmented .selected{background:var(--surface);color:var(--primary);box-shadow:0 6px 16px #1720330f}.field{color:var(--muted);font-size:var(--text-label);gap:6px;font-weight:800;display:grid}.field input,.field select,.field textarea{min-height:var(--control-min-height);border:1px solid var(--line);border-radius:var(--radius-control);width:100%;color:var(--ink);font-size:var(--text-body);background:#fff;padding:0 12px;font-weight:700}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--danger)}.fieldError{color:var(--danger);font-size:12px;font-weight:800}.formField,.choiceGroup,.passwordField{gap:7px;min-width:0;display:grid}.formLabel,.choiceGroup legend{color:var(--primary-deep);font-size:var(--form-label-size);font-weight:800}.formLabel em{color:var(--muted);margin-left:6px;font-size:12px;font-style:normal;font-weight:600}.formControl{display:block;position:relative}.formField input,.formField textarea,.formControl input{border:1px solid var(--line);border-radius:var(--form-control-radius);background:var(--surface);width:100%;color:var(--ink);font-size:var(--form-value-size);font-weight:600}.formField input,.formControl input{min-height:var(--form-control-height);padding:0 14px}.formField textarea{resize:vertical;min-height:112px;padding:14px;line-height:1.45}.formControl.withSuffix input{padding-right:64px}.formSuffix{color:var(--muted);pointer-events:none;font-size:14px;font-weight:800;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.formHelp{color:var(--muted);font-size:var(--form-help-size);line-height:1.4}.formField input[aria-invalid=true],.formField textarea[aria-invalid=true],.choiceGroup[aria-invalid=true] .choiceOptions{border-color:var(--danger)}.formField input:focus,.formField textarea:focus{border-color:var(--primary);box-shadow:var(--form-focus-ring);outline:none}.passwordField{position:relative}.passwordField .passwordToggle{z-index:1;position:absolute;top:30px;right:13px}.passwordField .formControl input{padding-right:76px}.choiceGroup{border:0;margin:0;padding:0}.choiceOptions{border-radius:var(--form-control-radius);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:0;display:grid}.choiceOption{min-height:var(--form-control-height);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;align-content:center;gap:2px;display:grid}.choiceOption small{color:var(--muted);font-size:11px;font-weight:600}.choiceOption.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-deep)}.formSection{padding-top:var(--form-section-gap);border-top:1px solid var(--line);gap:16px;display:grid}.formSection:first-child{border-top:0;padding-top:0}.formSection>div:first-child{gap:5px;display:grid}.formSection h3{color:var(--primary-deep);margin:0;font-size:18px}.formSection p{color:var(--muted);font-size:14px;line-height:1.45}.dangerFormSection{border-color:color-mix(in srgb, var(--danger) 28%, var(--line))}.formGrid12{gap:var(--form-grid-gap-y) var(--form-grid-gap-x);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.formGrid12>*{grid-column:span 12}.formGrid12>.formField:not(.formFieldWide),.formGrid12>.choiceGroup{grid-column:span 6}.photoUpload{background:var(--surface-alt);border-radius:18px;align-items:center;gap:16px;padding:14px;display:flex}.photoPreview{background:var(--primary-deep);color:#fff;border-radius:22px;flex:none;place-items:center;width:84px;height:84px;font-size:30px;font-weight:900;display:inline-grid;overflow:hidden}.photoPreview img{object-fit:cover;width:100%;height:100%}.photoUpload>div{gap:6px;display:grid}.photoUpload p{color:var(--muted);font-size:13px}.photoActions{align-items:center;gap:10px;display:flex}.formStatus{margin:0;font-size:13px;font-weight:800}.formStatus.dirty{color:var(--warning)}.formStatus.saving{color:var(--primary)}.formStatus.saved{color:var(--success)}.formStatus.error{color:var(--danger)}.errorText{color:var(--danger);font-size:13px;font-weight:800}.successText{color:var(--success);font-size:13px;font-weight:800}.primaryAction,.secondaryAction,.ghostAction,.dangerAction{min-height:var(--control-min-height)}.secondaryAction{border:1px solid var(--primary);color:var(--primary);background:#fff}.ghostAction{background:var(--primary-soft);color:var(--primary)}.textAction{min-height:36px;color:var(--primary);text-underline-offset:3px;background:0 0;padding:0;font-size:14px;text-decoration:underline}.backAction{white-space:nowrap}.dangerAction{color:var(--danger);background:#fff7f3;border:1px solid #c26751}.wide{width:100%}.appShell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#ffffffe0;align-content:start;gap:24px;height:100vh;padding:20px;display:grid;position:sticky;top:0}.brandBlock{align-items:center;gap:12px;display:flex}.brandBlock img{width:44px;height:44px}.brandBlock>img{border-radius:8px}.brandBlock div{gap:2px;min-width:0;display:grid}.brandBlock span{color:var(--muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}.sidebar nav{gap:8px;display:grid}.navItem{color:var(--muted);text-align:left;transition:background-color var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-fast) ease;background:0 0;justify-content:flex-start;align-items:center;gap:9px;display:inline-flex;position:relative}.navItem.active{background:var(--primary);color:#fff}.navIcon{background:#1f7f8214;border-radius:12px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #1f7f8214}.navIcon img{object-fit:cover;width:100%;height:100%;display:block;transform:scale(1.22)}.navItem.active .navIcon{background:#ffffff3d;box-shadow:0 6px 16px #1720332e}.navBadge{border-radius:var(--radius-pill);background:var(--danger);color:#fff;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;font-size:11px;line-height:1;display:inline-flex}.content{width:min(1180px,100%);padding:var(--space-6);padding-bottom:var(--space-6);align-content:start;gap:18px;display:grid}.pageHeader{justify-content:space-between;align-items:flex-end;gap:18px;padding:12px 2px 4px;display:flex}.pageHeader>div{gap:8px;display:grid}.eyebrow{color:var(--muted);letter-spacing:0;font-size:12px;font-weight:900}.petSelector{padding:var(--space-1) 2px;scrollbar-width:thin;gap:10px;display:flex;overflow-x:auto}.petChip{min-height:var(--control-min-height);border:1px solid var(--line);background:var(--surface);color:var(--muted);align-items:center;gap:8px;display:flex}.petChip.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.petChip.add{border-style:dashed}.section{box-shadow:none;gap:12px;padding:16px;display:grid}.openSection{gap:12px;padding:4px 2px 10px;display:grid}.sectionHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.sectionHeader h2{font-size:var(--text-section-title)}.dailyCard,.dailyHero,.profileCard,.petEditorialHero,.listCard,.compactAlert,.infoCell,.infoRow,.noteBox,.inlinePanel,.emptyState,.toggleRow,.accountRow{border:1px solid var(--line);background:var(--surface);border-radius:8px}.dailyHero{border-left-width:7px;align-items:center;gap:14px;min-height:110px;padding:16px;display:flex}.todaySummary{border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(135deg, var(--primary-soft), var(--surface));border-left-width:7px;align-items:center;gap:14px;min-height:112px;padding:16px;display:flex}.todaySummary>div{gap:4px;min-width:0;display:grid}.todaySummary h2{font-size:clamp(21px,5vw,28px)}.todayCounts{color:var(--muted);flex-wrap:wrap;gap:8px 12px;font-size:13px;display:flex}.todayCounts b{color:var(--ink);font-variant-numeric:tabular-nums}.dailyHero h2{font-size:clamp(22px,6vw,30px)}.todayAlertStrip{border:1px solid #f0d6ca;border-left:7px solid var(--danger);background:#fff2edd1;border-radius:18px;gap:10px;padding:12px;display:grid}.todayAlertStrip>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.todayAlertStrip span{color:var(--muted);font-size:13px;font-weight:800}.todayTimeline{gap:10px;display:grid;position:relative}.todayTimeline:before{content:"";background:var(--line);border-radius:999px;width:2px;position:absolute;top:14px;bottom:14px;left:44px}.timelineItem{grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid;position:relative}.timelineItem:before{content:"";border:3px solid var(--background);background:var(--primary);width:14px;height:14px;box-shadow:0 0 0 1px var(--line);border-radius:999px;position:absolute;left:38px}.timelineItem.late:before{background:var(--warning)}.timelineItem.completed{background:linear-gradient(90deg,#f1faf5b3,#0000)}.timelineItem.completed:before{background:var(--success)}.timelineItem time{color:var(--primary-deep);text-align:right;font-size:15px;font-weight:900}.timelineBody{border:1px solid var(--line);background:#ffffffb8;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:12px;display:flex}.timelineBody div{gap:4px;min-width:0;display:grid}.timelineBody p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.timelineItem.completed .timelineBody{background:#f3faf6d1;border-color:#b8d5c6}.dailyCard{border-left-width:8px;align-items:center;gap:14px;min-height:112px;padding:18px;display:flex}.dailyCard h2{font-size:26px}.profileCard{border-left-width:8px;align-items:center;gap:14px;padding:14px;display:flex}.petEditorialHero{background:linear-gradient(135deg, #e7f5f3eb, #ffffffe0), var(--surface);border-left-width:8px;align-items:flex-end;gap:18px;min-height:190px;padding:18px;display:flex}.petEditorialHero .avatar.large{border-radius:26px;width:132px;height:132px}.petEditorialHero div{gap:6px;min-width:0;display:grid}.petEditorialHero span{color:var(--muted);font-size:12px;font-weight:900}.petEditorialHero h2{font-size:clamp(32px,8vw,56px);line-height:.95}.petEditorialHero p{color:var(--muted);font-weight:800}.userProfileSummary{border-left-color:var(--primary)}.contextPetCard{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:10px;min-height:62px;padding:10px 12px;display:flex}.contextPetCard div{gap:2px;display:grid}.contextPetCard span{color:var(--muted);font-size:13px;font-weight:700}.avatar{object-fit:cover;background:var(--primary-soft);border-radius:8px;flex:none;justify-content:center;align-items:center;width:58px;height:58px;font-size:22px;font-weight:900;display:inline-flex}.avatar.large{width:104px;height:104px;font-size:36px}.avatar.small{width:30px;height:30px;font-size:13px}.infoGrid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.infoCell{background:#ffffffa3;gap:4px;padding:10px;display:grid}.lightList{border-top:1px solid var(--line);display:grid}.infoRow{border:0;border-bottom:1px solid var(--line);background:0 0;grid-template-columns:minmax(96px,.8fr) minmax(0,1.2fr);align-items:center;gap:14px;min-height:48px;padding:11px 0;display:grid}.infoRow span{color:var(--muted);font-size:13px;font-weight:800}.infoRow strong{text-align:right;overflow-wrap:anywhere;min-width:0;font-size:14px}.stockReminderLines{min-width:0;color:var(--ink);text-align:right;overflow-wrap:anywhere;gap:6px;font-size:14px;display:grid}.stockReminderThresholdDate,.stockReminderApplicationDate{font-weight:900}.stockReminderDepletionDate{color:var(--danger);font-weight:900}.stockReminderLines .stockReminderCoverageMonth{color:var(--danger);font-size:inherit;font-weight:900}.compactStockReminderLines{text-align:left}.infoCell span,.listCard p,.compactAlert span,.accountRow small{color:var(--muted);font-size:13px;line-height:1.45}.noteBox,.inlinePanel{background:var(--primary-soft);color:var(--primary);gap:8px;padding:12px;display:grid}.listCard{justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.listCard>div:first-child{gap:5px;min-width:0;display:grid}.rowActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.stockSectionList{gap:16px;display:grid}.stockAccordionList,.therapyList{gap:10px;display:grid}.therapyHistoryList{gap:12px;display:grid}.therapyHistoryList .listCard{align-items:stretch;display:grid}.listCardHeader{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex}.therapyHistoryRow{grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.therapyHistoryRow>span{color:var(--terracotta);font-weight:900}.therapyHistoryRow div{gap:2px;min-width:0;display:grid}.therapyHistoryRow small{color:var(--muted);font-size:12px}.stockAccordion,.therapyDisclosure,.stockRow{border:1px solid var(--line);background:#ffffffb8;border-radius:18px;overflow:hidden}.stockAccordion>summary,.therapyDisclosure>summary,.stockRow>summary{cursor:pointer;align-items:center;gap:10px;min-height:56px;padding:12px 42px 12px 12px;list-style:none;display:grid;position:relative}.stockAccordion>summary:after,.therapyDisclosure>summary:after,.stockRow>summary:after{content:"+";color:var(--primary-deep);font-size:20px;font-weight:900;position:absolute;right:14px}.stockAccordion[open]>summary:after,.therapyDisclosure[open]>summary:after,.stockRow[open]>summary:after{content:"−"}.stockAccordion>summary::-webkit-details-marker{display:none}.therapyDisclosure>summary::-webkit-details-marker{display:none}.stockRow>summary::-webkit-details-marker{display:none}.stockAccordion>summary{grid-template-columns:minmax(0,1fr) auto auto}.stockRows{gap:8px;padding:0 10px 10px;display:grid}.stockRow{border-left-width:7px;border-radius:14px}.stockRow>summary{grid-template-columns:minmax(0,1fr) auto auto;min-height:64px}.stockRow>summary div,.therapyDisclosure>summary div{gap:4px;min-width:0;display:grid}.stockRow>summary span,.therapyDisclosure>summary span{color:var(--muted);font-size:13px;font-weight:800}.stockRow>summary b{color:var(--primary-deep);white-space:nowrap;font-size:14px}.stockRowDetails,.therapyDetails{gap:12px;padding:0 12px 12px;display:grid}.stockRowDetails p{color:var(--muted);font-size:13px;line-height:1.45}.purchaseSheet{gap:14px;display:grid}.purchaseIntro{background:var(--primary-soft);border-radius:18px;align-items:center;gap:12px;padding:12px;display:flex}.purchaseIntro div{gap:3px;min-width:0;display:grid}.purchaseIntro strong,.purchaseResultCard strong{color:var(--ink)}.purchaseIntro p,.purchaseResultCard span,.purchaseResultCard small,.purchaseHighlight small,.purchaseState p{color:var(--muted);line-height:1.45}.purchaseState{border:1px solid var(--line);text-align:center;background:#fff;border-radius:18px;place-items:center;gap:6px;min-height:112px;padding:18px;display:grid}.purchaseState small{color:var(--muted);font-size:12px;line-height:1.45}.manualSearchActions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.manualSearchActions a{background:var(--primary);color:#fff;border-radius:999px;align-items:center;min-height:44px;padding:0 12px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.manualSearchActions a:last-child{border:1px solid var(--primary);color:var(--primary);background:#fff}.purchaseCacheNote{background:var(--surface-alt);width:fit-content;color:var(--muted);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.purchaseHighlights,.purchaseResultList{gap:10px;display:grid}.purchaseSourceSection{gap:8px;display:grid}.purchaseSourceSection h3{color:var(--primary-deep);letter-spacing:0;margin:4px 0 0;font-size:15px}.purchaseHighlight,.purchaseResultCard{border:1px solid var(--line);background:#fff;border-radius:18px}.purchaseHighlight{gap:4px;padding:12px;display:grid}.purchaseHighlight span{color:var(--muted);font-size:12px;font-weight:900}.purchaseHighlight strong{color:var(--primary-deep);font-size:22px}.purchaseResultCard{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;display:grid}.purchaseResultCard div:first-child{gap:4px;min-width:0;display:grid}.purchaseResultMeta{text-align:right;justify-items:end;gap:4px;display:grid}.purchaseResultMeta b{color:var(--primary-deep)}.purchaseResultMeta a{background:var(--primary);color:#fff;border-radius:999px;align-items:center;min-height:44px;padding:0 12px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.therapyDisclosure>summary{grid-template-columns:minmax(0,1fr) auto}.therapyDisclosure>summary div{gap:3px;min-width:0;display:grid}.therapyDisclosure>summary span,.therapyDisclosure>summary small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.therapyDisclosure>summary small{color:var(--primary-deep);font-weight:800}.pillRow{flex-wrap:wrap;gap:8px;display:flex}.verticalSchedule{border-top:1px solid var(--line);gap:0;display:grid}.dosePill{background:var(--primary-soft);min-height:30px;color:var(--primary-deep);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.stockCategorySection{gap:10px;display:grid}.stockCategoryHeader{justify-content:space-between;align-items:center;gap:10px;min-height:34px;display:flex}.stockCategoryHeader span:last-child{color:var(--muted);font-size:13px;font-weight:800}.stockCategoryCount,.stockQuantity{font-variant-numeric:tabular-nums}.stockCategoryCount{color:var(--muted);font-size:13px;font-weight:800}.stockCard{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:12px;padding:14px;display:grid}.stockCardHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.stockCardHeader>div{gap:5px;min-width:0;display:grid}.stockCardHeader p{color:var(--muted);font-size:13px;line-height:1.45}.stockMetrics,.therapyReview{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.pending{border-color:#d8d7d0}.late,.stock-warning{background:#fff9df;border-color:#e7d79a}.completed,.stock-ok{background:#f3faf6;border-color:#b8d5c6}.stock-critical{background:#fff3ee;border-color:#e3b4a8}.stockRow.stock-ok{border-left-color:var(--success);background:#ffffffd1}.stockRow.stock-warning{border-left-color:var(--warning);background:#fff8dec2}.stockRow.stock-critical{border-left-color:var(--danger);background:#fff2edd1}.compactList,.formStack,.overrideControls{gap:10px;display:grid}.compactAlert{gap:3px;padding:10px;display:grid}.actionRow,.filterRow,.photoField{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.formGrid{gap:10px;display:grid}.formGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.formGrid.three{grid-template-columns:minmax(120px,.8fr) minmax(140px,1fr) auto;align-items:end}.filterRow .field select{min-height:var(--form-control-height);border-radius:var(--form-control-radius);font-weight:600}.therapyStepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.therapyStepper .step{justify-content:center;align-items:center;gap:7px;min-height:52px;font-size:13px;display:flex}.therapyStepper .step span{background:#ffffff40;border-radius:999px;place-items:center;width:22px;height:22px;font-size:12px;display:inline-grid}.therapyStepper .step:not(.active):not(.done) span{background:var(--surface-alt)}.formStepActions{justify-content:flex-end;gap:10px;display:flex}.administrationComposer{gap:14px}.composerAction{grid-column:span 12}.administrationRow{border-bottom:1px solid var(--line);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.administrationRow strong{color:var(--primary-deep)}.administrationRow span{color:var(--muted)}.readOnlySummary{border-radius:var(--form-control-radius);background:var(--surface-alt);color:var(--primary-deep);gap:4px;padding:13px;display:grid}.readOnlySummary span{color:var(--muted);font-size:13px}.miniRow{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:flex}.stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.step{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--muted)}.step.active{border-color:var(--primary);background:var(--primary);color:#fff}.step.done{background:var(--primary-soft);color:var(--primary);border-color:#cbd8e8}.formStepPanel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;padding:12px;display:grid}.formStepPanel h3{margin:0;font-size:17px}.formAccordion{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.formAccordion>summary{min-height:52px;color:var(--primary-deep);cursor:pointer;justify-content:space-between;align-items:center;padding:0 14px;font-size:15px;font-weight:900;list-style:none;display:flex}.formAccordion>summary::-webkit-details-marker{display:none}.formAccordion>summary:after{content:"+";color:var(--muted);font-size:20px;font-weight:800}.formAccordion[open]>summary:after{content:"-"}.formAccordion>div{gap:12px;padding:0 14px 14px;display:grid}.formErrorSummary,.modalDanger{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--line));border-radius:var(--radius-control);background:var(--critical-soft);color:var(--danger);gap:8px;padding:12px;display:grid}.formErrorSummary ul{gap:4px;margin:0;padding-left:20px;display:grid}.modalDanger{margin-top:var(--space-6)}.modalDanger:before{content:"Azioni irreversibili";font-weight:900}.inlinePanel.subtle{background:var(--surface-alt);border:0}.badge,.statusBadge{border-radius:7px;align-items:center;width:fit-content;min-height:26px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.medicine{color:var(--blue);background:#eef2f8}.food{color:#8d5f23;background:#f8f1e7}.antiparasitic{color:var(--violet);background:#f2edf8}.bags{color:#497263;background:#edf5f3}.other{color:var(--muted);background:#f4f2ed}.statusBadge.ok{color:#2f7050;background:#edf7f0}.statusBadge.pending{color:var(--primary);background:#e9f6f5}.statusBadge.late{color:#8a6a1d;background:#fff4c7}.statusBadge.completed{color:#2f7050;background:#edf7f0}.statusBadge.warning{color:#8a6a1d;background:#fff4c7}.statusBadge.critical{color:var(--danger);background:#ffe2d9}.statusDot{border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.statusDot.ok{background:var(--success-soft);color:var(--success)}.statusDot.warning{background:var(--warning-soft);color:var(--warning)}.statusDot.critical{background:var(--critical-soft);color:var(--danger)}.headerActions,.detailActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.detailActions{margin-top:4px}.accountRow,.toggleRow{width:100%;min-height:64px;color:var(--ink);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.accountRow{background:#fff}.accountRow span{gap:4px;display:grid}.toggle{min-width:76px;color:var(--muted);text-align:center;background:#e3e4df;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:900}.toggle.on{background:var(--primary);color:#fff}.modalBackdrop{z-index:100;overscroll-behavior:contain;background:#17203347;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.modalPanel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;grid-template-rows:auto minmax(0,1fr) auto;width:min(780px,100%);max-height:min(820px,100vh - 48px);display:grid;overflow:hidden}.formModal{max-height:min(900px,100dvh - 48px)}.modalHeader,.modalFooter{z-index:2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;align-items:center;gap:10px;display:flex;position:sticky}.modalHeader{border-bottom:1px solid var(--line);justify-content:space-between;padding:16px 16px 12px;top:0}.modalHeader h2{font-size:18px}.modalCloseButton{width:var(--control-min-height);min-height:var(--control-min-height);border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary-deep);padding:0;font-size:24px;line-height:1}.modalBody{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:14px 16px;overflow:hidden auto}.modalForm{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.modalForm>.careForm{min-height:0;padding:18px 22px;overflow:hidden auto}.modalForm>.modalDanger{margin:0 22px 16px}.modalForm>.modalFooter{position:relative}.modalFooter{border-top:1px solid var(--line);justify-content:stretch;padding:12px 16px 16px;bottom:0}.modalFooter>*{flex:1 1 0}.fileButton{min-height:var(--control-min-height);border:1px solid var(--primary);color:var(--primary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;padding:0 12px;font-weight:800;display:inline-flex}.fileButton input{display:none}.centeredState,.splashState,.onboardingPage{place-items:center;min-height:100vh;padding:24px;display:grid}.centeredState{text-align:center}.centeredState p{max-width:560px;color:var(--muted)}.splashState{background:linear-gradient(#fbfaf70a,#fbfaf72e),url(/splash-background.png) 50% 58%/cover;align-content:start;padding-top:18vh;position:relative;overflow:hidden}.splashState:before{background:#fbfaf70f}.splashLoading{z-index:1;text-align:center;justify-items:center;gap:12px;display:grid;position:relative}.splashLoading img{object-fit:contain;width:92px;height:92px}.loadingInline{color:var(--primary);justify-content:center;align-items:center;gap:8px;font-size:18px;font-weight:900;display:inline-flex}.loadingInline i{border:2px solid #26324b38;border-top-color:var(--primary);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite loadingSpin}@keyframes loadingSpin{to{transform:rotate(360deg)}}.onboardingPanel{gap:16px;width:min(760px,100%);padding:22px;display:grid}@media (max-width:900px){html,body{position:relative;overflow-x:clip}.authPage{min-height:100svh;padding:18px 18px 42px}.authHero{width:min(360px,100vw - 36px)}.authCard{width:min(420px,100vw - 36px)}.appShell{flex-direction:column;width:100%;max-width:100vw;display:flex;overflow-x:clip}.sidebar{z-index:30;height:auto;padding:var(--space-2) 10px calc(var(--space-2) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--elevation-floating);background:#fbfbf7eb;border-bottom:0;border-right:0;position:fixed;inset:auto 0 0}.brandBlock{display:none}.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.navItem{text-align:center;border-radius:var(--radius-panel);grid-template-columns:1fr;justify-content:center;justify-items:center;gap:4px;min-height:56px;padding:4px;font-size:11px;display:grid}.navIcon{border-radius:10px;width:27px;height:27px}.navBadge{margin-left:0;position:absolute;top:3px;right:6px}.content{opacity:1;filter:none;width:100%;max-width:100vw;padding:var(--space-4) var(--space-4) var(--bottom-nav-space);overflow-x:clip}.pageHeader,.listCard{flex-direction:column;align-items:stretch}.pageHeader{gap:var(--space-2);padding:var(--space-2) 0 0}.pageHeader h1{font-size:clamp(28px,8vw,32px)}.pageHeader p{max-width:42ch;font-size:14px}.headerActions,.pageHeader>.textAction{justify-content:flex-start}.petSelector{gap:var(--space-2);margin:0 -2px}.petChip{min-height:var(--control-min-height);padding:0 var(--space-3)}.formGrid.two,.formGrid.three{grid-template-columns:1fr}.avatar.large{width:86px;height:86px;font-size:30px}.timelineItem{grid-template-columns:58px minmax(0,1fr)}.timelineItem button{grid-column:2;width:fit-content}.todayTimeline:before{left:34px}.timelineItem:before{left:28px}.timelineItem time{font-size:13px}.timelineBody{flex-direction:column;align-items:flex-start}.todaySummary{align-items:flex-start;min-height:0;padding:14px}.todaySummary .avatar{width:48px;height:48px;font-size:18px}.petEditorialHero{text-align:left;flex-direction:column;justify-content:flex-end;align-items:flex-end;min-height:174px}.petEditorialHero .avatar.large{align-self:flex-start;width:92px;height:92px}.petEditorialHero div{width:100%}.stockAccordion>summary{grid-template-columns:minmax(0,1fr) auto}.filterRow{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.filterRow .field{min-width:0}.stockAccordion>summary .statusDot{grid-column:1/-1;width:fit-content}.stockRow>summary{grid-template-columns:minmax(0,1fr) auto}.stockRow>summary .statusBadge{grid-column:1/-1;width:fit-content}.purchaseResultCard{grid-template-columns:1fr}.purchaseResultMeta{text-align:left;justify-items:start}.infoRow{grid-template-columns:1fr;gap:4px}.infoRow strong,.stockReminderLines{text-align:left}.modalBackdrop{padding:calc(8px + env(safe-area-inset-top,0px)) 0 0;background:#17203338;place-items:end stretch}.formModalBackdrop{align-items:stretch;padding:0}.modalPanel{width:100%;height:min(94dvh, calc(100dvh - 8px - env(safe-area-inset-top,0px)));max-height:calc(100dvh - 8px - env(safe-area-inset-top,0px));animation:sheetIn var(--motion-standard) ease-out;border-bottom:0;border-left:0;border-right:0;border-radius:24px 24px 0 0}.formModal{border:0;border-radius:0;height:100dvh;max-height:100dvh;animation:none}.formModal .modalHeader{padding-top:calc(14px + env(safe-area-inset-top,0px))}.modalForm>.careForm{padding:16px}.modalForm>.modalDanger{margin:0 16px 12px}.photoUpload{align-items:flex-start}.therapyStepper .step{min-height:48px;padding:5px;font-size:11px}.formStepActions{flex-direction:column-reverse}.formStepActions>button{width:100%}.administrationRow{grid-template-columns:60px minmax(0,1fr)}.administrationRow .textAction{grid-column:2;justify-self:start}.formGrid12>.formField:not(.formFieldWide),.formGrid12>.choiceGroup{grid-column:span 12}.modalFooter{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));flex-direction:column}.modalHeader{padding-top:14px}}@media (min-width:768px) and (max-width:900px){.content{padding-right:var(--space-6);padding-left:var(--space-6)}.pageHeader,.content>.section,.content>.openSection{width:100%;max-width:760px;margin-left:auto;margin-right:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@keyframes sheetIn{0%{opacity:.72;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
