:root{
  --deep:#061520; --ocean:#0b2436; --sand:#f4efe6; --warm:#ece6db;
  --gold:#c9a96e; --gold-lt:#e0c48c; --gold-deep:#b08f52; --gold-text:#7d5f33;
  --white:#fff; --text:#16202b; --muted:#5b6b7c; --line:#e4ddd0;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'DM Sans',system-ui,sans-serif;
  --r:14px; --shadow:0 6px 22px rgba(11,36,54,.08); --shadow-lg:0 14px 40px rgba(11,36,54,.14);
  --safe-b:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--sans); background:var(--sand); color:var(--text);
  line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:hidden;
  padding-bottom:calc(64px + var(--safe-b));
}
b{font-weight:600}
small{display:block;color:var(--muted);font-size:.78rem;line-height:1.35}

/* Prototyp-Banner */
#proto-banner{
  background:repeating-linear-gradient(45deg,#1d3344,#1d3344 10px,#162838 10px,#162838 20px);
  color:#cdd8e2;font-size:.66rem;letter-spacing:.05em;text-align:center;padding:4px;
  text-transform:uppercase;position:sticky;top:0;z-index:50;
}

/* App bar */
#appbar{position:sticky;top:0;z-index:40;background:var(--deep);color:#fff}
.appbar-inner{display:flex;align-items:center;justify-content:space-between;
  padding:.85rem 1.15rem;max-width:560px;margin:0 auto}
.appbar-logo{font-family:var(--serif);font-size:1.5rem;font-weight:400;letter-spacing:.02em;color:var(--gold-lt)}
.appbar-icon{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#e6c98e;
  border-radius:50px;font-size:.74rem;letter-spacing:.05em;padding:.32rem .7rem;font-family:var(--sans);cursor:pointer}

/* Views */
#app{max-width:560px;margin:0 auto}
.view{display:none;animation:fade .32s var(--ease,ease)}
.view.is-active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wrap{padding:1.15rem 1.15rem 2.5rem}

.greet-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-deep);font-weight:600}
.greet{font-family:var(--serif);font-weight:300;font-size:2.5rem;line-height:1.05;margin:.1rem 0 1.1rem}
.view-h{font-family:var(--serif);font-weight:300;font-size:2.1rem;margin:.2rem 0 1.1rem}

/* Cards */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:1.05rem 1.1rem;margin-bottom:.95rem;box-shadow:var(--shadow)}
.card-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;margin-bottom:.55rem}

/* Check-in */
.moods{display:flex;gap:.5rem}
.mood{flex:1;background:var(--warm);border:1px solid transparent;border-radius:12px;padding:.6rem .3rem;
  font-size:1.5rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.15rem;
  transition:transform .15s,border-color .2s,background .2s}
.mood span{font-size:.7rem;color:var(--muted);font-family:var(--sans)}
.mood:active{transform:scale(.94)}
.mood.sel{background:#fff;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.18)}
.moods.sm .mood{font-size:1.15rem;padding:.35rem;flex:0 0 auto;width:42px}
.checkin-done{margin-top:.7rem;color:var(--gold-text);font-size:.85rem;font-weight:500}

/* Step / tasks */
.step-title{font-size:1.02rem;margin:.1rem 0 .75rem}
.step-row{display:flex;align-items:center;justify-content:space-between}
.btn-check{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;
  font-family:var(--sans);font-size:.9rem;color:var(--text)}
.box{width:20px;height:20px;border:2px solid var(--gold-deep);border-radius:6px;display:inline-block;position:relative;flex:0 0 auto}
.box.checked,.btn-check.done .box{background:var(--gold);border-color:var(--gold)}
.box.checked::after,.btn-check.done .box::after{content:'✓';position:absolute;inset:0;color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.btn-check.done{color:var(--muted);text-decoration:line-through}
.step-due{font-size:.78rem;color:var(--gold-deep);font-weight:600}

/* Impulse */
.impulse-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.impulse-head .card-label{margin-bottom:0}
.impulse-cat{font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-text);
  background:rgba(201,169,110,.16);padding:.18rem .55rem;border-radius:50px;white-space:nowrap}
.impulse-title{font-family:var(--serif);font-size:1.3rem;line-height:1.25;color:var(--ocean);font-weight:500;margin:.5rem 0 .3rem}
.impulse-text{font-size:.95rem;line-height:1.55;color:var(--text)}
.impulse-prompt{margin-top:.7rem;border-left:3px solid var(--gold);background:rgba(201,169,110,.08);
  border-radius:0 10px 10px 0;padding:.55rem .75rem}
.impulse-prompt-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-deep);font-weight:600}
.impulse-prompt p{font-family:var(--serif);font-size:1.05rem;line-height:1.35;color:var(--ocean);margin:.15rem 0 0}
.impulse-actions{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin-top:.7rem}
.impulse-actions .link-more{margin-top:0}
.link-more{background:none;border:none;color:var(--gold-deep);font-weight:600;font-size:.84rem;
  font-family:var(--sans);cursor:pointer;margin-top:.65rem;padding:0}

/* Voucher */
.voucher{background:linear-gradient(150deg,#0b2436,#061520);color:#e8eef3;border-color:#0b2436}
.voucher .card-label{color:#9fb3c4}
.voucher-head{display:flex;align-items:center;gap:.5rem}
.voucher-dot{width:9px;height:9px;border-radius:50%;background:#5bd6a0;box-shadow:0 0 0 4px rgba(91,214,160,.18)}
.voucher-state{font-size:1.05rem;margin:.15rem 0 .6rem}
.voucher-state b{color:#ffd99a}
.voucher-bar{height:7px;background:rgba(255,255,255,.12);border-radius:50px;overflow:hidden}
.voucher-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold-lt));border-radius:50px}
.voucher-note{font-size:.76rem;color:#9fb3c4;margin-top:.55rem}

/* Session */
.session-when{font-size:1.05rem;font-weight:600}
.session-with{font-size:.83rem;color:var(--muted);margin-bottom:.7rem}

/* Buttons */
.btn-gold{display:inline-block;text-align:center;background:linear-gradient(135deg,var(--gold-lt),var(--gold) 55%,var(--gold-deep));
  color:var(--deep);font-weight:600;border:none;border-radius:50px;padding:.7rem 1.4rem;font-size:.9rem;
  font-family:var(--sans);cursor:pointer;box-shadow:0 6px 18px rgba(201,169,110,.3);width:100%}
.btn-gold.sm{width:auto;padding:.5rem 1.1rem;font-size:.84rem}
.btn-ghost{background:none;border:1px solid var(--gold-deep);color:var(--gold-text);border-radius:50px;
  padding:.55rem 1.2rem;font-size:.85rem;font-family:var(--sans);font-weight:500;cursor:pointer}
.btn-ghost.wide{width:100%;margin-top:.4rem;padding:.75rem}

/* Streak */
.streak{text-align:center;color:var(--muted);font-size:.88rem;margin-top:.4rem}
.streak b{color:var(--gold-deep);font-size:1.05rem}
.flame{font-size:1.05rem}

/* Lotse / stepper */
.lotse{background:#fff}
.lotse-sub{color:var(--muted);font-size:.86rem;margin-bottom:.9rem}
.stepper{list-style:none;margin:0 0 1rem}
.stepper li{display:flex;gap:.7rem;align-items:flex-start;padding:.4rem 0;position:relative}
.stepper li:not(:last-child)::before{content:'';position:absolute;left:13px;top:28px;bottom:-4px;width:2px;background:var(--line)}
.stepper li.done:not(:last-child)::before{background:var(--gold)}
.s-num{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--warm);color:var(--muted);
  display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:600;z-index:1}
.stepper li.done .s-num{background:var(--gold);color:#fff}
.stepper li.active .s-num{background:var(--deep);color:var(--gold-lt);box-shadow:0 0 0 4px rgba(6,21,32,.08)}
.stepper b{font-size:.95rem}

/* Tools */
.tools-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;margin:.4rem 0 .7rem}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.tool{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.9rem;display:block;
  box-shadow:var(--shadow);transition:transform .15s,box-shadow .2s}
.tool:active{transform:scale(.97)}
.tool-ico{font-size:1.5rem;display:block;margin-bottom:.4rem}
.tool b{font-size:.92rem;display:block}

/* Journal */
.enc-note{font-size:.78rem;color:var(--gold-text);background:rgba(201,169,110,.1);
  border-radius:10px;padding:.5rem .7rem;margin-bottom:.95rem}
.enc-note.center{text-align:center;margin:1.2rem 0 .8rem}
.new-entry textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.7rem;
  font-family:var(--sans);font-size:.95rem;resize:vertical;color:var(--text);background:var(--sand)}
.entry-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.7rem}
.entry{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.85rem 1rem;
  margin-bottom:.7rem;box-shadow:var(--shadow)}
.entry-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}
.entry-date{font-size:.74rem;color:var(--muted);letter-spacing:.03em}
.entry-mood{font-size:1.05rem}
.entry-body{font-size:.95rem;color:var(--text)}

/* Funnel */
.funnel-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem;padding:.42rem 0;position:relative}
.funnel-row span{font-size:.9rem}
.funnel-row b{font-size:1.05rem;color:var(--ocean)}
.funnel-row i{grid-column:1/3;height:6px;border-radius:50px;background:linear-gradient(90deg,var(--gold),var(--gold-lt));margin-top:.2rem}
.funnel-row.hl b{color:var(--gold-deep)}
.funnel-row.hl i{background:linear-gradient(90deg,var(--gold-deep),var(--gold))}

/* Mood curve */
#spark{width:100%;height:80px;display:block}
.curve-x{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted);margin-top:.3rem}

/* Goals */
.goal{display:flex;align-items:center;gap:.6rem;padding:.42rem 0;font-size:.93rem;border-bottom:1px solid var(--line)}
.goal:last-child{border-bottom:none}

/* Profil */
.profile-head{display:flex;align-items:center;gap:.85rem}
.avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--ocean),var(--deep));
  color:var(--gold-lt);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.05rem;flex:0 0 auto}
.setting-list{padding:.3rem 1.1rem}
.setting{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.94rem}
.setting:last-child{border-bottom:none}
.setting .val{color:var(--muted);font-size:.86rem}
.setting.link{cursor:pointer}
.setting.danger span:first-child,.setting.danger .val{color:#b3463a}
/* Switch */
.sw{position:relative;display:inline-block;width:44px;height:25px;flex:0 0 auto}
.sw input{opacity:0;width:0;height:0}
.sw i{position:absolute;inset:0;background:#cfd8e0;border-radius:50px;transition:.25s}
.sw i::before{content:'';position:absolute;width:19px;height:19px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.sw input:checked + i{background:var(--gold)}
.sw input:checked + i::before{transform:translateX(19px)}

/* Bottom nav */
#tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--deep);
  display:flex;max-width:560px;margin:0 auto;padding-bottom:var(--safe-b);
  box-shadow:0 -2px 20px rgba(0,0,0,.18)}
.tab{flex:1;background:none;border:none;color:rgba(255,255,255,.5);font-family:var(--sans);
  font-size:.66rem;letter-spacing:.02em;padding:.6rem 0 .65rem;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:.18rem;transition:color .2s}
.tab .ti{font-size:1.2rem;line-height:1}
.tab.is-active{color:var(--gold-lt)}
.tab.is-active .ti{transform:translateY(-1px)}

@media(min-width:561px){
  body{background:var(--ocean)}
  #app,#tabbar,#appbar .appbar-inner{background:var(--sand)}
  #tabbar{border-radius:0}
}

/* ---------- Login-Gate ---------- */
#auth-gate{position:fixed;inset:0;z-index:60;background:linear-gradient(160deg,#061520,#0b2436);display:flex;align-items:center;justify-content:center;padding:1.5rem}
.auth-card{width:100%;max-width:360px;background:#fff;border-radius:18px;padding:1.8rem 1.5rem 1.5rem;box-shadow:0 24px 60px rgba(0,0,0,.4);text-align:center}
.auth-logo{font-family:var(--serif);font-size:2rem;color:var(--gold-deep)}
.auth-h{font-family:var(--serif);font-weight:300;font-size:1.6rem;margin:.4rem 0 .2rem;color:var(--ocean)}
.auth-sub{font-size:.86rem;color:var(--muted);margin-bottom:1.2rem}
#auth-form{text-align:left;display:flex;flex-direction:column;gap:.75rem}
.fld{display:flex;flex-direction:column;gap:.25rem}
.fld span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.fld input{border:1px solid var(--line);border-radius:10px;padding:.7rem;font-family:var(--sans);font-size:1rem;background:var(--sand);color:var(--text)}
.fld input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.18)}
#auth-form .btn-gold{margin-top:.4rem}
.auth-err{color:#b3463a;font-size:.84rem;background:rgba(179,70,58,.08);border-radius:8px;padding:.5rem .7rem;margin:0}
.auth-toggle{margin-top:1rem;font-size:.86rem;color:var(--muted)}
.auth-toggle button{background:none;border:none;color:var(--gold-deep);font-weight:600;font-family:var(--sans);font-size:.86rem;cursor:pointer}
/* Einladung einlösen + Zustimmung: gleiche Bühne wie das Login */
#invite-gate,#consent-gate,#reset-gate,#pwchange-gate{position:fixed;inset:0;z-index:61;background:linear-gradient(160deg,#061520,#0b2436);display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow-y:auto}
.auth-form-col{text-align:left;display:flex;flex-direction:column;gap:.75rem}
.fld input[readonly]{opacity:.75}
.consent-card{max-width:440px}
.check-row{display:flex;gap:.6rem;align-items:flex-start;font-size:.86rem;line-height:1.45;color:var(--text);text-align:left}
.check-row input{margin-top:.2rem;width:1.1rem;height:1.1rem;flex:none;accent-color:var(--gold-deep)}
.check-row a{color:var(--gold-text)}
.btn-link{background:none;border:none;color:var(--muted);font-family:var(--sans);font-size:.84rem;cursor:pointer;padding:.3rem}
.invite-create select.set-input{appearance:auto}
.invite-link{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}
.invite-link .set-input{flex:1;min-width:0;font-size:.78rem}
.invite-row{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;justify-content:space-between}
.invite-row small{color:var(--muted)}
.invite-row .actions{display:flex;gap:.4rem}
.auth-demo{margin-top:1rem;font-size:.76rem;color:var(--muted);background:var(--warm);border-radius:8px;padding:.5rem}
.auth-demo b{color:var(--gold-text)}

/* Journal-Eintrag loeschen */
.entry-top span:last-child{display:inline-flex;align-items:center;gap:.5rem}
.entry-del{background:none;border:none;color:var(--muted);font-size:.9rem;cursor:pointer;opacity:.5;padding:.1rem .3rem;line-height:1}
.entry-del:hover{opacity:1;color:#b3463a}

/* Fix: hidden-Attribut muss die display:flex-Regel schlagen */
#auth-gate[hidden]{display:none!important}

/* ---------- Global: hidden zuverlässig ausblenden (schlägt display-Regeln) ---------- */
[hidden]{display:none!important}

/* ---------- Scroll-Fix: Inhalt nicht hinter der Tab-Leiste abschneiden ---------- */
body{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}

/* ---------- Onboarding ---------- */
#onboarding-gate{position:fixed;inset:0;z-index:60;background:linear-gradient(160deg,#061520,#0b2436);display:flex;align-items:center;justify-content:center;padding:1.2rem;overflow-y:auto}
.onb-card{max-height:92vh;overflow-y:auto}
.onb-card .btn-gold,.onb-card .btn-ghost{margin-top:.7rem}
.onb-info{font-size:.8rem;color:var(--muted);background:var(--warm);border-radius:10px;padding:.65rem .8rem;margin:.2rem 0 .4rem;text-align:left}
.onb-emoji{font-size:2.6rem;line-height:1;margin-bottom:.2rem}
.onb-q{text-align:left;margin:.6rem 0;padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.onb-q>span{display:block;font-size:.92rem;margin-bottom:.5rem}
.onb-q .yn{display:flex;gap:.5rem}
.onb-q .yn button{flex:1;background:var(--warm);border:1px solid transparent;border-radius:10px;padding:.55rem;font-family:var(--sans);font-size:.92rem;cursor:pointer;color:var(--text)}
.onb-q .yn button.sel{background:#fff;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.18);font-weight:600}
.onb-card .stepper{text-align:left;margin:.6rem 0 1rem}

/* ---------- Förderstatus-Badge (Profil) ---------- */
.type-badge{display:inline-block;margin-top:.35rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.18rem .6rem;border-radius:50px}
.type-badge.avgs{background:rgba(201,169,110,.18);color:var(--gold-text)}
.type-badge.selbstzahler{background:rgba(11,36,54,.1);color:var(--ocean)}
.type-badge.none{background:var(--warm);color:var(--muted)}

/* ---------- Voucher (in Beantragung) + Selbstzahler-Karten ---------- */
.voucher-dot.pending{background:#e0a23c;box-shadow:0 0 0 4px rgba(224,162,60,.18)}
.voucher.applying .btn-gold{margin-top:.7rem}
.card.selbstzahler .sz-state,.card.selbstzahler-note .sz-state{font-size:.95rem;margin:.1rem 0 .7rem}

/* ---------- Admin: Nutzerverwaltung ---------- */
#admin-gate{position:fixed;inset:0;z-index:70;background:var(--sand);overflow-y:auto;max-width:560px;margin:0 auto}
.admin-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.admin-head{flex:1;min-width:50%}
.admin-head b{font-size:.95rem}
.admin-sel{font-family:var(--sans);font-size:.88rem;padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}
.admin-flash{font-size:.76rem;color:var(--gold-text);width:100%}
.admin-flash.err{color:#b3463a}

/* ---------- Scroll-Fix (wirksam): Platz im scrollenden Inhalt statt am body ---------- */
.wrap{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}

/* ---------- Check-in-Journey ---------- */
#journey-gate{position:fixed;inset:0;z-index:62;background:linear-gradient(160deg,#061520,#0b2436);display:flex;align-items:center;justify-content:center;padding:1.2rem;overflow-y:auto}
.journey-card{max-height:94vh;overflow-y:auto;text-align:left}
.fld textarea{border:1px solid var(--line);border-radius:10px;padding:.6rem;font-family:var(--sans);font-size:.95rem;background:var(--sand);color:var(--text);resize:vertical;width:100%}
.fld textarea:focus,.fld input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.18)}
input[type=range]{width:100%;accent-color:#b08f52}
.conf{margin-top:.35rem}
.conf span{font-size:.78rem;color:var(--muted)}
.journey-card .btn-gold,.journey-card .btn-ghost{margin-top:.7rem}

/* ---------- Coaching-Plan (Wachstum) ---------- */
.plan-sat{font-size:1rem;margin-bottom:.5rem}
.plan-sat .muted{color:var(--muted)}
.sat-bar{height:8px;background:var(--warm);border-radius:50px;overflow:hidden}
.sat-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold-lt));border-radius:50px}
#plan-strengths{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{display:inline-block;font-size:.78rem;padding:.3rem .65rem;border-radius:50px}
.chip.strength{background:rgba(201,169,110,.16);color:var(--gold-text)}
.chip.dev{background:rgba(11,36,54,.08);color:var(--ocean)}
.goal-group{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-deep);font-weight:600;margin:.7rem 0 .25rem}
.goal-txt{display:flex;flex-direction:column}
.goal-conf{color:var(--muted);font-size:.72rem}
.muted{color:var(--muted)}
.small{font-size:.85rem}

/* ---------- Content-Overlay (Ratgeber/Vorlagen) ---------- */
#content-gate{position:fixed;inset:0;z-index:72;background:var(--sand);overflow-y:auto;max-width:560px;margin:0 auto}
#content-body h3{font-family:var(--serif);font-weight:600;font-size:1.15rem;color:var(--ocean);margin:1.1rem 0 .4rem}
#content-body ul{margin:.2rem 0 .7rem 1.1rem}
#content-body li{font-size:.92rem;margin-bottom:.3rem;color:var(--text)}
#content-body p{font-size:.92rem}
.content-lead{font-size:.96rem;color:var(--text);margin-bottom:.6rem}
.content-foot{font-size:.86rem;color:var(--muted);margin-top:.9rem;background:var(--warm);border-radius:10px;padding:.6rem .8rem}
.check-static{list-style:none;margin-left:0!important}
.check-static li{padding-left:1.4rem;position:relative}
.check-static li::before{content:'✓';position:absolute;left:0;color:var(--gold-deep);font-weight:700}

/* ---------- Tool-/Download-Zeilen ---------- */
.tool-row,.dl-row{display:flex;align-items:center;gap:.8rem}
.tool-row .tool-ico,.dl-row .tool-ico{font-size:1.5rem;margin:0}
.tool-row>div,.dl-row>div{flex:1}
.tool-row b,.dl-row b{font-size:.95rem;display:block}
.row-arrow{color:var(--muted)}
.dl-badge{font-size:.72rem;font-weight:600;color:var(--gold-text);background:rgba(201,169,110,.16);padding:.25rem .55rem;border-radius:50px;white-space:nowrap}

/* ---------- Checkliste ---------- */
.check-item{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.92rem;cursor:pointer}
.check-item:last-child{border-bottom:none}
.check-item input{width:20px;height:20px;accent-color:#b08f52;flex:0 0 auto;margin-top:.05rem}

/* ---------- Einstellungen (Profil-Tab) ---------- */
.settings-block .card-label{margin-bottom:.5rem}
.set-input{width:100%;border:1px solid var(--line);border-radius:10px;padding:.65rem;font-family:var(--sans);font-size:1rem;background:var(--sand);color:var(--text);margin-bottom:.55rem}
.set-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.18)}
.set-info{font-size:.85rem;color:var(--muted);margin-bottom:.6rem}
.set-msg{font-size:.82rem;margin:.45rem 0 0}
.set-msg.ok{color:var(--gold-text)}
.set-msg.err{color:#b3463a}
.settings-block .btn-gold.sm,.settings-block .btn-ghost.sm{width:auto;display:inline-block;text-align:center}
.danger-block .card-label{color:#b3463a}
.danger-btn{border-color:#b3463a!important;color:#b3463a!important;background:none!important;box-shadow:none!important}
#delete-account.danger-btn{background:#b3463a!important;color:#fff!important;border-color:#b3463a!important}

/* ---------- Admin Status-Umschalter ---------- */
.admin-status{background:none;border:1px solid var(--line);border-radius:50px;font-size:.74rem;padding:.3rem .65rem;cursor:pointer;color:#2e7d52;font-family:var(--sans);white-space:nowrap}
.admin-status.off{color:#b3463a;border-color:rgba(179,70,58,.4)}

/* ---------- Hauptmenü ---------- */
.appbar-burger{background:none;border:none;color:#e6c98e;font-size:1.45rem;cursor:pointer;padding:0 .4rem 0 0;line-height:1}
#main-menu{position:fixed;inset:0;z-index:80;background:linear-gradient(160deg,#061520,#0b2436);color:#e8eef3;overflow-y:auto;max-width:560px;margin:0 auto}
.menu-head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.15rem;border-bottom:1px solid rgba(255,255,255,.1)}
.menu-head .appbar-logo{color:var(--gold-lt)}
.menu-body{padding:.8rem 1.15rem 2.5rem}
.menu-group{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#9fb3c4;font-weight:600;margin:1.1rem 0 .35rem}
.menu-body .menu-group:first-child{margin-top:0}
.menu-item{display:flex;align-items:center;gap:.85rem;width:100%;background:none;border:none;color:#e8eef3;font-family:var(--sans);font-size:1.02rem;text-align:left;padding:.85rem .55rem;border-radius:10px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.06)}
.menu-item:hover,.menu-item:active{background:rgba(255,255,255,.07)}
.mi-ico{font-size:1.2rem;width:1.7rem;text-align:center;flex:0 0 auto}
.menu-logout{color:#e8a99f;margin-top:.7rem;border-bottom:none}

/* ---------- Theme: alizee-blauer Hintergrund ---------- */
body{background:var(--ocean)}
.greet{color:var(--sand)}
.view-h{color:var(--sand)}
.greet-eyebrow{color:var(--gold-lt)}
.streak{color:rgba(244,239,230,.78)}
.streak b{color:var(--gold-lt)}
.tools-label{color:rgba(244,239,230,.72)}
@media(min-width:561px){
  body{background:var(--deep)}
  #app{background:var(--ocean)}
  #appbar .appbar-inner{background:transparent}
  #tabbar{background:var(--deep)}
}

/* ---------- Konto-Anzeige (read-only) + Passwort ---------- */
.set-readonly{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.set-readonly:last-of-type{border-bottom:none}
.ro-label{color:var(--muted);font-size:.85rem}
#pw-current,#pw-new,#pw-confirm{margin-bottom:.5rem}

/* ---------- Admin: Name/E-Mail editierbar ---------- */
.admin-row{flex-direction:column;align-items:stretch;gap:.45rem}
.admin-in{width:100%;border:1px solid var(--line);border-radius:8px;padding:.5rem;font-family:var(--sans);font-size:.9rem;background:var(--sand);color:var(--text)}
.admin-save{width:auto!important;align-self:flex-start}
.admin-tag{display:inline-block;font-size:.66rem;font-weight:600;letter-spacing:.05em;color:var(--gold-text);background:rgba(201,169,110,.18);padding:.15rem .55rem;border-radius:50px;align-self:flex-start}

/* ---------- To-dos (Home) ---------- */
.todo{display:flex;align-items:flex-start;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.todo:last-of-type{border-bottom:none}
.todo.done .todo-txt{text-decoration:line-through;color:var(--muted)}
.todo .box{margin-top:.15rem;cursor:pointer}
.todo-mid{flex:1;display:flex;flex-direction:column;gap:.2rem}
.todo-txt{font-size:.95rem}
.todo-meta{display:flex;gap:.5rem;align-items:center}
.todo-badge{font-size:.66rem;font-weight:600;color:var(--gold-text);background:rgba(201,169,110,.18);padding:.12rem .45rem;border-radius:50px}
.todo-due{font-size:.74rem;color:var(--muted)}
.todo-due.overdue{color:#b3463a;font-weight:600}
.todo-del{background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;opacity:.5;padding:.1rem .3rem;line-height:1}
.todo-del:hover{opacity:1;color:#b3463a}
.todo-add{display:flex;gap:.4rem;margin-top:.7rem;flex-wrap:wrap}
.todo-add #todo-text{flex:1;min-width:55%;border:1px solid var(--line);border-radius:8px;padding:.55rem;font-family:var(--sans);font-size:.92rem;background:var(--sand);color:var(--text)}
.todo-add #todo-due{border:1px solid var(--line);border-radius:8px;padding:.5rem;font-family:var(--sans);font-size:.85rem;background:var(--sand);color:var(--text)}

/* ---------- Admin: Programme + Monitoring ---------- */
.prog-row{display:flex;align-items:center;gap:.7rem}
.prog-info{flex:1}
.prog-info b{font-size:.95rem;display:block}
.prog-del{background:none;border:1px solid rgba(179,70,58,.4);color:#b3463a;border-radius:8px;padding:.35rem .6rem;font-size:.78rem;cursor:pointer;font-family:var(--sans)}
.prog-create .set-input{margin-bottom:.5rem}
.prog-steps-label{font-size:.8rem;color:var(--muted);margin:.4rem 0 .3rem}
.prog-step-row{display:flex;gap:.4rem;margin-bottom:.4rem;align-items:center}
.prog-step-text{flex:1;margin-bottom:0!important}
.prog-step-days{width:64px;border:1px solid var(--line);border-radius:8px;padding:.5rem;font-family:var(--sans);font-size:.85rem;background:var(--sand);color:var(--text)}
.prog-create .btn-ghost.sm,.prog-create .btn-gold.sm{margin-right:.5rem;margin-top:.3rem}
.admin-section-2{margin-top:1.6rem}
.admin-stats{font-size:.82rem;color:var(--muted)}
.admin-stats .overdue{color:#b3463a;font-weight:600}
.admin-assign{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}

/* ---------- Check-in-Verlauf in der Karte ---------- */
.card-label.sm{font-size:.66rem;margin:.7rem 0 .3rem}
.checkin-history{margin-top:.5rem}
#checkin-spark{width:100%;height:48px;display:block}

/* ---------- Session / Kalender / Admin-Session ---------- */
.session-btn{margin-top:.5rem;margin-right:.5rem;display:inline-block}
.cal-url-row{display:flex;gap:.4rem;align-items:center;margin-bottom:.5rem}
#cal-url{flex:1;font-size:.76rem;margin-bottom:0!important}
.admin-session{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.admin-sdate{border:1px solid var(--line);border-radius:8px;padding:.45rem;font-family:var(--sans);font-size:.82rem;background:var(--sand);color:var(--text)}

/* ---------- CV-Check + E-Mail ---------- */
.email-btn{margin-bottom:.8rem}
.cv-upload{margin-bottom:1rem}
.cv-upload input[type=file]{display:block;margin:.5rem 0;font-size:.85rem;width:100%}
.cv-score{font-weight:600;color:var(--ocean);margin:.8rem 0 .5rem;font-size:1.05rem}
.cv-check-row{display:flex;gap:.6rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid var(--line)}
.cv-check-row:last-child{border-bottom:none}
.cv-ic{flex:0 0 auto;width:1.4rem;text-align:center;font-weight:700;font-size:1.05rem}
.cv-check-row.ok .cv-ic{color:#2e7d52}
.cv-check-row.warn .cv-ic{color:#b3463a}
.cv-check-row.info .cv-ic{color:#b08f52}
.cv-check-row b{font-size:.9rem;display:block}
.cv-msg{font-size:.85rem;margin-top:.5rem}
.cv-msg.err{color:#b3463a}

/* ---------- In-App-Tools (Buttons + Ergebnisse) ---------- */
button.tool{font:inherit;color:inherit;text-align:left;width:100%;cursor:pointer}
.tool small{color:var(--muted);display:block;line-height:1.35}
.tool-result{margin-top:1rem;padding:.9rem 1rem;border-radius:12px;background:var(--sand)}
.tool-result.ok{border-left:4px solid #2e7d52}
.tool-result.info{border-left:4px solid #b08f52}
.tool-result b{display:block;margin-bottom:.2rem}
.tool-result small{display:block;color:var(--muted);margin-top:.4rem;line-height:1.5}
.tool-result button{margin-top:.7rem}
.content-inline{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line)}
.content-inline h3{font-size:1rem;margin:.8rem 0 .3rem}
.content-inline ul{margin:.3rem 0 .5rem 1.1rem}
.content-inline li{margin:.25rem 0}
.content-inline p{margin:.3rem 0}
.q-row{padding:.7rem 0;border-bottom:1px solid var(--line)}
.q-row:last-child{border-bottom:none}
.q-row p{margin-bottom:.5rem;font-weight:500}
.q-btns{display:flex;gap:.5rem}
.q-btns button{flex:1;padding:.5rem;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font:inherit}
.q-btns button.sel{background:var(--gold);color:#fff;border-color:var(--gold)}
.st-range{width:100%;margin:.1rem 0 .7rem}
.st-out{font-weight:700;color:var(--gold-text)}
#content-body select.set-input{appearance:auto;background:#fff}

/* ---------- Session-Schleife ---------- */
.session-prep-link{background:none;border:none;color:var(--gold-text);font:inherit;font-size:.85rem;cursor:pointer;padding:.4rem 0;margin-top:.4rem;display:block;text-align:left}
.session-item .session-btn{margin:0 0 .6rem}
.session-item textarea.set-input,.session-item input.set-input{margin:.4rem 0}

/* ---------- Reicherer Check-in + Funnel-Edit + Meilensteine ---------- */
.checkin-note{width:100%;border:1px solid var(--line);border-radius:8px;padding:.55rem;font-family:var(--sans);font-size:.9rem;background:var(--sand);color:var(--text);margin-top:.6rem;resize:vertical}
#checkin-note-save{margin-top:.4rem}
#weekly-reflect{margin-bottom:.6rem}
.funnel-edit{margin-top:.7rem;border-top:1px solid var(--line);padding-top:.5rem}
.funnel-form{margin-top:.6rem}
.funnel-in{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem}
.funnel-in span{font-size:.88rem}
.funnel-in input{width:90px;border:1px solid var(--line);border-radius:8px;padding:.4rem;font-family:var(--sans);background:#fff;color:var(--text)}
.toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%) translateY(20px);background:var(--deep);color:#fff;padding:.8rem 1.1rem;border-radius:12px;font-size:.9rem;max-width:90%;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:200}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- Zwei-Wege-Nachrichten ---------- */
.coach-card{display:flex;align-items:center;gap:.8rem;text-align:left;width:100%;cursor:pointer;border:1px solid var(--gold);background:rgba(201,169,110,.12)}
.coach-ico{font-size:1.5rem}
.coach-card>div{flex:1}
.coach-card b{display:block;font-size:.95rem}
.coach-card small{color:var(--muted)}
.appbar-burger{position:relative}
.burger-dot{position:absolute;top:4px;right:2px;width:9px;height:9px;border-radius:50%;background:#d9534f}
.menu-badge{background:#d9534f;color:#fff;border-radius:50px;padding:0 .45rem;font-size:.7rem;margin-left:.3rem}
.thread{display:flex;flex-direction:column;gap:.5rem;max-height:48vh;overflow-y:auto;padding:.3rem 0;margin-bottom:.6rem}
.thread.sm{max-height:200px}
.bubble{max-width:85%;padding:.55rem .7rem;border-radius:12px;font-size:.9rem}
.bubble p{margin:0;line-height:1.4;white-space:pre-wrap}
.bubble small{font-size:.66rem;color:var(--muted);display:block;margin-top:.25rem}
.bubble.from-coach{align-self:flex-start;background:#fff;border:1px solid var(--line)}
.bubble.from-me{align-self:flex-end;background:var(--gold);color:#fff}
.bubble.from-me small{color:rgba(255,255,255,.85)}
.thread-compose{display:flex;gap:.4rem;align-items:flex-end}
.thread-compose textarea{flex:1;border:1px solid var(--line);border-radius:8px;padding:.5rem;font-family:var(--sans);font-size:.9rem;background:#fff;color:var(--text);resize:vertical}
.admin-msg{width:100%;margin-top:.4rem}
.admin-thread{margin-top:.5rem}
.admin-thread textarea{margin:.4rem 0}

/* ===== Mitgliederbereich-Zusammenführung (23.09.2026) ===== */
#forgot-form{margin-top:.6rem}
[hidden]{display:none !important}
.admin-hint{margin:-.2rem 0 .7rem}
.lead-create summary{cursor:pointer;margin-bottom:0}
.lead-create[open] summary{margin-bottom:.6rem}
.lead-create .set-input,.lead-create .check-row{margin-bottom:.5rem}
.lead-row{display:flex;flex-direction:column;gap:.45rem}
.lead-head b{font-size:1rem}
.lead-contact{font-size:.86rem}
.lead-contact a{color:var(--gold-text);word-break:break-all}
.lead-consent{font-size:.8rem;font-weight:600;border-radius:8px;padding:.3rem .55rem;align-self:flex-start}
.lead-consent.yes{background:rgba(64,140,90,.12);color:#2f6b45}
.lead-consent.no{background:rgba(179,70,58,.08);color:#8a3a30}
.lead-msg{font-size:.88rem;background:var(--sand);border-radius:8px;padding:.5rem .6rem;white-space:pre-wrap}
.lead-row .actions,.admin-help{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.apps-card .muted{margin-bottom:.6rem}
.app-form{display:grid;gap:.45rem;margin-bottom:.6rem}
.app-date{display:grid;gap:.2rem;font-size:.78rem;color:var(--muted)}
.app-row{border-top:1px solid var(--line);padding:.65rem 0;display:grid;gap:.4rem}
.app-row.st-absage{opacity:.6}
.app-row.st-zusage .app-head b{color:#2f6b45}
.app-head b{font-size:.98rem}
.app-ctl{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.app-ctl .set-input{width:auto;margin:0}
.app-fu.overdue{border-color:#b3463a;color:#b3463a}
.app-notes{width:100%;font-size:.86rem}
/* Merkblätter im AVGS-Ratgeber (24.09.2026) */
.merk-box{background:var(--warm);border-left:3px solid var(--gold);border-radius:10px;padding:.8rem .9rem;margin:.8rem 0 1rem;display:grid;gap:.35rem}
.merk-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-text);font-weight:600}
.merk-link{color:var(--deep);font-weight:600;text-decoration:none;font-size:.92rem}
.merk-note{font-size:.78rem;color:var(--muted)}
/* Karriere-Selbsttest + Brutto-Netto-Rechner (24.09.2026, aus der Website übernommen) */
.tool-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem;margin-bottom:.8rem}
.tool-intro-card{text-align:center;padding:1.6rem 1rem}
.tool-progress{font-size:.76rem;color:var(--muted);margin-bottom:.3rem}
.tool-progress-bar{height:4px;background:var(--warm);border-radius:2px;margin-bottom:.9rem;overflow:hidden}
.tool-progress-fill{height:100%;background:var(--gold);border-radius:2px;transition:width .2s}
.tool-dim-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-text);font-weight:600;margin-bottom:.3rem}
.tool-q{font-size:1.02rem;margin-bottom:.9rem;line-height:1.4}
.tool-scale{display:grid;gap:.5rem}
.tool-scale-btn{font:inherit;text-align:left;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--sand);cursor:pointer}
.tool-scale-btn:active{background:var(--warm)}
.tool-back-btn{margin-top:.8rem;background:none;border:none;color:var(--muted);font-size:1.1rem;cursor:pointer}
.tool-result-lead{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-text);font-weight:600}
.tool-result-title{margin:.3rem 0 .4rem;font-size:1.08rem}
.tool-result-text{font-size:.92rem;color:var(--muted);margin-bottom:.9rem}
.tool-bars-title{font-size:.82rem;margin:.6rem 0 .5rem}
.tool-bar-row{display:grid;grid-template-columns:9rem 1fr;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.8rem}
.tool-bar-focus .tool-bar-label{font-weight:600;color:var(--gold-text)}
.tool-bar-track{height:7px;background:var(--warm);border-radius:4px;overflow:hidden}
.tool-bar-fill{height:100%;background:var(--gold-deep);border-radius:4px}
.tool-result-outro{font-size:.84rem;color:var(--muted);margin-top:.8rem}
.tool-result-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.calc-form{display:grid;gap:.7rem;margin-bottom:1rem}
.calc-row{display:grid;grid-template-columns:1fr auto;gap:.6rem}
.calc-field{display:grid;gap:.25rem}
.calc-label{font-size:.78rem;color:var(--muted)}
.calc-input{font:inherit;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.calc-hint{font-size:.74rem;color:var(--muted)}
.calc-check{display:flex;align-items:center;gap:.5rem;font-size:.88rem}
.calc-btn{margin-top:.2rem}
.calc-result-title{font-size:.95rem;margin-bottom:.5rem}
.calc-headline{text-align:center;margin-bottom:.3rem}
.calc-net-num{display:block;font-family:var(--serif,inherit);font-size:2rem;color:var(--deep)}
.calc-net-cap{display:block;font-size:.78rem;color:var(--muted)}
.calc-subline{display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:center;font-size:.78rem;color:var(--muted);margin-bottom:1rem}
.calc-breakdown-title{font-size:.82rem;margin:.4rem 0 .4rem}
.calc-line{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--line);font-size:.86rem}
.calc-line-strong{font-weight:700;border-bottom:none;margin-top:.2rem}

/* Kacheln/Zeilen "in Überarbeitung" – Klick zeigt Toast statt zu öffnen */
.tool.soon,.tool-row.soon{opacity:.55;position:relative}
.tool-soon-badge{display:inline-block;margin-top:.3rem;font-size:.66rem;font-weight:600;letter-spacing:.03em;color:var(--muted);background:var(--warm);padding:.12rem .5rem;border-radius:50px}
.tool-row.soon .tool-soon-badge{margin:0 0 0 auto}
