/* K-Brain – Stil (aus dem Mockup übernommen) */
:root{
  --bg:#f5f4f0; --panel:#ffffff; --panel2:#f0eee8; --line:#e3e0d8;
  --text:#1c1b19; --muted:#6c6961; --faint:#9b978d;
  --accent:#3451d1; --accent-soft:rgba(52,81,209,.09); --accent-text:#2a43b3;
  --ok:#22865a; --ok-soft:rgba(34,134,90,.11);
  --warn:#b8640f; --warn-soft:rgba(217,130,43,.13);
  --danger:#c53b3b; --danger-soft:rgba(214,69,69,.11);
  --fam:#8a4fbf; --fam-soft:rgba(138,79,191,.11);
  --shadow:0 1px 2px rgba(0,0,0,.04),0 4px 14px rgba(0,0,0,.04);
  --r:14px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#111215; --panel:#191b1f; --panel2:#212429; --line:#2b2e34;
  --text:#ecebe7; --muted:#a09d95; --faint:#6f6c66;
  --accent:#7f95ff; --accent-soft:rgba(127,149,255,.13); --accent-text:#a3b3ff;
  --ok:#4cc38a; --ok-soft:rgba(76,195,138,.13);
  --warn:#f0a050; --warn-soft:rgba(240,160,80,.14);
  --danger:#f07171; --danger-soft:rgba(240,113,113,.13);
  --fam:#c08cf0; --fam-soft:rgba(192,140,240,.14);
  --shadow:none;
}}
:root[data-theme="dark"]{
  --bg:#111215; --panel:#191b1f; --panel2:#212429; --line:#2b2e34;
  --text:#ecebe7; --muted:#a09d95; --faint:#6f6c66;
  --accent:#7f95ff; --accent-soft:rgba(127,149,255,.13); --accent-text:#a3b3ff;
  --ok:#4cc38a; --ok-soft:rgba(76,195,138,.13);
  --warn:#f0a050; --warn-soft:rgba(240,160,80,.14);
  --danger:#f07171; --danger-soft:rgba(240,113,113,.13);
  --fam:#c08cf0; --fam-soft:rgba(192,140,240,.14);
  --shadow:none;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--text);font:14px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer}
.app{display:grid;grid-template-columns:232px minmax(0,1fr) 370px;height:100vh}

/* ── Seitenleiste ── */
.side{border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}
.logo{width:32px;height:32px;border-radius:9px;background:var(--text);color:var(--bg);display:grid;place-items:center;font-weight:700;letter-spacing:-.5px}
.brand b{font-size:15px;letter-spacing:-.2px}
.brand small{display:block;color:var(--muted);font-size:11.5px}
.nav{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;border:0;background:none;text-align:left;width:100%;color:var(--muted)}
.nav:hover{background:var(--panel2);color:var(--text)}
.nav.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow);font-weight:600}
.nav svg{width:18px;height:18px;flex:none}
.nav .cnt{margin-left:auto;font-size:11px;font-weight:600;padding:1px 7px;border-radius:20px;background:var(--accent-soft);color:var(--accent-text)}
.nav .cnt.warn{background:var(--warn-soft);color:var(--warn)}
.sec-l{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:14px 10px 4px}
.side-foot{margin-top:auto;padding:12px 8px 0;display:flex;flex-direction:column;gap:10px}
.agentstate{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel)}
.agentstate .row{display:flex;align-items:center;gap:8px;font-size:12.5px}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:p 2s infinite}
@keyframes p{0%{box-shadow:0 0 0 0 rgba(76,195,138,.5)}70%{box-shadow:0 0 0 7px rgba(76,195,138,0)}100%{box-shadow:0 0 0 0 rgba(76,195,138,0)}}
.budget{height:5px;border-radius:5px;background:var(--panel2);margin-top:8px;overflow:hidden}
.budget i{display:block;height:100%;width:38%;background:var(--accent);border-radius:5px}
.notaus{border:1px solid var(--danger-soft);background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:8px;font-weight:600;font-size:12.5px}
.user{display:flex;align-items:center;gap:9px;font-size:12.5px}
.av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;flex:none;background:var(--accent-soft);color:var(--accent-text)}
.av.f{background:var(--fam-soft);color:var(--fam)}
.av.k{background:var(--ok-soft);color:var(--ok)}
.av.w{background:var(--warn-soft);color:var(--warn)}

/* ── Hauptbereich ── */
.main{overflow:auto;padding:26px 30px 60px}
.view{display:none;max-width:1080px;margin:0 auto}
.view.on{display:block}
.head{display:flex;align-items:flex-end;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.head h1{font-size:25px;letter-spacing:-.5px;margin:0;font-weight:680}
.head p{margin:3px 0 0;color:var(--muted)}
.head .sp{flex:1}
.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:20px;border:1px solid var(--line);background:var(--panel);font-size:12.5px}
.btn{border:1px solid var(--line);background:var(--panel);padding:7px 13px;border-radius:9px;font-weight:550;font-size:13px}
.btn:hover{background:var(--panel2)}
.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.pri:hover{filter:brightness(1.06);background:var(--accent)}
.btn.ghost{border-color:transparent;background:none;color:var(--muted)}
.btn.sm{padding:5px 10px;font-size:12.5px}

.brief{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:flex;gap:14px;align-items:flex-start;box-shadow:var(--shadow);margin-bottom:22px}
.brief .orb{width:38px;height:38px;border-radius:12px;flex:none;background:linear-gradient(135deg,var(--accent),var(--fam));display:grid;place-items:center;color:#fff;font-weight:700}
.brief p{margin:0 0 10px;font-size:14.5px}
.stats{display:flex;gap:8px;flex-wrap:wrap}
.stat{background:var(--panel2);border-radius:9px;padding:6px 10px;font-size:12.5px;color:var(--muted)}
.stat b{color:var(--text);font-size:14px;margin-right:4px}

.grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:22px}
.col{display:flex;flex-direction:column;gap:22px;min-width:0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}
.card-h{display:flex;align-items:center;gap:8px;padding:14px 16px 10px}
.card-h h2{font-size:14.5px;margin:0;font-weight:650}
.card-h .sub{color:var(--muted);font-size:12.5px}
.card-h .sp{flex:1}
.card-b{padding:0 16px 14px}

/* Freigaben */
.fg{border:1px solid var(--line);border-radius:12px;padding:12px 13px;margin-bottom:10px;transition:all .35s ease;background:var(--panel)}
.fg.gone{opacity:0;transform:translateX(30px);max-height:0;padding:0 13px;margin:0;border-width:0;overflow:hidden}
.fg-top{display:flex;gap:10px;align-items:flex-start}
.fg-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;font-size:15px}
.fg h3{margin:0;font-size:13.5px;font-weight:620}
.fg .meta{color:var(--muted);font-size:12.5px;margin-top:2px}
.lvl{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:20px;white-space:nowrap;margin-left:auto}
.l1{background:var(--ok-soft);color:var(--ok)} .l2{background:var(--warn-soft);color:var(--warn)} .l3{background:var(--danger-soft);color:var(--danger)}
.quote{margin:10px 0 0 40px;background:var(--panel2);border-radius:9px;padding:9px 11px;font-size:12.8px;color:var(--muted);border-left:3px solid var(--line)}
.why{margin:8px 0 0 40px;font-size:12px;color:var(--faint)}
.acts{display:flex;gap:7px;margin:10px 0 0 40px;flex-wrap:wrap}

/* Arbeitet gerade */
.job{display:flex;gap:11px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.job:first-child{border-top:0}
.spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--accent-soft);border-top-color:var(--accent);animation:s 1s linear infinite;flex:none}
@keyframes s{to{transform:rotate(360deg)}}
.job .t{font-size:13px;font-weight:550}
.job .d{font-size:12px;color:var(--muted)}
.prog{height:4px;background:var(--panel2);border-radius:4px;margin-top:5px;overflow:hidden;width:100%}
.prog i{display:block;height:100%;background:var(--accent);border-radius:4px}

/* Tagesplan */
.tl{position:relative;padding-left:56px}
.tl-i{position:relative;padding:7px 0 7px 12px;border-left:2px solid var(--line)}
.tl-i .tm{position:absolute;left:-58px;top:7px;width:46px;text-align:right;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.tl-i .ev{border-radius:9px;padding:7px 10px;font-size:12.8px;background:var(--accent-soft)}
.tl-i .ev b{display:block;font-weight:600}
.tl-i .ev span{color:var(--muted);font-size:12px}
.ev.fam{background:var(--fam-soft)} .ev.agent{background:transparent;border:1.5px dashed var(--accent)}
.ev.warn{background:var(--warn-soft)}
.tl-i.now{border-left-color:var(--danger)}
.tl-i.now::before{content:"";position:absolute;left:-6px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--danger)}

/* Listen */
.li{display:flex;gap:11px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.li:first-child{border-top:0}
.li .n{font-size:13px;font-weight:560}
.li .s{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li .mi{min-width:0;flex:1}
.tag{font-size:11px;padding:2px 8px;border-radius:20px;background:var(--panel2);color:var(--muted);white-space:nowrap}
.tag.a{background:var(--accent-soft);color:var(--accent-text)} .tag.w{background:var(--warn-soft);color:var(--warn)} .tag.o{background:var(--ok-soft);color:var(--ok)} .tag.f{background:var(--fam-soft);color:var(--fam)} .tag.d{background:var(--danger-soft);color:var(--danger)}
.chk{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--faint);flex:none;background:none;padding:0}
.chk.done{background:var(--ok);border-color:var(--ok)}
.seg{display:inline-flex;background:var(--panel2);border-radius:9px;padding:3px;gap:2px}
.seg button{border:0;background:none;padding:4px 10px;border-radius:7px;font-size:12.5px;color:var(--muted)}
.seg button.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow);font-weight:600}
.feed .li .s{white-space:normal}
.tiny{font-size:11.5px;color:var(--faint);white-space:nowrap}

/* Kommunikation */
.inbox{display:grid;grid-template-columns:330px minmax(0,1fr);gap:0;height:calc(100vh - 150px);min-height:520px}
.inbox .lst{border-right:1px solid var(--line);overflow:auto}
.filters{display:flex;gap:6px;padding:12px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.th{padding:11px 13px;border-bottom:1px solid var(--line);cursor:pointer;display:flex;gap:10px}
.th:hover{background:var(--panel2)}
.th.on{background:var(--accent-soft)}
.th .mi{min-width:0;flex:1}
.th .r1{display:flex;gap:6px;align-items:center}
.th .r1 b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.th .r1 .tiny{margin-left:auto}
.th .sj{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.th .r3{display:flex;gap:5px;margin-top:4px;align-items:center}
.ch{width:18px;height:18px;border-radius:5px;display:inline-grid;place-items:center;font-size:10px;font-weight:700;flex:none}
.ch.m{background:var(--accent-soft);color:var(--accent-text)} .ch.wa{background:var(--ok-soft);color:var(--ok)} .ch.tel{background:var(--warn-soft);color:var(--warn)} .ch.tg{background:var(--fam-soft);color:var(--fam)}
.det{overflow:auto;padding:18px 22px}
.det h2{margin:0;font-size:18px;letter-spacing:-.2px}
.aisum{background:var(--accent-soft);border-radius:12px;padding:12px 14px;margin:14px 0;font-size:13px}
.aisum b{color:var(--accent-text)}
.aisum ul{margin:6px 0 0;padding-left:18px}
.msg{border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:10px}
.msg .mh{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--muted);margin-bottom:6px}
.msg .mh b{color:var(--text)}
.msg p{margin:0;font-size:13px}
.draft{border:1.5px dashed var(--accent);border-radius:12px;padding:12px 14px}
.draft .lab{font-size:11.5px;font-weight:700;color:var(--accent-text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}

/* Kalender */
.week{display:grid;grid-template-columns:48px repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel)}
.wk-h{padding:9px 6px;text-align:center;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);background:var(--panel)}
.wk-h b{display:block;font-size:17px;color:var(--text)}
.wk-h.today b{color:#fff;background:var(--accent);border-radius:50%;width:30px;height:30px;line-height:30px;margin:2px auto 0}
.wk-t{font-size:11px;color:var(--faint);text-align:right;padding:0 6px;height:46px;border-top:1px solid var(--line)}
.wk-c{position:relative;border-left:1px solid var(--line)}
.wk-c .hl{height:46px;border-top:1px solid var(--line)}
.we{position:absolute;left:3px;right:3px;border-radius:7px;padding:4px 6px;font-size:11.5px;line-height:1.25;overflow:hidden;background:var(--accent-soft);color:var(--text);border-left:3px solid var(--accent)}
.we span{color:var(--muted);display:block;font-size:10.5px}
.we.fam{background:var(--fam-soft);border-left-color:var(--fam)}
.we.ag{background:transparent;border:1.5px dashed var(--accent);border-left-width:3px}
.we.trv{background:var(--panel2);border-left-color:var(--faint)}
.we.wn{background:var(--warn-soft);border-left-color:var(--warn)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:12px 0 0}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}

/* Kontakte */
.cgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:22px}
.ctop{display:flex;gap:14px;align-items:center}
.ctop .av{width:52px;height:52px;font-size:17px}
.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:13px;margin-top:14px}
.kv dt{color:var(--muted)} .kv dd{margin:0}
.tli{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:12.8px}
.tli:first-child{border-top:0}

/* Aufträge */
.kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kcol{background:var(--panel2);border-radius:var(--r);padding:10px;min-height:200px}
.kcol h3{font-size:12.5px;margin:2px 4px 10px;display:flex;gap:6px;align-items:center;color:var(--muted);font-weight:650}
.kcol h3 .tag{margin-left:auto}
.kc{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:10px 11px;margin-bottom:8px;font-size:12.8px}
.kc b{display:block;font-weight:600;margin-bottom:3px}
.kc .s{color:var(--muted);font-size:12px}
.kc .r{display:flex;gap:6px;align-items:center;margin-top:7px}
.newtask{display:flex;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:8px 8px 8px 14px;align-items:center;margin-bottom:18px;box-shadow:var(--shadow)}
.newtask input{flex:1;border:0;background:none;outline:none;font:inherit;color:var(--text);font-size:14px;min-width:0}
.rules .li{align-items:flex-start}
.lv3{display:inline-flex;gap:3px}
.lv3 span{font-size:11px;padding:3px 8px;border-radius:7px;background:var(--panel2);color:var(--faint);font-weight:600}
.lv3 span.on1{background:var(--ok-soft);color:var(--ok)} .lv3 span.on2{background:var(--warn-soft);color:var(--warn)} .lv3 span.on3{background:var(--danger-soft);color:var(--danger)}

/* ── Chat ── */
.chat{border-left:1px solid var(--line);display:flex;flex-direction:column;background:var(--panel);min-height:0}
.chat-h{padding:16px 18px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.chat-h b{font-size:14.5px}
.chat-h small{display:block;color:var(--muted);font-size:12px}
.chat-b{flex:1;overflow:auto;padding:16px 16px 6px;display:flex;flex-direction:column;gap:10px}
.bub{max-width:90%;padding:9px 12px;border-radius:14px;font-size:13.2px}
.bub.me{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:5px}
.bub.ai{align-self:flex-start;background:var(--panel2);border-bottom-left-radius:5px}
.bub.ai ul{margin:6px 0 2px;padding-left:18px}
.toolrun{align-self:flex-start;font-size:11.8px;color:var(--muted);display:flex;gap:6px;align-items:center;padding:0 4px}
.toolrun i{width:6px;height:6px;border-radius:50%;background:var(--ok)}
.inl{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.chat-f{padding:12px;border-top:1px solid var(--line)}
.sugg{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px}
.sugg button{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:4px 10px;font-size:12px;color:var(--muted)}
.sugg button:hover{color:var(--text);background:var(--panel2)}
.inp{display:flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:6px 6px 6px 12px;background:var(--bg)}
.inp input{flex:1;border:0;background:none;outline:none;font:inherit;color:var(--text);min-width:0}
.ib{width:34px;height:34px;border-radius:10px;border:0;display:grid;place-items:center;background:var(--panel2)}
.ib.send{background:var(--accent);color:#fff}
.ib svg{width:17px;height:17px}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(80px);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:11px;font-size:13px;transition:transform .3s ease;z-index:50;max-width:calc(100vw - 32px)}
.toast.on{transform:translateX(-50%) translateY(0)}
.fab{display:none}
.mobnav{display:none}
.tbtn{border:1px solid var(--line);background:var(--panel);border-radius:9px;width:34px;height:34px;display:grid;place-items:center}

/* ── Responsiv ── */
@media (max-width:1240px){
  .app{grid-template-columns:220px minmax(0,1fr)}
  .chat{position:fixed;right:0;top:0;bottom:0;width:min(380px,100vw);z-index:40;transform:translateX(100%);transition:transform .3s ease,visibility .3s;box-shadow:-10px 0 40px rgba(0,0,0,.15);visibility:hidden}
  .chat.open{transform:none;visibility:visible}
  .fab{display:grid;position:fixed;right:20px;bottom:20px;width:54px;height:54px;border-radius:18px;border:0;background:var(--accent);color:#fff;place-items:center;z-index:30;box-shadow:0 8px 24px rgba(52,81,209,.35)}
  .fab svg{width:24px;height:24px}
  .chat-x{display:grid!important}
}
@media (max-width:980px){
  .grid,.cgrid{grid-template-columns:minmax(0,1fr)}
  .kanban{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inbox{grid-template-columns:minmax(0,1fr);height:auto}
  .inbox .lst{border-right:0;border-bottom:1px solid var(--line);max-height:340px}
}
@media (max-width:760px){
  .app{grid-template-columns:minmax(0,1fr);height:auto;min-height:100vh}
  .side{display:none}
  .main{padding:18px 16px 96px}
  .head h1{font-size:21px}
  .mobnav{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--panel);border-top:1px solid var(--line);z-index:35;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .mobnav button{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;color:var(--muted);padding:4px 0}
  .mobnav button.on{color:var(--accent-text);font-weight:600}
  .mobnav svg{width:21px;height:21px}
  .fab{bottom:78px}
  .kanban{grid-template-columns:minmax(0,1fr)}
  .week{grid-template-columns:40px repeat(3,minmax(0,1fr))}
  .week .hide-m{display:none}
  .quote,.why,.acts{margin-left:0}
  .kv{grid-template-columns:100px 1fr}
}

/* ── Ergänzungen für die echte App ── */
.login{min-height:100vh;display:grid;place-items:center;padding:16px}
.login form{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;width:min(360px,100%);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}
.login h1{margin:0 0 4px;font-size:20px}
.login input{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:10px 12px;font:inherit;font-size:15px}
.err{color:var(--danger);font-size:13px;min-height:18px}
.leer{color:var(--muted);font-size:13px;padding:8px 0}
.fg textarea{width:calc(100% - 40px);margin:10px 0 0 40px;min-height:80px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);font:inherit;font-size:13px;padding:9px 11px;resize:vertical}
.ergebnis{white-space:pre-wrap;font-size:13px;background:var(--panel2);border-radius:10px;padding:10px 12px;margin-top:8px;max-height:260px;overflow:auto}
.bub{white-space:pre-wrap}
.kc{cursor:pointer}
.kc .erg{display:none}
.kc.offen .erg{display:block}
.newtask textarea{flex:1;border:0;background:none;outline:none;font:inherit;color:var(--text);font-size:14px;min-width:0;resize:none;height:22px}
.formrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.formrow input,.formrow select{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:9px;padding:7px 10px;font:inherit;font-size:13px}
.formrow input[type=text]{flex:1;min-width:160px}
.hinweisbox{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:9px 12px;font-size:12.8px;margin-bottom:14px}
.week-nav{display:flex;gap:6px}
.wk-h.today b{display:block}
.det .leer{padding:40px 0;text-align:center}
.switch{display:flex;align-items:center;gap:8px;font-size:13px}
.notaus.aktiv{background:var(--danger);color:#fff}
.thinking{display:flex;gap:4px;padding:10px 12px}
.thinking i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:b 1.2s infinite}
.thinking i:nth-child(2){animation-delay:.2s}.thinking i:nth-child(3){animation-delay:.4s}
@keyframes b{0%,80%,100%{opacity:.25}40%{opacity:1}}

/* Handy: Meldungen über der unteren Leiste anzeigen */
@media (max-width:760px){.toast{bottom:calc(84px + env(safe-area-inset-bottom))}}
