:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#172020;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f7f8f8;--surface:#fff;--surface-strong:#f1f5f4;--text:#172020;--muted:#667675;--border:#dce4e2;--teal:#0f8b8d;--teal-dark:#057579;--coral:#ff7f66;--blue:#506c8a;--green:#4f8f52;--danger:#be3d3d;--warning:#b87514;--shadow:0 12px 32px #1720201f;background:#f7f8f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}svg{flex:none;width:1.1em;height:1.1em}.home-shell,.app-shell{width:100%;max-width:900px;min-height:100dvh;margin:0 auto;padding:18px 14px 36px}.home-shell{place-items:center;display:grid}.home-panel{background:var(--surface);border:1px solid var(--border);width:100%;min-width:0;max-width:620px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:22px;padding:26px;display:flex}.brand-row,.topbar,.brand-compact,.header-actions,.share-warning,.section-heading,.filter-row,.copy-row,.share-actions,.sheet-footer-row,.segmented,.color-row{align-items:center;display:flex}.brand-row{gap:16px}.brand-row>div:last-child,.notice span{overflow-wrap:anywhere;min-width:0}.brand-mark,.brand-compact svg{color:var(--teal)}.brand-mark{border:1px solid var(--border);background:#f8fbfb;border-radius:8px;place-items:center;width:54px;height:54px;display:grid}.brand-mark svg{width:34px;height:34px}h1,h2,p{margin:0}h1{color:var(--teal-dark);font-size:32px;line-height:1.05}.home-panel p,.muted{color:var(--muted)}.home-actions{gap:10px;display:grid}.app-shell.centered{text-align:center;place-items:center;display:grid}.app-header{z-index:10;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:column;gap:12px;padding:8px 0 12px;display:flex;position:sticky;top:0}.topbar{justify-content:space-between;gap:10px}.brand-compact{color:var(--teal-dark);background:0 0;border:0;gap:8px;padding:6px 0;font-size:24px;font-weight:800}.brand-compact svg{width:30px;height:30px}.header-actions{gap:8px}.share-warning,.notice{color:var(--warning);background:#fff9eb;border:1px solid #f2d39b;border-radius:8px;gap:8px;padding:10px 12px;font-size:14px;font-weight:650}.notice{display:flex}.notice.strong{color:#62420e}.error-line{color:var(--danger);justify-content:space-between;align-items:center;gap:10px;display:flex}.save-state{height:36px;color:var(--muted);border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:13px;display:inline-flex}.save-state.save-ok{color:#188653;border-color:#caead9}.save-state.save-failed{color:var(--danger);border-color:#f0c5c5}.save-state.idle{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 2px #1720200a}.card-header{justify-content:space-between;align-items:center;gap:10px;padding:14px 14px 0;display:flex}.card-title{font-size:17px;line-height:1.25}.card-content{padding:14px}.button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:0;font-weight:720;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.button:active{transform:translateY(1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button-sm{min-height:38px;padding:0 10px;font-size:13px}.button-md{min-height:44px;padding:0 14px;font-size:14px}.button-lg{min-height:52px;padding:0 18px;font-size:16px}.button-icon{width:44px;height:44px;padding:0}.button-primary{background:var(--teal);color:#fff}.button-secondary{color:var(--teal-dark);background:#e7f4f3;border-color:#bfe1df}.button-outline{background:var(--surface);color:var(--text);border-color:var(--border)}.button-ghost{color:var(--muted);background:0 0}.button-danger{background:var(--danger);color:#fff}.input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:46px;color:var(--text);border-radius:8px;outline:none;padding:0 12px}.input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f8b8d24}.textarea{resize:vertical;min-height:92px;padding:12px}.label{color:var(--text);margin-bottom:7px;font-size:13px;font-weight:720;display:block}.badge{white-space:nowrap;border-radius:999px;align-items:center;height:24px;padding:0 8px;font-size:12px;font-weight:720;display:inline-flex}.badge-neutral{color:var(--muted);background:var(--surface-strong)}.badge-success{color:#188653;background:#e6f5ed}.badge-warning{color:var(--warning);background:#fff4dc}.badge-accent{color:var(--teal-dark);background:#e6f4f4}.tabs{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));margin:10px -14px 16px;display:grid}.tab-trigger{min-height:54px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:6px;font-weight:720;display:flex}.tab-trigger.is-active{color:var(--teal-dark);border-bottom-color:var(--teal)}.pet-rail-wrap{flex-direction:column;gap:8px;display:flex}.pet-rail-meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:720;display:flex}.pet-rail{scroll-snap-type:x proximity;scrollbar-width:none;gap:8px;padding:2px 0 12px;display:flex;overflow-x:auto}.pet-rail::-webkit-scrollbar{display:none}.pet-chip{border:1px solid var(--border);background:var(--surface);width:82px;min-height:88px;color:var(--text);text-align:center;scroll-snap-align:start;border-radius:8px;flex:0 0 82px;align-content:center;place-items:center;gap:6px;padding:8px 6px;display:grid}.pet-chip.is-selected{border-color:var(--pet-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--pet-color) 16%, transparent)}.pet-chip span{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:68px;font-size:12px;font-weight:760;line-height:1.25;display:-webkit-box;overflow:hidden}.pet-avatar{border:2px solid var(--pet-color);width:44px;height:44px;color:var(--pet-color);background:#fff;border-radius:999px;place-items:center;display:grid}.pet-avatar.small{width:34px;height:34px}.add-pet{min-height:88px;color:var(--muted);scroll-snap-align:start;background:0 0;border:1px dashed #b8c7c5;border-radius:8px;flex:0 0 82px;align-content:center;place-items:center;gap:4px;font-weight:700;display:grid}.pet-manager-list{flex-direction:column;gap:8px;display:flex}.pet-manager-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.pet-manager-row.is-selected{border-color:var(--teal);background:#f4fbfb}.pet-manager-main{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;display:flex}.pet-manager-main span{gap:3px;min-width:0;display:grid}.pet-manager-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pet-manager-main em{color:var(--muted);font-size:12px;font-style:normal}.pet-manager-actions{gap:4px;display:flex}.screen-stack{flex-direction:column;gap:16px;display:flex}.section-heading{justify-content:space-between;gap:10px}.section-heading h2{font-size:18px;line-height:1.25}.quick-grid{grid-template-columns:repeat(5,minmax(112px,1fr));gap:8px;padding-bottom:2px;display:grid;overflow-x:auto}.quick-button{border:1px solid var(--border);background:var(--surface);min-height:116px;color:var(--text);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-weight:760;display:flex}.quick-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.quick-button svg,.record-icon svg{width:30px;height:30px}.accent-coral{color:var(--coral)}.accent-teal{color:var(--teal)}.accent-blue{color:var(--blue)}.accent-slate{color:#344041}.accent-green{color:var(--green)}.recent-section{flex-direction:column;gap:10px;display:flex}.record-list{flex-direction:column;gap:8px;display:flex}.record-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:42px 36px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:72px;padding:9px;display:grid}.record-list.compact .record-row{grid-template-columns:38px 32px minmax(0,1fr) auto}.record-icon{place-items:center;display:grid}.record-main{flex-direction:column;gap:3px;min-width:0;display:flex}.record-main strong,.record-main span,.record-main em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-main span,.record-main em{color:var(--muted);font-size:13px;font-style:normal}.record-actions{gap:2px;display:flex}.record-day-list{flex-direction:column;gap:14px;display:flex}.record-day-group{flex-direction:column;gap:8px;display:flex}.record-day-heading{color:var(--text);justify-content:space-between;align-items:center;display:flex}.filter-row{gap:8px}.calendar-layout{gap:14px;display:grid}.calendar-header{padding-bottom:12px}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row{color:var(--muted);text-align:center;margin-bottom:6px;font-size:12px}.calendar-grid{gap:4px}.calendar-cell{border:1px solid var(--border);background:var(--surface);min-height:70px;color:var(--text);text-align:left;border-radius:8px;grid-template-rows:auto auto 1fr;padding:6px 5px;display:grid}.calendar-cell.is-muted{color:#9ba7a5;background:#fbfcfc}.calendar-cell.is-selected{border-color:var(--teal);box-shadow:0 0 0 2px #0f8b8d29}.calendar-cell.is-today>span{color:var(--teal-dark);font-weight:800}.calendar-cell strong{min-width:22px;height:20px;color:var(--teal-dark);background:#e6f4f4;border-radius:999px;justify-self:start;padding:0 6px;font-size:12px;line-height:20px}.calendar-dots{align-self:end;align-items:center;gap:3px;display:flex}.dot{background:var(--muted);border-radius:999px;width:6px;height:6px}.dot-food{background:var(--coral)}.dot-poop{background:var(--teal)}.dot-weight{background:var(--blue)}.dot-custom,.dot-note{background:var(--green)}.calendar-dots b{color:var(--muted);font-size:10px;line-height:1}.share-panel{flex-direction:column;gap:12px;display:flex}.copy-row{gap:8px}.share-actions{flex-wrap:wrap;gap:8px}.hospital-summary{flex-direction:column;gap:14px;display:flex}.summary-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.metric{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex}.metric span{color:var(--muted);font-size:12px}.metric strong{font-size:18px}.pet-summary-list{gap:8px;display:grid}.pet-summary-list article{border:1px solid var(--border);border-radius:8px;grid-template-columns:48px 1fr;gap:10px;padding:10px;display:grid}.pet-summary-list span,.pet-summary-list p{color:var(--muted);font-size:13px}.danger-zone{justify-content:space-between;align-items:center;gap:12px;display:flex}.first-pet-empty,.delete-confirm-body{flex-direction:column;gap:12px;display:flex}.sheet-layer,.dialog-layer{z-index:50;min-height:100dvh;position:fixed;inset:0}.sheet-backdrop,.dialog-backdrop{background:#17202047;border:0;position:absolute;inset:0}.sheet{width:min(100%,760px);max-height:min(92dvh,760px);padding-bottom:max(14px, env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--shadow);border-radius:18px 18px 0 0;flex-direction:column;margin:0 auto;display:flex;position:absolute;bottom:0;left:0;right:0}.sheet-grip{background:#d7dedc;border-radius:999px;width:52px;height:5px;margin:10px auto 2px}.sheet-header{grid-template-columns:96px 1fr 96px;align-items:center;gap:8px;padding:4px 14px 10px;display:grid}.sheet-header h2{text-align:center;font-size:18px}.sheet-body{flex-direction:column;gap:14px;padding:0 14px 14px;display:flex;overflow:auto}.sheet-footer{padding:0 14px}.sheet-footer .button{width:100%}.sheet-footer-row{gap:8px;width:100%}.sheet-footer-row .button{flex:1}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.wide-field{grid-column:1/-1}.date-control{flex-direction:column;gap:10px;min-width:0;display:flex}.date-control-header{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.date-control-header .label{margin-bottom:0}.date-control-header span{min-width:0;color:var(--teal-dark);overflow-wrap:anywhere;font-size:13px;font-weight:760}.date-quick-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.date-chip{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:58px;color:var(--text);border-radius:8px;place-items:center;gap:3px;padding:7px 5px;font-weight:760;display:grid}.date-chip small{color:var(--muted);font-size:11px;font-weight:700}.date-chip svg{width:18px;height:18px}.date-chip.is-selected{border-color:var(--teal);color:var(--teal-dark);background:#e7f4f3;box-shadow:0 0 0 2px #0f8b8d1f}.date-chip.is-selected small{color:var(--teal-dark)}.date-chip-calendar{text-align:left;grid-template-columns:auto 1fr}.mini-calendar{border:1px solid var(--border);background:#fbfcfc;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.mini-calendar-header{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px;display:grid}.mini-calendar-header strong{text-align:center;font-size:15px}.mini-weekday-row,.mini-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.mini-weekday-row span{color:var(--muted);text-align:center;font-size:11px;font-weight:720}.mini-calendar-cell{min-width:0;min-height:38px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;font-weight:760}.mini-calendar-cell.is-muted{color:#a0abaa}.mini-calendar-cell.is-today{color:var(--teal-dark);background:#e7f4f3}.mini-calendar-cell.is-selected{border-color:var(--teal);background:var(--teal);color:#fff}.datetime-manual-grid{grid-template-columns:minmax(0,1fr) minmax(118px,.45fr);gap:10px;display:grid}.amount-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px;display:grid}.measurement-block{flex-direction:column;gap:8px;min-width:0;display:flex}.range-input-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.range-input-row span{color:var(--muted);font-weight:760}.range-action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.custom-fields,.custom-fields-editor{flex-direction:column;gap:8px;display:flex}.checkbox-row,.input-with-unit,.custom-field-row{align-items:center;gap:8px;display:flex}.checkbox-row{border:1px solid var(--border);border-radius:8px;min-height:44px;padding:0 10px}.input-with-unit span{color:var(--muted);font-size:13px}.segmented,.color-row{flex-wrap:wrap;gap:8px}.swatch{border:2px solid #0000;border-radius:999px;width:44px;height:44px}.swatch.is-selected{border-color:var(--text);box-shadow:inset 0 0 0 3px #fff}.custom-field-row{grid-template-columns:minmax(0,1fr) 112px 42px;display:grid}.dialog{background:var(--surface);width:min(100% - 28px,420px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:12px;padding:18px;display:flex;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.dialog h2{font-size:18px}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.empty-state{color:var(--muted);text-align:center;border:1px dashed var(--border);background:#fbfcfc;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;display:flex}.empty-state strong{color:var(--text)}.spin{animation:.9s linear infinite spin}.big-loader{width:36px;height:36px;color:var(--teal)}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=680px){.home-shell,.app-shell{padding-left:12px;padding-right:12px}.home-panel{padding:20px}h1{font-size:28px}.brand-compact{font-size:21px}.save-state{max-width:104px;overflow:hidden}.quick-grid{grid-template-columns:repeat(5,128px)}.tab-trigger{gap:3px;font-size:13px}.tab-trigger svg{width:16px;height:16px}.pet-avatar{width:40px;height:40px}.add-pet{flex-basis:82px;font-size:12px}.form-grid{grid-template-columns:1fr}.amount-row{grid-template-columns:1fr 72px 72px}.sheet{max-height:94dvh}.filter-row,.copy-row,.danger-zone{flex-direction:column;align-items:stretch}.summary-metrics{grid-template-columns:1fr}.calendar-cell{min-height:58px;padding:5px 4px}.record-row{grid-template-columns:36px 32px minmax(0,1fr) auto}.record-actions .button{width:44px;height:44px}.dialog{top:auto;bottom:max(12px, env(safe-area-inset-bottom));transform:translate(-50%)}}
