@font-face{font-family:"InterApp";src:url(fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* Pflegekreis – warm, herzlich, gut lesbar. Mobil zuerst, große Tippflächen. */
:root{
  --bg:#F6F4F1; --card:#FFFFFF; --ink:#1E2629; --muted:#5B6568; --line:#E6E1DB;
  --acc:#0F6B63; --acc-d:#0A4F49; --acc2:#3A9488; --acc-soft:#DCECE8; --acc-tint:#EEF5F3;
  --coral:#BA4D33; --coral-soft:#FBEAE4;
  --rose:#EFF5F3; --peach:#FAF2E9; --sand:#F2EEE9; --mist:#ECE8E3;
  --ok:#2D7350; --ok-soft:#E3F1E8; --warn:#975A0C; --warn-soft:#FAEFDC; --bad:#B0442C; --bad-soft:#FBE9E3;
  --r:20px; --sh:0 1px 2px rgba(30,38,41,.04),0 6px 18px rgba(30,38,41,.06);
  --safe-b:env(safe-area-inset-bottom,0px); --nav-h:calc(69px + var(--safe-b)); --kb:0px; --comp-h:64px; --safe-t:env(safe-area-inset-top,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 InterApp,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}
body.noscroll{overflow:hidden}
h1,h2,h3{margin:0;line-height:1.2;letter-spacing:-.01em}
h1{font-size:26px;font-weight:720;letter-spacing:-.02em}h2{font-size:18px;font-weight:680;letter-spacing:-.01em}h3{font-size:16px;font-weight:650}
p{margin:.4em 0}
a{color:var(--acc);text-decoration:none}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
:focus-visible{outline:3px solid #3A9488;outline-offset:2px}
.muted{color:var(--muted)}.small{font-size:14px}.center{text-align:center}.pad{padding:12px 16px}.hidden{display:none!important}
.pre{white-space:pre-wrap;word-break:break-word}.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.boot{padding:40px 24px;text-align:center}
button{font:inherit;color:inherit}
.link{background:none;border:0;color:var(--acc);font-weight:650;padding:6px 4px;cursor:pointer;min-height:36px}
.link.small{font-size:14px}
.hint{margin:14px 0 0;background:var(--sand);padding:10px 12px;border-radius:12px;color:#465053}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:14px;border:0;background:var(--acc);color:#fff;font-weight:700;font-size:16px;cursor:pointer;transition:transform .08s,background .15s;text-decoration:none}
.btn:active{transform:scale(.98);background:var(--acc-d)}
.btn:disabled{opacity:.6}
.btn svg{width:20px;height:20px}
.btn.ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn.soft{background:var(--acc-soft);color:var(--acc-d)}
.btn.danger{background:var(--bad)}
.btn.big{min-height:56px;font-size:17px}
.btn.block{display:flex;width:100%}
.btn.small{min-height:42px;padding:0 14px;font-size:15px}
.btn.icon{width:48px;padding:0}
.danger-t,.danger-t b{color:var(--bad)!important}
.btns{display:flex;gap:10px;margin-top:16px}.btns>.btn{flex:1}.btns.col{flex-direction:column}
.iconbtn{width:46px;height:46px;border-radius:14px;border:0;background:var(--acc-tint);color:var(--acc-d);font-size:24px;cursor:pointer}
.spin{width:20px;height:20px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:sp .7s linear infinite;display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}

/* Formular */
.form{display:flex;flex-direction:column}
.f{font-size:14px;font-weight:700;color:var(--muted);margin:14px 0 6px}
.form>.f:first-child,.form>.step+.f{margin-top:4px}
.inp{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;font:inherit;font-size:16px;color:var(--ink);outline:none;transition:border .15s;-webkit-appearance:none;appearance:none}
textarea.inp{resize:vertical;min-height:64px}
select.inp{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6568' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/18px;padding-right:38px}
.inp:focus{border-color:var(--acc2);box-shadow:0 0 0 4px var(--acc-soft)}
.inp.code{text-transform:uppercase;letter-spacing:.25em;font-weight:800;text-align:center;font-size:20px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.cbx{display:flex;gap:12px;align-items:flex-start;margin-top:16px;font-size:14px;color:var(--muted);cursor:pointer}
.cbx input{width:24px;height:24px;flex:none;margin:0;accent-color:var(--acc)}
.err{color:var(--bad);font-size:14px;font-weight:600;min-height:1.2em;margin:10px 0 6px}
.suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pill{border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--line);color:#3E484B;border-radius:999px;padding:8px 13px;font-size:14px;font-weight:600;cursor:pointer;min-height:40px}

/* Segmente & Chips */
.seg{display:flex;background:var(--mist);border-radius:15px;padding:4px;gap:4px;margin:16px 0}
.seg button{flex:1;min-height:46px;border:0;background:none;border-radius:12px;font-weight:650;color:#4B5558;cursor:pointer;font-size:15px}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(30,38,41,.12)}
.seg.small{margin:0}.seg.small button{min-height:44px;font-size:14px}
.seg.wrap{flex-wrap:wrap}.seg.wrap button{flex:1 1 40%}
.seg.status button.on.open{background:var(--acc);color:#fff}.seg.status button.on.in_progress{background:var(--warn);color:#fff}.seg.status button.on.done{background:var(--ok);color:#fff}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chips.sub{padding-top:0}
.chip{flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-weight:600;font-size:15px;color:#3E484B;cursor:pointer}
.chip.on{background:var(--acc);color:#fff;box-shadow:none}
.chips.sub .chip{min-height:38px;font-size:14px}.chips.sub .chip.on{background:var(--ink);color:#fff}
.chip-s{display:inline-flex;align-items:center;font-size:13px;font-weight:650;color:#fff;background:var(--c);color:color-mix(in srgb,var(--c) 78%,#000);background:color-mix(in srgb,var(--c) 13%,#fff);padding:3px 10px;border-radius:999px}

/* Karten */
.card{background:var(--card);border-radius:var(--r);padding:18px;box-shadow:var(--sh);margin-bottom:14px}
.card.empty{text-align:center;padding:24px 18px;background:var(--sand);box-shadow:none}.card.empty h3{margin-bottom:4px}.card.empty .btn{margin-top:10px}
.card.empty.slim{padding:16px}.card.empty.slim p{margin:0}
.banner{background:var(--acc-tint);color:var(--acc-d);border-radius:16px;padding:12px 14px;font-size:15px;margin:12px 0}
.banner.demo{background:var(--warn-soft);color:#5C3A08}
.banner.push{display:flex;flex-direction:column;gap:8px}.banner .row{display:flex;gap:12px;align-items:center}
.list{display:flex;flex-direction:column;gap:10px}
.list-card{padding:6px}

/* Auth */
.auth{max-width:440px;margin:0 auto;padding:calc(28px + var(--safe-t)) 20px 40px}
.brand{display:flex;gap:14px;align-items:center;margin-bottom:22px}.brand img{border-radius:16px;box-shadow:var(--sh)}
.brand h1{font-size:24px;color:var(--ink)}.brand p{margin:0}
.hero{font-size:30px;line-height:1.15;margin:10px 0 8px;font-weight:800;letter-spacing:-.02em}.hero.sm{font-size:26px}
.lead{font-size:17px;margin-bottom:8px}
.step{font-size:12.5px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--acc);margin:0 0 8px}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px;margin:8px 0 14px}.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.invite h3{margin-bottom:2px}
.codebox{font-size:30px;font-weight:750;letter-spacing:.3em;text-align:center;padding:14px;margin:12px 0 0;border-radius:14px;background:var(--acc-soft);color:var(--acc-d);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* Kopf & Navigation */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:calc(10px + var(--safe-t)) 16px 10px;background:rgba(246,244,241,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.fam-switch{display:flex;align-items:center;gap:10px;border:0;background:none;padding:4px;cursor:pointer;min-height:44px;text-align:left;flex:1;min-width:0}
.fam-switch span{display:flex;flex-direction:column;min-width:0}.fam-switch small{font-size:12px;color:var(--acc);font-weight:700}
.fam-switch b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fam-switch .caret{color:var(--muted)}
.logo-dot{width:36px;height:36px;border-radius:11px}
.demo-tag{font-size:12px;font-weight:800;color:#5C3A08;background:var(--warn-soft);padding:4px 10px;border-radius:999px}
.me{display:flex;padding:2px}
.page{max-width:640px;margin:0 auto;padding:6px 16px calc(var(--nav-h) + 28px)}
.page section{margin-bottom:24px}
.page-h{margin:6px 0 14px}.page-h p{margin:4px 0 0}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 10px}.sec-h .link{font-size:15px}
.grp{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:18px 0 8px;font-weight:750}.grp .muted{font-weight:600}
.sec{font-size:15px;margin:20px 0 8px}
.nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:space-around;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 4px calc(6px + var(--safe-b))}
.nav a{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:56px;justify-content:center;color:#5B6568;font-size:12px;font-weight:600;border-radius:14px;margin:0 2px}
.nav a svg{width:24px;height:24px;stroke-width:1.8}
.nav a.on{color:var(--acc-d);background:var(--acc-tint)}.nav a.on svg{stroke-width:2.2}
/* „Neu“ fest in der Leiste: verdeckt nie Inhalte oder Knöpfe in Kacheln */
.nav-new{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:56px;margin:0 2px;padding:0;border:0;background:none;color:var(--acc-d);font:inherit;font-size:11.5px;font-weight:750;border-radius:14px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nav-new i{display:flex;align-items:center;justify-content:center;width:46px;height:28px;border-radius:11px;margin-bottom:-1px;background:var(--acc);color:#fff;box-shadow:0 4px 12px rgba(15,107,99,.28);transition:transform .15s}
.nav-new i svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.6;fill:none;stroke-linecap:round}
.nav-new:active i{transform:scale(.92)}
.nav-new:focus-visible{outline:3px solid var(--acc);outline-offset:-3px}
.badge{position:absolute;top:4px;left:calc(50% + 6px);min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--coral);color:#fff;font-size:12px;font-weight:750;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}
.back{display:inline-flex;align-items:center;gap:4px;font-weight:700;margin:4px 0 10px;min-height:42px}.back svg{width:18px;height:18px}

/* Dashboard */
.hello{margin:4px 0 20px;padding:22px 20px 20px;border-radius:24px;color:var(--ink);background:linear-gradient(135deg,#E2EFEB 0%,#EEF2EC 45%,#F7EEE4 100%);box-shadow:inset 0 0 0 1px rgba(15,107,99,.06)}
.hello .date{margin:0 0 4px;font-size:14px;color:var(--acc);font-weight:650}
.hello h1{color:var(--ink)}.hello .sum{color:#3E484B;margin-top:8px}.hello .sum b{color:var(--acc-d)}
.seniors{display:grid;gap:12px}
.senior-card{display:block;background:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 12%,#fff) 0%,color-mix(in srgb,var(--c) 4%,#fff) 100%);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh);color:var(--ink)}
.senior-card .ava{box-shadow:0 0 0 3px #fff}
.sc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.sc-head b{flex:1;font-size:18px}
.sc-stats{display:flex;flex-direction:column;gap:5px;font-size:15px;color:#3E484B}.sc-stats em{color:var(--ink);font-style:normal;font-weight:750;background:rgba(255,255,255,.75);padding:0 6px;border-radius:6px}
.sc-stats .muted{color:var(--muted)}
.senior-card .chev{color:var(--muted)}
.chev{color:#9AA2A4;display:flex}.chev svg{width:18px;height:18px}

/* Avatare */
.ava{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#fff;font-weight:800;font-size:14px;flex:none}
.ava.xs{width:24px;height:24px;font-size:10px}.ava.lg{width:58px;height:58px;font-size:20px}

/* Aufgaben – farbig gefüllte Kacheln */
.task{display:flex;gap:12px;align-items:flex-start;background:var(--rose);border-radius:18px;padding:14px 14px 14px 12px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(15,107,99,.06)}
.task.ip{background:var(--warn-soft)}
.task.done{background:var(--sand)}
.tick{flex:none;width:36px;height:36px;margin:-2px 0;border-radius:50%;border:2px solid var(--acc2);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;position:relative}
.tick::after{content:"";position:absolute;inset:-7px}
.tick svg{width:18px;height:18px;stroke-width:3}
.task.done .tick{background:var(--ok);border-color:var(--ok)}
.task.ip .tick{border-color:var(--warn)}
.tick .half{width:16px;height:16px;border-radius:50%;background:linear-gradient(90deg,var(--warn) 50%,transparent 50%)}
.t-body{flex:1;min-width:0}
.t-title{font-weight:720;font-size:16.5px}
.task.done .t-title{color:#687174;text-decoration:line-through;text-decoration-color:#A2A8AA}
.t-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13.5px;color:#465053;margin-top:5px}
.t-meta svg{width:14px;height:14px;vertical-align:-2px;margin-right:3px}
.overdue{color:var(--bad);background:var(--bad-soft);padding:1px 8px;border-radius:999px;font-weight:700}
.t-who{display:flex;gap:10px;align-items:center;margin-top:6px;font-size:13.5px;flex-wrap:wrap}
.who{display:inline-flex;align-items:center;gap:6px;color:#465053}
.who.free{color:var(--acc-d);font-weight:700}.who.ip{color:#7A3F00;font-weight:750}.who.done-by{color:var(--ok);font-weight:700}
.nn{color:#465053;font-weight:600}.nn.new{color:var(--acc-d);background:var(--acc-soft);padding:1px 8px;border-radius:999px}

/* Termine */
.appt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--peach);border:0;border-radius:18px;padding:12px 14px;cursor:pointer;min-height:68px;color:var(--ink)}
.when{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:7px 4px;border-radius:13px;background:#fff;color:var(--acc-d);box-shadow:inset 0 0 0 1px rgba(30,38,41,.06)}
.when b{font-size:16px}.when small{font-size:11.5px;font-weight:650;color:var(--muted)}
.a-body{flex:1;min-width:0;display:flex;flex-direction:column}.a-title{font-weight:720}
.appt .t-meta{color:#465053}
.kind-badge{display:inline-block;font-size:13px;font-weight:700;color:var(--acc-d);background:var(--acc-soft);padding:4px 10px;border-radius:999px;margin-bottom:8px}

img.full{display:block;width:100%;border-radius:14px}
body.kb .nav{display:none}
body.kb .sheet{bottom:var(--kb);max-height:calc(var(--vvh,100vh) - 8px)}
@keyframes pulse{50%{opacity:.25}}
.spacer{flex:1}
/* Person */
.person-h{display:flex;gap:14px;align-items:flex-start;background:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--c,var(--acc)) 13%,#fff) 0%,color-mix(in srgb,var(--c,var(--acc)) 4%,#fff) 100%);color:var(--ink);border-radius:var(--r);padding:18px;box-shadow:var(--sh)}
.person-h .ava{box-shadow:0 0 0 3px #fff}
.person-h .muted{color:var(--muted)}.person-h .link{color:var(--acc)}
.ph-t{flex:1;min-width:0}.ph-t p{margin:6px 0 0;font-size:15px}
.notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.notes li{display:flex;gap:10px;align-items:flex-start}.notes li>div{flex:1}.notes small .link{min-height:0;padding:0;font-size:13px}
.note-add{display:flex;gap:8px;margin-top:14px}.note-add .inp{flex:1}.note-add .btn{width:50px;padding:0;flex:none}

/* Familie */
.mrow{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 12px;border:0;background:none;border-radius:14px;text-align:left;cursor:pointer;color:var(--ink)}
.mrow+.mrow{border-top:1px solid #EEEAE5}
.mrow>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.mrow small{font-size:13px}
.mrow .ico{width:40px;height:40px;border-radius:12px;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.mrow .ico.plus{background:var(--acc);color:#fff}
.role{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--mist);color:#465053}.role.admin{background:var(--acc-soft);color:var(--acc-d)}
.push-state{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.prefs{margin:10px 0 6px}
.switch{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;border-top:1px solid #EEEAE5;cursor:pointer;font-size:15px}
.switch input{position:absolute;opacity:0}
.switch i{flex:none;width:52px;height:32px;border-radius:999px;background:#CBC5BE;position:relative;transition:background .2s}
.switch i::after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.switch input:checked+i{background:var(--acc)}.switch input:checked+i::after{transform:translateX(20px)}
.switch input:focus-visible+i{outline:3px solid #3A9488;outline-offset:2px}
.colors{display:flex;gap:10px;flex-wrap:wrap}
.colors input{position:absolute;opacity:0}
.colors span{display:block;width:42px;height:42px;border-radius:50%;cursor:pointer}
.colors input:checked+span{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}
.row-btn{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:58px;padding:0 16px;border-radius:14px;border:1.5px solid var(--line);background:#fff;cursor:pointer}
.row-btn.on{border-color:var(--acc2);background:var(--acc-tint)}

/* Bottom-Sheet */
.backdrop{position:fixed;inset:0;z-index:50;background:rgba(20,28,30,.42);opacity:0;transition:opacity .2s}
.backdrop.in{opacity:1}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;max-height:92vh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);border-radius:26px 26px 0 0;padding:8px 18px calc(18px + var(--safe-b));transform:translateY(100%);transition:transform .25s cubic-bezier(.2,.8,.2,1);max-width:640px;margin:0 auto}
.sheet.in{transform:none}
.sheet>h2{margin:8px 0 12px}
.grab{width:44px;height:5px;border-radius:9px;background:#D6D0C9;margin:2px auto 12px}
.sheet-head{margin:6px 0 10px}.sheet-head h2{margin-bottom:8px}.sheet-head.row{display:flex;gap:14px;align-items:center}.sheet-head.row h2{margin:0}
.facts{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;background:#fff;border-radius:16px;padding:14px 16px;margin:12px 0;font-size:15px}
.facts dt{color:var(--muted);font-weight:700}.facts dd{margin:0;min-width:0}
.facts .link{padding:0;min-height:0;text-align:left}
.done-line{background:var(--ok-soft);color:#14513A;padding:10px 14px;border-radius:12px;font-size:15px}
.ip-line{background:var(--warn-soft);color:#5C3A08;padding:10px 14px;border-radius:12px;font-size:15px}

/* Toast */
#toasts{position:fixed;left:0;right:0;bottom:calc(96px + var(--safe-b));z-index:80;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;padding:0 16px}
.toast{background:var(--ink);color:#fff;padding:12px 18px;border-radius:14px;font-size:15px;font-weight:650;box-shadow:0 8px 24px rgba(0,0,0,.25);animation:tin .2s ease-out;max-width:460px;text-align:center}
@keyframes tin{from{opacity:0;transform:translateY(8px)}}
@media (min-width:700px){.seniors{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Medikamente */
.dose{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:12px;min-height:72px;box-shadow:var(--sh)}
.dose.given{background:var(--ok-soft);box-shadow:none}
.dose.missed{background:var(--bad-soft);box-shadow:inset 4px 0 0 var(--bad)}
.d-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;padding:6px 4px;border-radius:13px;background:var(--acc-tint);color:var(--acc-d)}.dose.missed .d-time{background:#fff;color:var(--bad)}
.dose.given .d-time{background:#fff;color:var(--ok)}
.d-time b{font-size:16px}.d-time small{font-size:11px;color:inherit;opacity:.75;font-weight:650}
.d-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.d-name{font-size:16px}.d-dos{font-weight:600;color:#465053}
.d-who{display:flex}
.d-st{font-size:13.5px;font-weight:700;color:#465053}.d-st.ok{color:#14513A}.d-st.bad{color:var(--bad)}
.btn.give{flex:none;padding:0 12px}.btn.give svg{width:18px;height:18px;stroke-width:3}
.dose.given .link{flex:none}
.med{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:#fff;border-radius:18px;padding:12px 14px;box-shadow:var(--sh);cursor:pointer;color:var(--ink);min-height:64px}
.m-ico{font-size:22px;width:44px;height:44px;border-radius:14px;background:var(--sand);display:flex;align-items:center;justify-content:center;flex:none}
.m-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.m-times{display:flex;flex-wrap:wrap;gap:6px}.m-times i{font-style:normal;font-size:13px;font-weight:700;background:var(--acc-tint);color:var(--acc-d);padding:2px 9px;border-radius:999px}
.times{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.tm{position:relative;display:flex;align-items:center}.tm .inp{width:156px;padding-right:40px}
.tm .x{position:absolute;right:6px;width:30px;height:30px;border-radius:50%;border:0;background:var(--acc-soft);color:var(--acc-d);font-size:18px;cursor:pointer}

/* Übergabe */
.ho-tile{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:0 0 18px;border-radius:var(--r);background:#fff;color:var(--ink);box-shadow:var(--sh);text-decoration:none}
.ho-tile .ho-i{font-size:24px;line-height:1;width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:var(--peach);flex:none}.ho-tile>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.ho-tile b{font-size:17px}.ho-tile small{color:var(--muted);font-size:14.5px}
.ho-tile .chev,.ho-pick .chev{color:var(--muted)}
.ho-pick{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r);background:var(--card);box-shadow:var(--sh);color:var(--ink);text-decoration:none}
.ho-pick>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:6px}
.ho-head{margin:4px 0 14px;padding:18px 18px 16px;border-radius:24px;color:var(--ink);background:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 14%,#fff) 0%,color-mix(in srgb,var(--c) 4%,#F7F3EE) 100%);box-shadow:var(--sh)}
.ho-head .ho-k{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.ho-head h1{color:var(--ink);margin:2px 0 12px}
.ho-head .resp{background:rgba(255,255,255,.8);border-radius:14px;padding:10px 12px;margin-bottom:12px}
.ho-head .resp small{color:var(--muted)}
.resp{display:flex;align-items:center;gap:10px}.resp>span:last-child{display:flex;flex-direction:column;line-height:1.25}.resp small{font-size:13.5px;color:var(--muted)}
.ava.ghost{background:#C5CBCC!important}
.btn.light{background:var(--acc);color:#fff}.btn.light:active{background:var(--acc-d)}
.banner.alert{background:var(--bad-soft);color:#6E2616;border:1.5px solid #E9B7A8;font-size:16px}
.care-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.ce{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:var(--sand)}
.ce.imp{background:var(--warn-soft);box-shadow:inset 3px 0 0 #C98A2E}
.ce-e{font-size:22px;line-height:1.2}.ce-b{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.ce-b span{word-break:break-word}.ce-b small{font-size:13px}
.ce .x{border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;width:36px;height:36px;border-radius:10px;cursor:pointer}
.qchips{display:flex;flex-wrap:wrap;gap:8px}
.qchip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-weight:650;font-size:15px;cursor:pointer}
.qchip span{font-size:18px}.qchip.imp{border-color:#E8CFA4;background:#FFFAF1}.qchip:active{transform:scale(.97)}
.last-st{margin:0 0 10px;font-weight:650}
.profile dl{margin:0;display:flex;flex-direction:column;gap:10px}
.profile .pr dt{font-size:13.5px;font-weight:700;color:var(--muted);display:flex;gap:6px;align-items:center}
.profile .pr dd{margin:2px 0 0}
.profile .pr.alert{background:var(--bad-soft);border-radius:12px;padding:8px 10px}.profile .pr.alert dt{color:#8A3420}
.profile .pr-f{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:8px}
.ho-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ho-log summary{display:flex;gap:10px;align-items:flex-start;cursor:pointer;list-style:none;padding:6px 0}
.ho-log summary::-webkit-details-marker{display:none}
.ho-log summary>span:last-child{display:flex;flex-direction:column;line-height:1.3}
.ho-log li+li{border-top:1px solid var(--line);padding-top:6px}
.ho-snap{margin:2px 0 8px 38px;font-size:14.5px;background:var(--sand);border-radius:12px;padding:8px 12px}.ho-snap p{margin:3px 0}
.ho-sum{margin:8px 0 4px;padding-left:20px}.ho-sum li{margin:3px 0}
.ok-t{color:var(--ok)}
.person-h+.btn{margin:14px 0 22px}

/* ---------- Phase 8: Ordnung & Struktur ---------- */
/* Ruhigere Kartentypen: alle Listeneinträge weiß mit weichem Schatten, Farbe nur für Status */
.page section{margin-bottom:30px}
.sec-h{margin:0 0 12px;align-items:center}.sec-h h2{font-size:19px;margin:0}.sec-h button.link{font-size:15px;min-height:40px}
.task{background:#fff;box-shadow:var(--sh)}
.task.ip{background:#fff;box-shadow:inset 4px 0 0 var(--warn),var(--sh)}
.task.done{background:var(--sand);box-shadow:none}
.appt{background:#fff;box-shadow:var(--sh)}
.when{background:var(--peach);box-shadow:none}
.t-meta{gap:4px 6px;color:var(--muted)}
.t-meta .sep{color:#B4B9BA}
.overdue{background:none;padding:0;color:var(--bad)}
.t-who{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;font-size:13.5px}
.who.free{font-weight:650}
.nn{font-size:13px;color:var(--muted);font-weight:600}
.sdot{display:inline-flex;align-items:center;gap:6px}
.sdot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.d-who{font-size:13px;color:var(--muted)}
.dose.given{background:#fff;box-shadow:none;border:1px solid var(--line)}
/* Startseite */
.hello{padding:18px 20px;margin:2px 0 26px;border-radius:22px}
.hello h1{font-size:25px}
.here-list{padding:4px}
.here{display:flex;align-items:center;gap:12px;padding:12px;min-height:68px;border-radius:14px;color:var(--ink);text-decoration:none}
.here+.here{border-top:1px solid #EEEAE5}
.here-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.here-b small{font-size:14px;color:#3E484B}
.here-b small.muted{color:var(--muted);font-size:13.5px}
.dot-ok{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:6px;vertical-align:1px}
.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card.empty.ok{background:var(--ok-soft)}.card.empty.ok p{color:#1F5A3A}
.link-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:50px;padding:0 6px;border:0;background:none;color:var(--acc-d);font-weight:650;font-size:15px;text-decoration:none;cursor:pointer;text-align:left}
.link-row svg{width:18px;height:18px;flex:none}
/* „Mehr anzeigen“ */
details.more>summary{list-style:none;display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:14px;color:var(--acc-d);font-weight:650;font-size:15px;cursor:pointer;background:var(--acc-tint)}
details.more>summary::-webkit-details-marker{display:none}
details.more[open]>summary{display:none}
details.more>.list{margin-top:0}
details.more.zone{margin:8px 0 18px}
details.more.zone>summary{background:none;color:var(--muted);font-weight:600}
details.more.zone[open]>summary{display:flex}
/* Neu-Auswahl */

.choices{display:flex;flex-direction:column;gap:10px;margin:8px 0 6px}
.choice{display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:center;text-align:left;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;min-height:72px;color:var(--ink);font-size:16px}
.choice span{grid-row:1/3;font-size:24px;width:48px;height:48px;border-radius:14px;background:var(--sand);display:flex;align-items:center;justify-content:center}
.choice small{color:var(--muted);font-size:13.5px}
.choice:active{transform:scale(.99)}
/* Personen-Hub */
.ph-row{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.ph-t{flex:1;min-width:0}
.ph-row h1{margin:0 0 4px;font-size:24px}
.ph-row .resp,.ho-head .ph-row .resp{background:none;padding:0;margin:0}
.ph-row .resp .ava{display:none}
.ph-row>.link{align-self:flex-start}
.tabs{display:flex;gap:2px;background:var(--mist);border-radius:14px;padding:4px;margin:4px 0 22px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:1 0 auto;min-height:44px;border:0;background:none;border-radius:11px;font-weight:650;color:#4B5558;font-size:14.5px;white-space:nowrap;padding:0 12px;cursor:pointer}
.tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(30,38,41,.12)}
.qlabel{margin:16px 0 8px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.card>.care-list+.link{margin-top:6px}
.pad{padding:12px}
.card .qchips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.card .qchip{justify-content:flex-start;padding:0 12px;font-size:14.5px;border-radius:14px;min-height:48px;text-align:left;line-height:1.2}
@media (max-width:340px){.card .qchips{grid-template-columns:1fr}}

/* ---------- Phase 9: Tagebuch (Zeitstrahl, „Wer war da?“-Band, Woche) ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.seg.jv{margin:6px 0 12px}
.jnav{display:flex;align-items:center;gap:10px;margin:4px 0 6px}
.jnav .btn.icon{width:46px;min-height:46px;border-radius:14px}.jnav .btn.icon:disabled{opacity:.35}
.jnav-d{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;background:#fff;border-radius:14px;box-shadow:var(--sh);cursor:pointer;line-height:1.25}
.jnav-d b{font-size:17px}.jnav-d small{font-size:13px}
.jnav-d input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0}
.jnav-d:focus-within{outline:3px solid #3A9488;outline-offset:2px}
.jtoday{display:block;margin:0 auto 4px}
.jsum{padding:16px}
.rib{display:flex;align-items:center;gap:10px;margin:10px 0 4px}
.rib-l{width:96px;flex:none;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.rib-bar{position:relative;flex:1;height:28px;border-radius:9px;background:var(--sand);overflow:hidden}
.rib.c{margin:0}.rib.c .rib-bar{height:12px;border-radius:6px}
.rib .rib-tick{position:absolute;top:0;bottom:0;width:1px;background:rgba(30,38,41,.08)}
.seg-b{position:absolute;top:3px;bottom:3px;background:var(--m);border-radius:6px;display:flex;align-items:center;padding-left:5px;overflow:hidden;min-width:4px}
.rib.c .seg-b{top:2px;bottom:2px;border-radius:4px}
.seg-b em{font-style:normal;color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em}
.rib .now{position:absolute;top:0;bottom:0;width:2px;background:var(--coral);border-radius:2px}
.rib-scale{position:relative;height:16px;font-size:11px;color:var(--muted);margin:2px 0 0}
.rib-scale span{position:absolute;top:0;transform:translateX(-50%)}
.rib-scale span:nth-child(1){left:0;transform:none}.rib-scale span:nth-child(2){left:25%}.rib-scale span:nth-child(3){left:50%}.rib-scale span:nth-child(4){left:75%}.rib-scale span:nth-child(5){right:0;transform:none}
.jsum.lbl .rib-scale{margin-left:106px}
.jstats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.js{background:var(--sand);border-radius:999px;padding:6px 12px;font-size:14px;color:#3E484B}
.js.ok{background:var(--ok-soft);color:#235C40}.js.bad{background:var(--bad-soft);color:var(--bad)}
.jwho{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.jw{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px 0 6px;border-radius:999px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--m) 45%,#fff);font-size:14px;font-weight:600;cursor:pointer}
.jw b{background:var(--m);color:#fff;border-radius:999px;font-size:12px;padding:1px 7px}
.jw.on{background:color-mix(in srgb,var(--m) 14%,#fff);box-shadow:inset 0 0 0 2px var(--m)}
.jfilter{margin:-8px 0 0;color:var(--muted)}
/* Zeitstrahl: Zeit links, Stamm mit farbigem Band (wer gerade verantwortlich ist), Knoten = Mitglied, Ast zur Karte */
.tl{list-style:none;margin:0;padding:0}
.tl-i,.tl-part,.tl-now{position:relative}
.tl-i{display:grid;grid-template-columns:46px 42px 1fr;align-items:start;padding-bottom:12px}
.tl-i::before,.tl-part::before,.tl-now::before{content:"";position:absolute;left:66px;top:0;bottom:0;width:2px;background:var(--line)}
.tl-i::after{content:"";position:absolute;left:63px;top:0;bottom:0;width:8px;border-radius:4px;background:var(--r);opacity:.5}
.tl-i:last-child::before,.tl-i:last-child::after{bottom:calc(100% - 24px)}
.tl-t{font-size:13px;font-weight:700;color:var(--muted);text-align:right;padding:11px 6px 0 0;font-variant-numeric:tabular-nums}
.tl-node{position:relative;z-index:1;width:36px;height:36px;margin:4px 0 0 3px;border-radius:50%;background:var(--m);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px var(--bg)}
.tl-cat{position:absolute;right:-7px;bottom:-5px;font-style:normal;font-size:12px;width:21px;height:21px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(30,38,41,.18)}
.tl-card{position:relative;margin-left:10px;background:#fff;border-radius:16px;box-shadow:var(--sh);padding:10px 14px}
.tl-card::before{content:"";position:absolute;left:-12px;top:21px;width:12px;height:2px;background:var(--line)}
.tl-card[data-appt]{cursor:pointer}
.tl-h{margin:0;font-weight:650;line-height:1.35}
.tl-who{color:color-mix(in srgb,var(--m) 72%,#000)}
.tl-n{margin:3px 0 0;color:#3E484B;font-size:15px}
.tl-m{margin:5px 0 0;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:2px 0}
.tl-m .sep{margin:0 6px}
.tl-del{position:absolute;top:4px;right:4px;width:40px;height:40px;border:0;background:none;border-radius:12px;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
.tl-del:hover,.tl-del:focus-visible{background:var(--bad-soft);color:var(--bad)}
.tl-card:has(.tl-del) .tl-h{padding-right:30px}
.tl-i.warn .tl-card{box-shadow:inset 4px 0 0 var(--warn),var(--sh)}
.tl-i.bad .tl-card{background:var(--bad-soft);box-shadow:inset 4px 0 0 var(--bad)}
.tl-i.bad .tl-h{color:var(--bad)}
.tl-i.cat-handoff .tl-card,.tl-i.cat-appt .tl-card{background:var(--acc-tint);box-shadow:none}
.tl-i.cat-appt .tl-node,.tl-i.bad .tl-node{background:#fff;color:var(--ink);font-size:17px;box-shadow:0 0 0 3px var(--bg),inset 0 0 0 1.5px var(--line)}
.tl-more{margin-top:6px;font-size:14px}.tl-more summary{color:var(--acc);font-weight:650;cursor:pointer}.tl-more p{margin:4px 0}
.tl-part{padding:2px 0 10px 96px}
.tl-part span{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.tl-now{padding:0 0 12px 96px}
.tl-now::after{content:"";position:absolute;left:61px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 3px var(--bg)}
.tl-now span{font-size:13px;font-weight:700;color:var(--coral)}
/* Woche */
.jweek{padding:14px 16px}
.wk{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:9px 0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;min-height:52px}
.wk:last-of-type{border-bottom:0}
.wk-d{width:46px;flex:none;display:flex;flex-direction:column;line-height:1.2}.wk-d small{color:var(--muted);font-size:12px}
.wk-r{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}
.wk-dots{display:flex;flex-wrap:wrap;gap:4px;min-height:18px}
.wk-dots i{font-style:normal;background:var(--m);color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:1px 7px}
.wk-dots i.bad{background:var(--bad)}
.jweek .rib-scale{margin-left:56px}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:13px;color:#3E484B}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--m);margin-right:6px;vertical-align:0}
.nav a{font-size:11.5px;margin:0 1px}

/* ---------- Kategorien: je Bereich ein Symbol + eine feste, dezente Farbe ---------- */
.k-appt{--k:#0F6B63;--ks:#DCECE8}.k-task{--k:#9A6410;--ks:#FBEFD6}.k-med{--k:#D23C47;--ks:#FDE6E8}
.k-here,.k-fam,.k-chat{--k:#2F66A0;--ks:#E3ECF7}.k-care{--k:#B0533A;--ks:#FBEAE4}.k-journal,.k-like{--k:#3F7A4A;--ks:#E3F0E4}
.k-note,.k-hint{--k:#7E6643;--ks:#F2ECE1}.k-info,.k-mob{--k:#46627E;--ks:#E6ECF2}.k-settings{--k:#56656A;--ks:#ECEFEF}
.k-soon{--k:#2E6F88;--ks:#E1EEF3}.k-late,.k-allergy{--k:#A8571A;--ks:#FCEBDD}.k-done{--k:#2F7A4F;--ks:#E2F1E7}
.k-handoff{--k:#23756F;--ks:#DDF0EC}.k-dislike{--k:#6B6F73;--ks:#EDEDEC}
.sico{width:32px;height:32px;border-radius:50%;background:var(--ks);color:var(--k);display:inline-flex;align-items:center;justify-content:center;flex:none}
.sico svg{width:18px;height:18px;stroke-width:2}
.sico.xs{width:22px;height:22px}.sico.xs svg{width:13px;height:13px;stroke-width:2.3}
.sico.lg{width:46px;height:46px;border-radius:14px}.sico.lg svg{width:24px;height:24px;stroke-width:1.9}
.sico.c{margin:0 auto 8px}
h2.hi{display:flex;align-items:center;gap:10px}
.card.empty p.emp{display:flex;align-items:center;justify-content:center;gap:10px;color:#4B5558}
.card.empty.ok p.emp{color:#1F5A3A}
.card.empty.ok .sico{background:#fff}
/* Neu-Menü */
.choice .sico{grid-row:1/3}
/* Medikamentenplan */
.med>.sico.lg{border-radius:14px}
/* Profil-Zeilen */
.profile .pr dt{gap:8px}
.profile .pr.alert{background:#FDF1E6}.profile .pr.alert dt{color:#8A4515}
/* Familie: Linien-Symbole, Personen mit Farbe */
.mrow .ico.ln{background:#ECEFEF;color:#56656A}.mrow .ico.ln svg{width:20px;height:20px}
.mrow.danger-t .ico.ln{background:var(--bad-soft);color:var(--bad)}
/* Tabs der Person */
.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.tabs button svg{width:16px;height:16px;color:#8A9497}
.tabs button.on svg{color:var(--k)}
/* Termin/Kategorie inline */
.ti{display:inline-flex;align-items:center;gap:4px;color:var(--k);font-weight:650}
.ti svg{width:13px;height:13px;margin:0;stroke-width:2.3}
.tl-c.ti{font-weight:650}
.t-meta .chip-s,.tl-m .chip-s{padding:1px 9px 1px 7px;gap:5px}
.t-meta .chip-s::before,.tl-m .chip-s::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}
/* Plan: Kalender mit Personenfarben – Punkt = Termin, Ring = Aufgabe */
.grp{display:flex;align-items:center;gap:7px}
.grp.late{color:#A8571A}
details.pdone{margin:22px 0 8px}
details.pdone summary{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:700;cursor:pointer;color:#3E484B;list-style:none}
details.pdone summary::-webkit-details-marker{display:none}
details.pdone summary::after{content:"›";margin-left:auto;font-size:22px;color:#9AA2A4;transition:transform .2s}
details.pdone[open] summary::after{transform:rotate(90deg)}
.dose:not(.missed):not(.given) .d-time{background:#FDE6E8;color:#A9232E}
.choice .sico.lg{background:var(--ks);color:var(--k);font-size:0;width:48px;height:48px;border-radius:14px}
.tabs button{flex-direction:column;gap:3px;min-height:56px;font-size:13.5px;padding:6px 8px;flex:1 1 0;min-width:0}
.tabs button svg{width:19px;height:19px}
.m-times i{background:#FDE6E8;color:#A9232E}

/* ---------- Medikamente-Kachel: bewusst rot hervorgehoben (nur hier) ---------- */
.medtile{background:linear-gradient(160deg,#FFF1F2 0%,#FDE3E6 100%);border:1px solid #F6CDD2;border-radius:24px;padding:14px 12px 12px;margin-left:-4px;margin-right:-4px}
.medtile .sec-h{padding:0 4px;flex-wrap:wrap;gap:6px}
.medtile .sec-h h2{color:#8E1F29}
.medtile .sec-h .sico{background:#D23C47;color:#fff;box-shadow:0 3px 10px rgba(210,60,71,.32)}
.medtile .sec-h .link{color:#A9232E}
.mpills{display:flex;gap:6px;flex-wrap:wrap}
.mpill{font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;background:#fff;color:#A9232E;box-shadow:inset 0 0 0 1px #F3C4CA}
.mpill.bad{background:#D23C47;color:#fff;box-shadow:none}
.mpill.ok{background:#2D7350;color:#fff;box-shadow:none}
.medtile .dose{box-shadow:0 1px 3px rgba(142,31,41,.10)}
.medtile .dose.missed{background:#fff;box-shadow:inset 5px 0 0 #D23C47,0 2px 8px rgba(210,60,71,.22);border:1px solid #F1B9C0}
.medtile .dose.missed .d-time{background:#D23C47;color:#fff}
.medtile .dose.missed .d-st{color:#B3232F;font-weight:750}
.medtile .more summary,.medtile .more>button{color:#A9232E}
/* alles gegeben: Kachel bleibt rot erkennbar, Zustand klar grün */
.medtile.all-ok{background:linear-gradient(160deg,#FFF6F6 0%,#FBEDEE 100%);border-color:#F3DADD}
.medtile.all-ok .card.empty.ok{background:#E3F1E8;border:1px solid #C7E3D1}
.medtile.has-missed{border-color:#EFA9B1;box-shadow:0 0 0 3px rgba(210,60,71,.08)}

/* ---------- Ladebildschirm (5 s) ---------- */
#splash{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(120% 70% at 50% 30%,#FFFFFF 0%,#F6F4F1 55%,#EEF4F2 100%);color:var(--ink);
  padding:env(safe-area-inset-top) 24px env(safe-area-inset-bottom);transition:opacity .55s ease,transform .55s ease}
#splash.out{opacity:0;transform:scale(1.02);pointer-events:none}
html.splashing,html.splashing body{overflow:hidden}
.sp-in{display:flex;flex-direction:column;align-items:center;text-align:center;animation:spUp .8s cubic-bezier(.2,.8,.2,1) both}
.sp-logo{width:148px;height:148px;border-radius:36px;box-shadow:0 18px 40px rgba(15,107,99,.22),0 4px 10px rgba(15,107,99,.12);animation:spBeat 2.5s ease-in-out .9s infinite}
.sp-logo img{width:100%;height:100%;display:block;border-radius:36px}
.sp-name{margin:28px 0 0;font-size:34px;font-weight:800;letter-spacing:-.02em;color:var(--acc-d)}
.sp-hello{margin:10px 0 0;font-size:21px;font-weight:650;color:var(--ink)}
.sp-sub{margin:6px 0 0;font-size:15px;color:var(--muted)}
.sp-foot{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 96px);display:flex;flex-direction:column;align-items:center;gap:10px}
.sp-bar{width:min(240px,64vw);height:8px;border-radius:999px;background:#DCE6E3;overflow:hidden}
.sp-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0F6B63,#2A9187);transform-origin:left center;transform:scaleX(0);animation:spFill 5s linear forwards}
.sp-load{margin:0;font-size:13px;color:var(--muted)}
@keyframes spFill{to{transform:scaleX(1)}}
@keyframes spUp{from{opacity:0;transform:translateY(14px)}}
@keyframes spBeat{0%,100%{transform:scale(1)}12%{transform:scale(1.045)}24%{transform:scale(1)}36%{transform:scale(1.03)}48%{transform:scale(1)}}
/* Hersteller-Hinweis „von Spoo Studio“: klein, dezent, unten über der Safe-Area, blendet sanft nach dem Pflegekreis-Logo ein */
.sp-by{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 22px);display:flex;flex-direction:column;align-items:center;gap:5px;opacity:0;animation:spBy 1s ease .7s forwards;pointer-events:none}
.sp-by-l{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8A9396}
.sp-by-logo{display:flex;align-items:center;gap:6px}
.sp-by picture{display:block;line-height:0}
.sp-by-mark{display:block;width:auto;height:22px}
.sp-by-word{display:block;width:auto;height:14px}
@keyframes spBy{to{opacity:.82}}
@media (prefers-reduced-motion:reduce){.sp-in,.sp-logo{animation:none}.sp-by{animation:none;opacity:.82}}
.medtile .card.empty.ok .sico{color:#2D7350}

@media (max-width:359px){.nav a,.nav-new{font-size:10.5px;margin:0}.nav-new i{width:40px}}
/* Ausgeblendete Ebenen dürfen nie Taps abfangen */
#splash.out{pointer-events:none!important}
.nav,.top{pointer-events:auto}
@media (max-height:640px){.sp-foot{bottom:calc(env(safe-area-inset-bottom) + 80px)}.sp-by{bottom:calc(env(safe-area-inset-bottom) + 12px)}.sp-in{margin-top:-40px}}
/* Phase 18: lange Einladungscodes, Ablauf, Rechtliches */
.codebox{font-size:clamp(20px,6.6vw,28px);letter-spacing:.14em;white-space:nowrap;overflow-wrap:normal}
.codebox.expired{opacity:.45;text-decoration:line-through}
.inv-valid{margin:8px 0 0}.inv-exp{margin:10px 0 0}
.legal-links{display:flex;justify-content:center;gap:8px;margin:14px 0 6px;font-size:13px;color:var(--muted)}
.legal-links a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.cbx a{color:var(--acc);text-decoration:underline}
.cbx+.cbx{margin-top:12px}
.captcha{margin-top:14px;min-height:65px}

/* Phase 19: Passwort ändern / Admin-Reset */
.forgot{display:flex;gap:12px;align-items:flex-start;margin:14px 0 4px;padding:12px 14px;background:var(--acc-tint);border:1px solid var(--acc-soft);border-radius:16px;font-size:14px;color:#33464A;line-height:1.45}
.forgot b{color:var(--acc-d)}
.forgot .ico,.pw-note .ico{width:34px;height:34px;border-radius:11px;background:var(--acc-soft);color:var(--acc);display:flex;align-items:center;justify-content:center;flex:none}
.forgot .ico svg,.pw-note .ico svg{width:19px;height:19px}
.pw-note{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;margin:0 0 6px;background:var(--acc-tint);border-radius:14px;font-size:15px;color:#33464A}
.pw-note p{margin:0}
.codebox.pwbox{letter-spacing:.06em;font-size:clamp(19px,6vw,27px)}
.pw-steps{margin:10px 0 4px;padding-left:22px;color:#465053;font-size:15px}.pw-steps li{margin:3px 0}
.btn .ico.ln{display:inline-flex;vertical-align:-5px;margin-right:4px;background:none}.btn .ico.ln svg{width:19px;height:19px}

/* ===================== Phase 21: Redesign (Entwürfe Bild 1 + 2) ===================== */
:root{--oma:#D9785F;--oma-s:#FCEBE4;--opa:#5B86A6;--opa-s:#E4EEF5;--med:#D23C47;--med-s:#FDE6E8}
.k-contact{--k:#7A5BA6;--ks:#EEE8F6}
/* Kopf: Logo + Familienname + eigenes Kürzel (öffnet Einstellungen) */
.me{border:0;background:none;padding:2px;border-radius:50%;cursor:pointer;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.me .ava{width:40px;height:40px;font-size:15px;box-shadow:0 0 0 2px #fff,0 3px 10px rgba(30,38,41,.14)}
.me:active .ava{transform:scale(.95)}
/* Navigation: 5 Plätze */
.nav{background:rgba(255,255,255,.985)}
/* Avatare */
.ava.xxs{width:18px;height:18px;font-size:8px}.ava.sm{width:28px;height:28px;font-size:11px}.ava.xl{width:76px;height:76px;font-size:26px}
.ava.pava{background:none;overflow:visible;padding:0}
.ava.pava svg{width:100%;height:100%;display:block;stroke:none;border-radius:50%}
.ava.pring{box-shadow:0 0 0 3px #fff,0 0 0 5.5px var(--pc),0 6px 16px rgba(30,38,41,.12);background:none}
.ava.pring>i{display:flex;width:100%;height:100%;border-radius:50%;align-items:center;justify-content:center;font-style:normal;color:#fff}
.ava.sm.pring,.ava.xs.pring{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--pc)}
/* Personen-Chip */
.chip-s.tagp,.tagp{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;padding:2px 9px 2px 3px;border-radius:999px;background:var(--ps);color:var(--pd);white-space:nowrap;line-height:1.35}
.t-meta .chip-s.tagp::before,.tl-m .chip-s.tagp::before{content:none}
.t-meta .chip-s.tagp,.tl-m .chip-s.tagp{padding:2px 9px 2px 3px}
/* Begrüßung */
.hello2{position:relative;overflow:hidden;margin:2px 0 18px;padding:18px 20px;border-radius:24px;background:linear-gradient(135deg,#DDEDE8 0%,#EEF2EA 50%,#F9EDE2 100%)}
.hello2 h1{font-size:27px;letter-spacing:-.025em}
.hello2 .sum{margin:6px 0 0;font-size:15.5px}
.hello2 .sun{position:absolute;right:-26px;top:-26px;width:112px;height:112px;color:#F0B35A;opacity:.6;pointer-events:none}
.hello2 .sun svg{width:100%;height:100%;stroke-width:1.4}
.hello2 .sun.night{color:#7C8FB0;opacity:.45}
.hello2>*:not(.sun){position:relative;z-index:1}
.hello2 .attn{display:flex;align-items:center;gap:7px;margin:10px 0 0;color:var(--bad);font-size:15px}.hello2 .attn svg{width:18px;height:18px}
/* Personenkarten */
.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.pcard{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border-radius:22px;padding:16px 10px 14px;box-shadow:var(--sh);color:var(--ink);text-decoration:none;min-height:150px}
.pcard::before{content:"";position:absolute;left:0;right:0;top:0;height:48px;background:var(--ps)}
.pcard>*{position:relative}
.pcard .ava{margin:4px auto 12px}
.pcard b{font-size:16.5px;line-height:1.25}
.pc-l,.pc-s{display:flex;align-items:center;justify-content:center;gap:5px;font-size:13px;color:#4B5558;margin-top:3px;line-height:1.3;max-width:100%}
.pc-l.isthere{color:#1F5A3A;font-weight:650}
.pc-s svg{width:13px;height:13px;flex:none}
.pc-s.ell{display:block}
.dotok{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2D9A62;flex:none;box-shadow:0 0 0 3px rgba(45,154,98,.15)}
.people.one .pcard{flex-direction:row;text-align:left;align-items:center;gap:4px 14px;min-height:0;padding:14px 16px;display:grid;grid-template-columns:auto 1fr;justify-items:start}
.people.one .pcard::before{width:96px;height:auto;bottom:0;right:auto}
.people.one .pcard .ava{grid-row:1/4;margin:0 6px 0 4px}
.people.one .pc-l,.people.one .pc-s{justify-content:flex-start}
.pcard:active{transform:scale(.985)}
/* Medikamente: Mini-Kachel */
.medmini{display:flex;align-items:center;gap:14px;background:linear-gradient(160deg,#FFF3F4 0%,#FDE6E9 100%);border:1px solid #F6CDD2;border-radius:22px;padding:12px 14px;margin:0 0 22px;cursor:pointer}
.medmini.ok{background:linear-gradient(160deg,#F1FAF4 0%,#E2F2E8 100%);border-color:#C7E3D1}
.medmini.bad{border-color:#EFA9B1;box-shadow:0 0 0 3px rgba(210,60,71,.08)}
.mm-b{flex:1;min-width:0;display:flex;flex-direction:column}.mm-b>b{font-size:16px;color:#8E1F29}.medmini.ok .mm-b>b{color:#1F5A3A}
.mm-b small{font-size:13.5px;color:#7A4A4F}
.medmini .btn.give{flex:none}
/* Ring */
.ring{position:relative;width:132px;height:132px;flex:none}
.ring.sm{width:64px;height:64px}
.ring svg{width:100%;height:100%;transform:rotate(-90deg);display:block}
.ring circle.rv{transition:stroke-dasharray .7s cubic-bezier(.2,.8,.2,1)}
.ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.ring-c b{font-size:30px;font-weight:800;color:#8E1F29;letter-spacing:-.03em}.ring-c b span{font-size:18px;color:#C2737A;font-weight:700}
.ring-c small{font-size:13px;color:#A9232E;font-weight:650;margin-top:2px}
.ring.sm .ring-c{flex-direction:row;align-items:center}.ring.sm .ring-c b{font-size:18px}.ring.sm .ring-c small{font-size:12px;margin:0;color:#C2737A;font-weight:700}
.okc{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#2D7350;color:#fff;animation:okpop .45s cubic-bezier(.2,1.4,.4,1)}
.okc svg{width:18px;height:18px;stroke-width:3}
.okc.big{width:52px;height:52px}.okc.big svg{width:28px;height:28px}
.ringtile.ok .ring-c small{color:#1F5A3A}
@keyframes okpop{from{transform:scale(.4);opacity:0}}
.ringtile{background:linear-gradient(160deg,#FFF3F4 0%,#FDE6E9 100%);border:1px solid #F6CDD2;border-radius:24px;padding:16px 16px 14px;margin:0 -4px 22px}
.ringtile.ok{background:linear-gradient(160deg,#F1FAF4 0%,#E2F2E8 100%);border-color:#C7E3D1}
.rt-top{display:flex;align-items:center;gap:16px}
.rside{flex:1;min-width:0}
.rside h2{color:#8E1F29;font-size:19px;margin-bottom:8px}.ringtile.ok .rside h2{color:#1F5A3A}
.minis{display:flex;flex-direction:column;gap:8px}
.mini{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650}
.mini .bar{flex:1;height:7px;border-radius:4px;background:rgba(210,60,71,.13);overflow:hidden}
.mini .bar i{display:block;height:100%;border-radius:4px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.mini small{font-size:13px;color:var(--muted);min-width:30px;text-align:right}
.ringtile.ok .mini .bar{background:rgba(45,115,80,.14)}
.nextd-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.nextd{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:11px 12px;box-shadow:0 1px 3px rgba(142,31,41,.10)}
.nextd.missed{box-shadow:inset 5px 0 0 #D23C47,0 2px 8px rgba(210,60,71,.2)}
.nt{width:56px;height:50px;flex:none;border-radius:14px;background:#FDE6E8;color:#A9232E;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.nextd.missed .nt{background:#D23C47;color:#fff}
.nt b{font-size:17px}.nt small{font-size:11px;font-weight:650}
.nb{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.nb>b{font-size:15.5px}
.gdone-l{margin-top:12px}.gdone-l summary{cursor:pointer;font-weight:700;color:#5B6568;font-size:14px;min-height:36px;display:flex;align-items:center}
.gdone{display:flex;align-items:center;gap:10px;padding:7px 4px;font-size:14px;color:#3E484B}
.gdone>svg{width:22px;height:22px;padding:4px;border-radius:50%;background:#2D7350;color:#fff;stroke-width:3.2;flex:none}
.gdone>span{flex:1;min-width:0}.gdone small{color:var(--muted)}
.okmsg{margin:14px 0 0;background:#fff;border-radius:18px;padding:12px 14px;font-size:15px;color:#1F5A3A;font-weight:600;box-shadow:0 1px 3px rgba(45,115,80,.12)}
/* Heute-Agenda */
.today-s .sec-h h2{font-size:19px}
.agenda.card{padding:6px}
.ag{display:flex;align-items:center;gap:12px;width:100%;padding:11px 10px;border:0;background:none;border-radius:16px;text-align:left;cursor:pointer;color:var(--ink)}
.agenda>.ag+.ag,.agenda .list>.ag+.ag{border-top:1px solid #F0ECE7}
.ag:active{background:var(--sand)}
.ag-t{width:44px;flex:none;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.ag-t b{font-weight:750}.ag-t small{font-size:12px}
.ag-b{flex:1;min-width:0;display:flex;flex-direction:column}.ag-b>b{font-size:15.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-b small{font-size:13px;color:var(--muted)}
.ag .sico{width:36px;height:36px}.ag .sico svg{width:19px;height:19px}
.ag.given .ag-b>b{color:#687174}
.agenda details.more>summary{margin:4px}
.agenda .list{gap:0}
.emp-ag{display:flex;align-items:center;gap:10px;justify-content:center;margin:0;padding:16px;color:#4B5558}
.soon-row{background:#fff;border-radius:16px;box-shadow:var(--sh);padding:6px 12px;gap:12px;color:var(--ink);font-weight:600}
.soon-row>span:nth-child(2){flex:1}
/* Plan */
.pchips{display:flex;gap:8px;margin:0 0 10px;overflow-x:auto;scrollbar-width:none;padding:2px}
.pchips::-webkit-scrollbar{display:none}
.pchip{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:5px 14px 5px 5px;border:0;border-radius:999px;font-weight:700;font-size:14.5px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;color:var(--ink)}
.pchip:first-child{padding:5px 16px}
.pchip.on{background:var(--ps,var(--acc-soft));color:var(--pd,var(--acc-d));box-shadow:inset 0 0 0 1.5px var(--pc,var(--acc2))}
.fchips{padding-bottom:4px}.fchips .chip{min-height:38px;font-size:14px}.fchips .chip.on{background:var(--ink)}
.pgrp{margin-bottom:6px!important}
.pgrp.today>.grp{color:var(--acc-d)}
.task{transition:background .25s,box-shadow .25s}
.task .tick{transition:background .2s,border-color .2s,transform .2s,box-shadow .3s}
.task .tick.pulse{background:var(--ok);border-color:var(--ok);animation:tpulse .45s cubic-bezier(.2,1.3,.4,1);box-shadow:0 0 0 7px rgba(45,115,80,.18),0 0 0 15px rgba(45,115,80,.08)}
.task.ticking .t-title{color:#687174}
@keyframes tpulse{0%{transform:scale(.8)}55%{transform:scale(1.18)}100%{transform:scale(1)}}
.spark{position:absolute;inset:0;pointer-events:none}
.spark b{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:#2D9A62;animation:spk .5s ease-out forwards}
.spark b:nth-child(2n){background:#F0B35A}.spark b:nth-child(3n){background:#5B86A6}
.spark b:nth-child(1){--a:0deg}.spark b:nth-child(2){--a:60deg}.spark b:nth-child(3){--a:120deg}.spark b:nth-child(4){--a:180deg}.spark b:nth-child(5){--a:240deg}.spark b:nth-child(6){--a:300deg}
@keyframes spk{from{transform:rotate(var(--a)) translateX(8px) scale(1);opacity:1}to{transform:rotate(var(--a)) translateX(30px) scale(.3);opacity:0}}
.t-who .nn svg{width:15px;height:15px;color:var(--muted)}
/* Toast mit Aktion */
.toast2{display:flex;align-items:center;gap:10px;pointer-events:auto;text-align:left;width:100%;max-width:460px;border-radius:16px;padding:10px 10px 10px 14px;background:#1E2629}
.toast2 .tk{width:26px;height:26px;border-radius:50%;background:#2D9A62;display:flex;align-items:center;justify-content:center;flex:none}
.toast2 .tk svg{width:15px;height:15px;stroke:#fff;stroke-width:3.2}
.toast2 .tx{flex:1;min-width:0}
.toast2 .undo{flex:none;border:0;background:none;color:#8FE0D4;font-weight:750;font-size:15px;min-height:40px;padding:0 8px;border-radius:10px;cursor:pointer}
.toast2 .undo:active{background:rgba(255,255,255,.08)}
.toast.out{opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
/* Bottom-Sheet: Griff bleibt oben (sticky), Ziehen nach unten schließt */
.sheet>.grab{position:sticky;top:-8px;z-index:3;display:flex;justify-content:center;align-items:center;width:auto;height:30px;margin:-8px -18px 4px;padding:0;border-radius:26px 26px 0 0;background:var(--bg);cursor:grab;touch-action:none}
.sheet>.grab i{display:block;width:44px;height:5px;border-radius:9px;background:#CFC8C0}
.sheet.dragging{transition:none!important;user-select:none}
.sheet.spring{transition:transform .34s cubic-bezier(.2,1.25,.4,1)!important}
.sheet.leaving{transition:transform .2s ease-in!important;pointer-events:none}
.backdrop{transition:opacity .2s}
.sheet.settings .sheet-head{margin-bottom:4px}
.sheet .sec .sico.xs{vertical-align:-5px;margin-right:4px}
.set-head h2{margin:0 0 2px}
/* Kontakte */
.csearch{position:relative;display:block;margin:0 0 6px}
.csearch svg{position:absolute;left:14px;top:50%;margin-top:-10px;width:20px;height:20px;color:var(--muted)}
.csearch .inp{padding-left:44px}
.cgroup{margin-bottom:8px!important}
.clist{padding:4px}
.crow{display:flex;align-items:center;gap:6px}
.crow+.crow{border-top:1px solid #EEEAE5}
.cr-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 8px;border:0;background:none;text-align:left;cursor:pointer;border-radius:14px;color:var(--ink);min-height:64px}
.cr-main:active{background:var(--sand)}
.cr-b{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.cr-b>b{font-size:16px}.cr-b small{font-size:13.5px;max-width:100%}
.cr-call{flex:none;width:48px;height:48px;margin-right:6px;border-radius:50%;background:var(--ok-soft);color:var(--ok);display:flex;align-items:center;justify-content:center}
.cr-call svg{width:22px;height:22px}
.cr-call:active{transform:scale(.94)}
.ccard{background:#fff;border-radius:18px;padding:8px 12px 12px;margin:0 0 14px;box-shadow:var(--sh)}
.cc-h{display:flex;align-items:center;gap:12px;width:100%;padding:6px 0;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink)}
.cc-h>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.cc-addr{display:flex;gap:8px;align-items:flex-start;padding:6px 2px 10px;color:#3E484B;font-size:15px}.cc-addr svg{width:18px;height:18px;margin-top:2px;color:var(--k,#7A5BA6)}
.cc-act{display:flex;gap:8px}.cc-act .btn{flex:1}
.cc-act.big{margin:4px 0 4px}
.btn.cact{min-height:50px}.btn.cact svg{width:20px;height:20px}
.btn.cact.call{background:var(--ok)}
.kind-badge.k-contact{background:var(--ks);color:var(--k)}
.cpick{display:flex;gap:8px}.cpick .inp{flex:1;min-width:0}
.btn.cnew{flex:none;padding:0 14px;min-height:50px}.btn.cnew svg{width:18px;height:18px}
.cp-hint{margin:6px 0 0}
#cf-cat button{flex:1 1 30%}
@media (max-width:359px){.ava.xl{width:64px;height:64px}.pcard b{font-size:15px}.ring{width:112px;height:112px}}
@media (prefers-reduced-motion:reduce){.spark{display:none}.ring circle.rv,.mini .bar i{transition:none}}
/* Plan: schmaler Wochenstreifen (wischbar) */
.wkstrip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;scrollbar-width:none;margin:0 -4px 10px;padding:3px 4px 6px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.wkstrip::-webkit-scrollbar{display:none}
.wkp{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:6px 4px;background:#fff;border-radius:18px;box-shadow:var(--sh)}
.wd{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 0 5px;border:0;background:none;border-radius:12px;cursor:pointer;color:var(--ink);min-height:52px;font-variant-numeric:tabular-nums}
.wd small{font-size:11px;font-weight:650;color:var(--muted)}
.wd b{font-size:16px;font-weight:700;line-height:1.15}
.wd.past b{color:#A2A8AA}
.wd.today b{color:var(--acc);font-weight:850}
.wd.today{box-shadow:inset 0 0 0 1.5px var(--acc-soft)}
.wd.on{background:var(--acc);box-shadow:none}.wd.on b,.wd.on small{color:#fff}
.wd .dots{display:flex;gap:3px;height:6px;align-items:center}
.wd .dots i{width:6px;height:6px;border-radius:50%;background:var(--c);box-sizing:border-box}
.wd .dots i.t{background:transparent;border:1.5px solid var(--c)}
.wd.on .dots i{box-shadow:0 0 0 1.5px #fff}
.wd:active{transform:scale(.95)}
.pday .grp{display:flex;align-items:center;gap:6px}.pday .grp .link{margin-left:auto;text-transform:none;letter-spacing:0;font-size:13.5px;min-height:32px}
