:root{--bg:#f5f7f6;--card:#fff;--ink:#16211d;--muted:#68736e;--accent:#24352f;--line:#dfe5e2;--danger:#9b2525;--ok:#246a45;--radius:18px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}.app{min-height:100vh;padding-bottom:82px}.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#ffffffeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:19px}.plan{font-size:11px;font-weight:800;border:1px solid var(--line);border-radius:999px;padding:5px 9px}.content{max-width:1050px;margin:auto;padding:18px 14px 30px}.bottom{position:fixed;bottom:0;left:0;right:0;z-index:30;height:68px;padding:6px max(10px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.bottom a{text-align:center;font-size:12px;min-height:48px;display:grid;place-items:center}.bottom .plus{width:48px;height:48px;min-height:48px;justify-self:center;border-radius:50%;background:var(--accent);color:white;font-size:28px}.foot{text-align:center;color:var(--muted);font-size:11px;padding:12px}.grid{display:grid;gap:14px}.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 2px 12px #14251d0b}.card h2,.card h3{margin:0 0 9px}.muted{color:var(--muted)}.hero{padding:20px;background:linear-gradient(145deg,#fff,#eef3f0);border:1px solid var(--line);border-radius:24px;margin-bottom:16px}.petrow{display:flex;gap:13px;align-items:center}.avatar{width:62px;height:62px;border-radius:18px;object-fit:cover;background:#e5ebe8;display:grid;place-items:center;font-size:30px;flex:none}.btn,button,input[type=submit]{appearance:none;border:0;border-radius:13px;background:var(--accent);color:#fff;min-height:46px;padding:11px 16px;font-weight:700;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.secondary,button.secondary{background:#e7ecea;color:var(--ink)}.btn.danger{background:var(--danger)}.actions{display:flex;flex-wrap:wrap;gap:9px}.form{display:grid;gap:13px}.field{display:grid;gap:6px}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid #cfd8d4;border-radius:12px;background:#fff;padding:10px 12px;font:inherit}.field textarea{min-height:100px;resize:vertical}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.flash{padding:12px 14px;border-radius:12px;margin-bottom:14px;background:#eaf6ef;color:#145631}.flash.err{background:#f9e9e9;color:#781d1d}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf1ef;font-size:12px}.list{display:grid;gap:9px}.item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px}.item .main{min-width:0}.item strong{display:block}.warning{border-left:4px solid #b16d18}.qrbox{display:grid;place-items:center;background:#fff;padding:18px;border-radius:16px;border:1px solid var(--line);overflow:auto}.public-card{max-width:560px;margin:30px auto}.danger-text{color:var(--danger);font-weight:800}.ok-text{color:var(--ok);font-weight:800}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:4px;margin-bottom:14px}.tabs a{white-space:nowrap;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}@media(max-width:620px){.split{grid-template-columns:1fr}.content{padding:14px 12px 25px}.desktop-only{display:none}.actions>.btn,.actions>button{flex:1 1 130px}.table.mobile-cards,.table.mobile-cards tbody,.table.mobile-cards tr,.table.mobile-cards td{display:block}.table.mobile-cards thead{display:none}.table.mobile-cards tr{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;background:#fff;padding:7px}.table.mobile-cards td{border:0;white-space:normal;padding:6px}}@media(min-width:768px){.bottom{left:50%;transform:translateX(-50%);max-width:600px;border:1px solid var(--line);border-radius:18px 18px 0 0}.content{padding-top:24px}}
.version-big{font-size:2rem;font-weight:900;margin:.2rem 0}.changelog{white-space:pre-wrap;max-height:420px;overflow:auto}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.item.unread{border-left:4px solid var(--accent);background:#f8fbfa}.toggle-row,.check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-bottom:1px solid var(--line);padding:8px 0}.toggle-row span{display:grid}.toggle-row input{width:24px;height:24px}.field small{font-size:12px;color:var(--muted)}@media(max-width:420px){.quick-grid{grid-template-columns:1fr}.title-row{align-items:flex-start;flex-direction:column}}

/* Branding / Logo – v1.1.1 */
.brand{display:flex;align-items:center;min-width:0;max-width:min(68vw,360px)}.brand-mark{display:flex;align-items:center;min-width:0}.brand-mark img{display:block;object-fit:contain;object-position:left center}.brand-mark-header img{max-width:190px;max-height:42px}.brand-fallback{font-weight:800;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-mark:not(.brand-no-logo) .brand-fallback{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.auth-brand{display:flex;justify-content:center;margin:2px 0 18px}.brand-mark-auth img{max-width:min(320px,80vw);max-height:110px}.brand-mark-auth.brand-no-logo .brand-fallback{font-size:30px}.hero-brand{margin-bottom:12px}.brand-mark-hero img{max-width:min(260px,70vw);max-height:72px}.brand-mark-hero.brand-no-logo{display:none}.branding-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.logo-admin-preview{min-height:150px;border:1px dashed #b9c6c0;border-radius:16px;background:#f8faf9;display:grid;place-items:center;padding:18px;margin:8px 0 12px;overflow:hidden}.logo-admin-preview img{display:block;max-width:100%;max-height:130px;object-fit:contain}.logo-placeholder{width:min(280px,90%);height:86px;border:2px dashed #aebbb5;border-radius:14px;color:var(--muted);font-weight:900;letter-spacing:.12em;display:grid;place-items:center;background:#fff}.field input[type=file]{padding:8px;background:#fff}@media(max-width:700px){.branding-grid{grid-template-columns:1fr}.brand-mark-header img{max-width:150px;max-height:38px}.top{gap:10px}.brand{max-width:72vw}}@media(max-width:390px){.brand-mark-header img{max-width:132px}.plan{padding:4px 7px}.brand-fallback{font-size:17px}}


/* Health experience – v1.2.0 */
:root{--soft:#edf3f0;--soft2:#f9fbfa;--watch:#a66513;--watch-bg:#fff5e5;--critical:#9b2f2f;--critical-bg:#fff0f0;--good:#23704a;--good-bg:#eaf7f0}
.health-head{background:linear-gradient(145deg,#182a24 0%,#2f4b41 72%,#49685d 100%);color:#fff;border-radius:26px;padding:22px;margin-bottom:12px;box-shadow:0 12px 34px #203a3026}.health-head .muted,.health-head p{color:#dbe8e3}.backlink{display:inline-flex;color:#dbe8e3;font-size:14px;font-weight:700;margin-bottom:14px}.health-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.health-title h1{font-size:clamp(2rem,7vw,3.2rem);line-height:1;margin:.1em 0}.health-title p{max-width:650px;margin:.5rem 0 0}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:900;color:#6f847b}.health-head .eyebrow{color:#bcd0c8}.health-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}.health-kpi{background:#ffffff12;border:1px solid #ffffff20;border-radius:16px;padding:12px;min-height:78px;display:grid;align-content:center}.health-kpi b{font-size:22px}.health-kpi span{font-size:12px;color:#dbe8e3}.health-kpi.watch{background:#d38a1a22;border-color:#e9b35b55}.health-kpi.critical{background:#d55a5a22;border-color:#ff8b8b55}.health-nav{display:flex;gap:8px;overflow:auto;position:sticky;top:71px;z-index:15;padding:8px 0 10px;background:linear-gradient(var(--bg) 75%,transparent)}.health-nav a{white-space:nowrap;background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:999px;font-size:13px;font-weight:800}.health-section{scroll-margin-top:130px;margin:28px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading h2{margin:2px 0 0;font-size:1.45rem}.count-pill,.status-chip,.due-pill,.severity{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;background:var(--soft);white-space:nowrap}.severity.good{color:var(--good);background:var(--good-bg)}.severity.watch{color:var(--watch);background:var(--watch-bg)}.severity.critical{color:var(--critical);background:var(--critical-bg)}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;background:var(--good)}.status-dot.watch{background:var(--watch)}.status-dot.critical{background:var(--critical)}.due-pill.overdue{background:var(--critical-bg);color:var(--critical)}.health-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.health-action{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;gap:4px;min-height:112px;box-shadow:0 3px 16px #14251d0a;transition:.16s transform}.health-action:active{transform:scale(.98)}.health-action small{color:var(--muted)}.health-icon{width:36px;height:36px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-weight:900;font-size:18px}.health-list{display:grid;gap:9px}.health-record{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 2px 12px #14251d08}.health-record p{margin:.4rem 0 0}.record-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.record-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.record-actions details{flex:1}.record-actions summary,.dose-action summary{cursor:pointer;color:var(--accent);font-weight:800;font-size:13px}.inline-health-form{display:grid;gap:8px;margin-top:10px;padding:10px;background:var(--soft2);border-radius:12px}.inline-health-form label{display:grid;gap:4px;font-size:12px;font-weight:700}.inline-health-form input,.inline-health-form select{min-height:42px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}.ghost{background:transparent!important;color:var(--muted)!important;border:1px solid var(--line)!important;min-height:38px!important;padding:7px 10px!important}.empty-state{border:1px dashed #cbd6d1;border-radius:16px;padding:18px;display:grid;gap:4px;color:var(--muted);background:#ffffff80}.empty-state b{color:var(--ink)}.health-two{grid-template-columns:1fr 1fr}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.entry-panel{background:#fff;border:1px solid var(--line);border-radius:17px;margin-top:12px;overflow:hidden}.entry-panel>summary{list-style:none;cursor:pointer;padding:14px 16px;display:grid;gap:2px;font-weight:900}.entry-panel>summary::-webkit-details-marker{display:none}.entry-panel>summary small{font-weight:500;color:var(--muted)}.entry-panel[open]>summary{border-bottom:1px solid var(--line);background:var(--soft2)}.health-form{padding:15px}.check-card{display:flex;gap:10px;align-items:center;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:700}.check-card input{width:21px;height:21px}.danger-check{border-color:#e6caca;background:#fffafa}.subhead{font-size:14px;color:var(--muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em}.measurement-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}.measurement-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;display:grid}.measurement-card span,.measurement-card small{color:var(--muted);font-size:12px}.measurement-card b{font-size:20px;margin:3px 0}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:100px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.timeline-date{font-size:12px;font-weight:800;color:var(--muted);padding-top:4px}.timeline-item h3{margin:7px 0 2px}.timeline-item p{margin:.4rem 0}.health-mini{margin:0 0 14px}.health-mini a{display:grid;gap:3px;background:linear-gradient(135deg,#223a31,#3f6155);color:#fff;border-radius:17px;padding:14px 16px}.health-mini .eyebrow{color:#bcd0c8}.health-mini small{color:#d9e6e1}.medication-head{margin-bottom:14px}.dose-day{display:flex;justify-content:space-between;align-items:center;margin:4px 2px 10px;color:var(--muted)}.dose-day b{color:var(--ink)}.dose-list{display:grid;gap:9px}.dose-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px 14px;box-shadow:0 3px 16px #14251d08}.dose-done{background:#f5faf7;border-color:#cfe3d7}.dose-time{font-size:20px;font-weight:900;font-variant-numeric:tabular-nums}.dose-main p{margin:.2rem 0}.dose-note{font-size:13px}.dose-action{min-width:120px}.dose-form{margin-top:8px}.dose-statuses{display:grid;gap:6px}.dose-statuses button{min-height:38px;padding:7px 10px;font-size:12px}.progress-card{margin:12px 0 20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.progress-card>div:first-child{display:flex;justify-content:space-between;gap:12px}.progress-card span{color:var(--muted);font-size:13px}.progress-track{height:8px;border-radius:99px;background:#e8eeeb;margin-top:10px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--good);border-radius:inherit}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.today-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px}.today-head h1{margin:.1rem 0;font-size:2.2rem}.today-section{margin:24px 0}.dose-list.compact .dose-card{grid-template-columns:60px minmax(0,1fr) auto}
@media(max-width:720px){.health-kpis{grid-template-columns:1fr 1fr}.health-actions{grid-template-columns:1fr 1fr}.health-two,.entry-grid{grid-template-columns:1fr}.health-title{align-items:flex-start;flex-direction:column}.health-title>.btn{width:100%}.health-nav{top:63px}.timeline-item{grid-template-columns:1fr;gap:5px}.timeline-date{padding:0}.dose-card{grid-template-columns:54px minmax(0,1fr)}.dose-action{grid-column:1/-1}.dose-action summary{display:block;text-align:center;border:1px solid var(--line);border-radius:11px;padding:9px}.time-grid{grid-template-columns:1fr}.today-head{align-items:flex-start;flex-direction:column}.today-head .btn{width:100%}.dose-list.compact .dose-card{grid-template-columns:50px minmax(0,1fr);}.dose-list.compact .status-chip{grid-column:2}}
@media(max-width:390px){.health-head{padding:18px 15px;border-radius:22px}.health-kpis{gap:6px}.health-kpi{padding:9px;min-height:70px}.health-kpi b{font-size:19px}.health-actions{gap:7px}.health-action{padding:11px;min-height:104px}.health-record{padding:12px}.measurement-strip{grid-template-columns:1fr 1fr}}


/* Pet profile photos – v1.2.1 */
.pet-photo,.pet-photo-fallback{overflow:hidden;background:linear-gradient(145deg,#e4ece8,#d7e2dd);display:grid;place-items:center;font-weight:900;color:#4c6259;flex:none}.pet-photo img{width:100%;height:100%;display:block;object-fit:cover}.avatar.pet-photo,.avatar.pet-photo-fallback{width:62px;height:62px;border-radius:18px}.pet-hero-photo{width:104px;height:104px;border-radius:26px;font-size:38px;box-shadow:0 8px 22px #18352a1c}.finder-photo{width:88px;height:88px;border-radius:24px;font-size:34px}.health-photo{width:86px;height:86px;border-radius:23px;font-size:32px;border:2px solid #ffffff30}.health-pet-identity{display:flex;align-items:center;gap:16px}.health-pet-identity h1{margin-top:3px}.context-photo{width:72px;height:72px;border-radius:20px;font-size:29px}.pet-context-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.pet-context-head h1{margin:.1rem 0}.photo-editor{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;padding:4px 0 10px}.pet-profile-photo{width:150px;height:150px;border-radius:28px;font-size:46px;box-shadow:0 7px 22px #18352a18}.photo-copy h2{margin:0 0 4px}.photo-copy p{margin:.2rem 0 12px}.file-btn{position:relative;overflow:hidden;width:max-content}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.photo-remove-form{margin-top:10px}.photo-remove-form .ghost{width:100%}.pet-edit-card{overflow:hidden}.petrow .avatar,.petrow .pet-photo-fallback{flex:none}
@media(max-width:620px){.pet-hero-photo{width:84px;height:84px;border-radius:22px}.finder-photo{width:76px;height:76px;border-radius:20px}.health-photo{width:70px;height:70px;border-radius:19px}.health-pet-identity{align-items:flex-start}.photo-editor{grid-template-columns:110px 1fr;gap:14px}.pet-profile-photo{width:110px;height:110px;border-radius:24px}.file-btn{width:100%}}
@media(max-width:390px){.health-pet-identity{gap:11px}.health-photo{width:60px;height:60px;border-radius:17px}.photo-editor{grid-template-columns:1fr;text-align:center}.pet-profile-photo{margin:auto}.file-btn{margin:auto}.photo-copy small{display:block;margin-top:7px}}

/* Profilbild UX – v1.2.2 */
.pet-photo-picker{position:relative;display:block;width:max-content;max-width:100%;cursor:pointer;border-radius:28px;outline:none}.pet-photo-picker:focus-visible{box-shadow:0 0 0 4px #2f715b40}.pet-photo-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.pet-photo-preview-wrap{display:block}.pet-photo-picker .pet-profile-photo{transition:transform .16s ease,filter .16s ease}.pet-photo-picker:hover .pet-profile-photo{transform:scale(1.015);filter:brightness(.92)}.photo-edit-badge{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);background:#17382d;color:#fff;border:2px solid #fff;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 4px 12px #0002}.photo-selection-status{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:10px;background:#f0f5f2;color:#52655d;font-size:13px;font-weight:650}.pet-photo-preview-wrap img{width:100%;height:100%;object-fit:cover;display:block}.photo-editor-v122 .photo-copy{align-self:center}
@media(max-width:620px){.photo-edit-badge{bottom:6px;font-size:11px;padding:5px 8px}.photo-editor-v122 .photo-copy p{margin-bottom:8px}}
@media(max-width:390px){.photo-editor-v122{grid-template-columns:1fr;text-align:center}.pet-photo-picker{margin:auto}.photo-selection-status{justify-content:center}}
