@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#26312a;background:#f7f6f2;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#26312a;--muted:#858b83;--line:#ebece6;--paper:#fff;--green:#657e68;--green-dark:#4f6952;--green-soft:#e8eee4;--orange:#c47b52;--orange-soft:#fbefe7;--lav:#887cb0;--lav-soft:#f0edf7;--shadow:0 12px 32px rgba(41,56,41,.045)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f7f6f2}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#fff;border-right:1px solid #eeefe9;padding:30px 18px 18px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 13px 38px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;background:#e8eee3;color:#58725b;border-radius:13px;font:800 25px Manrope,sans-serif;transform:rotate(-5deg)}.brand strong{font:800 16px Manrope,sans-serif;letter-spacing:-.5px;display:block}.brand small{display:block;color:#989d95;font-size:10px;margin-top:2px;letter-spacing:.2px}.nav-label,.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.35px;color:#a1a69d}.nav-label{padding:0 14px 10px}.main-nav{display:flex;flex-direction:column;gap:4px}.main-nav a{height:42px;padding:0 13px;display:flex;align-items:center;gap:12px;border-radius:10px;color:#737b72;font-size:12px;font-weight:500;transition:.18s}.main-nav a:hover{background:#f8f9f5;color:var(--ink)}.main-nav a.active{color:#4f6952;background:#edf2e9;font-weight:700}.nav-icon{font-size:17px;width:20px;text-align:center;line-height:1;color:#8b9986}.active .nav-icon{color:#627b64}.nav-count{margin-left:auto;border-radius:999px;background:#f1f2ed;padding:3px 7px;font-size:9px;color:#888f86}.nav-divider{height:1px;background:#f0f1ec;margin:9px 10px}.sidebar-spacer{flex:1}.family-card{padding:16px 14px 15px;border-radius:14px;background:#f7f6f0;margin:0 4px 17px}.family-avatars{display:flex;padding-left:2px;margin-bottom:10px}.family-avatars span{display:grid;place-items:center;width:27px;height:27px;border:2px solid #f7f6f0;border-radius:50%;background:#e6eee1;font-size:12px;margin-left:-4px}.family-avatars span:last-child{background:#fff;color:#728273;font-size:13px}.family-card>strong{font:700 11px Manrope,sans-serif}.family-card p{font-size:10px;line-height:1.5;color:#898e85;margin:6px 0 10px}.text-button{padding:0;border:0;background:none;color:#637b65;font-weight:700;font-size:10px}.text-button span{margin-left:4px}.profile-button{display:flex;align-items:center;text-align:left;border:0;background:#fff;padding:10px 8px 5px;border-top:1px solid #f0f1ec;gap:9px}.profile-avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#f2e8dd;color:#926b53;font-weight:700;font-size:11px}.profile-copy{display:flex;flex-direction:column;gap:3px}.profile-copy strong{font-size:10px}.profile-copy small{font-size:8px;color:#a0a49d}.profile-menu{margin-left:auto;color:#9aa096;letter-spacing:2px;font-size:18px}.main-content{margin-left:250px;min-height:100vh}.topbar{height:66px;padding:0 44px;border-bottom:1px solid #eeefe9;display:flex;align-items:center;justify-content:space-between;background:rgba(247,246,242,.91);position:sticky;top:0;z-index:4;backdrop-filter:blur(12px)}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:10px;color:#a0a49c}.breadcrumb strong{color:#59635a;font-weight:600}.crumb-slash{color:#c8cbc4}.topbar-right{display:flex;align-items:center;gap:20px}.sync-pill{display:flex;align-items:center;gap:7px;font-size:9px;color:#828a80}.sync-dot{width:6px;height:6px;border-radius:50%;background:#83a181;box-shadow:0 0 0 3px #e8eee5}.avatar-stack{display:flex;border:0;background:none;padding:0 2px}.avatar-stack span{width:25px;height:25px;border:2px solid #f7f6f2;border-radius:50%;margin-left:-6px;background:#e4ecdf;color:#58715c;display:grid;place-items:center;font-size:10px;font-weight:700}.avatar-stack span+span{background:#fff;border-color:#e4e9df;color:#667a68}.mobile-menu{display:none;border:0;background:none;font-size:18px;color:#667267}.view-root{max-width:1180px;padding:34px 44px 52px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px;gap:24px}.page-heading h1{font:700 clamp(25px,3vw,33px) Manrope,sans-serif;letter-spacing:-1.35px;margin:7px 0 7px;color:#2c362e}.page-heading p{font-size:11px;color:#858b83;margin:0;line-height:1.6}.button{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid transparent;border-radius:9px;font-size:10px;font-weight:700;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button-primary{background:#657e68;color:#fff;box-shadow:0 4px 10px #657e6820}.button-primary:hover{background:#526c55}.button-primary span{font-size:16px;font-weight:400}.button-outline{background:#fff;border-color:#e4e7df;color:#687568}.button-outline:hover{background:#f7f9f5}.button-small{height:32px;padding:0 11px;font-size:9px}.button-light{background:#fff;color:#657b65;border-color:#edf0e9}.button-quiet{background:transparent;color:#6c766b;border-color:#e6e8e1}.button-quiet:hover{background:#fff}.welcome-banner{height:216px;border-radius:17px;overflow:hidden;position:relative;background:#e9eee4;padding:26px 31px;margin-bottom:29px;display:flex}.welcome-copy{position:relative;z-index:1}.banner-kicker{font-size:8px;letter-spacing:1.35px;color:#768a73;font-weight:700}.welcome-copy h2{font:700 25px/1.25 Manrope,sans-serif;letter-spacing:-.85px;color:#354638;margin:11px 0 8px}.welcome-copy p{font-size:10px;color:#798479;margin:0 0 14px}.banner-link{font-size:10px;color:#557358;font-weight:700}.banner-link span{margin-left:6px}.banner-art{position:absolute;right:28px;bottom:-18px;width:310px;height:220px}.sun-circle{position:absolute;width:183px;height:183px;left:75px;top:4px;border-radius:50%;background:#f3e5c9}.cat-illustration{position:absolute;left:128px;top:82px;width:128px;height:140px;background:#687e67;border-radius:45% 45% 28% 28%;transform:rotate(1deg);box-shadow:inset -10px -2px 0 #5b735d}.cat-ear{position:absolute;top:-31px;width:62px;height:76px;background:#687e67;clip-path:polygon(0 0,100% 65%,14% 100%);z-index:0}.cat-ear.left{left:2px;transform:rotate(-11deg)}.cat-ear.right{right:2px;transform:scaleX(-1) rotate(-11deg)}.cat-face{position:absolute;inset:25px 18px}.cat-face i{position:absolute;width:8px;height:10px;background:#f7f2e7;border-radius:50%;top:22px;left:14px}.cat-face i:nth-child(2){left:69px}.cat-face b{position:absolute;left:42px;top:45px;width:12px;height:8px;border-radius:50% 50% 60% 60%;background:#dba993}.cat-face em{position:absolute;left:39px;top:51px;width:17px;height:13px;border-bottom:1.5px solid #f2eadd;border-radius:50%}.plant{position:absolute;color:#9dae8a;font-size:37px}.plant-one{left:37px;bottom:39px}.plant-two{right:4px;bottom:55px;font-size:30px}.sparkle{position:absolute;color:#c99c68;font-size:13px}.sparkle-one{left:44px;top:60px}.sparkle-two{right:12px;top:90px}.section-title-row,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-title-row{margin-bottom:13px}.section-title-row h2,.panel-heading h2{font:700 16px Manrope,sans-serif;letter-spacing:-.45px;margin:5px 0 0;color:#303a32}.muted-count{font:500 10px 'DM Sans';color:#b2b6ae;margin-left:5px;vertical-align:2px}.quiet-link{font-size:9px;color:#6f826e;font-weight:700;white-space:nowrap}.quiet-link span{margin-left:4px}.cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cat-card{border:1px solid #eeefe8;background:#fff;border-radius:13px;padding:15px 16px 12px;min-height:143px;box-shadow:0 4px 14px rgba(41,56,41,.025);transition:.18s}.cat-card:hover,.profile-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.cat-card-top{display:flex;justify-content:space-between;align-items:flex-start}.cat-avatar{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;color:#526b56;font:700 14px Manrope,sans-serif;flex:none}.sage{--cat-bg:#e6eee1;--cat-ink:#5e765e}.peach{--cat-bg:#f6e9e0;--cat-ink:#aa775b}.lavender{--cat-bg:#eeeaf6;--cat-ink:#7c71a0}.sky{--cat-bg:#e6eef3;--cat-ink:#648194}.butter{--cat-bg:#f4efd9;--cat-ink:#968149}.rose{--cat-bg:#f3e6e8;--cat-ink:#a5747d}.cat-avatar{background:var(--cat-bg);color:var(--cat-ink)}.icon-button{border:0;background:none;color:#aab0a7;letter-spacing:1px;font-size:18px;line-height:20px;width:27px;height:25px;border-radius:7px}.icon-button:hover{background:#f3f5f0;color:#637362}.cat-card-name-row{display:flex;align-items:center;gap:8px;margin-top:8px}.cat-card h3,.profile-body h3{font:700 13px Manrope,sans-serif;margin:0;color:#354037}.status-dot{font-size:8px;color:#b27550}.status-dot:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#c78a65;margin-right:4px;vertical-align:1px}.cat-subtitle{font-size:9px;color:#9a9e96;margin:4px 0 11px}.cat-card-bottom{border-top:1px solid #f1f2ed;padding-top:9px;display:flex;align-items:center;justify-content:space-between}.mini-note{font-size:8px;color:#a2a69e}.round-arrow{width:22px;height:22px;border:1px solid #ecefe8;border-radius:50%;display:grid;place-items:center;color:#748673;font-size:10px}.overview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:13px;margin-top:18px}.panel{background:#fff;border:1px solid #eeefe8;border-radius:14px;padding:19px 20px;box-shadow:0 3px 14px rgba(41,56,41,.02)}.panel-heading{margin-bottom:14px}.panel-heading .eyebrow{font-size:8px}.panel-heading h2{font-size:14px}.panel-subtext{margin:4px 0 0;font-size:9px;color:#999f96}.weight-overview,.care-overview{min-height:216px}.overview-rows{margin-top:7px}.overview-row{min-height:36px;display:grid;grid-template-columns:25px minmax(75px,1fr) auto auto;gap:9px;align-items:center;border-top:1px solid #f3f4ef}.overview-row:first-child{border-top:0}.cat-avatar.small{width:28px;height:28px;border-radius:10px;font-size:10px}.overview-row>strong{font-size:9px}.weight-figure{font-size:11px;font-weight:700;color:#49584b}.weight-figure small{font-size:8px;color:#939a90;font-weight:500}.weight-date{font-size:8px;color:#a2a79f}.panel-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:9px;background:#f5f0df;color:#b49b56}.upcoming-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #f3f4ef}.upcoming-info{display:flex;flex-direction:column;gap:4px;flex:1}.upcoming-info strong{font-size:9px;font-weight:600}.upcoming-info small{font-size:8px;color:#999f96}.upcoming-arrow{color:#9ba897}.empty-inline{padding:20px 8px 10px;text-align:center;display:flex;flex-direction:column;align-items:center}.empty-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:11px;background:#f2f4ed;color:#71866e;font-size:15px;margin-bottom:8px}.empty-inline strong{font-size:10px;color:#505a50}.empty-inline p{max-width:230px;font-size:8px;line-height:1.5;color:#a0a59d;margin:5px 0}.home-footer{display:flex;align-items:center;gap:8px;padding:15px 2px;color:#a0a49c;font-size:8px}.footer-paw{color:#8fa187}.footer-sep{color:#c5c9c1}.home-footer .button{margin-left:auto;height:30px;font-size:8px}.profile-note{display:flex;align-items:center;gap:10px;border-radius:11px;background:#eef2e9;padding:12px 15px;margin-bottom:16px;color:#627563}.profile-note>span{font-size:16px}.profile-note p{font-size:9px;line-height:1.5;color:#788477;margin:0}.profile-note strong{color:#536b55}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.profile-card{background:#fff;border:1px solid #eeefe8;border-radius:14px;overflow:hidden;transition:.18s}.profile-cover{height:88px;position:relative;display:grid;place-items:center;background:var(--cat-bg)}.profile-large{width:61px;height:61px;border-radius:22px;background:#ffffffa8;border:3px solid #ffffffa8;font-size:20px;box-shadow:0 4px 14px #394c3910}.icon-button.light{position:absolute;right:10px;top:8px;color:#798478}.cover-spark{position:absolute;right:43px;top:17px;color:#fff;font-size:15px}.profile-body{padding:14px 15px 11px}.profile-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.tag{font-size:7px;border-radius:999px;padding:5px 8px;white-space:nowrap}.tag-green{background:#edf3ea;color:#668066}.tag-orange{background:#fbefe7;color:#b47c57}.profile-age{font-size:8px;color:#a0a49c;margin:5px 0 12px}.profile-age span{padding:0 4px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #f0f1ec;border-bottom:1px solid #f0f1ec;padding:10px 0}.profile-stats>div{display:flex;flex-direction:column;gap:5px;border-right:1px solid #f0f1ec;padding-left:8px}.profile-stats>div:first-child{padding-left:0}.profile-stats>div:last-child{border:0}.profile-stats strong{font-size:9px;color:#4e5c50}.profile-stats small{font-size:6px;letter-spacing:.6px;color:#a1a79e}.profile-link{display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:700;color:#668069;padding-top:10px}.weights-panel{padding:20px 21px 6px}.date-chip{font-size:8px;color:#82907e;background:#f6f7f2;border-radius:7px;padding:8px 10px}.weight-list{margin-top:10px}.weight-card{display:grid;grid-template-columns:minmax(180px,1.3fr) 120px 145px 70px;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #f0f1ec}.weight-cat{display:flex;align-items:center;gap:10px}.weight-cat>div{display:flex;flex-direction:column;gap:4px}.weight-cat strong{font-size:10px}.weight-cat small{font-size:8px;color:#9ba198}.weight-current{display:flex;flex-direction:column;gap:4px}.weight-current>strong{font:700 14px Manrope,sans-serif;color:#465449}.weight-current strong small{font:500 8px 'DM Sans';color:#92998f}.no-weight{color:#c0c4bd!important}.weight-change{font-size:8px;color:#899688}.weight-change.up{color:#c17b55}.weight-change.down{color:#668269}.weight-change.neutral{color:#a2a79f}.inline-weight{display:flex;flex-direction:column;gap:4px}.inline-weight label{font-size:7px;color:#9da39b}.input-suffix{height:33px;display:flex;align-items:center;border:1px solid #e8eae4;border-radius:8px;background:#fff;overflow:hidden}.input-suffix:focus-within{border-color:#97a992;box-shadow:0 0 0 3px #eaf0e7}.input-suffix input{width:100%;min-width:0;height:100%;border:0;outline:0;padding:0 8px;font-size:10px;color:#405043;background:transparent}.input-suffix input::placeholder{color:#c2c6bf}.input-suffix span{font-size:8px;color:#929a90;padding:0 8px}.button-small.button-outline{min-width:64px}.history-panel,.records-panel{margin-top:15px}.records-count{font-size:8px;color:#91988e;background:#f6f7f3;padding:6px 9px;border-radius:999px}.table-wrap{overflow:auto}.history-panel table{border-collapse:collapse;width:100%;text-align:left}.history-panel th{font-size:7px;letter-spacing:.8px;color:#a0a49d;font-weight:600;padding:8px 6px;border-bottom:1px solid #edf0e9}.history-panel td{font-size:9px;color:#737d73;padding:10px 6px;border-bottom:1px solid #f3f4ef}.history-panel tr:last-child td{border-bottom:0}.table-cat{display:flex;align-items:center;gap:7px}.table-cat strong{font-size:9px;color:#4e594f}.cat-avatar.tiny{width:22px;height:22px;border-radius:8px;font-size:8px}.table-weight{font-weight:700;color:#4e5b50!important}.muted-cell{font-size:8px;color:#a3a79f}.group-callout{display:flex;align-items:center;gap:13px;padding:14px 17px;border:1px solid #f0e7d5;background:#fbf7ed;border-radius:12px;margin-bottom:15px}.callout-icon{width:34px;height:34px;border-radius:11px;background:#f5eddb;display:grid;place-items:center;color:#ad9252;font-size:16px;flex:none}.group-callout>div{flex:1}.group-callout strong{font-size:10px;color:#564e3c}.group-callout p{font-size:8px;color:#8d8777;margin:4px 0 0;line-height:1.5}.group-callout .button{flex:none}.lilac-callout{background:#f4f1f8;border-color:#ece7f2}.lilac-callout .callout-icon{background:#eae5f2;color:#8275a4}.records-panel{min-height:205px}.records-panel .empty-inline{padding:28px}.record-list{margin-top:5px}.record-row{display:flex;align-items:center;gap:12px;border-top:1px solid #f0f1ec;padding:11px 0}.record-main{flex:1;display:flex;flex-direction:column;gap:4px;min-width:130px}.record-main strong{font-size:10px;color:#4a564b}.record-main small,.record-next small{font-size:8px;color:#969d93}.record-next{min-width:108px;display:flex;flex-direction:column;gap:4px}.record-next>strong{font-size:9px;color:#677566}.record-next small{letter-spacing:.5px;font-size:6px}.file-link{border:0;background:#f4f6f1;color:#698069;border-radius:7px;padding:7px 9px;font-size:8px;font-weight:600}.no-file{color:#b3b7b0;font-size:8px;padding:7px}.record-row>.icon-button{margin-left:2px}.deworm-row{flex-wrap:wrap}.dose-chips{display:flex;gap:5px;flex-wrap:wrap}.dose-chip{padding:5px 7px;border:1px solid #ecefe8;border-radius:7px;color:#7b8678;font-size:7px}.health-summary{display:flex;align-items:center;gap:13px;padding:15px 17px;background:#edf2e9;border:1px solid #e5ebdf;border-radius:12px;margin-bottom:15px}.health-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#fff;color:#759077;font-size:19px}.health-summary strong{font-size:10px;color:#536b55}.health-summary p{font-size:8px;color:#829080;margin:4px 0 0}.episode-list{padding-top:4px}.episode-card{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:13px 0 7px}.episode-rail{position:relative;display:flex;justify-content:center}.episode-node{position:relative;z-index:1;width:9px;height:9px;border-radius:50%;background:#d89970;border:2px solid #fbefe7;margin-top:3px}.resolved .episode-node{background:#7b987b;border-color:#edf3ea}.episode-line{position:absolute;top:11px;bottom:-10px;width:1px;background:#ecefe8}.episode-content{padding-bottom:11px;border-bottom:1px solid #f0f1ec}.episode-card:last-child .episode-content{border:0}.episode-topline{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.episode-topline>strong{font-size:9px;color:#59665a}.episode-date{font-size:8px;color:#a0a59d;margin-right:auto}.episode-topline .tag{padding:4px 7px}.episode-content h3{font:700 12px Manrope,sans-serif;margin:9px 0 7px;color:#465147}.episode-desc{font-size:8px;color:#7e877d;line-height:1.55;margin:5px 0}.episode-desc strong{color:#5c695d;margin-right:4px}.medication-chips,.study-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.med-chip,.study-chip{padding:6px 8px;border-radius:7px;background:#f4f6f1;color:#697969;font-size:7px}.study-chip{background:#f3f0f8;color:#7d7296;border:0;cursor:pointer}.episode-actions{display:flex;align-items:center;gap:13px;margin-top:10px}.resolved-note{font-size:8px;color:#729072}.episode-actions .text-button{font-size:8px}.app-dialog{border:0;border-radius:17px;padding:0;width:min(570px,calc(100% - 28px));max-height:min(90vh,850px);box-shadow:0 20px 70px #26312a3a;color:var(--ink)}.app-dialog::backdrop{background:#29362b70;backdrop-filter:blur(3px)}#dialog-content{padding:24px 26px 21px;max-height:inherit;overflow:auto}.dialog-top{display:flex;justify-content:space-between;gap:15px;margin-bottom:18px}.dialog-top h2{font:700 21px Manrope,sans-serif;letter-spacing:-.65px;margin:5px 0}.dialog-top p{font-size:9px;color:#92998f;margin:0}.dialog-close{width:28px;height:28px;border:0;border-radius:9px;background:#f4f5f0;color:#7e897c;font-size:20px;line-height:1}.dialog-form{display:flex;flex-direction:column;gap:13px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field>span,.medications-heading>span{font-size:9px;color:#566255;font-weight:700}.form-field small,.field-hint{font-size:8px;color:#9aa096;margin:0}.form-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-field textarea,.form-field select,.medication-form-row input{width:100%;border:1px solid #e8eae4;border-radius:8px;background:#fff;padding:9px 10px;color:#49564a;font-size:10px;outline:0}.form-field textarea{resize:vertical;min-height:64px;line-height:1.5}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.medication-form-row input:focus{border-color:#99ac94;box-shadow:0 0 0 3px #eaf0e7}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px;padding-top:14px;border-top:1px solid #eff0eb}.color-options{display:flex;gap:9px}.color-choice{position:relative}.color-choice input{position:absolute;opacity:0}.color-choice span{display:block;width:25px;height:25px;background:var(--cat-bg);border:1px solid transparent;border-radius:9px;cursor:pointer}.color-choice input:checked+span{outline:2px solid var(--cat-ink);outline-offset:2px}.quick-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-options button{display:grid;grid-template-columns:33px 1fr;text-align:left;align-items:center;column-gap:9px;border:1px solid #ecefe8;border-radius:10px;padding:11px;background:#fff}.quick-options button:hover{background:#f8faf6}.quick-options button>span{grid-row:span 2;width:32px;height:32px;border-radius:10px;background:#edf2e9;color:#69806a;display:grid;place-items:center;font-size:16px}.quick-options button strong{font-size:9px;color:#4e5b50}.quick-options button small{font-size:7px;color:#a0a69d;margin-top:3px}.cat-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cat-check{position:relative;display:flex;align-items:center;gap:6px;border:1px solid #ecefe8;border-radius:8px;padding:7px 6px;background:#fff;cursor:pointer}.cat-check input{position:absolute;opacity:0}.cat-check:has(input:checked){border-color:#94a98f;background:#f6f9f3}.cat-check .checkmark{width:10px;height:10px;border:1px solid #cbd1c8;border-radius:3px}.cat-check input:checked+.checkmark{background:#6d886d;border-color:#6d886d;box-shadow:inset 0 0 0 2px white}.cat-check strong{font-size:8px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.certificate-fields{display:flex;flex-direction:column;gap:6px}.file-input-row{display:flex;align-items:center;gap:8px;border:1px solid #edf0e9;border-radius:9px;padding:8px;position:relative}.file-input-row>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.file-input-row strong{font-size:8px}.file-input-row small{font-size:7px;color:#9da39a}.file-input-row input{max-width:170px;font-size:7px;color:#8b9288}.file-plus{color:#779075}.batch-weight-list{border:1px solid #edf0e9;border-radius:9px;padding:4px 10px}.batch-weight-row{display:grid;grid-template-columns:24px 1fr 100px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #f2f3ef}.batch-weight-row:last-child{border:0}.batch-weight-row>strong{font-size:9px}.medications-heading{display:flex;align-items:center;justify-content:space-between}.medications-heading .text-button{font-size:8px}.medication-form-row{display:grid;grid-template-columns:1.15fr 1fr 100px 25px;gap:6px;margin-top:6px}.medication-form-row input{font-size:8px!important;padding:8px!important}.remove-med{border:0;border-radius:7px;background:#f7f1ee;color:#ad795f;font-size:16px}.upload-drop{min-height:74px;border:1px dashed #cdd7ca;border-radius:10px;background:#fafbf8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#72836f;cursor:pointer}.upload-drop input{display:none}.upload-icon{font-size:16px}.upload-drop strong{font-size:8px}.upload-drop small{font-size:7px;color:#9ca398}.existing-files{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.existing-files span{font-size:7px;color:#827698;background:#f3f0f8;padding:5px 7px;border-radius:6px}.family-modal-art{text-align:center;padding:9px 10px 4px}.family-avatars.large{justify-content:center;margin:5px auto 18px}.family-avatars.large span{width:40px;height:40px;font-size:19px;background:#e8eee4;border-color:#fff}.family-avatars.large span:last-child{font-size:18px}.family-modal-art h3{font:700 15px Manrope,sans-serif;margin:0 0 8px}.family-modal-art>p{font-size:9px;line-height:1.65;color:#878e84;max-width:360px;margin:0 auto 17px}.family-progress{display:flex;align-items:flex-start;gap:10px;text-align:left;background:#f6f7f2;border-radius:10px;padding:12px}.family-progress>span:first-child{color:#71886d}.family-progress>span:last-child{display:flex;flex-direction:column;gap:4px}.family-progress strong{font-size:8px;color:#526350}.family-progress small{font-size:8px;line-height:1.5;color:#90988c}.settings-info{display:flex;gap:10px;background:#f2f5ef;border-radius:10px;padding:12px;color:#6d846a}.settings-info>span{font-size:15px}.settings-info strong{font-size:8px;color:#50634f}.settings-info p{font-size:8px;line-height:1.5;color:#8b9588;margin:4px 0 0}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.import-label{position:relative;overflow:hidden}.import-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.danger-link{align-self:flex-start;border:0;background:none;color:#ae715e;font-size:8px;padding:3px 0}.toast{position:fixed;left:50%;bottom:24px;z-index:10;padding:11px 16px;border-radius:10px;background:#314235;color:#fff;box-shadow:0 8px 24px #1c2a1e35;font-size:10px;opacity:0;transform:translate(-50%,10px);pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.sidebar{width:220px}.main-content{margin-left:220px}.view-root{padding-left:30px;padding-right:30px}.topbar{padding:0 30px}.cat-grid,.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weight-card{grid-template-columns:minmax(145px,1fr) 95px 125px 65px;gap:9px}.overview-grid{grid-template-columns:1fr 1fr}}
.chart-panel{margin-top:15px}.chart-select{border:1px solid #e8ebe3;border-radius:8px;background:#fff;color:#657264;padding:7px 10px;font-size:9px;outline:0}.weight-chart{position:relative;min-height:110px}.weight-chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-gridline{stroke:#eef0eb;stroke-width:1}.chart-axis-label,.chart-date-label{font-family:'DM Sans',sans-serif;fill:#a0a69d;font-size:9px}.chart-line{fill:none;stroke:#789276;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:#789276;stroke-width:2.5}.chart-current{display:flex;align-items:baseline;gap:8px;border-top:1px solid #f0f1ec;padding-top:10px}.chart-current strong{font:700 12px Manrope,sans-serif;color:#4f624f}.chart-current small{font-size:8px;color:#9aa196}
@media(max-width:760px){.sidebar{width:260px;transform:translateX(-105%);transition:transform .2s;box-shadow:8px 0 28px #202b201a}.sidebar.mobile-open{transform:translateX(0)}.main-content{margin-left:0}.mobile-menu{display:block}.topbar{height:58px;padding:0 17px;gap:12px}.topbar-right{gap:10px}.breadcrumb{margin-right:auto}.sync-pill{font-size:0}.sync-dot{width:8px;height:8px}.view-root{padding:25px 17px 35px}.page-heading{align-items:flex-start;margin-bottom:19px}.page-heading h1{font-size:26px}.page-heading p{max-width:410px}.page-heading>.button{height:34px;padding:0 10px;font-size:8px;margin-top:12px}.page-heading>.button span{font-size:14px}.welcome-banner{height:205px;padding:22px 19px;margin-bottom:24px}.welcome-copy h2{font-size:22px}.welcome-copy p{max-width:220px;line-height:1.5}.banner-art{right:-51px;transform:scale(.79);transform-origin:bottom right;opacity:.9}.cat-grid,.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cat-card{padding:12px;min-height:137px}.overview-grid{grid-template-columns:1fr;gap:10px;margin-top:12px}.panel{padding:16px}.weight-overview,.care-overview{min-height:unset}.weight-card{grid-template-columns:minmax(132px,1fr) 88px;gap:8px 12px;padding:12px 0}.weight-current{align-items:flex-end}.inline-weight{grid-column:1}.weight-card>.button{grid-column:2;grid-row:2;justify-self:end}.record-row{gap:8px}.record-next{min-width:90px}.file-link,.no-file{display:none}.group-callout{flex-wrap:wrap;padding:12px}.group-callout>div{min-width:calc(100% - 53px)}.group-callout .button{margin-left:46px}.record-row{flex-wrap:wrap}.record-main{min-width:calc(100% - 75px)}.dose-chips{width:100%;padding-left:36px}.episode-topline .tag{margin-left:auto}.topbar-right .avatar-stack{display:none}}
@media(max-width:440px){.view-root{padding-left:13px;padding-right:13px}.page-heading{gap:9px}.page-heading h1{font-size:23px}.page-heading p{font-size:9px;max-width:240px}.page-heading>.button{padding:0 8px}.cat-grid,.profile-grid{gap:7px}.cat-card{padding:10px;min-height:132px}.cat-avatar{width:34px;height:34px;border-radius:11px}.cat-card h3,.profile-body h3{font-size:11px}.cat-subtitle{font-size:8px}.profile-cover{height:75px}.profile-body{padding:11px 10px 9px}.profile-stats>div{padding-left:5px}.profile-stats strong{font-size:8px}.profile-stats small{font-size:5px}.profile-title{align-items:flex-start;flex-direction:column}.tag{font-size:6px}.welcome-banner{height:195px;padding:20px 15px}.banner-art{right:-90px;opacity:.7}.welcome-copy h2{font-size:20px}.welcome-copy p{max-width:195px;font-size:9px}.section-title-row h2{font-size:14px}.overview-row{grid-template-columns:23px 1fr auto;gap:6px}.weight-date{grid-column:2/4;margin-top:-4px}.home-footer{flex-wrap:wrap}.home-footer .button{width:100%;margin:5px 0 0}.form-row{grid-template-columns:1fr}.cat-check-grid{grid-template-columns:repeat(2,1fr)}.medication-form-row{grid-template-columns:1fr 1fr 88px 24px}.app-dialog{width:calc(100% - 18px)}#dialog-content{padding:20px 16px 15px}.dialog-top h2{font-size:19px}.batch-weight-row{grid-template-columns:22px 1fr 91px}}
.cat-avatar{position:relative;overflow:hidden}.cat-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-editor{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px;border:1px solid #edf0e9;border-radius:10px;background:#fafbf8}.cat-avatar.photo-preview{width:58px;height:58px;border-radius:18px}.photo-picker{position:relative;overflow:hidden}.photo-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.photo-editor>small{font-size:8px;color:#969e93}.remove-photo{display:flex;align-items:center;gap:6px;font-size:8px;color:#9a7361}.remove-photo input{accent-color:#9a7361}.cat-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.record-actions{display:flex;align-items:center;gap:5px;flex:none}.record-action{border:0;border-radius:7px;background:#f4f6f1;color:#667b66;padding:6px 8px;font-size:8px;font-weight:600;white-space:nowrap}.record-action:hover{background:#eaf0e7}.record-action.delete{color:#a97868;background:#fbf2ee}.record-action.delete:hover{background:#f7e8e1}.existing-file{display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:7px;background:#f3f0f8;color:#827698;font-size:7px}.existing-file input{accent-color:#9b796f}.existing-file small{margin-left:auto;color:#ad796b}
.crop-editor{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:9px;border:1px solid #edf0e9;border-radius:10px;background:#fafbf8}.crop-editor canvas{width:min(220px,100%);aspect-ratio:1;height:auto;border-radius:12px;background:#edf0e9;cursor:grab;touch-action:none}.crop-editor canvas.dragging{cursor:grabbing}.crop-zoom{display:flex;align-items:center;gap:10px;font-size:8px;color:#667566}.crop-zoom input{accent-color:#657e68;width:min(190px,60vw)}.crop-editor>small{font-size:8px;color:#929a90}
.upload-drop{position:relative;overflow:hidden}.upload-drop input{display:block!important;position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.selected-study-files{display:flex;flex-direction:column;gap:5px;margin-top:6px}.selected-study-file{display:flex;align-items:center;gap:8px;border-radius:7px;background:#f3f6f0;padding:7px 9px;color:#6f826d}.selected-study-file strong{font-size:8px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.selected-study-file small{font-size:7px;color:#9aa397;white-space:nowrap}
.cat-card{min-height:174px}.cat-care-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0 9px;border-top:1px solid #f1f2ed}.cat-care-dates>div{display:flex;flex-direction:column;gap:4px;min-width:0}.cat-care-dates small{font-size:7px;color:#9ca399}.cat-care-dates strong{font-size:8px;font-weight:600;color:#637064;white-space:nowrap}.overview-grid.care-only{grid-template-columns:1fr}.upcoming-row.overdue .upcoming-info small{color:#bb805b}
