@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-display:swap;src:url(/app/assets/bricolage-grotesque-500-0-BHpYN_HW.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-display:swap;src:url(/app/assets/bricolage-grotesque-700-1-C36XWx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/app/assets/figtree-400-2-DCh3z3eG.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/app/assets/figtree-500-3-BbP9ghK1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/app/assets/figtree-600-4-BD_wgCWh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/app/assets/figtree-400-5-BcQHhoBx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/app/assets/figtree-500-6-yroRazKW.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/app/assets/figtree-600-7-CtA2KqZf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/app/assets/jetbrains-mono-400-8-V6pRDFza.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/app/assets/jetbrains-mono-500-9-BWZEU5yA.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/app/assets/noto-sans-arabic-400-10-BQZq7CHK.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE??}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/app/assets/noto-sans-arabic-500-11-CdHXM2fr.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE??}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/app/assets/noto-sans-arabic-600-12-BnsJZAor.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE??}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/app/assets/noto-sans-arabic-700-13-CKvYBChn.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE??}:root{--bg:#f8f6f1;--surface:#fff;--surface-2:#eeeae1;--fg:#1b2a24;--muted:#5d6b64;--line:#e3ded2;--brand:#1f5c4d;--brand-soft:#d7e8e1;--accent:#d9783f;--accent-soft:#f8e3d5;--ok:#2f7d4f;--ok-soft:#dcefe2;--warn:#a86a07;--warn-soft:#f6ead0;--crit:#b3362f;--crit-soft:#f6dcd9;--accent-ink:#9a5025;--on-accent-ink:#fff;--warn-ink:#915b06;--ok-ink:#2b7449;--on-brand:#fff;--on-crit:#fff;--control:#7e8982;--focus:var(--accent-ink);--f-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body:"Figtree", "Segoe UI", system-ui, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--r:10px;--r-lg:16px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--tap:44px;--shadow:0 1px 2px #1b2a240f, 0 4px 16px #1b2a240f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121a17;--surface:#1a2420;--surface-2:#22302a;--fg:#e4ece7;--muted:#9aaaa2;--line:#2f3d37;--brand:#6fbfa6;--brand-soft:#1f3a32;--accent:#ef9a63;--accent-soft:#3a2a1f;--ok:#6cc58f;--ok-soft:#1d3528;--warn:#e2b04f;--warn-soft:#3a3020;--crit:#ee7d74;--crit-soft:#3d2321;--accent-ink:#ef9a63;--on-accent-ink:#121a17;--warn-ink:#e2b04f;--ok-ink:#6cc58f;--on-brand:#121a17;--on-crit:#121a17;--control:#6e7a75;--focus:#ef9a63;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121a17;--surface:#1a2420;--surface-2:#22302a;--fg:#e4ece7;--muted:#9aaaa2;--line:#2f3d37;--brand:#6fbfa6;--brand-soft:#1f3a32;--accent:#ef9a63;--accent-soft:#3a2a1f;--ok:#6cc58f;--ok-soft:#1d3528;--warn:#e2b04f;--warn-soft:#3a3020;--crit:#ee7d74;--crit-soft:#3d2321;--accent-ink:#ef9a63;--on-accent-ink:#121a17;--warn-ink:#e2b04f;--ok-ink:#6cc58f;--on-brand:#121a17;--on-crit:#121a17;--control:#6e7a75;--focus:#ef9a63;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[lang=ar]{--f-display:"Noto Sans Arabic", "Segoe UI", system-ui, sans-serif;--f-body:"Noto Sans Arabic", "Segoe UI", system-ui, sans-serif}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.5;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;font-weight:700;line-height:1.15}h1{letter-spacing:-.01em;font-size:1.75rem}h2{font-size:1.15rem}h3{font-size:1rem;font-weight:500}p{margin:0}a{color:var(--brand);text-underline-offset:3px}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}[dir=rtl] .flip-rtl{transform:scaleX(-1)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.8125rem;font-weight:600;font-family:var(--f-body)}.muted{color:var(--muted)}.small{font-size:.875rem}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.stack{gap:var(--s-4);flex-direction:column;display:flex}.stack-lg{gap:var(--s-5);flex-direction:column;display:flex}.skip-link{inset-inline-start:var(--s-2);z-index:100;background:var(--brand);color:var(--on-brand);padding:var(--s-3) var(--s-4);border-radius:var(--r);position:absolute;top:-100px}.skip-link:focus{top:var(--s-2)}.shell{min-height:100dvh}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);padding-top:max(var(--s-2), env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.brand{min-height:var(--tap);font-family:var(--f-display);color:var(--brand);align-items:center;gap:10px;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.main{padding:var(--s-5) var(--s-4) calc(88px + env(safe-area-inset-bottom));max-width:720px;margin:0 auto}.main:focus{outline:none}.page{min-width:0}.page-head{gap:var(--s-1);flex-direction:column;display:flex}.page-head-row{align-items:center;gap:var(--s-4);flex-direction:row}.nav{inset-inline:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0}.nav-brand{display:none}.nav ul{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.nav-secondary{display:none}.nav-link.parent-active{color:var(--brand)}.nav-link{min-height:60px;padding:var(--s-1) 2px;color:var(--muted);text-align:center;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.8125rem;font-weight:600;text-decoration:none;display:flex}.nav-link svg{width:24px;height:24px}.nav-link.active{color:var(--brand)}.nav-link.active svg{stroke-width:2.2px}.nav-link:hover{color:var(--fg)}@media (width>=900px){.shell{grid-template-rows:auto 1fr;grid-template-columns:232px minmax(0,1fr);display:grid}.topbar{grid-column:2;justify-content:flex-end}.topbar .brand{display:none}.nav{border-top:0;border-inline-end:1px solid var(--line);height:100dvh;padding:var(--s-5) var(--s-3);gap:var(--s-5);flex-direction:column;grid-area:1/1/span 2;display:flex;position:sticky;top:0}.nav-brand{padding:0 var(--s-3);font-family:var(--f-display);color:var(--brand);align-items:center;gap:10px;font-size:1.25rem;font-weight:700;display:flex}.nav ul{gap:var(--s-1);flex-direction:column;display:flex}.nav-secondary{display:block}.nav-link.parent-active:not(.active){color:var(--muted)}.nav-link{justify-content:flex-start;gap:var(--s-3);min-height:var(--tap);padding:var(--s-2) var(--s-3);border-radius:var(--r);text-align:start;flex-direction:row;font-size:.95rem}.nav-link.active{background:var(--brand-soft)}.main{padding:var(--s-6) var(--s-5) var(--s-7);grid-column:2;width:100%}}.ai-fab{z-index:25;background:var(--brand);color:var(--on-brand);border:2px solid var(--surface);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex;position:fixed;box-shadow:0 4px 14px #00000047}.ai-fab:hover{transform:scale(1.06)}.ai-fab:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ai-fab.is-dragging{cursor:grabbing;transition:none;transform:scale(1.12);box-shadow:0 8px 22px #00000059}@media (prefers-reduced-motion:reduce){.ai-fab,.ai-fab:hover,.ai-fab.is-dragging{transition:none;transform:none}}.main-wide{max-width:1120px}.dash{gap:var(--s-5);margin-block:var(--s-4) var(--s-6);flex-direction:column;display:flex}.dash-head{justify-content:space-between;align-items:flex-end;gap:var(--s-3) var(--s-5);flex-wrap:wrap;display:flex}.dash-head h2{font-family:var(--f-display);margin:0;font-size:1.6rem}.dash-head p{margin:2px 0 0}.dash-tools{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.dash-refresh{min-height:40px}.dash-seg{background:var(--surface-2);border-radius:var(--r-pill);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.dash-seg button{color:var(--muted);font:inherit;border-radius:var(--r-pill);cursor:pointer;background:0 0;border:0;min-height:36px;padding:8px 14px;font-size:.9rem;font-weight:600}.dash-seg button:hover{color:var(--fg)}.dash-seg button.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow)}.dash-seg button:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.dash-kpis{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}.dash-kpi{--tone:var(--brand);--tone-soft:var(--brand-soft);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4) var(--s-4) var(--s-3);box-shadow:var(--shadow);flex-direction:column;gap:2px;min-height:132px;display:flex;position:relative;overflow:hidden}.dash-kpi:before{content:"";background:var(--tone);width:4px;position:absolute;inset-block:0;inset-inline-start:0}.dash-kpi.tone-accent{--tone:var(--accent);--tone-soft:var(--accent-soft)}.dash-kpi.tone-ok{--tone:var(--ok);--tone-soft:var(--ok-soft)}.dash-kpi.tone-warn{--tone:var(--warn);--tone-soft:var(--warn-soft)}.dash-kpi-label{color:var(--muted);font-size:.85rem;font-weight:600}.dash-kpi-value{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:700;line-height:1.1}.dash-kpi-sub{color:var(--muted);font-size:.82rem}.dash-spark{inset-inline:0;opacity:.9;pointer-events:none;width:100%;height:34px;position:absolute;bottom:0}.dash-spark-line{fill:none;stroke:var(--tone);stroke-width:1.6px;vector-effect:non-scaling-stroke}.dash-spark-area{fill:var(--tone);opacity:.14}.dash-skeleton{background:linear-gradient(90deg, var(--surface-2), var(--surface), var(--surface-2));background-size:200% 100%;border:0;animation:1.4s linear infinite dash-shimmer}@keyframes dash-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dash-grid-2{gap:var(--s-4);grid-template-columns:1fr;display:grid}@media (width>=900px){.dash-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid-2 .dash-wide{grid-column:1/-1}}.dash-card{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.dash-card h3{font-family:var(--f-display);margin:0;font-size:1.1rem}.dash-hint{margin:0;font-size:.85rem}.dash-chart-wrap{position:relative}.dash-chart{touch-action:pan-y;border-radius:var(--r);width:100%;height:auto;display:block}.dash-chart-hit{touch-action:pan-y;border-radius:var(--r);cursor:crosshair;position:absolute;inset:0}.dash-chart-hit:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.dash-grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4}.dash-axis{fill:var(--muted);font-size:11px;font-family:var(--f-body)}@media (width<=600px){.dash-axis{font-size:18px}.dash-seg button{padding:8px 10px;font-size:.85rem}}.dash-cursor{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.dash-line{stroke-dasharray:2400;stroke-dashoffset:2400px;animation:1s ease-out forwards dash-draw}@keyframes dash-draw{to{stroke-dashoffset:0}}.dash-tip{pointer-events:none;white-space:nowrap;background:var(--fg);color:var(--bg);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;align-items:center;padding:6px 10px;font-size:.85rem;line-height:1.25;display:flex;position:absolute;top:4px;transform:translate(-50%)}.dash-tip span{opacity:.75;font-size:.75rem}.dash-chips{gap:var(--s-3);margin-block:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.dash-chip{background:var(--surface-2);border-radius:var(--r);padding:var(--s-3) var(--s-4);flex-direction:column;gap:2px;display:flex}.dash-chip span{color:var(--muted);font-size:.8rem}.dash-chip strong{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:1.5rem}.dash-chip strong.pos{color:var(--ok-ink)}.dash-chip strong.neg{color:var(--crit)}.dash-bars{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.dash-bars li{align-items:center;gap:var(--s-3);grid-template-columns:minmax(96px,150px) 1fr auto;font-size:.92rem;display:grid}.dash-bar-label{overflow-wrap:anywhere}.dash-bar-track{background:var(--surface-2);border-radius:var(--r-pill);height:10px;overflow:hidden}.dash-bar-fill{border-radius:var(--r-pill);background:var(--brand);transform-origin:0;height:100%;animation:.7s ease-out both dash-grow;display:block}.dash-bar-fill.tone-accent{background:var(--accent)}@keyframes dash-grow{0%{transform:scaleX(0)}}.dash-bar-n{font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap;font-weight:600}.dash-bar-n small{color:var(--muted);font-weight:400}.dash-hours{height:120px;padding-top:var(--s-2);align-items:flex-end;gap:3px;display:flex}.dash-hour{border-radius:4px 4px 0 0;flex:1;align-items:flex-end;height:100%;display:flex}.dash-hour:hover{background:var(--surface-2)}.dash-hour-bar{background:var(--accent);transform-origin:bottom;border-radius:4px 4px 0 0;width:100%;animation:.6s ease-out both dash-rise;display:block}@keyframes dash-rise{0%{transform:scaleY(0)}}.dash-hours-axis{color:var(--muted);justify-content:space-between;font-size:.75rem;display:flex}.dash-meter{flex-direction:column;gap:6px;display:flex}.dash-meter-head{justify-content:space-between;font-size:.92rem;display:flex}.dash-meter-track{background:var(--surface-2);border-radius:var(--r-pill);height:12px;overflow:hidden}.dash-meter-fill{background:linear-gradient(90deg, var(--brand), var(--ok));border-radius:var(--r-pill);transform-origin:0;height:100%;animation:.8s ease-out both dash-grow}.dash-note{max-width:78ch;margin:0;font-size:.82rem}@media (prefers-reduced-motion:reduce){.dash-line,.dash-bar-fill,.dash-hour-bar,.dash-meter-fill,.dash-skeleton{stroke-dashoffset:0;animation:none}}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);padding:var(--s-2) var(--s-4);border-radius:var(--r);cursor:pointer;text-align:center;border:1px solid #0000;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-block{width:100%}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 88%, var(--fg))}.btn-secondary{background:var(--surface);color:var(--brand);border-color:var(--control)}.btn-secondary:hover{background:var(--brand-soft)}.btn-ghost{color:var(--fg);border-color:var(--line);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{background:var(--crit);color:var(--on-crit)}.btn-emergency{background:var(--crit);color:var(--on-crit);padding-inline:var(--s-3)}.btn-emergency:hover{background:color-mix(in srgb, var(--crit) 88%, var(--fg))}.btn-icon{width:var(--tap);height:var(--tap);border-radius:var(--r);color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid}.btn-icon:hover{background:var(--crit-soft);color:var(--crit)}.link{padding:var(--s-2) 0;min-height:var(--tap);color:var(--brand);text-underline-offset:3px;cursor:pointer;align-items:center;gap:var(--s-1);background:0 0;border:0;font-weight:600;text-decoration:underline;display:inline-flex}.link-end{align-self:flex-end}.btn-google{color:#1f1f1f;background:#fff;border-color:#747775;font-weight:500}.btn-google:hover:not(:disabled){background:#f2f2f2}.auth-or{align-items:center;gap:var(--s-3);color:var(--muted);margin:0;font-size:.9rem;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--line);flex:1;height:1px}.back-link{align-self:flex-start;text-decoration:none}.actions{gap:var(--s-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.actions-start{justify-content:flex-start}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4);box-shadow:var(--shadow);gap:var(--s-3);flex-direction:column;min-width:0;display:flex}.card-head{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.notice{padding:var(--s-3) var(--s-4);border-radius:var(--r);gap:var(--s-1);border:1px solid #0000;flex-direction:column;display:flex}.notice-crit{background:var(--crit-soft);color:var(--fg);border-color:var(--crit)}.notice-ok{background:var(--ok-soft);color:var(--fg);border-color:var(--ok)}.notice-warn{background:var(--warn-soft);color:var(--fg);border-color:var(--warn)}.notice-info{background:var(--brand-soft);color:var(--fg);font-size:.9rem}.note{color:var(--warn-ink);background:var(--warn-soft);padding:var(--s-2) var(--s-3);border-radius:var(--r);font-size:.875rem}.pill{border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg);white-space:nowrap;align-items:center;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.pill-ok{background:var(--ok-soft);color:var(--ok-ink)}.pill-accent{background:var(--accent-soft);color:var(--accent-ink)}.field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.field>label,.label-text,.field legend{font-size:.95rem;font-weight:600}.req{color:var(--crit)}.opt{color:var(--muted);font-weight:400}.hint{color:var(--muted);font-size:.85rem}.error{color:var(--crit);align-items:flex-start;gap:6px;font-size:.9rem;font-weight:600;display:flex}.error svg{flex:none;margin-top:2px}input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=tel],select,textarea{width:100%;min-height:var(--tap);background:var(--surface);color:var(--fg);border:1px solid var(--control);border-radius:var(--r);padding:10px 12px}textarea{resize:vertical;min-height:72px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0;border-color:var(--focus)}[aria-invalid=true]{border-color:var(--crit);border-width:2px}.fieldset{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4);gap:var(--s-4);flex-direction:column;min-width:0;margin:0;display:flex}.fieldset>legend{padding:0 var(--s-2);font-family:var(--f-display);font-size:1.05rem;font-weight:700}.radio-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.radio{align-items:center;gap:var(--s-2);min-height:var(--tap);padding:var(--s-2) var(--s-3);border:1px solid var(--control);border-radius:var(--r);background:var(--surface);cursor:pointer;display:inline-flex}.radio input{width:20px;height:20px;accent-color:var(--brand);margin:0}.radio:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.radio:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.row-2{gap:var(--s-4);grid-template-columns:1fr;display:grid}@media (width>=420px){.row-2{grid-template-columns:1fr 1fr}}.switch{align-items:center;gap:var(--s-3);min-height:var(--tap);min-width:var(--tap);cursor:pointer;text-align:start;background:0 0;border:0;padding:0;font-weight:600;display:inline-flex}.switch-track{border-radius:var(--r-pill);background:var(--surface-2);border:2px solid var(--control);flex:none;width:48px;height:28px;transition:background-color .15s,border-color .15s;position:relative}.switch-thumb{top:2px;background:var(--control);border-radius:50%;width:20px;height:20px;transition:inset-inline-start .15s,background-color .15s;position:absolute;inset-inline-start:2px}.switch[aria-checked=true] .switch-track{background:var(--brand);border-color:var(--brand)}.switch[aria-checked=true] .switch-thumb{background:var(--on-brand);inset-inline-start:22px}.switch:disabled{opacity:.6;cursor:not-allowed}.species-grid{gap:var(--s-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=400px){.species-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.species-tile{justify-content:center;align-items:center;gap:var(--s-1);min-height:84px;padding:var(--s-2);border-radius:var(--r);background:var(--surface);border:1px solid var(--control);color:var(--fg);cursor:pointer;text-align:center;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;flex-direction:column;font-size:.875rem;font-weight:600;display:flex}.species-tile svg{color:var(--brand)}.species-tile:hover{background:var(--surface-2)}.species-tile[aria-pressed=true]{background:var(--brand-soft);border:2px solid var(--brand)}.template-card{background:var(--surface)}.tpl-list{gap:var(--s-2);flex-direction:column;display:flex}.tpl-list li{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.tpl-list svg{color:var(--brand)}.time{min-width:3.5rem;font-weight:500}.pet-switcher{gap:var(--s-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--s-2);min-height:var(--tap);padding:var(--s-1) var(--s-4);border-radius:var(--r-pill);border:1px solid var(--control);background:var(--surface);cursor:pointer;font-weight:600;display:inline-flex}.chip[aria-pressed=true]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.next-card{border-inline-start:4px solid var(--brand)}.next-card.is-now{border-inline-start-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface))}.next-card.is-empty{border-inline-start-color:var(--ok)}.next-empty{font-size:1.05rem;font-weight:600}.next-main{align-items:center;gap:var(--s-3);display:flex}.next-icon{background:var(--brand-soft);width:52px;height:52px;color:var(--brand);border-radius:14px;flex:none;place-items:center;display:grid}.is-now .next-icon{background:var(--accent-soft);color:var(--accent-ink)}.next-text{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.next-title{font-family:var(--f-display);overflow-wrap:anywhere;font-size:1.3rem;font-weight:700}.next-meta{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.today-list,.routine-list{flex-direction:column;display:flex}.today-row,.routine-row{align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-2) 0;border-top:1px solid var(--line);flex-wrap:wrap;min-width:0;display:flex}.today-row:first-child,.routine-row:first-child{border-top:0}.today-title,.routine-title{overflow-wrap:anywhere;font-weight:600}.today-title{flex:1;min-width:0}.kind-icon{color:var(--brand);flex:none}.today-row.is-done .today-title{color:var(--muted);text-decoration:line-through}.today-row.is-past .time{color:var(--accent-ink)}.check{width:var(--tap);height:var(--tap);border:2px solid var(--control);background:var(--surface);color:#0000;cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.check:hover{border-color:var(--brand);color:var(--muted)}.check[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:var(--surface)}.routine-text{flex-direction:column;flex:11rem;min-width:0;display:flex}.add-form{border-top:1px solid var(--line);padding-top:var(--s-4)}@media (width<=380px){.routine-row{flex-wrap:wrap}.routine-text{flex-basis:calc(100% - 7rem)}}.pet-ava{background:var(--brand-soft);width:60px;height:60px;color:var(--brand);border-radius:18px;flex:none;place-items:center;display:grid}.kv{gap:var(--s-1) var(--s-4);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.kv dt{color:var(--muted);margin-top:var(--s-2);font-size:.875rem}.kv dd{overflow-wrap:anywhere;margin:0;font-weight:500}@media (width>=520px){.kv{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.kv dt{margin-top:0}}.placeholder{text-align:center;padding:var(--s-6) var(--s-4);align-items:center}.placeholder-icon,.emergency-icon{border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.placeholder-icon{background:var(--brand-soft);color:var(--brand)}.emergency-card{border:2px solid var(--crit);background:var(--crit-soft)}.emergency-card h1{font-size:1.5rem}.emergency-icon{background:var(--crit);color:var(--on-crit)}.contact-text{font-size:1.05rem;font-weight:600}.dialog{border-radius:var(--r-lg);background:var(--surface);color:var(--fg);border:0;width:min(440px,100vw - 32px);padding:0;box-shadow:0 20px 60px #0000004d}.dialog::backdrop{background:#0a14108c}.dialog-body{padding:var(--s-5);gap:var(--s-4);flex-direction:column;display:flex}.dialog-actions{justify-content:flex-end;gap:var(--s-3);flex-wrap:wrap;display:flex}.auth{flex-direction:column;min-height:100dvh;display:flex}.auth-top{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);display:flex}.lang-select select{width:auto;min-width:9rem}.auth-main{width:100%;padding:var(--s-4) var(--s-4) var(--s-7);flex-direction:column;flex:1;justify-content:flex-start;align-items:center;display:flex}.auth-card{width:100%;max-width:440px;padding:var(--s-5);gap:var(--s-4)}.auth-sub{margin-top:calc(var(--s-3) * -1)}.auth-alt{text-align:center;color:var(--muted)}@media (width>=600px){.auth-main{align-items:center}}.loading{justify-content:center;align-items:center;gap:var(--s-3);padding:var(--s-6);color:var(--muted);display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spinner{border-top-color:var(--line);animation:none}}.today-row .pill{white-space:normal;overflow-wrap:anywhere;text-align:start;flex:100%;min-width:0}.chip-shared{opacity:.85;align-items:center;display:inline-flex}.all-hint{margin-top:calc(var(--s-2) * -1)}.member-list{flex-direction:column;display:flex}.member-row{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-2) 0;border-top:1px solid var(--line);flex-wrap:wrap;min-width:0;display:flex}.member-row:first-child{border-top:0}.member-text{overflow-wrap:anywhere;flex-direction:column;flex:10rem;min-width:0;display:flex}.member-name{font-weight:600}.invite-box{border-top:1px solid var(--line);padding-top:var(--s-4)}.invite-url{padding:var(--s-2) var(--s-3);border-radius:var(--r);background:var(--surface-2);overflow-wrap:anywhere;word-break:break-all;-webkit-user-select:all;user-select:all;font-size:.85rem}.danger-zone{margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px dashed var(--line);display:flex}.invite-card{align-items:flex-start}.invite-text{overflow-wrap:anywhere;font-size:1.1rem;font-weight:600}.pet-photo{object-fit:cover;background:var(--surface-2);border-radius:50%;flex:none;display:block}.pet-photo-sm{box-shadow:0 0 0 2px var(--surface)}.pet-head{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.pet-head-text{overflow-wrap:anywhere;flex:10rem;min-width:0}.pet-ava-lg{border-radius:50%;width:112px;height:112px;overflow:hidden}.pet-ava-lg .pet-photo{width:100%;height:100%}.pet-ava-sm{background:var(--brand-soft);width:40px;height:40px;color:var(--brand);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.photo-controls{margin-top:calc(var(--s-3) * -1)}.shared-line{overflow-wrap:anywhere;gap:var(--s-1)}.row-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.member-row .btn{padding-inline:var(--s-3)}.role-options{gap:var(--s-2);flex-direction:column;display:flex}.role-option{align-items:flex-start;width:100%}.role-option input{flex:none;margin-top:2px}.role-text{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.role-title{font-weight:600}.role-summary{padding:var(--s-3);border-radius:var(--r);background:var(--surface-2);gap:var(--s-1);flex-direction:column;display:flex}.next-head{justify-content:space-between;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.next-pet{align-items:center;gap:var(--s-2);overflow-wrap:anywhere;min-width:0;font-weight:600;display:inline-flex}.em-pet{align-items:center;gap:var(--s-3);min-width:0;display:flex}.em-pet h2{overflow-wrap:anywhere;min-width:0}.species-tile .pet-photo{width:36px;height:36px}[aria-disabled=true]{cursor:not-allowed;opacity:.55}.tabs{gap:var(--s-1);border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.tab{min-height:var(--tap);padding:var(--s-2) var(--s-3);color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:1 0 auto;margin-bottom:-1px;font-weight:600}.tab[aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand)}.tab:hover{color:var(--fg)}.record-panel{padding-top:var(--s-2)}.record-list{flex-direction:column;display:flex}.record-row{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--line);flex-wrap:wrap;min-width:0;display:flex}.record-row:first-child{border-top:0}.record-main{overflow-wrap:anywhere;flex-direction:column;flex:12rem;gap:2px;min-width:0;display:flex}.record-title{align-items:center;gap:var(--s-2);flex-wrap:wrap;font-weight:600;display:inline-flex}.btn-start{align-self:flex-start}.weight-now{flex-direction:column;gap:2px;display:flex}.weight-now-value{font-family:var(--f-display);font-size:2rem;font-weight:700;line-height:1.1}.range-chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.weight-chart{gap:var(--s-1);flex-direction:column;margin:0;display:flex}.weight-chart svg{background:var(--surface-2);border-radius:var(--r);width:100%;height:120px;display:block}.chart-line{stroke:var(--brand);stroke-width:2.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--surface);stroke:var(--brand);stroke-width:2px;vector-effect:non-scaling-stroke}.chart-axis{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.chart-range{justify-content:space-between;gap:var(--s-2);flex-wrap:wrap;display:flex}.vacc-valid{background:var(--ok-soft);color:var(--ok-ink)}.vacc-soon{background:var(--warn-soft);color:var(--warn-ink)}.vacc-expired{background:var(--crit-soft);color:var(--crit)}.practice-note{color:var(--brand);font-weight:600}.doc-row{align-items:flex-start}.doc-thumb{object-fit:cover;border-radius:var(--r);background:var(--surface-2);flex:none;width:48px;height:48px}.doc-icon{border-radius:var(--r);background:var(--brand-soft);width:48px;height:48px;color:var(--brand);letter-spacing:.04em;flex:none;place-items:center;font-size:.75rem;font-weight:700;display:grid}.file-input{padding:var(--s-2);min-height:var(--tap)}.row-3{gap:var(--s-4);grid-template-columns:1fr;display:grid}@media (width>=520px){.row-3{grid-template-columns:2fr 1fr 1fr}}.pet-filter{max-width:22rem}.appt-when{color:var(--brand);font-weight:600}.appt-note{color:var(--fg);overflow-wrap:anywhere}.record-row.is-closed .record-title{color:var(--muted)}.appt-done{background:var(--ok-soft);color:var(--ok-ink)}.appt-cancelled{background:var(--surface-2);color:var(--muted);text-decoration:line-through}.rem-st-overdue{background:var(--crit-soft);color:var(--crit)}.rem-st-today{background:var(--warn-soft);color:var(--warn-ink)}.rem-st-later{background:var(--surface-2);color:var(--fg)}.rem-group.rem-overdue{border-inline-start:4px solid var(--crit)}.rem-group.rem-today{border-inline-start:4px solid var(--warn)}.rem-derived .record-title{font-weight:500}.count{font-size:.9em;font-weight:500}.disclosure>summary{min-height:var(--tap);cursor:pointer;font-family:var(--f-display);align-items:center;font-size:1.1rem;font-weight:700;list-style-position:inside;display:flex}.disclosure>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r)}.disclosure[open]>summary{margin-bottom:var(--s-2)}.upcoming-card h3{font-size:1rem}.more-grid{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));display:grid}.more-btn{justify-content:flex-start;width:100%}.emergency-big{min-height:56px;font-size:1.1rem}.choose-list{gap:var(--s-2);flex-direction:column;display:flex}.choose-pet{justify-content:flex-start}.ec-head{gap:var(--s-3);align-items:flex-start;display:flex}.ec-pet{gap:var(--s-3);align-items:center;display:flex}.ec-pet .pet-ava-sm{width:56px;height:56px}.ec-pet-name{font-family:var(--f-display);font-size:1.3rem;font-weight:700}.tel-link{min-height:var(--tap);padding:0}.tip-list{gap:var(--s-2);flex-direction:column;padding-inline-start:1.2rem;list-style:outside;display:flex}.claim-sums{border-top:1px solid var(--line);padding-top:var(--s-3)}.claim-reimbursed{background:var(--ok-soft);color:var(--ok-ink)}.claim-partial,.claim-query{background:var(--warn-soft);color:var(--warn-ink)}.claim-rejected{background:var(--crit-soft);color:var(--crit)}.sit-active{background:var(--ok-soft);color:var(--ok-ink)}.sit-upcoming{background:var(--brand-soft);color:var(--brand)}.sit-expired,.sit-revoked{background:var(--surface-2);color:var(--muted)}.sitter-card.is-closed h2{color:var(--muted)}.sitter-qr-card{align-items:center;gap:var(--s-2);text-align:center;flex-direction:column;display:flex}.sitter-qr{border-radius:var(--r);border:1px solid var(--line);background:#fff;padding:6px}.sitter-qr-caption{font-weight:600}.check-row{align-items:center;gap:var(--s-2);min-height:var(--tap);cursor:pointer;font-weight:600;display:inline-flex}.check-row input{width:24px;height:24px;accent-color:var(--brand);margin:0}.public-page{flex-direction:column;min-height:100dvh;display:flex}.public-main{width:100%;max-width:640px;padding:var(--s-4) var(--s-4) var(--s-7);flex:1;margin:0 auto}.vault{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);gap:var(--s-5);flex-direction:column;display:flex}.vault-head{gap:var(--s-2);border-bottom:2px solid var(--brand);padding-bottom:var(--s-3);flex-direction:column;display:flex}.vault-section{gap:var(--s-2);flex-direction:column;display:flex}.vault-section h3{font-size:1.1rem}.table-wrap{max-width:100%;overflow-x:auto}.vault-table{border-collapse:collapse;width:100%;font-size:.95rem}.vault-table th,.vault-table td{text-align:start;padding:var(--s-2);border-bottom:1px solid var(--line);vertical-align:top}.vault-table th{font-weight:700}.vault-chart{background:var(--surface-2);border-radius:var(--r);width:100%;height:90px}.vault-foot{border-top:1px solid var(--line);padding-top:var(--s-3);color:var(--muted);gap:var(--s-1);flex-direction:column;font-size:.85rem;display:flex}@page{size:A4;margin:15mm}@media print{:root{--bg:#fff;--surface:#fff;--surface-2:#f2f2f2;--fg:#000;--muted:#333;--line:#999;--brand:#000;--brand-soft:#eee;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:#000;background:#fff}.topbar,.nav,.skip-link,.no-print,.pet-switcher,.notice-info{display:none!important}.shell{display:block}.main{margin:0;padding:0!important}.card,.vault{box-shadow:none;border-color:#000}a{color:#000;text-decoration:none}.print-card{break-inside:avoid;border:2px solid #000;max-width:105mm}.print-a4{border:0;padding:0}.vault-section{break-inside:avoid}.vault-section.page-break{break-before:page}.vault-table th,.vault-table td{border-bottom:1px solid #000}.chart-line{stroke:#000}.chart-dot{stroke:#000;fill:#fff}body.printing-target *{visibility:hidden}body.printing-target .print-target,body.printing-target .print-target *{visibility:visible}body.printing-target .print-target{inset-inline-start:0;border:2px solid #000;width:90mm;padding:6mm;position:absolute;top:0}}.combo{position:relative}.combo-row{gap:var(--s-2);display:flex}.combo-row input{flex:1;min-width:0}.combo-list{z-index:20;inset-inline:0;background:var(--surface);border:1px solid var(--control);border-radius:var(--r);max-height:18rem;box-shadow:var(--shadow);margin-top:4px;position:absolute;top:100%;overflow-y:auto}.combo-list[hidden]{display:none}.combo-list [role=option]{padding:var(--s-2) var(--s-3);min-height:var(--tap);cursor:pointer;align-items:center;display:flex}.combo-list [role=option].is-active,.combo-list [role=option]:hover{background:var(--brand-soft)}.result-count{font-size:1.05rem;font-weight:700}.result-count:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r)}.practice-list{gap:var(--s-3);flex-direction:column;display:flex}.practice-head{justify-content:space-between;align-items:baseline;gap:var(--s-2);flex-wrap:wrap;display:flex}.practice-head h3{overflow-wrap:anywhere;min-width:0}.practice-reg{color:var(--muted)}.practice-reg.is-reg{color:var(--ok-ink);font-weight:600}.practice-actions .btn{padding-inline:var(--s-3)}.title-list{gap:var(--s-1);flex-direction:column;display:flex}.oh-open{background:var(--ok-soft);color:var(--ok-ink)}.oh-closed{background:var(--crit-soft);color:var(--crit)}.oh-unknown{background:var(--surface-2);color:var(--fg)}.oh-closing{background:var(--warn-soft);color:var(--warn-ink)}.oh-comment{font-style:italic}.name-hint{margin:0}.combo-list mark{color:inherit;background:0 0;font-weight:700}.empty-hint{gap:var(--s-2)}.fav-btn[aria-pressed=true]{color:var(--accent-ink);border-color:var(--accent-ink)}.osm-credit{color:var(--fg)}.med-safe{padding:var(--s-2) var(--s-3);border-inline-start:4px solid var(--warn);background:var(--warn-soft);color:var(--fg);border-radius:var(--r);margin:0}.med-times{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.med-times input[type=time]{max-width:100%}.med-dose{font-weight:500}.med-longterm,.med-active{background:var(--ok-soft);color:var(--ok-ink)}.med-ending{background:var(--warn-soft);color:var(--warn-ink)}.med-ended{background:var(--surface-2);color:var(--fg)}.med-notes h3{font-size:1rem}.dose-row .record-title{font-weight:600}.dose-row{flex-direction:column;align-items:stretch}.dose-row .record-main{flex:auto;width:100%;min-width:0}.dose-row .record-title{white-space:normal;overflow-wrap:anywhere;width:100%;display:block}.dose-row .pill{white-space:normal;align-self:flex-start}.dose-row .row-actions{justify-content:flex-end;display:flex}.dose-time{font-variant-numeric:tabular-nums}.dose-open{background:var(--surface-2);color:var(--fg)}.dose-due{background:var(--warn-soft);color:var(--warn-ink)}.dose-overdue{background:var(--crit-soft);color:var(--crit)}.dose-given{background:var(--ok-soft);color:var(--ok-ink)}.med-list-plain{margin:0;padding-inline-start:1.2em}.med-list-plain li+li{margin-top:var(--s-1)}.update-banner{inset-inline:var(--s-3);bottom:calc(var(--s-3) + 72px);z-index:50;justify-content:space-between;align-items:center;gap:var(--s-2);padding:var(--s-3);background:var(--surface);color:var(--fg);border:2px solid var(--brand);border-radius:var(--r);flex-wrap:wrap;display:flex;position:fixed;box-shadow:0 6px 24px #0000002e}.push-state{font-weight:600}.push-state-active{color:var(--ok-ink)}.push-state-blocked{color:var(--crit)}.device-row .record-title{font-weight:600}.legal-page h2{margin-top:var(--s-4)}.auth-foot{justify-content:center;gap:var(--s-3);padding-top:var(--s-5);flex-wrap:wrap;width:100%;margin-top:auto;display:flex}.plan-med-link{color:var(--fg);text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.plan-med-meta{gap:var(--s-1);margin-top:var(--s-1);flex-wrap:wrap;display:flex}.pill-med{background:var(--brand-soft);color:var(--brand)}.routine-row.plan-med.is-done .plan-med-link{color:var(--muted)}.routine-row{flex-wrap:wrap}.routine-row.plan-med .plan-med-link{overflow-wrap:anywhere;min-height:44px}.legacy-note{color:var(--warn-ink);background:var(--warn-soft);padding:var(--s-1) var(--s-2);border-radius:var(--r);margin-top:var(--s-1)}.push-note{margin-top:var(--s-3)}.radio-col{gap:var(--s-2);flex-direction:column;display:flex}.plan-time{align-items:flex-end;gap:var(--s-2);display:flex}.plan-time .field{flex:1;min-width:0}.med-row.is-focus{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r)}.pw-wrap{align-items:center;display:flex;position:relative}.pw-wrap input{width:100%;padding-inline-end:48px}.pw-toggle{inset-inline-end:4px;width:44px;height:44px;color:var(--muted,currentColor);border-radius:var(--r-md,8px);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.pw-toggle:hover{color:var(--ink,currentColor)}.pw-toggle:focus-visible{outline:3px solid var(--focus,#2563eb);outline-offset:2px}.intro-list{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.intro-list li{padding-inline-start:var(--s-5);line-height:1.5;position:relative}.intro-list li:before{content:"";inset-inline-start:0;background:var(--accent,#2563eb);border-radius:50%;width:10px;height:10px;position:absolute;top:.55em}.rem-kind{font-weight:600}.rem-kind-vaccination{background:var(--surface-2);color:var(--fg);border:1px solid var(--brand)}.rem-kind-medication{background:var(--brand-soft);color:var(--brand)}.rem-kind-deworming,.rem-kind-flea_tick,.rem-kind-checkup,.rem-kind-grooming,.rem-kind-other{background:var(--surface-2);color:var(--muted)}.rem-open{color:inherit;font:inherit;text-align:start;text-underline-offset:3px;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;min-height:44px;padding:0;font-weight:600;text-decoration:underline}.rem-open:focus-visible{outline:3px solid var(--focus,#2563eb);outline-offset:2px}.rem-detail{gap:var(--s-3);flex-direction:column;margin:0;display:flex}.rem-detail>div{flex-direction:column;gap:2px;display:flex}.rem-detail dt,.rem-detail dd{margin:0}.appt-nav{gap:var(--s-3);flex-wrap:wrap;align-items:center;min-height:44px;display:flex}@media print{body:has(.mo-print) *{visibility:hidden}.mo-print,.mo-print *{visibility:visible}.mo-print{width:100%;padding:1rem;position:absolute;top:0;left:0}.no-print{display:none!important}}.announcement{background:#fff7e6;border-bottom:1px solid #f0d9a8;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.announcement p{flex:1;margin:0}.ai-pet{gap:var(--s-1);flex-direction:column;font-weight:600;display:flex}.ai-pet select{font-weight:400}.ai-log{gap:var(--s-3);flex-direction:column;min-height:8rem;display:flex}.ai-suggest{gap:var(--s-2);flex-wrap:wrap;display:flex}.ai-msg{gap:var(--s-1);padding:var(--s-3) var(--s-4);border-radius:var(--r);border:1px solid var(--line,var(--border,currentColor));flex-direction:column;max-width:100%;display:flex}.ai-user{background:var(--brand-soft);align-self:flex-end}.ai-assistant{background:var(--surface,transparent);align-self:flex-start}.ai-who{opacity:.75;margin:0;font-size:.8rem;font-weight:600}.ai-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.ai-meta{opacity:.8;margin:0;font-size:.8rem}.ai-wait{opacity:.8}.ai-form textarea{resize:vertical;width:100%;min-height:4.5rem}.ai-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.ai-attach{border:1px solid var(--line,var(--border,currentColor));border-radius:var(--r);padding:var(--s-3) var(--s-4)}.ai-attach h2{margin:0;font-size:1rem}.ai-attach-pick{gap:var(--s-3);flex-wrap:wrap;align-items:flex-end;display:flex}.ai-attach-pick .btn{cursor:pointer}.ai-attached{gap:var(--s-2);flex-wrap:wrap;align-items:center;margin:0;display:flex}.ai-modes{gap:var(--s-1);border:0;flex-direction:column;margin:0;padding:0;display:flex}.ai-modes legend{margin-bottom:var(--s-1);padding:0;font-weight:600}.ai-canvas{object-fit:contain;touch-action:none;cursor:crosshair;border:1px solid var(--line,var(--border,currentColor));background:#fff;width:100%;height:auto;max-height:70vh}.ai-consent{gap:var(--s-2);align-items:flex-start;display:flex}.ai-consent input{margin-top:.25rem}.ai-rich{gap:var(--s-2);overflow-wrap:anywhere;flex-direction:column;display:flex}.ai-rich>*{margin:0}.ai-p{white-space:pre-line}.ai-h{margin-top:var(--s-1);font-size:1rem;font-weight:700}.ai-list{gap:var(--s-1);flex-direction:column;padding-inline-start:1.4rem;display:flex}.ai-rich code{background:var(--brand-soft);border-radius:4px;padding:0 .25em;font-family:ui-monospace,monospace;font-size:.9em}.ai-table-wrap{max-width:100%;overflow-x:auto}.ai-table{border-collapse:collapse;width:100%;font-size:.9rem}.ai-table th,.ai-table td{border:1px solid var(--line,var(--border,currentColor));text-align:start;vertical-align:top;padding:.35rem .6rem}.ai-table th{background:var(--brand-soft);white-space:nowrap;font-weight:600}.agents-note{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:var(--s-3) var(--s-4);font-size:.9rem}.agents-grid{margin:var(--s-4) 0;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding:0;list-style:none;display:grid}.agent-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4);gap:var(--s-2);height:100%;box-shadow:var(--shadow);flex-direction:column;display:flex}.agent-tile.is-system{border-style:dashed}.agent-tile h2{margin:0;font-size:1.1rem}.agent-short{flex:1;margin:0}.agent-when{margin:0}.agent-icon{border-radius:var(--r);background:var(--brand-soft);width:48px;height:48px;color:var(--brand);flex:none;justify-content:center;align-items:center;display:inline-flex}.agent-head{align-items:center;gap:var(--s-3);margin-block:var(--s-3);display:flex}.agent-head h1,.agent-head p{margin:0}.agent-block{margin-block:var(--s-4)}.agent-block h2{margin:0 0 var(--s-2);font-size:1rem}.agent-cols{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.agent-chips{gap:var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.agent-chips li{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:4px var(--s-3);font-size:.88rem}.pill-warn{background:var(--warn-soft);color:var(--warn-ink)}.pill-crit{background:var(--crit-soft);color:var(--crit)}.back-link{align-items:center;gap:var(--s-1);min-height:var(--tap);color:var(--brand);align-self:flex-start;font-weight:600;text-decoration:none;display:inline-flex}.pet-hero{align-items:center;gap:var(--s-4);flex-flow:wrap;display:flex}.pet-ava-hero{background:var(--brand-soft);width:84px;height:84px;color:var(--brand);border-radius:22px;flex:none;place-items:center;display:grid;overflow:hidden}.pet-ava-hero .pet-photo{object-fit:cover;width:100%;height:100%}.pet-hero-text{align-items:flex-start;gap:var(--s-1);overflow-wrap:anywhere;flex-direction:column;flex:10rem;min-width:0;display:flex}.pet-hero-text h1,.pet-hero-text p{margin:0}.pet-hero-edit{align-self:flex-start}.pet-alert{gap:var(--s-1);flex-direction:column;display:flex}.pet-alert p{margin:0}.quick-grid{gap:var(--s-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.quick-btn{justify-content:center;align-items:center;gap:var(--s-1);text-align:center;min-height:84px;padding:var(--s-2);border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--fg);overflow-wrap:anywhere;flex-direction:column;font-size:.875rem;font-weight:600;text-decoration:none;display:flex}.quick-btn svg{color:var(--brand)}.quick-btn:hover{background:var(--brand-soft)}.pet-cards{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pet-card{align-items:center;gap:var(--s-4);color:inherit;flex-direction:row;text-decoration:none;display:flex}.pet-card-text{gap:var(--s-1);overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.pet-card-name{font-family:var(--f-display);font-size:1.15rem;font-weight:700}.pet-card-chips{gap:var(--s-1);flex-wrap:wrap;display:flex}.pet-card-photo{border-radius:18px;flex:none}.add-pet-link{border-style:dashed}.date-block{width:56px;padding:var(--s-1) 0;background:var(--brand-soft);color:var(--brand);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;line-height:1.1;display:flex}.date-block-mon{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.date-block-day{font-family:var(--f-display);font-size:1.5rem;font-weight:700}.appt-row.is-closed .date-block{background:var(--surface-2);color:var(--muted)}.next-card{background:color-mix(in srgb, var(--brand-soft) 55%, var(--surface))}.today-hero{background:var(--brand);color:var(--on-brand);border-color:var(--brand);gap:var(--s-2)}.today-hero .label{color:inherit;opacity:.85;margin:0}.today-hero-count{font-family:var(--f-display);margin:0;font-size:1.6rem;font-weight:700}.today-hero-bar{border-radius:var(--r-pill);background:color-mix(in srgb, var(--on-brand) 30%, transparent);width:100%;height:10px;accent-color:var(--on-brand);border:0;overflow:hidden}.today-hero-bar::-webkit-progress-bar{background:color-mix(in srgb, var(--on-brand) 30%, transparent)}.today-hero-bar::-webkit-progress-value{background:var(--on-brand);border-radius:var(--r-pill)}.today-hero-bar::-moz-progress-bar{background:var(--on-brand);border-radius:var(--r-pill)}.menu-group{gap:var(--s-1);flex-direction:column;display:flex}.menu-title{margin:0 0 0 var(--s-1);font-family:var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8125rem;font-weight:700}.menu-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;overflow:hidden}.menu-list li+li{border-top:1px solid var(--line)}.menu-row{align-items:center;gap:var(--s-3);min-height:56px;padding:0 var(--s-3);color:var(--fg);font-weight:600;text-decoration:none;display:flex}.menu-row:hover{background:var(--surface-2)}.menu-ic{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.menu-label{flex:1}.menu-chev{color:var(--muted);flex:none}.ai-notice{font-size:.875rem}.ai-msg{gap:var(--s-2);background:var(--surface);border-radius:18px 18px 18px 4px;max-width:92%}.ai-user{background:var(--brand);color:var(--on-brand);border-color:var(--brand);border-radius:18px 18px 4px;max-width:84%}.ai-user .ai-meta{color:var(--on-brand)}.ai-used{background:var(--bg);border:1px solid var(--line);color:var(--brand);opacity:1;border-radius:12px;align-self:flex-start;padding:6px 12px;font-weight:600}.ai-suggest{align-items:stretch;gap:var(--s-2);flex-flow:column}.ai-suggest .chip{white-space:normal;text-align:left;line-height:1.3}.ai-input-row{gap:var(--s-2);align-items:center;display:flex}.ai-input-row textarea{resize:none;border-radius:999px;flex:1;height:48px;min-height:48px;padding:12px 18px;line-height:1.3}.ai-send{background:var(--brand);width:48px;height:48px;color:var(--on-brand);cursor:pointer;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;display:flex}.ai-send:disabled{opacity:.45;cursor:not-allowed}.ai-foot{text-align:center;color:var(--muted);opacity:1}.rem-row{align-items:center}.rem-ic{background:var(--surface-2);color:var(--muted)}.rem-ic-once{background:var(--warn-soft);color:var(--warn-ink)}.rem-row.is-closed .rem-ic{opacity:.6}.rem-group>h2{font-family:var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8125rem;font-weight:700}.tl-row{min-height:64px;padding-block:var(--s-2)}.tl-row .menu-label{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.tl-title{font-weight:600}.tl-src{flex:none}.breed-info-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg,16px);margin-top:1rem;padding:1.25rem}.breed-info-title{color:var(--fg);margin:0 0 .5rem;font-size:1rem;font-weight:600}.breed-info-description{color:var(--muted);margin:0 0 .75rem;font-size:.875rem;line-height:1.5}.breed-info-list{grid-template-columns:1fr;gap:.5rem;margin:0 0 .75rem;display:grid}.breed-info-row{align-items:baseline;gap:.5rem;display:flex}.breed-info-label{color:var(--muted);flex-shrink:0;min-width:130px;font-size:.8rem;font-weight:500}.breed-info-value{color:var(--fg);margin:0;font-size:.875rem}.breed-dot-scale{letter-spacing:2px;font-size:.85rem}.dot-filled{color:var(--brand)}.dot-empty{color:var(--line)}.breed-info-source{color:var(--muted);margin:0;font-size:.7rem}.breed-info-skeleton{pointer-events:none}.skeleton-line{background:linear-gradient(90deg, var(--surface-2) 25%, var(--line) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:4px;height:14px;animation:1.2s infinite shimmer}.skeleton-title{width:60%;margin-bottom:.75rem}.skeleton-row{gap:.5rem;margin-bottom:.4rem;display:flex}.skeleton-label{width:30%}.skeleton-value{width:50%}.breed-suggest{position:relative}.breed-suggest-list{background:var(--surface);color:var(--fg);border:1px solid var(--control);border-radius:var(--r,10px);margin:0;padding:.25rem 0;list-style:none;overflow-y:auto;box-shadow:0 8px 24px #00000040}.breed-suggest-item{min-height:var(--tap,44px);cursor:pointer;color:var(--fg);border-bottom:1px solid var(--line);padding:.75rem .9rem;font-size:.95rem}.breed-suggest-item:last-child{border-bottom:0}.breed-suggest-item:hover,.breed-suggest-item:active{background:var(--surface-2)}.breed-suggest-origin{color:var(--muted);font-size:.8rem}fieldset.fieldset{overflow:visible!important}
