/* app.css — Mili (Projekt ICH), Notion-clean. 1:1 aus dem YUNA-Interface
   extrahiert (.ich-Namespace) und für den Standalone-Betrieb entschlackt
   (kein YUNA-Header mehr). Optik bleibt exakt gleich. */

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--ich-sink,#f7f7f5);-webkit-font-smoothing:antialiased;
  font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',sans-serif}
#app{width:100%}

/* ═══ Projekt ICH — Notion-clean (theme-aware, PWA) ═══════════════════════════ */
.ich, .ich-toast, .ich-sheet-wrap, .mili-auth {
  --ich-bg:#ffffff;
  --ich-sink:#f7f7f5;
  --ich-surface:#ffffff;
  --ich-fill:#f4f4f2;
  --ich-fill-2:#ededea;
  --ich-line:rgba(22,22,24,.09);
  --ich-line-2:rgba(22,22,24,.14);
  --ich-text:#1d2025;
  --ich-text-2:#5f6570;
  --ich-text-3:#93989f;
  --ich-accent:#2f6feb;
  --ich-accent-weak:rgba(47,111,235,.10);
  --ich-on-accent:#ffffff;
  --ich-clean:#3f9b6e;
  --ich-gesund:#4f86c6;
  --ich-wachstum:#8a63c4;
  --ich-finanzen:#bf912f;
  --ich-good:#3f9b6e;
  --ich-danger:#cf5a4f;
  --ich-shadow:0 1px 2px rgba(20,20,20,.05);
  --ich-shadow-pop:0 8px 30px -10px rgba(20,20,20,.22);
  --ich-r:10px;
  --ich-r-lg:14px;
  --ich-tabbar-h:64px;
}
:root[data-ich-theme="dark"] .ich,
:root[data-ich-theme="dark"] .ich-toast,
:root[data-ich-theme="dark"] .ich-sheet-wrap,
:root[data-ich-theme="dark"] .mili-auth {
  --ich-bg:#1f2023;
  --ich-sink:#18191b;
  --ich-surface:#242528;
  --ich-fill:#2a2c30;
  --ich-fill-2:#31343a;
  --ich-line:rgba(255,255,255,.10);
  --ich-line-2:rgba(255,255,255,.17);
  --ich-text:#e7e7e6;
  --ich-text-2:#a6a8ad;
  --ich-text-3:#75787f;
  --ich-accent:#6a9bf5;
  --ich-accent-weak:rgba(106,155,245,.16);
  --ich-on-accent:#0e1420;
  --ich-clean:#5cb98a;
  --ich-gesund:#6aa0dc;
  --ich-wachstum:#a487e0;
  --ich-finanzen:#d7b459;
  --ich-good:#5cb98a;
  --ich-danger:#e07a70;
  --ich-shadow:none;
  --ich-shadow-pop:0 10px 34px -12px rgba(0,0,0,.6);
}
:root[data-ich-theme="dark"] body{background:#18191b}

.ich{
  position:relative;min-height:100vh;
  background:var(--ich-sink);
  color:var(--ich-text);
  font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:15px;line-height:1.5;letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;
  padding:calc(22px + env(safe-area-inset-top)) 20px calc(var(--ich-tabbar-h) + 34px + env(safe-area-inset-bottom));
}
.ich *{box-sizing:border-box}
.ich-wrap{max-width:680px;margin:0 auto}
.ich b{font-weight:650}
.ich-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

.ich-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.ich-head .h-title{font-size:22px;font-weight:700;letter-spacing:-.3px;color:var(--ich-text)}
.ich-head .h-date{font-size:13px;color:var(--ich-text-3)}
.ich-progress-mini{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ich-text-3)}
.ich-progress-mini .pm-bar{width:56px;height:5px;border-radius:3px;background:var(--ich-fill-2);overflow:hidden}
.ich-progress-mini .pm-bar>i{display:block;height:100%;border-radius:3px;background:var(--ich-accent);transition:width .6s var(--ich-ease,ease)}

.ich-card{background:var(--ich-surface);border:1px solid var(--ich-line);border-radius:var(--ich-r-lg);
  box-shadow:var(--ich-shadow);padding:18px;margin-bottom:14px}
.ich-card.tap{cursor:pointer;transition:border-color .15s,transform .1s}
.ich-card.tap:hover{border-color:var(--ich-line-2)}
.ich-card.tap:active{transform:scale(.995)}

.ich-today-card{background:var(--ich-surface);border:1px solid var(--ich-line);border-radius:var(--ich-r-lg);
  box-shadow:var(--ich-shadow);overflow:hidden;margin-bottom:14px}
.ich-today-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px 12px}
.ich-today-head .t-lbl{font-size:13px;font-weight:650;color:var(--ich-text)}
.ich-today-head .t-ph{display:flex;gap:14px;font-size:12px;color:var(--ich-text-3)}
.ich-today-head .t-ph .on{color:var(--ich-good);font-weight:600}
.ich-today-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ich-line)}
.ich-cell{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 6px;text-align:center;
  border-right:1px solid var(--ich-line)}
.ich-cell:last-child{border-right:none}
.ich-cell .c-mark{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;
  background:var(--ich-fill);color:var(--ich-text-3)}
.ich-cell.done .c-mark{background:color-mix(in srgb,var(--ich-good) 16%,transparent);color:var(--ich-good)}
.ich-cell.miss .c-mark{background:var(--ich-fill);color:var(--ich-text-3)}
.ich-cell .c-val{font-size:14px;font-weight:650;color:var(--ich-text)}
.ich-cell .c-lbl{font-size:10.5px;color:var(--ich-text-3);letter-spacing:.2px}

.ich-score-card{--zc:var(--ich-good);background:var(--ich-surface);border:1px solid var(--ich-line);
  border-radius:var(--ich-r-lg);box-shadow:var(--ich-shadow);padding:18px;margin-bottom:14px}
.ich-score-card.rot{--zc:var(--ich-danger)} .ich-score-card.gelb{--zc:var(--ich-finanzen)} .ich-score-card.gruen{--zc:var(--ich-good)}
.ich-score-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ich-score-top .sc-pct{font-size:42px;font-weight:700;line-height:1;letter-spacing:-1.5px;color:var(--ich-text)}
.ich-score-top .sc-sub{font-size:13px;color:var(--ich-text-2);margin-top:6px}
.sc-zone{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--ich-text-2);
  padding:5px 11px;border-radius:20px;background:color-mix(in srgb,var(--zc) 12%,transparent)}
.sc-zone .zd{width:8px;height:8px;border-radius:50%;background:var(--zc)}
.sc-bar{height:8px;border-radius:5px;background:var(--ich-fill-2);overflow:hidden;margin:14px 0 4px}
.sc-bar>i{display:block;height:100%;border-radius:5px;background:var(--zc);transition:width .7s ease}
.sc-agg{display:flex;gap:22px;font-size:13px;color:var(--ich-text-2);margin-top:12px}
.sc-agg b{color:var(--ich-text);font-weight:650}
.sc-spark{display:flex;align-items:flex-end;gap:2px;height:34px;margin-top:14px}
.sc-spark i{flex:1;border-radius:2px 2px 0 0;min-height:3px;background:var(--ich-fill-2)}
.sc-tasks{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.sc-task{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:4px 9px;border-radius:16px;
  background:var(--ich-fill);color:var(--ich-text-3)}
.sc-task.done{background:color-mix(in srgb,var(--ich-good) 12%,transparent);color:var(--ich-good)}
.sc-task .tk{font-size:11px}

.ich-streak{display:flex;align-items:center;gap:18px;margin-bottom:6px}
.ich-streak .s-dot{width:10px;height:10px;border-radius:50%;background:var(--ich-clean);flex:none;margin-top:6px}
.ich-streak .s-main{flex:1}
.ich-streak .s-num{font-size:52px;font-weight:700;line-height:1;letter-spacing:-1.5px;color:var(--ich-text)}
.ich-streak .s-unit{font-size:13px;color:var(--ich-text-2);margin-top:4px}
.ich-streak-meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px;font-size:13px;color:var(--ich-text-2)}
.ich-streak-meta b{color:var(--ich-text)}
.ich-ms{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.ich-ms-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;
  background:var(--ich-fill);color:var(--ich-text-3);border:1px solid transparent}
.ich-ms-pill.on{background:color-mix(in srgb,var(--ich-clean) 14%,transparent);color:var(--ich-clean)}
.ich-ms-pill.next{border-color:var(--ich-line-2);color:var(--ich-text-2)}
.ich-rewards{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.ich-reward{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--ich-text-2)}
.ich-reward b{min-width:44px;color:var(--ich-text-3);font-weight:600;font-size:12px}
.ich-reward.on{color:var(--ich-text)}
.ich-reward.on b{color:var(--ich-clean)}
.ich-startbanner{margin-top:14px;font-size:13px;color:var(--ich-accent);font-weight:600;
  background:var(--ich-accent-weak);border-radius:var(--ich-r);padding:9px 12px}

.ich-section-h{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--ich-text-3);font-weight:650;
  margin:14px 2px 7px;display:flex;align-items:center;gap:10px}
.ich-section-h .sp{flex:1}
.ich-section-h .act{font-size:12px;text-transform:none;letter-spacing:0;color:var(--ich-accent);font-weight:600;cursor:pointer;
  padding:3px 8px;border-radius:7px}
.ich-section-h .act:hover{background:var(--ich-accent-weak)}
.ich-rt-grp{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--ich-text-2);
  letter-spacing:.2px;margin:10px 2px 5px}
.ich-rt-grp:first-of-type{margin-top:4px}
.ich-rt-grp .g-ic{font-size:13px;line-height:1}
.ich-rt-list .ich-exp{margin-bottom:0}

.ich-area{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--ich-r);background:var(--ich-surface);
  border:1px solid var(--ich-line);box-shadow:var(--ich-shadow);margin-bottom:9px;cursor:pointer;transition:border-color .15s}
.ich-area:hover{border-color:var(--ich-line-2)}
.ich-area .a-dot{width:9px;height:9px;border-radius:50%;background:var(--ac,var(--ich-accent));flex:none}
.ich-area .an{flex:none;font-weight:600;font-size:14px;color:var(--ich-text)}
.ich-area .abar{flex:1;height:6px;border-radius:4px;background:var(--ich-fill-2);overflow:hidden}
.ich-area .abar>i{display:block;height:100%;border-radius:4px;background:var(--ac,var(--ich-accent));opacity:.85;transition:width .7s ease}
.ich-area .at{flex:none;font-size:12.5px;color:var(--ich-text-2);white-space:nowrap}
.ich-area .al{flex:none;font-size:11px;font-weight:600;color:var(--ich-text-3);min-width:34px;text-align:right}
@media(max-width:560px){.ich-area .at{display:none}}

.ich-btns{display:flex;gap:10px;margin:16px 0 4px;flex-wrap:wrap}
.ich-btn{flex:1;min-width:140px;padding:13px 16px;border-radius:var(--ich-r);border:1px solid var(--ich-line-2);
  background:var(--ich-surface);color:var(--ich-text);font-size:14px;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,border-color .15s,transform .08s}
.ich-btn:hover{border-color:var(--ich-text-3);background:var(--ich-fill)}
.ich-btn:active{transform:scale(.985)}
.ich-btn.primary{background:var(--ich-accent);color:var(--ich-on-accent);border-color:transparent}
.ich-btn.primary:hover{filter:brightness(1.05)}
.ich-btn.ghost{background:transparent;border-color:var(--ich-line-2)}
.ich-btn.danger{color:var(--ich-danger);border-color:color-mix(in srgb,var(--ich-danger) 40%,transparent)}
.ich-btn.small{flex:0;min-width:auto;padding:8px 13px;font-size:13px}

.ich-form{max-width:560px;margin:0 auto}
.ich-form .fh{font-size:24px;font-weight:700;letter-spacing:-.4px;margin-bottom:2px}
.ich-form .fsub{font-size:13px;color:var(--ich-text-3);margin-bottom:22px}
.ich-fg{margin-bottom:18px}
.ich-fg>label{display:block;font-size:12.5px;color:var(--ich-text-2);font-weight:600;margin-bottom:8px}
.ich-input,.ich-ta,.ich select.ich-input,.mili-auth input{width:100%;padding:12px 14px;border-radius:var(--ich-r);border:1px solid var(--ich-line-2);
  background:var(--ich-surface);color:var(--ich-text);font-size:15px;font-family:inherit;transition:border-color .15s,box-shadow .15s}
.ich-ta{resize:vertical;min-height:70px}
.ich-input::placeholder,.ich-ta::placeholder{color:var(--ich-text-3)}
.ich-input:focus,.ich-ta:focus,.mili-auth input:focus{outline:none;border-color:var(--ich-accent);box-shadow:0 0 0 3px var(--ich-accent-weak)}
.ich input[type=file].ich-input{padding:9px}
.ich input[type=date].ich-input{color-scheme:light}
:root[data-ich-theme="dark"] .ich input[type=date].ich-input{color-scheme:dark}

.ich-tg{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-radius:var(--ich-r);
  background:var(--ich-surface);border:1px solid var(--ich-line-2);cursor:pointer;transition:.12s;user-select:none}
.ich-tg:hover{border-color:var(--ich-text-3)}
.ich-tg .tgl{font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:9px}
.ich-tg .sw{width:46px;height:27px;border-radius:16px;background:var(--ich-fill-2);position:relative;flex:none;transition:.18s}
.ich-tg .sw::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;
  background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:.18s}
.ich-tg.on{border-color:color-mix(in srgb,var(--ich-good) 55%,transparent);background:color-mix(in srgb,var(--ich-good) 8%,var(--ich-surface))}
.ich-tg.on .sw{background:var(--ich-good)}
.ich-tg.on .sw::after{left:22px}

.ich-stepper{display:flex;align-items:center;gap:14px}
.ich-stepper button{width:42px;height:42px;border-radius:var(--ich-r);border:1px solid var(--ich-line-2);
  background:var(--ich-surface);color:var(--ich-text);font-size:20px;font-weight:600;cursor:pointer;line-height:1;
  display:grid;place-items:center;transition:.12s}
.ich-stepper button:hover{border-color:var(--ich-accent);color:var(--ich-accent)}
.ich-stepper .val{font-size:28px;font-weight:700;min-width:70px;text-align:center;color:var(--ich-text)}
.ich-stepper .val small{font-size:12px;color:var(--ich-text-3);font-weight:500;display:block;margin-top:-2px}

.ich-phase{display:flex;gap:8px;margin:2px 0}
.ich-phase .pf{flex:1;padding:10px;border-radius:var(--ich-r);text-align:center;font-size:13px;font-weight:600;
  border:1px solid var(--ich-line-2);background:var(--ich-surface);color:var(--ich-text-2);cursor:pointer;transition:.12s}
.ich-phase .pf.done{color:var(--ich-accent);border-color:var(--ich-accent);background:var(--ich-accent-weak)}

.ich-meal-list{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.ich-meal{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:var(--ich-r);
  background:var(--ich-surface);border:1px solid var(--ich-line);font-size:13.5px}
.ich-meal .mt{flex:1;color:var(--ich-text)}
.ich-meal .mv{color:var(--ich-text);font-weight:650;white-space:nowrap}
.ich-meal .mp{color:var(--ich-text-2);font-size:12.5px;display:flex;align-items:center;gap:5px;white-space:nowrap}
.ich-meal .mx{cursor:pointer;color:var(--ich-text-3);font-size:15px;padding:0 4px;line-height:1}
.ich-meal .mx:hover{color:var(--ich-danger)}
.ich-nut-sum{display:flex;gap:8px;padding:14px 16px;border-radius:var(--ich-r);background:var(--ich-fill);
  border:1px solid var(--ich-line);font-size:14px;margin-top:6px}
.ich-nut-sum .col{flex:1}
.ich-nut-sum b{color:var(--ich-text);font-size:17px;font-weight:700}
.ich-nut-sum .lbl{color:var(--ich-text-3);font-size:11px;display:block;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
.ich-nut-sum .col.ok b{color:var(--ich-good)}

.ich-spark{display:flex;align-items:flex-end;gap:2px;height:42px;padding:2px 0}
.ich-spark i{flex:1;background:var(--ac,var(--ich-accent));border-radius:2px 2px 0 0;min-height:2px}
.ich-stat-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--ich-line);font-size:14px}
.ich-stat-row:last-child{border-bottom:none}
.ich-stat-row .srn{flex:none;width:130px;color:var(--ich-text-2)}
.ich-stat-row .srbar{flex:1;height:6px;border-radius:4px;background:var(--ich-fill-2);overflow:hidden}
.ich-stat-row .srbar>i{display:block;height:100%;background:var(--ac,var(--ich-accent));opacity:.85;border-radius:4px}
.ich-stat-row .srv{flex:none;min-width:110px;text-align:right;font-weight:600;color:var(--ich-text)}

.ich-fin-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
.ich-fin-svg{background:var(--ich-surface);border:1px solid var(--ich-line);border-radius:var(--ich-r);padding:12px}

.ich-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.ich-bd{display:flex;flex-direction:column;align-items:center;gap:6px;width:98px;padding:14px 8px;border-radius:var(--ich-r);
  background:var(--ich-surface);border:1px solid var(--ich-line);text-align:center}
.ich-bd .bi{font-size:24px;filter:grayscale(1);opacity:.35}
.ich-bd .bl{font-size:10.5px;color:var(--ich-text-3);line-height:1.25}
.ich-bd.on{border-color:var(--ich-line-2)}
.ich-bd.on .bi{filter:none;opacity:1}
.ich-bd.on .bl{color:var(--ich-text-2)}

.ich-lvlchip{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ich-text-3)}
.ich-lvlchip b{color:var(--ich-text-2);font-weight:600}
.ich-lvlchip .lc-bar{width:52px;height:5px;border-radius:3px;background:var(--ich-fill-2);overflow:hidden}
.ich-lvlchip .lc-bar>i{display:block;height:100%;background:var(--ich-accent)}

.ich-note{font-size:12.5px;color:var(--ich-text-2);background:var(--ich-fill);border:1px solid var(--ich-line);
  border-radius:var(--ich-r);padding:11px 13px;margin-top:8px}
.ich-note.warn{border-color:color-mix(in srgb,var(--ich-finanzen) 45%,transparent);
  background:color-mix(in srgb,var(--ich-finanzen) 8%,var(--ich-surface));color:var(--ich-text-2)}
.ich-savebar{position:sticky;bottom:calc(var(--ich-tabbar-h) + 12px + env(safe-area-inset-bottom));padding-top:12px;margin-top:8px}

.ich-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;
  height:calc(var(--ich-tabbar-h) + env(safe-area-inset-bottom));
  padding-bottom:env(safe-area-inset-bottom);
  display:flex;align-items:stretch;justify-content:center;
  background:color-mix(in srgb,var(--ich-bg) 88%,transparent);
  border-top:1px solid var(--ich-line);
  backdrop-filter:saturate(150%) blur(12px)}
.ich-tabbar-inner{display:flex;align-items:center;justify-content:space-around;gap:4px;width:100%;max-width:520px;padding:0 6px;position:relative}
.ich-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  height:var(--ich-tabbar-h);color:var(--ich-text-3);cursor:pointer;font-size:10.5px;font-weight:600;
  border:none;background:none;transition:color .15s}
.ich-tab .ti{font-size:20px;line-height:1}
.ich-tab.active{color:var(--ich-accent)}
.ich-tab.spacer{visibility:hidden;pointer-events:none}
.ich-fab{position:absolute;left:50%;top:-14px;transform:translateX(-50%);
  width:56px;height:56px;border-radius:50%;background:var(--ich-accent);color:var(--ich-on-accent);
  display:grid;place-items:center;font-size:28px;font-weight:400;cursor:pointer;
  box-shadow:0 6px 18px -4px color-mix(in srgb,var(--ich-accent) 60%,transparent);
  border:3px solid var(--ich-bg);transition:transform .12s,filter .15s}
.ich-fab:hover{filter:brightness(1.05)}
.ich-fab:active{transform:translateX(-50%) scale(.94)}
@media(min-width:820px){
  .ich-tabbar{background:transparent;border-top:none;backdrop-filter:none;pointer-events:none;bottom:18px}
  .ich-tabbar-inner{pointer-events:auto;background:var(--ich-bg);border:1px solid var(--ich-line);
    border-radius:18px;box-shadow:var(--ich-shadow-pop);height:60px;padding:0 10px}
  .ich-tab{height:60px}
}

.ich-sheet-wrap{position:fixed;inset:0;z-index:80;display:none}
.ich-sheet-wrap.open{display:block}
.ich-sheet-bg{position:absolute;inset:0;background:rgba(10,12,16,.42);opacity:0;transition:opacity .22s}
.ich-sheet-wrap.open .ich-sheet-bg{opacity:1}
.ich-sheet{position:absolute;left:0;right:0;bottom:0;max-height:86vh;overflow:auto;
  background:var(--ich-bg);color:var(--ich-text);border-radius:18px 18px 0 0;
  padding:10px 20px calc(26px + env(safe-area-inset-bottom));
  box-shadow:0 -10px 40px -12px rgba(0,0,0,.4);
  transform:translateY(100%);transition:transform .26s cubic-bezier(.2,.8,.2,1);
  font-family:-apple-system,system-ui,sans-serif}
.ich-sheet-wrap.open .ich-sheet{transform:translateY(0)}
@media(min-width:820px){.ich-sheet{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-46%) scale(.98);
    width:min(560px,92vw);border-radius:18px;max-height:88vh}
  .ich-sheet-wrap.open .ich-sheet{transform:translate(-50%,-50%)}}
.ich-sheet-grip{width:38px;height:4px;border-radius:3px;background:var(--ich-line-2);margin:6px auto 12px}
.ich-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ich-sheet-head .sh-t{font-size:17px;font-weight:700}
.ich-sheet-head .sh-x{font-size:22px;color:var(--ich-text-3);cursor:pointer;line-height:1;padding:2px 6px}

.ich-toast{position:fixed;left:50%;bottom:calc(var(--ich-tabbar-h) + 26px + env(safe-area-inset-bottom));
  transform:translateX(-50%) translateY(14px);z-index:9999;
  padding:12px 20px;border-radius:12px;background:var(--ich-text);color:var(--ich-bg);font-weight:600;font-size:14px;
  box-shadow:var(--ich-shadow-pop);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;
  font-family:-apple-system,system-ui,sans-serif}
.ich-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.ich-xppop{position:fixed;z-index:9999;font-weight:700;font-size:17px;color:var(--ich-accent);pointer-events:none;
  animation:ichXp 1.1s ease-out forwards;font-family:-apple-system,system-ui,sans-serif}
@keyframes ichXp{0%{opacity:0;transform:translate(-50%,0) scale(.9)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-38px) scale(1)}}

.ich-seg{display:inline-flex;background:var(--ich-fill);border:1px solid var(--ich-line);border-radius:10px;padding:3px;gap:2px}
.ich-seg button{padding:7px 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ich-text-2);background:none;cursor:pointer;border:none}
.ich-seg button.on{background:var(--ich-surface);color:var(--ich-text);box-shadow:var(--ich-shadow)}

/* ═══ Login / Setup ═══ */
.mili-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--ich-sink);color:var(--ich-text);padding:24px;
  font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',sans-serif}
.mili-auth .card{width:100%;max-width:380px;background:var(--ich-surface);border:1px solid var(--ich-line);
  border-radius:var(--ich-r-lg);box-shadow:var(--ich-shadow-pop);padding:30px 26px}
.mili-auth .logo{font-size:30px;font-weight:800;letter-spacing:-1px;margin-bottom:2px}
.mili-auth .sub{font-size:13px;color:var(--ich-text-3);margin-bottom:22px}
.mili-auth label{display:block;font-size:12.5px;color:var(--ich-text-2);font-weight:600;margin-bottom:8px}
.mili-auth .row{margin-bottom:14px}
.mili-auth .msg{font-size:13px;margin-top:10px;min-height:18px}
.mili-auth .msg.err{color:var(--ich-danger)}
.mili-auth .msg.ok{color:var(--ich-good)}
.mili-auth .sep{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--ich-text-3);font-size:12px}
.mili-auth .sep::before,.mili-auth .sep::after{content:"";flex:1;height:1px;background:var(--ich-line)}

/* ═══ IA-Überarbeitung (18.07.) — Header-Aktionen, Routine-Kacheln, Wochenstreifen ═══ */
.ich-head{align-items:center}
.ich-head-actions{display:flex;align-items:center;gap:8px;flex:none;align-self:center}
.ich-hbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;min-width:38px;padding:0 10px;
  border-radius:var(--ich-r);border:1px solid var(--ich-line-2);background:var(--ich-surface);color:var(--ich-text-2);
  cursor:pointer;font-size:13px;font-weight:600;transition:.12s}
.ich-hbtn:hover{border-color:var(--ich-text-3);color:var(--ich-text)}
.ich-hbtn svg{width:19px;height:19px}
.ich-hbtn.wide{padding:0 12px}
@media(max-width:400px){.ich-hbtn.wide span{display:none}}

/* Direkt antippbare Tages-Routinen */
.ich-rt-list{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
.ich-rt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:var(--ich-r);
  background:var(--ich-surface);border:1px solid var(--ich-line-2);cursor:pointer;transition:.12s;user-select:none}
.ich-rt:hover{border-color:var(--ich-text-3)}
.ich-rt .rt-l{display:flex;flex-direction:column;gap:2px;min-width:0}
.ich-rt .rt-lbl{font-weight:600;font-size:14.5px;color:var(--ich-text)}
.ich-rt .rt-hint{font-size:11.5px;color:var(--ich-text-3)}
.ich-rt .sw{width:46px;height:27px;border-radius:16px;background:var(--ich-fill-2);position:relative;flex:none;transition:.18s}
.ich-rt .sw::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;
  background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:.18s}
.ich-rt.on{border-color:color-mix(in srgb,var(--ich-good) 55%,transparent);background:color-mix(in srgb,var(--ich-good) 8%,var(--ich-surface))}
.ich-rt.on .sw{background:var(--ich-good)}
.ich-rt.on .sw::after{left:22px}
.ich-rt.num{cursor:default}
.ich-rt.num:hover{border-color:var(--ich-line-2)}
.ich-rt.num .ich-stepper{gap:10px}
.ich-rt.num .ich-stepper button{width:36px;height:36px;font-size:18px}
.ich-rt.num .ich-stepper .val{font-size:22px;min-width:60px}
.ich-rt.link .rt-go{display:inline-flex;align-items:center;gap:4px;color:var(--ich-accent);font-weight:600;font-size:13px;white-space:nowrap}
.ich-rt.link .rt-go svg{width:16px;height:16px}
.ich-rt.link.on{border-color:color-mix(in srgb,var(--ich-good) 45%,transparent);background:color-mix(in srgb,var(--ich-good) 6%,var(--ich-surface))}

/* Routinen: Wochenstand + Ein-Klick-Leseauswahl */
.routine-summary{position:sticky;top:calc(8px + env(safe-area-inset-top));z-index:20;margin:0 0 16px;padding:12px 14px;border:1px solid var(--ich-line-2);border-radius:var(--ich-r-lg);background:color-mix(in srgb,var(--ich-surface) 94%,transparent);backdrop-filter:blur(12px);box-shadow:var(--ich-shadow)}
.routine-summary-main{display:grid;grid-template-columns:1fr auto;gap:2px 12px;width:100%;padding:0;border:0;background:transparent;text-align:left;color:var(--ich-text);cursor:pointer}
.routine-summary-main span,.routine-summary-main small{font-size:12px;color:var(--ich-text-3)} .routine-summary-main b{grid-row:span 2;font-size:27px;line-height:1;align-self:center}
.routine-days,.routine-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:10px}
.routine-day,.routine-calendar button{padding:5px 1px;border:1px solid var(--ich-line);border-radius:8px;background:var(--ich-fill);color:var(--ich-text-2);font:inherit;font-size:10px;cursor:pointer}.routine-day span,.routine-calendar small{display:block;color:var(--ich-text-3);font-size:9px}.routine-day b{display:block;font-size:10px}.routine-day.gruen{background:color-mix(in srgb,var(--ich-good) 15%,var(--ich-surface));color:var(--ich-good)}.routine-day.gelb{background:color-mix(in srgb,var(--ich-finanzen) 15%,var(--ich-surface))}.routine-day.rot{background:color-mix(in srgb,var(--ich-danger) 12%,var(--ich-surface))}.routine-day.today{outline:2px solid var(--ich-accent);outline-offset:1px}
.routine-detail{margin-top:12px;padding-top:10px;border-top:1px solid var(--ich-line)}.routine-compare{font-size:12px;color:var(--ich-text-2)}.routine-selected{margin-top:10px;padding:10px;border-radius:var(--ich-r);background:var(--ich-fill);font-size:12px}.routine-selected b,.routine-selected span{display:block}.routine-selected span{margin-top:6px;line-height:1.7;color:var(--ich-text-2)}
.reading-row{align-items:flex-start}.reading-tiers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;flex:1}.reading-tier{min-width:0;padding:6px 2px;border:1px solid var(--ich-line-2);border-radius:7px;background:var(--ich-fill);color:var(--ich-text-2);font:inherit;font-size:10px;cursor:pointer}.reading-tier b,.reading-tier span{display:block}.reading-tier span{font-size:9px;color:var(--ich-text-3)}.reading-tier.active{background:var(--ich-good);border-color:var(--ich-good);color:#fff}.reading-tier.active span{color:#fff}

/* Die Tageshälften tragen zwei leichte Lichtstimmungen: sonnig am Morgen,
   ruhig-kühl am Abend. Die Routinekarten selbst bleiben kontrastreich. */
.routine-phase{margin:0 0 18px;padding:12px;border:1px solid transparent;border-radius:20px}
.routine-phase .ich-rt-grp{margin-top:0}
.routine-phase.morning{background:linear-gradient(145deg,#fff8e8 0%,#fffdf7 72%);border-color:#f5dfad}
.routine-phase.evening{background:linear-gradient(145deg,#eef6ff 0%,#f8fbff 72%);border-color:#cfe0f4}
.routine-phase.morning .ich-rt{border-color:#eadcbd}
.routine-phase.evening .ich-rt{border-color:#d3dfed}
.routine-single-row{width:100%}
.routine-single-row .ich-rt{width:100%}
.sleep-compact{display:flex}
.sleep-compact .ich-rt{width:100%;padding-block:8px}
.sleep-compact .ich-stepper button{width:32px;height:32px}
.sleep-compact .ich-stepper .val{min-width:54px;font-size:19px}
@media(max-width:520px){
  .routine-phase{margin-inline:-4px;padding:10px;border-radius:17px}
  .sleep-compact .ich-rt{min-width:0;width:100%}
  .reading-row{flex-direction:column}
  .reading-tiers{width:100%}
}

[data-ich-theme="dark"] .routine-phase.morning{background:linear-gradient(145deg,#312b20,#282723);border-color:#55482f}
[data-ich-theme="dark"] .routine-phase.evening{background:linear-gradient(145deg,#202d3b,#23292f);border-color:#344c64}
[data-ich-theme="dark"] .routine-phase.morning .ich-rt{border-color:#55482f}
[data-ich-theme="dark"] .routine-phase.evening .ich-rt{border-color:#344c64}

/* Verdichtete Routinen-Seite: weniger Luft, ohne die antippbare Gesamtfläche
   der Zeilen oder die 44px-Ziele der Einzelbuttons zu verkleinern. */
.routine-dense .ich-head{margin-bottom:10px}
.routine-dense .h-title{font-size:22px;line-height:1.1}
.routine-dense .h-date{margin-top:2px;font-size:12px}
.routine-dense .routine-summary{margin-bottom:10px;padding:9px 11px;border-radius:15px}
.routine-dense .routine-summary-main b{font-size:23px}
.routine-dense .routine-days{gap:4px;margin-top:7px}
.routine-dense .routine-day{padding-block:3px}
.routine-dense .ich-section-h{margin:7px 2px 6px;font-size:11px}
.routine-dense .routine-phase{margin-bottom:10px;padding:7px;border-radius:15px}
.routine-dense .ich-rt-grp{min-height:24px;margin-bottom:4px;font-size:12px}
.routine-dense .ich-rt-grp .g-ic{font-size:14px}
.routine-dense .ich-rt-list{gap:4px;margin-bottom:0}
.routine-dense .ich-rt{min-height:46px;gap:8px;padding:4px 10px;border-radius:10px}
.routine-dense .ich-rt .rt-l{gap:0}
.routine-dense .ich-rt .rt-lbl{font-size:13.5px;line-height:1.2}
.routine-dense .ich-rt .rt-hint{font-size:10.5px;line-height:1.25}
.routine-dense .ich-rt .sw{width:38px;height:22px}
.routine-dense .ich-rt .sw::after{top:2px;left:2px;width:18px;height:18px}
.routine-dense .ich-rt.on .sw::after{left:18px}
.routine-dense .routine-single-row .ich-rt{height:46px}
.routine-dense .sleep-compact{width:100%}
.routine-dense .sleep-compact .ich-rt{width:100%;min-height:46px;padding-block:0}
.routine-dense .sleep-compact .ich-stepper{gap:5px}
.routine-dense .sleep-compact .ich-stepper button{width:44px;height:44px;font-size:16px}
.routine-dense .sleep-compact .ich-stepper .val{min-width:46px;font-size:17px;line-height:1}
.routine-dense .sleep-value-stack{display:grid;grid-template-rows:auto auto;align-content:center;row-gap:3px}
.routine-dense .sleep-value-stack [data-val]{display:block;line-height:1}
.routine-dense .sleep-value-stack small{display:block;margin:0;font-size:10px;line-height:1}
.routine-dense .reading-row{padding-block:5px}
.routine-dense .reading-tier{min-height:44px;padding:3px 1px}
.routine-dense .reading-tier b{line-height:1.1}
@media(max-width:520px){
  .routine-dense .routine-phase{margin-inline:-2px;padding:6px}
  .routine-dense .sleep-compact .ich-rt{width:100%}
  .routine-dense .reading-row{gap:4px}
}

/* Aufklappbares Tagebuch auf der Übersicht */
.ich-exp{background:var(--ich-surface);border:1px solid var(--ich-line-2);border-radius:var(--ich-r);margin-bottom:8px;overflow:hidden}
.ich-exp .exp-h{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;user-select:none}
.ich-exp .exp-t{font-weight:600;font-size:14.5px;color:var(--ich-text)}
.ich-exp .exp-r{display:flex;align-items:center;gap:8px;color:var(--ich-text-3)}
.ich-exp .exp-r svg{width:18px;height:18px;transition:transform .2s}
.ich-exp.open .exp-r svg{transform:rotate(180deg)}
.ich-exp .exp-ok{font-size:12px;color:var(--ich-good);font-weight:600}
.ich-exp .exp-b{display:none;padding:2px 16px 16px}
.ich-exp.open .exp-b{display:block}

/* 7-Tage-Konsistenzstreifen der aktuellen Woche */
.ich-week7{display:flex;gap:6px;margin-bottom:12px}
.ich-week7 .wd-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px;border-radius:var(--ich-r);
  background:var(--ich-surface);border:1px solid var(--ich-line)}
.ich-week7 .wd-cell.today{border-color:var(--ich-accent);box-shadow:0 0 0 2px var(--ich-accent-weak)}
.ich-week7 .wd-cell.future{opacity:.5}
.ich-week7 .wd-l{font-size:11px;color:var(--ich-text-3);font-weight:600}
.ich-week7 .wd-dot{width:16px;height:16px;border-radius:50%;background:var(--ich-fill-2)}
.ich-week7 .wd-p{font-size:11px;color:var(--ich-text-2);font-weight:600}

.ich-weekvals{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.ich-weekvals .wv{background:var(--ich-fill);border:1px solid var(--ich-line);border-radius:var(--ich-r);padding:12px 10px;text-align:center}
.ich-weekvals .wv-l{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--ich-text-3);margin-bottom:4px}
.ich-weekvals .wv b{font-size:18px;font-weight:700;color:var(--ich-text)}
@media(max-width:420px){.ich-weekvals{grid-template-columns:repeat(2,1fr)}}

.ich-card.clean-card .ich-streak .ich-btn.small{align-self:center;margin-left:auto}

/* Investment-Horizonte (Finanzen) */
.ich-inv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.ich-inv{background:var(--ich-surface);border:1px solid var(--ich-line);border-radius:var(--ich-r);padding:12px}
.ich-inv .iv-h{margin-bottom:8px}
.ich-inv .iv-t{display:block;font-size:13px;font-weight:600;color:var(--ich-text)}
.ich-inv .iv-q{display:block;font-size:11px;color:var(--ich-text-3)}
.ich-inv input{padding:9px 10px;font-size:14px}
@media(max-width:520px){.ich-inv-grid{grid-template-columns:1fr}}

.rb-dot{width:10px;height:10px;border-radius:50%;display:inline-block}

/* ═══ SEITEN-STRUKTUR v2 (18.07.) — Chips, Ernährung, Fitness, Menü, Ziele ═══ */

/* Kennzahl-Chips (Dashboard Layout B) */
.ich-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.ich-chip{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--ich-r-lg);
  background:var(--ich-surface);border:1px solid var(--ich-line);box-shadow:var(--ich-shadow);text-align:left;
  font-family:inherit;color:var(--ich-text)}
.ich-chip.clean{cursor:pointer;border:1px solid var(--ich-line);transition:border-color .12s}
.ich-chip.clean:hover{border-color:var(--ich-line-2)}
.ich-chip .ch-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.ich-chip .ch-v{font-size:26px;font-weight:700;letter-spacing:-.6px;line-height:1.05;color:var(--ich-text)}
.ich-chip .ch-l{font-size:12px;font-weight:600;color:var(--ich-text-2);margin-top:3px}
.ich-chip .ch-s{font-size:11px;color:var(--ich-text-3)}
.ich-chip.score{--zc:var(--ich-good)}
.ich-chip.score.rot{--zc:var(--ich-danger)} .ich-chip.score.gelb{--zc:var(--ich-finanzen)} .ich-chip.score.gruen{--zc:var(--ich-good)}
.ich-chip.score .ch-zd{width:10px;height:10px;border-radius:50%;background:var(--zc);flex:none}
.ich-chip.score .ch-v{color:var(--zc)}
.ich-chip.clean .ch-go{color:var(--ich-text-3);display:flex;align-items:center}
.ich-chip.clean .ch-go svg{width:18px;height:18px;transition:transform .2s}
.ich-chip.clean.open .ch-go svg{transform:rotate(180deg)}
.ich-clean-detail{margin-bottom:6px}
.ich-clean-detail[hidden]{display:none}

/* Ernährung — Foto-Button, Ringe, Makro-Verteilung */
.ich-photo-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;
  border-radius:var(--ich-r-lg);border:1px solid transparent;background:var(--ich-accent);color:var(--ich-on-accent);
  font-size:15px;font-weight:650;cursor:pointer;font-family:inherit;box-shadow:var(--ich-shadow);
  transition:filter .15s,transform .08s;margin-bottom:4px}
.ich-photo-btn:hover{filter:brightness(1.05)} .ich-photo-btn:active{transform:scale(.99)}
.ich-photo-btn svg{width:22px;height:22px}
/* Kompakte Ringe: Reihe 1 = Kalorien + Wasser (2 Ringe), Reihe 2 = KH · Eiweiß · Fett (3 Ringe) */
.ich-rings{display:flex;flex-direction:column;gap:10px}
.ich-rings .ring-row{display:grid;gap:10px}
.ich-rings .ring-row.row2{grid-template-columns:1fr 1fr}
.ich-rings .ring-row.row3{grid-template-columns:1fr 1fr 1fr}
.ich-ring{position:relative;background:var(--ich-surface);border:1px solid var(--ich-line);border-radius:var(--ich-r-lg);
  box-shadow:var(--ich-shadow);padding:12px 8px 10px;display:flex;flex-direction:column;align-items:center}
.ich-ring svg{width:76px;height:76px;transform:rotate(-90deg)}
.ich-ring .rg-bg{fill:none;stroke:var(--ich-fill-2);stroke-width:9}
.ich-ring .rg-fg{fill:none;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .7s ease}
.ich-ring .rg-c{position:absolute;top:12px;left:0;right:0;height:76px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;pointer-events:none}
.ich-ring .rg-v{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--ich-text);line-height:1}
.ich-ring .rg-s{font-size:11px;color:var(--ich-text-3);margin-top:2px}
.ich-ring .rg-l{font-size:11.5px;font-weight:600;color:var(--ich-text-2);margin-top:7px}
.ich-macro{background:var(--ich-surface);border:1px solid var(--ich-line);border-radius:var(--ich-r);box-shadow:var(--ich-shadow);padding:16px}
.ich-macro .mb-bar{display:flex;height:14px;border-radius:8px;overflow:hidden;background:var(--ich-fill-2)}
.ich-macro .mb-bar>i{display:block;height:100%;transition:width .6s ease}
.ich-macro .mb-leg{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:12.5px;color:var(--ich-text-2)}
.ich-macro .mb-leg span{display:inline-flex;align-items:center;gap:6px}
.ich-macro .mb-d{width:9px;height:9px;border-radius:2px;display:inline-block}
.chart-lbl{font-size:12px;color:var(--ich-text-3);margin-bottom:6px}

/* Ernährung v3 — 5 kompakte Ringe (2+3), Über-Ziel, Trefferquote, Getränke, Favoriten */
.ich-ring .rg-pct{font-size:11px;font-weight:600;color:var(--ich-text-3);margin-top:4px;text-align:center}
.ich-ring .rg-pct.over{color:var(--ich-danger)}
.ich-ring .rg-over{fill:none;stroke:var(--ich-danger);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .7s ease}
.ich-ring.is-over .rg-v{color:var(--ich-danger)}
.ich-ring.is-over{border-color:color-mix(in srgb,var(--ich-danger) 40%,var(--ich-line))}
.ich-treffer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.ich-treffer .tf{background:var(--ich-surface);border:1px solid var(--ich-line);border-radius:var(--ich-r);box-shadow:var(--ich-shadow);padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.ich-treffer .tf-l{font-size:11.5px;color:var(--ich-text-3)}
.ich-treffer .tf b{font-size:15px;color:var(--ich-text);font-variant-numeric:tabular-nums}

/* Favoriten / Schnell-Hinzufügen — Ein-Tipp-Chips */
.ich-fav-wrap{display:flex;flex-wrap:wrap;gap:8px}
.ich-fav-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;
  background:var(--ich-surface);border:1px solid var(--ich-line-2);box-shadow:var(--ich-shadow);
  font-family:inherit;font-size:13px;font-weight:600;color:var(--ich-text);cursor:pointer;
  transition:border-color .12s,transform .08s,filter .12s;min-height:40px}
.ich-fav-chip:hover{border-color:var(--ich-accent)} .ich-fav-chip:active{transform:scale(.97)}
.ich-fav-chip.busy{opacity:.5;pointer-events:none}
.ich-fav-chip.sug{border-style:dashed}
.ich-fav-chip .fc-m{font-size:11.5px;color:var(--ich-text-3);font-weight:500;font-variant-numeric:tabular-nums}
.ich-fav-chip .fc-c{font-size:11px;color:var(--ich-accent);font-weight:600}
.ich-fav-chip .fc-x{color:var(--ich-text-3);font-size:13px;padding:0 2px;line-height:1}
.ich-fav-chip .fc-x:hover{color:var(--ich-danger)}
.ich-fav-chip.add{color:var(--ich-accent);border-style:dashed;border-color:color-mix(in srgb,var(--ich-accent) 45%,transparent);background:var(--ich-accent-weak)}

/* Getränke */
.ich-drinks{display:flex;flex-direction:column;gap:12px}
.ich-water-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ich-wbtn{padding:11px 15px;border-radius:var(--ich-r);border:1px solid var(--ich-line-2);background:var(--ich-surface);
  box-shadow:var(--ich-shadow);font-family:inherit;font-size:14px;font-weight:650;color:var(--ich-clean);cursor:pointer;
  min-height:44px;transition:border-color .12s,transform .08s}
.ich-wbtn:hover{border-color:var(--ich-clean)} .ich-wbtn:active{transform:scale(.97)}
.ich-water-custom{display:flex;align-items:center;gap:6px;flex:1;min-width:150px}
.ich-water-custom .ich-input{flex:1}
.ich-drink-cal{display:flex;flex-direction:column;gap:8px}
.ich-drink-cal-row{display:flex;gap:8px}
.ich-drink-cal-row .ich-input{flex:1;min-width:0}
.ich-btn.small{min-width:52px;padding:0 14px;flex:0 0 auto}
.ich-photo-btn.slim{padding:12px;font-size:14px;background:var(--ich-fill);color:var(--ich-text-2);border:1px solid var(--ich-line)}
.ich-photo-btn.slim svg{width:19px;height:19px}
@media(max-width:420px){.ich-treffer{grid-template-columns:1fr}}

/* Fitness — Split, heutiger Split */
.ich-today-split{font-size:13px;color:var(--ich-text-2);background:var(--ich-fill);border:1px solid var(--ich-line);
  border-radius:var(--ich-r);padding:11px 14px;margin:4px 0 2px}
.ich-today-split b{color:var(--ich-text)}
.ich-split-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ich-split-grid .sp-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 3px;text-align:center;
  border-radius:var(--ich-r);background:var(--ich-surface);border:1px solid var(--ich-line)}
.ich-split-grid .sp-cell.today{border-color:var(--ich-accent);box-shadow:0 0 0 2px var(--ich-accent-weak)}
.ich-split-grid .sp-d{font-size:11px;font-weight:700;color:var(--ich-text-3)}
.ich-split-grid .sp-m{font-size:10px;line-height:1.2;color:var(--ich-text-2)}
@media(max-width:520px){.ich-split-grid{grid-template-columns:repeat(4,1fr)}}

/* Menü — Liste */
.ich-menu-list{display:flex;flex-direction:column;gap:10px}
.ich-menu-row{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--ich-r-lg);
  background:var(--ich-surface);border:1px solid var(--ich-line);box-shadow:var(--ich-shadow);cursor:pointer;
  font-family:inherit;text-align:left;transition:border-color .12s,transform .08s}
.ich-menu-row:hover{border-color:var(--ich-line-2)} .ich-menu-row:active{transform:scale(.995)}
.ich-menu-row .mr-ic{width:40px;height:40px;border-radius:10px;background:var(--ich-fill);display:grid;place-items:center;color:var(--ich-text-2);flex:none}
.ich-menu-row .mr-ic svg{width:21px;height:21px}
.ich-menu-row .mr-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.ich-menu-row .mr-title{font-size:15px;font-weight:650;color:var(--ich-text)}
.ich-menu-row .mr-sub{font-size:12px;color:var(--ich-text-3)}
.ich-menu-row .mr-go{color:var(--ich-text-3);transform:rotate(-90deg);display:flex}
.ich-menu-row .mr-go svg{width:18px;height:18px}

/* Ziele */
.ich-goals{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}
.ich-goal{background:var(--ich-surface);border:1px solid var(--ich-line);border-radius:var(--ich-r);box-shadow:var(--ich-shadow);padding:14px 16px}
.ich-goal .gl-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.ich-goal .gl-t{font-size:14.5px;font-weight:650;color:var(--ich-text)}
.ich-goal .gl-x{cursor:pointer;color:var(--ich-text-3);font-size:15px;padding:0 4px;line-height:1}
.ich-goal .gl-x:hover{color:var(--ich-danger)}
.ich-goal .gl-bar{height:8px;border-radius:5px;background:var(--ich-fill-2);overflow:hidden}
.ich-goal .gl-bar>i{display:block;height:100%;border-radius:5px;background:var(--ich-accent);transition:width .6s ease}
.ich-goal .gl-meta{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:12.5px;color:var(--ich-text-2)}

/* Belohnungen */
.ich-bel-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.ich-bel-row{background:var(--ich-surface);border:1px solid var(--ich-line);border-radius:var(--ich-r);box-shadow:var(--ich-shadow);padding:14px 16px}
.ich-bel-row.on{border-color:color-mix(in srgb,var(--ich-clean) 45%,transparent);background:color-mix(in srgb,var(--ich-clean) 7%,var(--ich-surface))}
.ich-bel-row .bl-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ich-bel-row .bl-m{font-size:14px;font-weight:650;color:var(--ich-text)}
.ich-bel-row.on .bl-m{color:var(--ich-clean)}
.ich-bel-row .bl-left{font-size:12px;color:var(--ich-text-3)}
