/* =====================================================================
   2.0 Mentoring – Discipline-App  |  Stylesheet (Phase 1)
   Silber-dominant, Gold nur als Akzent. Roemisch/maskulin, dark.
   ===================================================================== */
:root{
  --bg:#0a0908; --bg-2:#0f0e0c;
  --surface:#15161b; --surface-2:#1d1f26;
  --border:#30333d; --border-soft:#232630;
  --text:#ece6d8; --muted:#9b9281; --muted-2:#6b6453;
  --gold:#c6a563; --gold-hi:#e9d7a6; --gold-dim:#8f7338;
  --silver:#c2c7cf; --silver-hi:#e9edf2; --silver-dim:#888e98;
  --green:#5fae7e; --amber:#cf9b43; --red:#cf5b4f;
  --shadow:0 14px 38px rgba(0,0,0,.55);
  --serif:"Cinzel",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;min-height:100vh;position:relative;
}
/* Ambient-Glow: am Sichtfenster verankert (kein Scroll-Schnitt) */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(1200px 680px at 82% -6%, #1b1d22 0%, rgba(27,29,34,0) 62%),
    radial-gradient(1000px 620px at -8% 4%, #16181c 0%, rgba(22,24,28,0) 58%);}
/* Marmor-Koernung */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");}

.hidden{display:none !important}
/* Scrollbalken ueberall ausblenden (Scrollen bleibt moeglich) */
*{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{width:0;height:0;display:none}

/* ---------- Impersonation-Banner (Coach betritt Klient-Board) ---------- */
.imp-banner{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:34px;
  padding:calc(4px + env(safe-area-inset-top)) 14px 4px;background:linear-gradient(180deg,#2a2412,#1c1810);
  border-bottom:1px solid #5a4a1e;color:#e6cf8f;font-size:13px}
.imp-banner b{color:var(--gold-hi)}
.imp-banner button{margin-left:auto}
/* Coach-Ansicht: Banner traegt schon den Notch-Abstand -> topbar darunter normal halten */
/* (16-px-Regel entfernt — Banner ist schlank, die Leiste sitzt normal darunter) */

/* ---------- Intro-Splash + sanftes Einblenden ---------- */
#splash{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:var(--bg)}
#splash .splash-mark{width:190px;height:190px;position:relative;animation:splashZoom 1.5s cubic-bezier(.18,.7,.2,1) both}
#splash.gone{animation:splashOut .7s ease forwards;pointer-events:none}
#splash.gone .splash-mark{animation:splashZoomOut .7s ease forwards}
@keyframes splashZoom{0%{transform:scale(.5);opacity:0}45%{opacity:1}100%{transform:scale(1.08);opacity:1}}
@keyframes splashZoomOut{to{transform:scale(1.9);opacity:0}}
@keyframes splashOut{to{opacity:0;visibility:hidden}}
#app-view:not(.hidden), #login-view:not(.hidden){animation:contentIn .8s ease both}
@keyframes contentIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion: reduce){
  #splash .splash-mark, #splash.gone, #splash.gone .splash-mark,
  #app-view:not(.hidden), #login-view:not(.hidden){animation:none !important}
  .lu-burst{animation:none !important}
}

/* ---------- Login ---------- */
.login-wrap{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;
  padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom)) 24px}
.login-card{width:100%;max-width:400px;background:linear-gradient(180deg,var(--surface),#0e0f13);
  border:1px solid var(--border-soft);border-radius:20px;padding:34px 30px 30px;box-shadow:var(--shadow);text-align:center}
.brandmark{width:150px;height:150px;margin:0 auto 6px;position:relative}
.brand-name{font-family:var(--serif);letter-spacing:3px;font-weight:700;font-size:15px;color:var(--silver-hi);margin-top:2px}
.brand-sub{font-size:11px;letter-spacing:2px;color:var(--silver-dim);text-transform:uppercase;margin-top:3px}
.login-title{font-family:var(--serif);font-size:19px;letter-spacing:1px;margin:22px 0 4px;color:var(--text)}
.login-hint{font-size:12.5px;color:var(--muted);margin-bottom:22px}
.field{text-align:left;margin-bottom:14px}
.field label{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim);margin-bottom:6px}
.field input{width:100%;background:#0a0907;border:1px solid var(--border);color:var(--text);
  border-radius:10px;padding:12px 13px;font-size:14.5px;outline:none;transition:.15s}
.field input:focus{border-color:var(--silver-dim);box-shadow:0 0 0 3px rgba(136,142,152,.15)}
.btn-primary{width:100%;margin-top:8px;background:linear-gradient(145deg,#2a2d35,#15161a);
  border:1px solid var(--border);color:var(--silver-hi);padding:13px;border-radius:11px;
  font-family:var(--serif);letter-spacing:1.5px;font-size:14px;font-weight:700;cursor:pointer;transition:.15s}
.btn-primary:hover{border-color:var(--silver-dim);background:linear-gradient(145deg,#31343d,#1a1c20)}
.btn-primary:disabled{opacity:.55;cursor:default}
.msg{margin-top:16px;font-size:13px;min-height:18px}
.msg.err{color:var(--red)}
.msg.ok{color:var(--green)}

/* ---------- App-Shell ---------- */
.topbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;
  padding:calc(16px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) 16px calc(22px + env(safe-area-inset-left));
  border-bottom:1px solid var(--border-soft)}
.topbar .left{display:flex;align-items:center;gap:12px}
.topbar .mini-wreath{width:42px;height:42px;position:relative}
.topbar .tname{font-family:var(--serif);letter-spacing:2px;color:var(--silver-hi);font-size:14px}
.role-badge{font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 9px;border-radius:6px;
  border:1px solid var(--border);color:var(--silver-dim)}
.role-badge.coach{color:var(--silver-hi);background:linear-gradient(145deg,#2a2d35,#15161a);border:1px solid var(--border)}
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--muted);
  padding:8px 14px;border-radius:9px;font-size:12.5px;cursor:pointer;font-family:var(--serif);letter-spacing:.5px}
.btn-ghost:hover{border-color:var(--silver-dim);color:var(--text)}
.app-main{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:34px 22px}

/* ---------- Coach-Platzhalter ---------- */
.welcome{text-align:center;padding:30px 20px}
.welcome h1{font-family:var(--serif);font-weight:700;letter-spacing:1px;font-size:26px;margin:0 0 10px}
.welcome p{color:var(--muted);font-size:14.5px;max-width:560px;margin:0 auto}
.placeholder-card{margin:28px auto 0;max-width:560px;background:linear-gradient(180deg,var(--surface),#0e0f13);
  border:1px solid var(--border-soft);border-radius:16px;padding:22px;text-align:left}
.placeholder-card h3{font-family:var(--serif);letter-spacing:1px;font-size:14px;margin:0 0 12px;color:var(--silver-hi)}
.placeholder-card .row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border-soft);font-size:13.5px}
.placeholder-card .row:last-child{border-bottom:0}
.placeholder-card .row .k{color:var(--muted)}
.placeholder-card .row .v{color:var(--text);font-weight:600}

/* ---------- Klient: Stats ---------- */
.greeting{font-family:var(--serif);font-size:22px;letter-spacing:.5px;margin:0 0 4px}
.greeting small{display:block;font-family:"Segoe UI",system-ui,sans-serif;font-size:12.5px;letter-spacing:1px;color:var(--silver-dim);text-transform:uppercase;font-weight:400;margin-top:6px}
.rankline{color:var(--silver-hi);font-size:13.5px;margin-bottom:24px}
/* schlanker Rang-Block mit Fortschritt (unter der Begruessung) */
.rankblock{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;max-width:460px;
  background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);
  border-radius:13px;padding:12px 16px}
.rankblock>*:not(.rank-wm){position:relative;z-index:1}
/* grosses Rang-Wasserzeichen rechts im Block */
.rank-wm{position:absolute;right:-1%;top:-32%;height:175%;width:auto;z-index:0;opacity:.13;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 20%,transparent 92%);mask-image:linear-gradient(to bottom,#000 20%,transparent 92%)}
.rank-wm svg{height:100%;width:auto;display:block}
.rankblock .rank-ic{width:30px;height:30px;margin:0;flex:0 0 auto}
.rb-main{flex:1;min-width:0}
.rb-top{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.rb-name{font-family:var(--serif);font-size:15.5px;letter-spacing:.5px}
.rb-rang{color:var(--silver-dim);font-size:10.5px;letter-spacing:1px;text-transform:uppercase}
.rb-top .master-emblem{margin-left:1px}
.rb-top .master-star{margin-left:1px}
.rb-pct{margin-left:auto;color:var(--silver-dim);font-size:11px;font-variant-numeric:tabular-nums}
.rankblock .bar{height:6px;border-radius:6px;background:#0a0907;overflow:hidden;border:1px solid #2a2d35}
.rankblock .bar>i{display:block;height:100%}
.rb-hint{font-size:10.5px;color:var(--silver-dim);margin-top:6px;letter-spacing:.3px}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:30px}
#stats-row{grid-template-columns:repeat(3,1fr)}
.stat{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:14px;padding:14px}
.stat .lab{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim);display:flex;align-items:center;gap:6px}
.stat .lab,.stat .val,.stat .bar{position:relative;z-index:1}
.stat-ic{width:15px;height:15px;flex:0 0 auto;display:inline-flex}
.stat-ic svg{width:100%;height:100%;display:block}
/* kleines Rang-Icon inline (Rang-Zeile, Coach-Liste, Fortschritt) */
.rank-ic{width:18px;height:18px;display:inline-flex;vertical-align:-3px;margin-right:5px}
.rank-ic.sm{width:15px;height:15px;vertical-align:-2px;margin-right:4px}
.rank-ic svg{width:100%;height:100%;display:block}
/* MASTER-Emblem: feines M im Hintergrund, roemische Zahl davor, weicher Glow */
.master-emblem{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:30px;margin-left:11px;vertical-align:-9px;line-height:1;
  filter:drop-shadow(0 0 var(--gl,4px) var(--mc));animation:mepulse 2.8s ease-in-out infinite}
.master-emblem .me-bg{position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);
  font-family:var(--serif);font-weight:700;font-size:27px;color:#fff;opacity:.13;pointer-events:none}
.master-emblem .me-num{position:relative;font-family:var(--serif);font-weight:700;font-size:19px;color:var(--mc)}
@keyframes mepulse{0%,100%{filter:drop-shadow(0 0 calc(var(--gl) * .5) var(--mc))}
  50%{filter:drop-shadow(0 0 var(--gl) var(--mc))}}
/* MASTER-Stern Button (Prestige) */
.master-star{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  margin-left:9px;padding:0;border:1px solid rgba(201,165,99,.55);border-radius:50%;
  background:radial-gradient(circle at 50% 32%, rgba(226,184,74,.28), rgba(226,184,74,.04));
  color:var(--gold-hi);cursor:pointer;vertical-align:middle;transition:.15s;animation:starpulse 2.4s ease-in-out infinite}
.master-star svg{width:14px;height:14px;display:block}
.master-star:hover{border-color:var(--gold-hi);transform:scale(1.08);box-shadow:0 0 12px rgba(226,184,74,.55)}
@keyframes starpulse{0%,100%{box-shadow:0 0 0 rgba(226,184,74,0)}50%{box-shadow:0 0 11px rgba(226,184,74,.45)}}
/* ---------- Level-Up-Feier ---------- */
.levelup-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;
  background:rgba(6,5,4,.66);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .3s ease}
.levelup-overlay.show{opacity:1}
.levelup-card{position:relative;width:min(340px,90vw);text-align:center;
  background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);
  border-radius:20px;padding:30px 26px 24px;box-shadow:0 24px 60px rgba(0,0,0,.55);
  transform:scale(.9) translateY(8px);opacity:0;
  transition:transform .35s cubic-bezier(.2,.9,.3,1.25),opacity .3s ease}
.levelup-overlay.show .levelup-card{transform:scale(1) translateY(0);opacity:1}
.lu-kicker{font-family:var(--serif);letter-spacing:3px;text-transform:uppercase;font-size:12px;color:var(--silver-dim);margin-bottom:18px}
.lu-emblem{position:relative;width:140px;height:140px;margin:0 auto 16px;display:grid;place-items:center}
.lu-burst{position:absolute;inset:-36px;border-radius:50%;
  background:repeating-conic-gradient(from 0deg, var(--rc) 0deg 4deg, transparent 4deg 15deg);
  -webkit-mask:radial-gradient(circle closest-side, transparent 26%, #000 46%, #000 56%, transparent 88%);
  mask:radial-gradient(circle closest-side, transparent 26%, #000 46%, #000 56%, transparent 88%);
  opacity:.3;animation:lu-spin 17s linear infinite}
/* MASTER behaelt den groesseren Schein */
.lu-master .lu-burst{inset:-46px}
.lu-glow{position:absolute;width:118px;height:118px;border-radius:50%;
  background:radial-gradient(circle, var(--rc) 0%, transparent 64%);opacity:.22;filter:blur(6px)}
.lu-icon{position:relative;width:78px;height:78px;display:block;filter:drop-shadow(0 0 10px var(--rc))}
.lu-icon svg{width:100%;height:100%;display:block}
.lu-title{font-family:var(--serif);font-size:15px;letter-spacing:2px;text-transform:uppercase;color:var(--silver-hi)}
.lu-rank{font-family:var(--serif);font-size:21px;margin-top:6px}
.lu-sub{font-size:13px;color:var(--silver-dim);line-height:1.5;margin:10px auto 0;max-width:250px}
/* MASTER-Prestige: edle Purpur-Box (wie das Logo) */
.levelup-card.lu-master{border-color:rgba(176,124,221,.38);
  box-shadow:0 24px 60px rgba(0,0,0,.55), 0 0 46px rgba(176,124,221,.16)}
.lu-master .lu-title{font-size:clamp(23px,7vw,28px);letter-spacing:2px;color:#ddc6f2;white-space:nowrap}
.lu-master .lu-kicker{color:#b48fd6}
.lu-memblem{position:relative;width:96px;height:80px;display:grid;place-items:center;
  filter:drop-shadow(0 0 11px var(--rc))}
.lu-memblem .me-bg{position:absolute;font-family:var(--serif);font-weight:700;font-size:72px;line-height:1;color:#fff;opacity:.13}
.lu-memblem .me-num{position:relative;font-family:var(--serif);font-weight:700;font-size:50px;line-height:1;color:var(--rc)}
.lu-close{margin-top:22px;background:transparent;border:1px solid var(--border);color:var(--silver);
  padding:9px 22px;border-radius:10px;font-family:var(--serif);letter-spacing:1px;font-size:13px;cursor:pointer;transition:.15s}
.lu-close:hover{border-color:var(--rc);color:var(--silver-hi)}
@keyframes lu-spin{to{transform:rotate(360deg)}}
/* Icon-Button (z.B. Profil bearbeiten) */
.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;
  border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--silver);cursor:pointer;transition:.15s}
.btn-icon svg{width:17px;height:17px;display:block}
.btn-icon:hover{border-color:var(--gold);color:var(--gold-hi)}
/* grosses Wasserzeichen-Logo hinter dem Text (hoehen-basiert -> unabhaengig von Kachelbreite) */
.stat-bg{position:absolute;right:-3%;top:-26%;height:150%;width:auto;z-index:0;opacity:.15;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 24%,transparent 92%);mask-image:linear-gradient(to bottom,#000 24%,transparent 92%)}
.stat-bg svg{height:100%;width:auto;display:block}
/* Auge (Fokus) etwas weiter rechts und minimal tiefer; auf dem Handy noch weiter rechts */
.stat-bg.wm-eye{right:-13%;top:-19%}
/* Wasserzeichen in Karten (z. B. Skills/Gladius) */
.wm-card,#skills-view,#dash-skills{position:relative;overflow:hidden}
.wm-card>*:not(.card-wm),#skills-view>*:not(.card-wm),#dash-skills>*:not(.card-wm){position:relative;z-index:1}
.card-wm{position:absolute;right:5%;top:50%;transform:translateY(-50%);height:80%;width:auto;z-index:0;opacity:.10;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 82%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 82%,transparent 100%)}
.card-wm svg{height:100%;width:auto;display:block}
.stat .val{font-family:var(--serif);font-size:22px;font-weight:700;margin-top:6px}
.stat .bar{height:7px;border-radius:6px;background:#0a0907;margin-top:10px;overflow:hidden;border:1px solid #2a2d35}
.stat .bar > i{display:block;height:100%}
/* Streak-Block (volle Breite, unter den Stat-Kacheln) */
.streak-wide{display:flex;align-items:center;gap:18px;background:linear-gradient(180deg,var(--surface),#0e0f13);
  border:1px solid var(--border-soft);border-radius:14px;padding:16px 20px;margin:-18px 0 30px}
.streak-wide.lit{border-color:rgba(232,181,58,.28)}
.streak-wide .sw-flame{flex:0 0 auto;display:inline-flex}
.streak-wide .sw-flame svg{display:block}
.streak-wide .sw-main{flex:1;min-width:0}
.streak-wide .sw-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.streak-wide .sw-lab{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim)}
.streak-wide .sw-rec{font-size:11px;letter-spacing:.5px;color:var(--silver-dim);white-space:nowrap}
.streak-wide .sw-num{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1;margin-top:5px}
.streak-wide .sw-goal{color:var(--silver-dim);font-size:20px;font-weight:600}
.streak-wide .sw-bar{height:7px;border-radius:999px;background:rgba(255,255,255,.08);margin-top:13px;overflow:hidden}
.streak-wide .sw-bar > i{display:block;height:100%;background:linear-gradient(90deg,#9a6516,#e8b53a)}
.streak-wide .sw-hint{font-size:12px;color:var(--silver-dim);margin-top:10px}
/* Coach-Detail: Werkzeug-Buttons (Notizen/Stift) als kompakte Gruppe */
.cd-header .greeting{flex:1 1 200px;min-width:0}
.cd-tools{align-items:center}
.cd-tools #enter-board{margin:0}   /* .btn-save-Marge raus -> mittig zur Button-Gruppe */
.cd-mini{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border-soft);
  border-radius:11px;background:rgba(255,255,255,.02)}
.cd-mini .cn-flag{margin-left:0}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block}

/* ---------- Klient: Routinen ---------- */
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.section-head h2{font-family:var(--serif);font-size:16px;letter-spacing:1px;margin:0}
.section-head span{font-size:12.5px;color:var(--muted)}
.habit-list{display:flex;flex-direction:column;gap:0}
.habit{display:flex;align-items:center;gap:14px;padding:13px 10px;border-radius:9px;background:transparent;border:0;border-bottom:1px solid var(--border-soft);transition:background .15s}
.habit:last-child{border-bottom:0}
.habit:hover{background:var(--surface-2)}
.habit .check{width:26px;height:26px;border-radius:8px;border:2px solid var(--border);flex:0 0 auto;cursor:pointer;display:grid;place-items:center;transition:.15s;background:#0a0907}
.habit .check.on{background:linear-gradient(145deg,var(--green),#3d8a5f);border-color:var(--green)}
.habit .check svg{width:15px;height:15px;opacity:0;pointer-events:none}
.habit .check.on svg{opacity:1}
/* Sofortiges Tap-Feedback, kein 300ms-Zoom-Delay auf dem Handy */
.habit .check, .rday-row .check, .habit-x{touch-action:manipulation}
.habit .check:active, .rday-row .check:active{transform:scale(.88)}
.weekbar{height:6px;margin-top:9px;border-radius:6px;background:#0a0907;border:1px solid #2a2d35;overflow:hidden}
.weekbar>i{display:block;height:100%;background:linear-gradient(90deg,#7d828a,var(--silver-hi))}
.habit .body{flex:1;min-width:0}
.habit .name{font-size:14.5px;font-weight:600}
.habit.done .name{color:var(--muted);text-decoration:line-through}
.habit .meta{font-size:11.5px;color:var(--silver-dim);margin-top:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tag{font-size:10px;letter-spacing:.5px;padding:2px 7px;border-radius:5px;text-transform:uppercase}
.tag.pflicht{background:#3a1d1b;color:#e7a59c}
.tag.opt{background:#241f17;color:var(--muted)}
.tag.neg{background:#2a1d30;color:#c9a3df}
.reward-hint{color:var(--gold);font-size:11.5px}
/* Routine aktiv als "nicht erledigt" markieren */
.habit-x{flex:0 0 auto;width:26px;height:26px;border-radius:7px;border:1px solid var(--border-soft);background:transparent;color:var(--silver-dim);cursor:pointer;display:grid;place-items:center;transition:.15s;opacity:.6}
.habit-x svg{width:11px;height:11px;display:block}
.habit-x:hover{opacity:1;color:#e0574a;border-color:rgba(205,64,54,.5)}
.habit.declined{opacity:.92}
.habit.declined .name{color:var(--muted)}
.tag.skip-miss{background:#3a1d1b;color:#e7a59c}
.tag.skip-neutral{background:#20242c;color:var(--silver-dim)}
/* Popup "Warum wurde diese Aufgabe nicht erledigt?" */
.skip-overlay{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(6,7,10,.66);opacity:0;transition:opacity .18s}
.skip-overlay.show{opacity:1}
.skip-card{width:100%;max-width:360px;background:linear-gradient(180deg,#15161b,#101116);border:1px solid var(--border);border-radius:16px;padding:22px 20px;box-shadow:var(--shadow);transform:translateY(8px);transition:transform .18s}
.skip-overlay.show .skip-card{transform:none}
.skip-name{font-family:var(--serif);font-size:15px;color:var(--silver-hi);margin-bottom:4px}
.skip-q{font-size:13px;color:var(--silver-dim);margin-bottom:16px;line-height:1.45}
.skip-opts{display:flex;flex-direction:column;gap:9px}
.skip-opt{width:100%;text-align:left;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.02);color:var(--silver-hi);font-size:14px;cursor:pointer;transition:.14s}
.skip-opt:hover{border-color:var(--silver-dim);background:rgba(255,255,255,.055)}
.skip-opt.on{border-color:var(--silver);color:#fff}
.skip-opt.neg{border-color:rgba(205,64,54,.4);color:#e7a59c}
.skip-opt.neg:hover{border-color:rgba(205,64,54,.7);background:rgba(205,64,54,.09)}
.skip-opt.neg.on{border-color:#cf5b4f;color:#f0b8b0}
.skip-undo{width:100%;margin-top:12px;padding:10px;border-radius:10px;border:1px solid var(--border-soft);background:transparent;color:var(--silver-dim);font-size:13px;cursor:pointer;transition:.14s}
.skip-undo:hover{color:var(--silver-hi);border-color:var(--border)}
.skip-cancel{width:100%;margin-top:8px;padding:8px;border:0;background:transparent;color:var(--muted);font-size:12.5px;cursor:pointer}
.skip-cancel:hover{color:var(--silver-dim)}
/* Profilbild positionieren (verschieben + zoomen) */
.crop-overlay{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(6,7,10,.72);opacity:0;transition:opacity .18s}
.crop-overlay.show{opacity:1}
.crop-card{width:100%;max-width:340px;background:linear-gradient(180deg,#15161b,#101116);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow);text-align:center;transform:translateY(8px);transition:transform .18s}
.crop-overlay.show .crop-card{transform:none}
.crop-title{font-family:var(--serif);font-size:16px;color:var(--silver-hi);margin-bottom:4px}
.crop-hint{font-size:12px;color:var(--silver-dim);margin-bottom:14px}
.crop-frame{width:260px;height:260px;max-width:100%;margin:0 auto;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:#0a0a0d;touch-action:none}
.crop-canvas{width:100%;height:100%;display:block;cursor:grab}
.crop-canvas:active{cursor:grabbing}
.crop-zoom{width:100%;margin:16px 0 4px;accent-color:var(--silver-hi)}
.crop-actions{display:flex;gap:10px;margin-top:12px}
.crop-actions .btn-line,.crop-actions .btn-save{flex:1;margin:0}
.empty{color:var(--muted);font-size:13.5px;text-align:center;padding:34px 22px;line-height:1.55;
  background:linear-gradient(180deg,rgba(255,255,255,.015),transparent);
  border:1px dashed var(--border-soft);border-radius:13px}
.empty .ico{display:block;width:30px;height:30px;margin:0 auto 12px;opacity:.45;color:var(--silver-dim)}
.empty .ico svg{width:100%;height:100%;display:block;stroke:currentColor;fill:none}
/* ---------- Routinen-Verlauf (Monats-Kalender) ---------- */
.rmonth{margin-bottom:12px;border:1px solid var(--border-soft);border-radius:13px;overflow:hidden;
  background:linear-gradient(180deg,var(--surface),#0e0f13)}
.rmonth-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;cursor:pointer;user-select:none}
.rmonth-head h4{font-family:var(--serif);font-size:14px;letter-spacing:1px;margin:0;color:var(--silver-hi)}
.rmonth-head .chev{display:inline-flex;width:13px;height:13px;color:var(--silver-dim);transition:transform .2s}
.rmonth-head .chev svg{width:100%;height:100%;display:block}
.rmonth.open .rmonth-head .chev{transform:rotate(90deg)}
.rmonth-grid{display:none;padding:0 14px 16px}
.rmonth.open .rmonth-grid{display:block}
.rweek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.rweek.rdays{margin-top:6px}
.rwd{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--silver-dim);text-align:center;padding:2px 0}
.rcell{aspect-ratio:1;min-width:0;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:12px;
  color:var(--silver);border:1px solid transparent;cursor:pointer;transition:filter .12s}
.rcell.empty{visibility:hidden;cursor:default}
.rcell.none{background:#0e0f13;color:#4a4d57;cursor:default}
.rcell.future{background:transparent;color:#3a3d47;cursor:default}
.rcell.full{background:rgba(107,191,115,.22);color:#cfeccb;border-color:rgba(107,191,115,.35)}
.rcell.part{background:rgba(226,184,74,.18);color:#f0dca0;border-color:rgba(226,184,74,.3)}
.rcell.miss{background:rgba(199,90,80,.16);color:#e7b3ab;border-color:rgba(199,90,80,.28)}
.rcell.today0{background:#13141a;border-color:var(--border)}
.rcell.today{box-shadow:0 0 0 2px var(--silver-dim) inset}
.rcell[data-iso]:hover{filter:brightness(1.18)}
/* Tages-Popup */
.rday-overlay{position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:20px;
  background:rgba(6,5,4,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s}
.rday-overlay.show{opacity:1}
.rday-card{width:min(420px,92vw);max-height:82vh;overflow:auto;background:linear-gradient(180deg,var(--surface),#0e0f13);
  border:1px solid var(--border-soft);border-radius:16px;padding:18px 18px 20px;transform:translateY(10px);transition:transform .25s}
.rday-overlay.show .rday-card{transform:translateY(0)}
.rday-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.rday-head h3{font-family:var(--serif);font-size:15px;margin:0;color:var(--silver-hi);text-transform:capitalize}
.rday-x{width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--silver);
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.rday-x svg{width:14px;height:14px;display:block}
.rday-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--border-soft)}
.rday-row:last-of-type{border-bottom:0}
.rday-row .check{width:26px;height:26px;border-radius:8px;border:2px solid var(--border);flex:0 0 auto;cursor:pointer;display:grid;place-items:center;transition:.15s;background:#0a0907}
.rday-row .check.on{background:linear-gradient(145deg,var(--green),#3d8a5f);border-color:var(--green)}
.rday-row .check svg{width:15px;height:15px;opacity:0;pointer-events:none}
.rday-row .check.on svg{opacity:1}
.rday-name{font-size:14px;flex:1;min-width:0;display:flex;align-items:center;gap:8px}
.rday-nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rday-row.declined .rday-nm{color:var(--muted)}
.rday-row .decl-slot{flex:0 0 auto}
/* Kleine Typ-Symbole (Pflicht/Optional/Vermeiden) */
.htype{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}
.htype svg{width:16px;height:16px;display:block}
.htype-pflicht{color:var(--gold-hi)}
.htype-opt{color:var(--silver-dim)}
.htype-neg{color:#c9a3df}
.rday-note{margin-top:13px;font-size:11.5px;color:var(--silver-dim);line-height:1.5;
  background:rgba(199,90,80,.10);border:1px solid rgba(199,90,80,.2);padding:9px 11px;border-radius:9px}
.rday-note.ok{background:rgba(107,191,115,.10);border-color:rgba(107,191,115,.2)}
.rday-missed{margin-top:12px;font-weight:600;padding-left:2px}
/* Tages-Navigation (voriger / nächster Tag) */
.rday-nav{display:flex;gap:10px;margin-top:14px}
.rday-arrow{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;
  padding:0 12px;background:var(--surface);border:1px solid var(--border-soft);border-radius:11px;
  color:var(--silver-hi);cursor:pointer;transition:.15s;font-size:12.5px;letter-spacing:.4px}
.rday-arrow:hover:not(:disabled){background:rgba(255,255,255,.05);border-color:var(--border)}
.rday-arrow:active:not(:disabled){transform:translateY(1px)}
.rday-arrow:disabled{opacity:.32;cursor:default}
.rday-arrow svg{width:15px;height:15px;flex:0 0 auto;display:block}
.rday-arrow.prev svg{transform:rotate(180deg)}
.rday-arrow.prev{justify-content:flex-start}
.rday-arrow.next{justify-content:flex-end}
.rday-arrow span{white-space:nowrap;text-transform:capitalize}

.loading{position:fixed;inset:0;display:grid;place-items:center;z-index:5;color:var(--silver-dim);
  font-family:var(--serif);letter-spacing:2px;font-size:13px}

/* ---------- Coach: KPIs + Klienten-Tabelle ---------- */
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 30px}
.kpi{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:14px;padding:16px 18px}
.kpi .lab{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim)}
.kpi .val{font-family:var(--serif);font-size:26px;font-weight:700;margin-top:6px}
.kpi.warn .val{color:var(--amber)}
.kpi.crit .val{color:var(--red)}
.table-wrap{overflow-x:auto;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface)}
.ctable{width:100%;border-collapse:collapse;font-size:13.5px}
.ctable th{text-align:left;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim);font-weight:600;padding:12px;border-bottom:1px solid var(--border);white-space:nowrap}
.ctable td{padding:12px;border-bottom:1px solid var(--border-soft);white-space:nowrap}
.ctable tr:last-child td{border-bottom:0}
.ctable tbody tr:hover td{background:#17181d}
.mini-av{width:34px;height:34px;border-radius:9px;background:linear-gradient(145deg,#23252b,#15161a);border:1px solid var(--border);display:inline-grid;place-items:center;font-family:var(--serif);color:var(--silver-hi);font-size:13px;margin-right:10px;vertical-align:middle}
.cname{font-weight:600}
.cname.clk{cursor:pointer}
.cname.clk:hover{color:var(--silver-hi);text-decoration:underline}
.fokusmini{display:flex;align-items:center;gap:8px;min-width:130px}
.fokusmini .bar{flex:1;height:7px;border-radius:6px;background:#0a0907;overflow:hidden;border:1px solid #2a2d35}
.fokusmini .bar>i{display:block;height:100%}
.fokusmini .pct{font-weight:700;font-size:12.5px;min-width:34px;text-align:right}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 9px;border-radius:6px}
.pill.green{background:#13261c;color:var(--green)}
.pill.amber{background:#2c2412;color:var(--amber)}
.pill.red{background:#2e1815;color:var(--red)}
.pill.gray{background:#1d1f26;color:var(--silver-dim)}
.muted-cell{color:var(--muted)}

/* ---------- Coach: Navigation + Einstellungen ---------- */
.coach-nav{display:inline-flex;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:5px;margin-bottom:24px}
.coach-nav button{background:transparent;border:0;color:var(--muted);padding:9px 18px;border-radius:8px;font-family:var(--serif);letter-spacing:1px;font-size:13px;cursor:pointer;transition:.15s}
.coach-nav button.active{background:linear-gradient(145deg,#23252b,#15161a);color:var(--silver-hi)}
.set-head{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.set-head label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim)}
select,textarea,
input[type=text],input[type=number],input[type=email],input[type=password],
input[type=date],input[type=month],input[type=search],input[type=tel],input[type=url]{
  background:#0a0907;border:1px solid var(--border);color:var(--text);border-radius:9px;
  padding:9px 11px;font-size:13.5px;outline:none;font-family:inherit;color-scheme:dark;transition:border-color .15s, box-shadow .15s}
select:focus,input:focus,textarea:focus{border-color:var(--silver-dim);box-shadow:0 0 0 3px rgba(136,142,152,.12)}
input::placeholder,textarea::placeholder{color:var(--silver-dim);opacity:.65}
select option{background:#15161b;color:var(--text)}
select[multiple]{padding:6px}
select[multiple] option{padding:6px 8px;border-radius:6px}
/* Kein Ziehgriff an Textfeldern - der wirkt wie ein Fehler und wird kaum gebraucht */
textarea{width:100%;resize:none;line-height:1.5}

/* ---------- Navigation mit abgesetztem Zahnrad ---------- */
.nav-wrap{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
/* Tab-Icons: ueberall (Desktop + Handy) als Icons, Namen ausgeblendet */
.nav-ic{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center}
.nav-ic svg{width:100%;height:100%;display:block}
.nav-label{display:none}
.coach-nav button,.subnav button{padding:10px 14px;display:inline-flex;align-items:center;justify-content:center}
/* Zahnrad (Einstellungen): immer als Icon, gleiche Groesse wie die Tab-Icons */
.gear-ic{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center}
.gear-ic svg{width:100%;height:100%;display:block}
.nav-gear{margin-left:auto}
.nav-gear button{width:38px;height:38px;padding:0;line-height:1;display:inline-flex;align-items:center;justify-content:center}

/* ---------- Sub-Navigation (Klient: Dashboard/Profil) ---------- */
.subnav{display:inline-flex;flex-wrap:wrap;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:5px;margin-bottom:24px}
.subnav button{background:transparent;border:0;color:var(--muted);padding:9px 18px;border-radius:8px;font-family:var(--serif);letter-spacing:1px;font-size:13px;cursor:pointer;transition:.15s}
.subnav button.active{background:linear-gradient(145deg,#23252b,#15161a);color:var(--silver-hi)}

/* Review: Zeitraum-Umschalter + Auswertungs-Raster */
.rev-toggle{display:inline-flex;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:5px;margin-bottom:22px}
.rev-toggle button{background:transparent;border:0;color:var(--muted);padding:8px 16px;border-radius:8px;font-family:var(--serif);letter-spacing:.5px;font-size:12.5px;cursor:pointer}
.rev-toggle button.active{background:linear-gradient(145deg,#23252b,#15161a);color:var(--silver-hi)}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}

/* ---------- Avatar-Auswahl ---------- */
.avatar-picker{display:flex;gap:14px;flex-wrap:wrap}
.emblem{width:64px;height:64px;border-radius:14px;border:2px solid var(--border);cursor:pointer;display:grid;place-items:center;background:#0e0f13;transition:.15s}
.emblem:hover{border-color:var(--silver-dim)}
.emblem.sel{border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,165,99,.25)}
.emblem span{font-family:var(--serif);font-weight:900;font-size:26px}
.idrow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:7px 0;border-bottom:1px solid var(--border-soft)}
.idrow:last-child{border-bottom:0}
.idrow label{flex:0 0 auto;color:var(--silver-dim);font-size:13.5px;letter-spacing:0;text-transform:none;margin:0}
.idfield{flex:1;min-width:0;background:transparent;border:1px solid transparent;color:var(--text);
  font-family:inherit;font-size:13.5px;text-align:right;resize:none;outline:none;padding:6px 9px;border-radius:8px;line-height:1.4;overflow:hidden}
.idfield[readonly]{cursor:default}
#profile-card.editing .idfield{background:#0a0907;border-color:var(--border)}
/* Avatar mit Hover-Upload */
.avatar-wrap{position:relative;width:96px;height:96px;flex:0 0 auto;border-radius:18px;overflow:hidden;border:1px solid var(--border)}
.avatar-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.5);color:#fff;font-size:28px;opacity:0;transition:.15s;pointer-events:none}
#profile-card.editing .avatar-wrap{cursor:pointer}
#profile-card.editing .avatar-wrap:hover .avatar-overlay{opacity:1}
#coach-profile-card.editing #coach-av-wrap{cursor:pointer}
#coach-profile-card.editing #coach-av-wrap:hover .avatar-overlay{opacity:1}
#client-av-wrap{cursor:pointer}
#client-av-wrap:hover .avatar-overlay{opacity:1}
.coach-name-big{flex:1;min-width:120px;background:transparent;border:1px solid transparent;border-radius:9px;
  color:var(--text);font-family:var(--serif);font-size:26px;letter-spacing:.5px;line-height:1.2;
  padding:6px 10px;resize:none;outline:none;overflow:hidden}
.coach-name-big::placeholder{font-family:var(--serif);color:var(--silver-dim)}
#coach-profile-card.editing .coach-name-big{background:#0a0907;border-color:var(--border)}
.enter-ic{width:22px;height:22px;display:inline-flex}
.enter-ic svg{width:100%;height:100%;display:block}

/* ---------- Fortschritt ---------- */
.prog{margin-bottom:4px}
.prog .top{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;margin-bottom:8px}
.prog .top .r{font-family:var(--serif);letter-spacing:.5px;color:var(--silver-hi)}
.prog .bar{height:10px;border-radius:6px;background:#0a0907;border:1px solid #2a2d35;overflow:hidden}
.prog .bar>i{display:block;height:100%;background:linear-gradient(90deg,#7d828a,var(--silver-hi))}
.prog .hint{font-size:12px;color:var(--muted);margin-top:7px}
.prog-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.prog-totals .stat .val{font-size:20px}

/* ---------- Skills (Klient-Anzeige) ---------- */
.skill-row{margin-bottom:16px}
.skill-row:last-child{margin-bottom:0}
.skill-row .top{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;margin-bottom:7px}
.skill-row .sname{font-family:var(--serif);color:var(--silver-hi);letter-spacing:.5px}
.skill-row .slvl{color:var(--gold-hi);font-size:12px;font-family:var(--serif)}
.skill-row .bar{height:9px;border-radius:6px;background:#0a0907;border:1px solid #2a2d35;overflow:hidden}
.skill-row .bar>i{display:block;height:100%;background:linear-gradient(90deg,#7d828a,var(--silver-hi))}
.skill-row .hint{font-size:11.5px;color:var(--muted);margin-top:5px}

/* ---------- Reward-Shop ---------- */
.shop-balance{font-family:var(--serif);font-size:15px;color:var(--gold-hi);margin-bottom:22px}
.shop-balance b{font-size:20px}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.shop-card{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px}
.shop-card .sc-name{font-family:var(--serif);font-size:15px;color:var(--silver-hi);letter-spacing:.5px}
.shop-card .sc-sub{font-size:12px;color:var(--muted);flex:1}
.shop-card .sc-lock{font-size:11px;color:var(--amber)}
.shop-card .sc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px 12px;margin-top:12px;flex-wrap:wrap}
.shop-card .btn-buy{flex:0 0 auto}
.sc-cost{font-family:var(--serif);color:var(--gold-hi);font-weight:700;font-size:14px;white-space:nowrap}
.btn-buy{background:linear-gradient(145deg,#2a2d35,#15161a);border:1px solid var(--border);color:var(--silver-hi);padding:8px 14px;border-radius:9px;font-family:var(--serif);letter-spacing:.5px;font-weight:700;font-size:12.5px;cursor:pointer;transition:.15s}
.btn-buy:hover{border-color:var(--silver-dim);background:linear-gradient(145deg,#31343d,#1a1c20)}
.btn-buy:disabled{background:#23252b;color:var(--muted-2);cursor:default}

/* ---------- Quest-Board (Klient) ---------- */
.quest-card{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:14px;padding:16px 18px;margin-bottom:12px}
.quest-card.done{opacity:.6}
.quest-card .qhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.quest-card .qname{font-family:var(--serif);font-size:15px;color:var(--silver-hi);letter-spacing:.5px}
.quest-card .qtype{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim)}
.quest-card .qreward{color:var(--gold);font-size:12px;margin-top:4px}
.subgoals{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.subgoal{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:8px 11px;border:1px solid var(--border-soft);border-radius:9px;background:var(--surface-2)}
.subgoal.done .sg-name{color:var(--muted);text-decoration:line-through}
.sg-done{color:var(--green);font-size:12px;white-space:nowrap}
.btn-mini{background:linear-gradient(145deg,#2a2d35,#15161a);border:1px solid var(--border);color:var(--silver-hi);padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;font-family:var(--serif);letter-spacing:.5px;white-space:nowrap}
.btn-mini:hover{border-color:var(--silver-dim)}
.goal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--border-soft);border-radius:11px;background:var(--surface);margin-bottom:10px;font-size:13.5px}
.goal-row.done .g-name{color:var(--muted);text-decoration:line-through}

/* ---------- Strafen-Banner ---------- */
.penalty-banner{background:linear-gradient(180deg,#2e1815,#1c1411);border:1px solid #4a2420;border-radius:13px;padding:14px 18px;margin-bottom:20px;color:#e7a59c;font-size:13.5px}
.penalty-banner b{color:#f0c3bb}
.penalty-banner.off-view{display:none}
.penalty-banner li{margin:6px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.btn-report{background:#3a1d1b;border:1px solid #6b3530;color:#f0c3bb;padding:5px 11px;border-radius:7px;font-size:11.5px;cursor:pointer;font-family:var(--serif);letter-spacing:.5px}
.btn-report:hover{background:#4a2420}
.pen-reported{color:#9fd8b2;font-size:11.5px}
.set-card{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:16px;padding:22px;margin-bottom:20px}
.set-card h3{font-family:var(--serif);letter-spacing:1px;font-size:14px;margin:0 0 16px;color:var(--silver-hi)}
/* Karten-Kopf: Titel links, Meta (z.B. Datum) rechts */
.card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.card-head h3{margin-bottom:0}
.card-head span{font-size:12.5px;color:var(--muted)}
/* Anpassbares Dashboard (Reihenfolge der Bloecke) */
#dash-edit-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-bottom:16px;padding:11px 15px;border:1px solid var(--gold-dim);border-radius:12px;
  background:linear-gradient(180deg,#231d10,#15120b);color:#e6cf8f;font-size:13px}
#dash-edit-bar button{flex:0 0 auto;margin:0}
@media(max-width:640px){
  #dash-edit-bar{flex-direction:column;align-items:stretch;gap:12px;padding:12px 15px}
  #dash-edit-bar button{width:100%}
}
/* Coach-Klientenliste: Push-Status-Glocke (grün an / rot durchgestrichen) */
.push-stat{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-right:7px}
.push-stat svg{width:15px;height:15px;display:block}
.push-stat.on{color:#57c98a}
.push-stat.off{color:#c0392b}
.dash-block{position:relative}
.dash-move{display:none}
#dash-blocks.editing .dash-block{outline:1px dashed var(--gold-dim);outline-offset:4px}
#dash-blocks.editing .dash-block > :not(.dash-move){pointer-events:none}
#dash-blocks.editing .dash-move{display:flex;gap:6px;position:absolute;top:12px;right:14px;z-index:2}
.dash-move button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--gold-dim);background:rgba(20,18,11,.92);color:var(--gold-hi);border-radius:9px;cursor:pointer}
.dash-move button svg{width:15px;height:15px;display:block}
.dash-move button:disabled{opacity:.35;cursor:default}
.dash-move button:not(:disabled):hover{border-color:var(--gold-hi)}
/* Loeschen-Icon-Button */
.btn-icon-del{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;flex:0 0 auto;
  border:1px solid #4a2420;border-radius:9px;background:transparent;color:var(--red);cursor:pointer;transition:.15s}
.btn-icon-del svg{width:18px;height:18px;display:block}
.btn-icon-del:hover{background:rgba(199,90,80,.12);border-color:var(--red)}
/* Bestaetigungs-Dialog */
.cd-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:22px;
  background:rgba(6,5,4,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s}
.cd-overlay.show{opacity:1}
.cd-box{width:min(380px,92vw);background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);
  border-radius:16px;padding:22px;transform:translateY(8px);transition:transform .2s}
.cd-overlay.show .cd-box{transform:translateY(0)}
.cd-title{font-family:var(--serif);font-size:17px;margin:0 0 10px;color:var(--silver-hi)}
.cd-text{font-size:13.5px;color:var(--muted);line-height:1.55;margin-bottom:18px}
.cd-input{width:100%;background:#0a0907;border:1px solid var(--border);color:var(--text);border-radius:10px;
  padding:11px 13px;font-size:13.5px;line-height:1.5;resize:none;overflow:hidden;font-family:inherit;
  outline:none;margin-bottom:18px;transition:border-color .15s, box-shadow .15s}
.cd-input:focus{border-color:var(--silver-dim);box-shadow:0 0 0 3px rgba(136,142,152,.12)}
.cd-input::placeholder{color:var(--silver-dim);opacity:.65}
.cd-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
/* Icon-Aktionsleiste (rotes X = Abbrechen, Papierflieger = Senden), klein & edel, gleiche Hoehe */
.cd-actions-ic{align-items:center;flex-wrap:nowrap;gap:8px}
.cd-actions-ic .cd-xbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:34px;padding:0;
  color:var(--red);border:1px solid var(--border);background:transparent;border-radius:9px;cursor:pointer;transition:.15s}
.cd-actions-ic .cd-xbtn:hover{border-color:var(--red);background:rgba(207,91,79,.12);color:#e8766b}
.cd-actions-ic .cd-xbtn svg{width:14px;height:14px;display:block}
.cd-actions-ic .cd-okbtn{display:inline-flex;align-items:center;justify-content:center;width:52px;height:34px;min-width:0;margin:0;padding:0;border-radius:9px}
.cd-actions-ic .cd-okbtn svg{width:15px;height:15px;display:block}
/* Reiter-Reihenfolge-Liste */
.tab-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid var(--border-soft)}
.tab-row:last-child{border-bottom:0}
.tab-row-name{font-size:14px;color:var(--text)}
.tab-row-moves{display:flex;gap:6px}
.tab-row-moves button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--silver);cursor:pointer}
.tab-row-moves button svg{width:14px;height:14px;display:block}
.tab-row-moves button:disabled{opacity:.3;cursor:default}
.tab-row-moves button:not(:disabled):hover{border-color:var(--silver-dim);color:var(--silver-hi)}
/* ---------- Klient: untere Tab-Bar + Performance-Unter-Nav ---------- */
#client-area{padding-bottom:86px}
#client-botbar{position:fixed;left:0;right:0;bottom:0;z-index:8;display:flex;justify-content:center;gap:6px;
  padding:8px calc(10px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));
  background:rgba(11,11,13,.93);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-soft)}
#client-botbar button{flex:1 1 0;max-width:170px;display:flex;flex-direction:column;align-items:center;gap:4px;
  background:transparent;border:0;color:var(--silver-dim);cursor:pointer;padding:6px 4px;border-radius:12px;transition:color .15s}
#client-botbar button .bb-ic{width:23px;height:23px;display:inline-flex}
#client-botbar button .bb-ic svg{width:100%;height:100%;display:block}
#client-botbar button .bb-lab{font-family:var(--serif);font-size:10.5px;letter-spacing:.5px}
#client-botbar button.active{color:var(--silver-hi)}
#client-botbar button.active .bb-ic{color:var(--gold-hi)}
.perf-nav{display:flex;width:fit-content;max-width:100%;flex-wrap:nowrap;overflow-x:auto}
@media(min-width:561px){
  /* Auf dem PC: schwebende Icon-Box unten mittig (Box-Design, etwas groesser) */
  #client-area{padding-bottom:96px}
  #client-botbar{flex-direction:row;justify-content:center;gap:8px;
    left:50%;transform:translateX(-50%);bottom:18px;top:auto;right:auto;width:auto;
    background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:8px;
    box-shadow:0 7px 22px rgba(194,199,207,.07), 0 2px 8px rgba(0,0,0,.35)}
  #client-botbar .bb-lab{display:none}
  #client-botbar button{max-width:none;width:auto;padding:12px 14px;border-radius:13px;gap:0}
  #client-botbar button .bb-ic{width:27px;height:27px}
  #client-botbar button.active{background:#23252b}
}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.fg{display:flex;flex-direction:column;gap:6px}
.fg label{font-size:11px;letter-spacing:.5px;color:var(--silver-dim)}
.fg input,.fg select{width:100%}
.btn-save{margin-top:16px;background:linear-gradient(145deg,#2a2d35,#15161a);border:1px solid var(--border);color:var(--silver-hi);padding:10px 18px;border-radius:10px;font-family:var(--serif);letter-spacing:1px;font-weight:700;font-size:13px;cursor:pointer;transition:.15s}
.btn-save:hover{border-color:var(--silver-dim);background:linear-gradient(145deg,#31343d,#1a1c20)}
.btn-line{background:transparent;border:1px solid var(--border);color:var(--text);padding:9px 16px;border-radius:9px;font-size:13px;cursor:pointer;font-family:var(--serif);letter-spacing:.5px}
.btn-line:hover{border-color:var(--silver-dim)}
.btn-del{background:transparent;border:1px solid #4a2420;color:var(--red);padding:8px 13px;border-radius:8px;font-size:12px;cursor:pointer}
.btn-confirm{background:linear-gradient(145deg,var(--green),#3d8a5f);border:0;color:#06120b;padding:8px 14px;border-radius:9px;font-family:var(--serif);letter-spacing:.5px;font-weight:700;font-size:12.5px;cursor:pointer}
.habit-edit,.pool-edit{border:1px solid var(--border-soft);border-radius:12px;padding:16px;margin-bottom:12px;background:var(--surface)}
.habit-edit .row2,.pool-edit .row2{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:14px}
.row2 .btn-save{margin-top:0}
.checkrow{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);cursor:pointer}
/* Einklappbare Editor-Bloecke (Kurzansicht + Stift) – Routinen, Skills, Ziele, Quests, Pools */
.he-head{display:flex;align-items:center;gap:12px}
.he-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.he-name{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.he-sum{font-size:11.5px;color:var(--silver-dim);letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.he-toggle{flex:0 0 auto}
.habit-edit.editing .he-toggle,.pool-edit.editing .he-toggle,.cfg-card.editing .he-toggle{color:var(--gold-hi);background:rgba(198,165,99,.12)}
.he-form{display:none;margin-top:16px}
.habit-edit.editing .he-form,.pool-edit.editing .he-form,.cfg-card.editing .he-form{display:block}
.cfg-card .he-name{font-family:var(--serif);letter-spacing:1px;font-size:13px;color:var(--silver-hi);text-transform:none}
.he-act{display:flex;align-items:center;gap:10px;margin-left:auto}
.he-act .btn-save{margin-top:0}

/* Werte-Editor als Akkordeon (eine Kategorie offen) */
.acc{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:14px;overflow:hidden}
.acc-item + .acc-item{border-top:1px solid var(--border-soft)}
.acc-head{display:flex;align-items:center;gap:10px;padding:15px 16px;cursor:pointer;user-select:none}
.acc-head:hover{background:rgba(255,255,255,.02)}
.acc-head h4{margin:0;font-family:var(--serif);font-size:13px;letter-spacing:1px;color:var(--silver-hi);display:flex;align-items:center}
.acc-sp{flex:1}
.cat-count{font-size:10.5px;color:var(--silver-dim);background:#0a0907;border:1px solid var(--border);border-radius:999px;padding:1px 8px;margin-left:8px;font-family:"Segoe UI",system-ui,sans-serif;letter-spacing:0}
.cat-sum{font-size:11.5px;color:var(--silver-dim);margin-left:10px}
.chev{width:14px;height:14px;color:var(--silver-dim);transition:transform .18s;flex:0 0 auto}
.acc-item.open .chev{transform:rotate(90deg)}
.addmini{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(145deg,#2a2d35,#15161a);border:1px solid var(--border);color:var(--silver-hi);cursor:pointer;flex:0 0 auto;transition:.15s}
.addmini:hover{border-color:var(--silver-dim);color:var(--gold-hi)}
.addmini svg{width:14px;height:14px;display:block}
.acc-body{display:none;padding:0 16px 18px}
.acc-item.open .acc-body{display:block}
.cat-hint{font-size:11.5px;color:var(--silver-dim);margin:0 0 12px}
.set-msg{font-size:12.5px}
.set-msg.ok{color:var(--green)} .set-msg.err{color:var(--red)}

@media(max-width:560px){
  /* Coach-Detail: Werkzeuge + Beitreten als sauberer rechter Cluster (vertikal zentriert) */
  .cd-header{position:relative;padding-right:70px}
  .cd-header .cd-tools{position:absolute;right:0;top:0;bottom:0;margin:0!important;
    flex-direction:column;align-items:flex-end;justify-content:center;gap:10px}
  .cd-header #enter-board{position:static;transform:none;margin:0}
  /* Bottom-Bar auf dem Handy: nur Icons, keine Namen, weiter unten (weniger iOS-Luecke) */
  #client-botbar .bb-lab{display:none}
  #client-botbar button{padding:9px 4px}
  #client-botbar button .bb-ic{width:26px;height:26px}
  #client-botbar{padding-top:7px;padding-bottom:calc(4px + env(safe-area-inset-bottom) * 0.4)}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .kpi-row{grid-template-columns:repeat(2,1fr)}
  /* Handy-Reihenfolge: Klienten, Offene Strafen, In Warnung, Kritisch */
  .kpi-row .kpi:nth-child(1){order:1}
  .kpi-row .kpi:nth-child(4){order:2}
  .kpi-row .kpi:nth-child(2){order:3}
  .kpi-row .kpi:nth-child(3){order:4}
  .stat-bg.wm-eye{right:-34%}
  /* Coach-Ansicht: Zurueck nur als kompakter Pfeil */
  #imp-exit .imp-label{display:none}
  #imp-exit{padding:6px 12px;font-size:17px;line-height:1}
  /* Tabs als Icons statt Namen */
  .nav-label{display:none}
  .nav-ic{display:inline-flex}
  .coach-nav,.subnav{gap:4px;padding:5px}
  .coach-nav button,.subnav button{padding:10px 13px;display:inline-flex;align-items:center;justify-content:center}
}

/* =====================================================================
   Coach-Notizen (privat) – Detailkarte + Symbol in der Uebersicht
   ===================================================================== */
.cn-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}
.cn-head h3{margin:0}
.cn-field{display:flex;align-items:flex-start;gap:14px;padding:11px 0;border-bottom:1px solid var(--border-soft)}
.cn-field:last-of-type{border-bottom:0}
.cn-field label{flex:0 0 152px;color:var(--silver-dim);font-size:13px;line-height:1.5;margin:7px 0 0;
  text-transform:none;letter-spacing:0}
.cn-input{flex:1;min-width:0;background:transparent;border:1px solid transparent;color:var(--text);
  border-radius:9px;padding:6px 9px;font-size:13.5px;line-height:1.55;resize:none;overflow:hidden;
  min-height:30px;transition:border-color .15s, background .15s}
.cn-input[readonly]{cursor:default}
.cn-input::placeholder{color:var(--muted-2);opacity:1}
.cn-card.editing .cn-input{background:#0a0907;border-color:var(--border)}
.cn-card.editing .cn-input:focus{border-color:var(--silver-dim);box-shadow:0 0 0 3px rgba(136,142,152,.12)}
.cn-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:18px}
.cn-status{font-size:12px;color:var(--silver-dim);margin-left:10px;white-space:nowrap}
@media (max-width:560px){
  .cn-field{flex-direction:column;gap:5px}
  .cn-field label{flex:none;margin:0}
}
/* Notiz-Symbol in der Klienten-Uebersicht (klickbar -> Notizen-Popup) */
.cn-flag{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:4px;
  margin-left:5px;color:var(--gold);opacity:.8;vertical-align:middle;
  background:transparent;border:0;border-radius:7px;cursor:pointer;transition:.15s}
.cn-flag:hover{opacity:1;color:var(--gold-hi);background:rgba(198,165,99,.12)}
.cn-flag svg{width:100%;height:100%;display:block}

/* Notiz-Popup (Coach-Notizen ohne Detailansicht) */
.cn-modal{width:min(620px,94vw);max-height:86vh;overflow:auto}
.cn-modal .cn-head{margin-bottom:12px}
.cn-modal-name{font-family:"Segoe UI",system-ui,sans-serif;font-size:13px;letter-spacing:.5px;color:var(--silver-dim);text-transform:none}
.cn-modal-btns{display:flex;gap:8px;flex:0 0 auto}
/* roter Schliessen-/Abbrechen-Button */
.btn-icon.is-danger{color:var(--red)}
.btn-icon.is-danger:hover{border-color:var(--red);color:#e8766b;background:rgba(207,91,79,.12)}
/* Aktionsleiste im Popup: Speichern + rotes X auf gleicher Hoehe */
.cnm-actions{display:flex;align-items:stretch;gap:10px;margin-top:18px}
.cnm-actions .btn-save{margin:0}
.cnm-actions .cnm-cancel{display:inline-flex;align-items:center;justify-content:center;width:50px;padding:0;
  color:var(--red);border:1px solid var(--border);background:transparent;border-radius:10px;cursor:pointer;transition:.15s}
.cnm-actions .cnm-cancel:hover{border-color:var(--red);background:rgba(207,91,79,.12);color:#e8766b}
.cnm-actions .cnm-cancel svg{width:18px;height:18px;display:block}
.cnm-actions .cnm-status{display:flex;align-items:center;margin-left:6px}

/* Notiz-Icon im Klient-Board (nur Coach), oben rechts neben dem Namen */
#client-greeting.with-notes{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
#client-greeting .greet-txt{display:block}
.cn-board-btn{flex:0 0 auto;color:var(--gold);margin-top:2px}
.cn-board-btn:hover{color:var(--gold-hi);border-color:var(--gold)}
.cn-board-btn svg{width:16px;height:16px}

/* =====================================================================
   Leaderboard (Rangliste nach RUHM)
   ===================================================================== */
.lb-toggle{margin-bottom:20px}
#lb-list{display:flex;flex-direction:column;gap:8px}
.lb-row{display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,var(--surface),#0e0f13);
  border:1px solid var(--border-soft);border-radius:14px;padding:12px 16px}
.lb-row.me{border-color:var(--gold-dim);box-shadow:0 0 0 1px rgba(143,115,56,.35)}
.lb-pos{flex:0 0 auto;width:30px;text-align:center;font-family:var(--serif);font-size:16px;font-weight:700;color:var(--silver-dim)}
.lb-pos.lb-top{color:var(--text)}
.lb-pos.lb-1{color:var(--gold-hi)}
.lb-pos.lb-2{color:#cfd4db}
.lb-pos.lb-3{color:#c08552}
.lb-av{flex:0 0 auto;width:42px;height:42px}
.lb-av img,.lb-av .emblem{width:42px;height:42px;border-radius:12px}
.lb-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.lb-nm{font-weight:600;font-size:14.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-you{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-family:var(--serif);
  font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--silver-hi);
  background:linear-gradient(145deg,#2a2d35,#15161a);border:1px solid var(--border);border-radius:999px;
  padding:4px 10px 3px;margin-left:8px;vertical-align:middle}
.lb-sub{font-size:11.5px;letter-spacing:.5px;color:var(--silver-dim)}
.lb-score{flex:0 0 auto;text-align:right;font-family:var(--serif);font-size:16px;font-weight:700;color:var(--gold-hi);
  display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.lb-unit{font-family:"Segoe UI",system-ui,sans-serif;font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim);font-weight:400;margin-top:3px}

/* Schalter (Toggle-Switch) – z.B. Leaderboard-Sichtbarkeit */
.sw-row{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}
.sw-text{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--text)}
.sw-text small{font-size:12.5px;color:var(--muted);line-height:1.45;font-weight:400}
.sw{position:relative;flex:0 0 auto;width:46px;height:26px;display:inline-block}
.sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.sw-track{position:absolute;inset:0;background:#0a0907;border:1px solid var(--border);border-radius:999px;transition:.18s}
.sw-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:var(--silver-dim);transition:.18s}
.sw input:checked + .sw-track{background:linear-gradient(145deg,#2a2d35,#15161a);border-color:var(--silver-dim)}
.sw input:checked + .sw-track::after{left:23px;background:var(--silver-hi)}
.sw input:focus-visible + .sw-track{box-shadow:0 0 0 3px rgba(136,142,152,.18)}

/* =====================================================================
   Skulptur-Hintergrund pro Klient-Hauptseite (Fade-In + Slide-Up)
   ===================================================================== */
/* Feine Silber-Partikel im Hintergrund (nur Klient-Ansicht) */
#bg-particles{display:none;position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
body.client-active #bg-particles{display:block}

#client-sculpt{display:none;position:fixed;left:0;right:0;top:0;bottom:0;z-index:0;pointer-events:none;opacity:0}
body.client-active #client-sculpt.show{display:block;animation:sculptIn 1.6s cubic-bezier(.2,.7,.2,1) forwards}
#client-sculpt img{position:absolute;bottom:0;height:88vh;max-height:780px;width:auto;display:block;
  filter:grayscale(1) contrast(1.04)}
#client-sculpt.side-left img{left:-3%;
  -webkit-mask-image:linear-gradient(95deg,#000 18%,transparent 78%);mask-image:linear-gradient(95deg,#000 18%,transparent 78%)}
#client-sculpt.side-right img{right:-3%;
  -webkit-mask-image:linear-gradient(265deg,#000 18%,transparent 78%);mask-image:linear-gradient(265deg,#000 18%,transparent 78%)}
@keyframes sculptIn{from{opacity:0;transform:translateY(40px)}to{opacity:.20;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  body.client-active #client-sculpt.show{animation:none;opacity:.20;transform:none}
}

/* =====================================================================
   Coach: "+"-Button (neuer Klient) & wiederverwendbares Modal
   ===================================================================== */
.section-head #coach-count{margin-right:auto;margin-left:12px}
.coach-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}
.add-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;
  background:linear-gradient(145deg,#2a2d35,#15161a);border:1px solid var(--border);color:var(--silver-hi);
  border-radius:10px;cursor:pointer;transition:.15s}
.add-btn:hover{border-color:var(--silver-dim);background:linear-gradient(145deg,#31343d,#1a1c20);color:var(--gold-hi);transform:scale(1.06)}
.add-btn svg{width:18px;height:18px;display:block}
.add-btn .ic-bell{width:15px;height:15px}
/* Glocke im Nudge-Button (Erinnerung senden) – etwas kleiner */
.btn-mini.nudge-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 11px}
.btn-mini.nudge-btn svg{width:14px;height:14px;display:block}
/* Kleinerer, unauffaelligerer Auswahl-Button */
.add-btn.add-btn-sm{width:28px;height:28px;border-radius:8px;color:var(--silver-dim);
  background:linear-gradient(145deg,#212329,#141519);opacity:.85}
.add-btn.add-btn-sm:hover{opacity:1;transform:scale(1.05)}
.add-btn.add-btn-sm svg{width:15px;height:15px}
.add-btn.on{border-color:var(--gold);color:var(--gold-hi);opacity:1}
[hidden]{display:none!important}
/* Auswahl-Spalte in der Kliententabelle (nur im Auswahlmodus sichtbar, rechts angedockt) */
.ctable th.sel-col,.ctable td.sel-col{display:none;position:sticky;right:0;text-align:center;
  background:var(--surface);border-left:1px solid var(--border);width:52px}
.ctable tbody tr:hover td.sel-col{background:#17181d}
.ctable.selecting th.sel-col,.ctable.selecting td.sel-col{display:table-cell}
/* Auswahl-Haken im gleichen Design wie die Routinen-Haken */
.sel-check{width:26px;height:26px;border-radius:8px;border:2px solid var(--border);background:#0a0907;
  display:grid;place-items:center;cursor:pointer;transition:.15s;margin:0 auto;touch-action:manipulation}
.sel-check svg{width:15px;height:15px;opacity:0;pointer-events:none}
.sel-check.on{background:linear-gradient(145deg,var(--green),#3d8a5f);border-color:var(--green)}
.sel-check.on svg{opacity:1}
.sel-check:hover{border-color:var(--silver-dim)}
.sel-check:active{transform:scale(.88)}

/* ===================================================================
   Kompass (Vision & Wochen-Check)
   =================================================================== */
.komp-card{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:16px;padding:18px 20px;margin-bottom:18px}
.komp-card h3{margin:0 0 12px;font-family:var(--serif);font-size:16px;color:var(--silver-hi);letter-spacing:.4px}
.komp-sub,.komp-card h3 .komp-sub{font-family:var(--sans,inherit);font-size:12px;color:var(--silver-dim);font-weight:400;letter-spacing:0;margin-left:8px}
.komp-wheel{display:block;width:min(340px,86vw);height:auto;margin:4px auto 0}
@media(max-width:640px){ .komp-wheel{transform:translateX(-8px)} }
.komp-empty{text-align:center;color:var(--silver-dim);font-size:13px;padding:26px 10px;line-height:1.5}
.komp-groups{display:flex;flex-direction:column;gap:16px}
.komp-ghead{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--silver-dim);margin-bottom:8px}
.komp-gdot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.komp-area{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
  background:#15161b;border:1px solid var(--border);border-radius:11px;padding:11px 13px;margin-bottom:7px;transition:.14s;color:inherit}
.komp-area:hover{border-color:var(--silver-dim);background:#191b21}
.komp-area-nm{font-size:14px;color:var(--silver-hi);flex:0 0 92px;font-weight:600}
.komp-area-goal{font-size:13px;color:#cfd3dd;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.komp-area-goal.muted{color:var(--silver-dim);font-style:italic}
.komp-chev{width:14px;height:14px;color:var(--silver-dim);flex:0 0 auto}
/* Editor / Check overlay */
.komp-editor{width:min(560px,calc(100vw - 40px));max-height:88vh;display:flex;flex-direction:column}
.komp-editor .rday-head h3{display:flex;align-items:center;gap:9px}
.komp-edscroll{overflow-y:auto;padding:2px 2px 6px;flex:1 1 auto}
.komp-fld{margin-bottom:14px}
.komp-fld label{display:block;font-size:13px;color:var(--silver-hi);font-weight:600;margin-bottom:3px}
.komp-req{color:var(--gold-hi)} .komp-opt{color:var(--silver-dim);font-weight:400;font-size:11px}
.komp-hint{font-size:11.5px;color:var(--silver-dim);margin-bottom:6px}
.komp-fld textarea{width:100%;resize:none;overflow:hidden;min-height:44px;background:#0e0f13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;padding:9px 11px;font:inherit;font-size:13.5px;line-height:1.45}
.komp-fld textarea:focus{outline:none;border-color:var(--gold)}
.komp-edfoot{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:12px;border-top:1px solid var(--border-soft);margin-top:4px}
.komp-checkintro{font-size:12.5px;color:var(--silver-dim);margin-bottom:14px;line-height:1.5}
.komp-checkintro-s{display:block;margin-top:2px;font-size:11.5px;opacity:.8}
.komp-cgroup{margin-bottom:16px}
.komp-slrow{background:#15161b;border:1px solid var(--border);border-radius:11px;padding:11px 13px;margin-bottom:8px}
.komp-slhead{display:flex;align-items:baseline;justify-content:space-between}
.komp-slname{font-size:14px;color:var(--silver-hi);font-weight:600}
.komp-slval{font-size:16px;color:var(--gold-hi);font-family:var(--serif)}
.komp-slgoal{font-size:11.5px;color:var(--silver-dim);margin:2px 0 8px;line-height:1.4}
.komp-slider{width:100%;margin-top:8px;accent-color:var(--gold-hi)}
/* Vision-Editor (Berg-Aufstieg + Rail) */
.komp-edhead{display:flex;align-items:center;justify-content:space-between;margin:4px 0 14px}
.komp-back{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;color:var(--silver-dim);cursor:pointer;font-family:var(--serif);font-size:13px;letter-spacing:.3px}
.komp-back svg{width:13px;height:13px;transform:rotate(180deg)}
.komp-back:hover{color:var(--gold-hi)}
.komp-edprog{font-size:12px;color:var(--silver-dim)}
.komp-fillwrap{display:flex;gap:12px;align-items:flex-start}
.komp-edcard{flex:1 1 auto;min-width:0;margin-bottom:0}
.komp-edtitle{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:18px;color:var(--silver-hi);margin-bottom:14px}
.komp-climb{display:flex;gap:16px;align-items:flex-start;margin:8px 0 16px;background:#0d0f16;border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.komp-mtn{flex:0 0 240px;min-width:0}
.komp-mtn-svg{display:block;width:100%;height:auto}
.komp-rungs{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:11px}
.komp-rung label{display:block;font-size:12px;color:var(--gold);margin-bottom:4px;letter-spacing:.3px}
.komp-rung textarea{width:100%;resize:none;overflow:hidden;min-height:52px;background:#0b0d13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;padding:9px 11px;font:inherit;font-size:13px;line-height:1.45}
.komp-rung textarea:focus{outline:none;border-color:var(--gold)}
.komp-edfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border-soft)}
@media(max-width:600px){ .komp-climb{flex-direction:column;align-items:center} .komp-mtn{flex:0 0 auto;width:auto} .komp-mtn-svg{width:auto;height:210px;margin:0 auto} .komp-rungs{flex:1 1 auto;max-width:100%;width:100%} }
/* Wochen-Check CTA (Text links, Button rechts, vertikal zentriert) */
.komp-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:14px;padding:16px 18px;margin-bottom:18px}
.komp-cta.done{border-color:rgba(107,191,115,.28)}
.komp-cta-txt{min-width:0}
.komp-cta-t{font-family:var(--serif);font-size:15px;color:var(--silver-hi);letter-spacing:.4px}
.komp-cta-t .chk{color:var(--green);font-style:normal}
.komp-cta-s{font-size:12px;color:var(--silver-dim);margin-top:4px}
.komp-cta-btn{flex:0 0 auto}
@media(max-width:560px){ .komp-cta{flex-direction:column;align-items:stretch} .komp-cta-btn{width:100%} }
/* Inline-Detailpanel unter einem Bereich */
.komp-detpanel{background:#0d0f16;border:1px solid var(--border);border-radius:11px;padding:6px 14px 12px;margin:-2px 0 9px}
.komp-detbtn svg{transition:transform .18s}
.komp-detbtn.open svg{transform:rotate(180deg)}
.komp-dettop{display:flex;align-items:stretch;gap:8px;margin:12px 0 6px}
.komp-dettop .komp-detrating{flex:1 1 auto;margin-bottom:0}
.komp-detedit{flex:0 0 auto;margin-left:auto;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#15161b;border:1px solid var(--border);border-radius:10px;color:var(--silver-dim);cursor:pointer;transition:.14s}
.komp-detedit:hover{border-color:var(--silver-dim);color:var(--gold-hi);background:#191b21}
.komp-detedit svg{width:16px;height:16px}
/* Übersicht: Detail-Button (Pfeil nach unten) neben jedem Bereich */
.komp-arearow{display:flex;align-items:stretch;gap:7px;margin-bottom:7px}
.komp-arearow .komp-area{margin-bottom:0;flex:1 1 auto}
.komp-detbtn{flex:0 0 auto;width:40px;display:flex;align-items:center;justify-content:center;background:#15161b;border:1px solid var(--border);border-radius:11px;color:var(--silver-dim);cursor:pointer;transition:.14s}
.komp-detbtn:hover{border-color:var(--silver-dim);color:var(--gold-hi);background:#191b21}
.komp-detbtn svg{width:15px;height:15px}
/* Detailansicht */
.komp-detrating{display:flex;align-items:center;gap:8px;background:#15161b;border:1px solid var(--border);border-radius:10px;padding:10px 13px;margin-bottom:14px}
.komp-detrating span{font-size:12px;color:var(--silver-dim)}
.komp-detrating b{font-family:var(--serif);font-size:18px}
.komp-detrating small{color:var(--silver-dim);font-size:11px;margin-left:auto}
.komp-detitem{padding:11px 0;border-bottom:1px solid var(--border-soft)}
.komp-detitem:last-child{border-bottom:0}
.komp-detlab{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
.komp-detval{font-size:14px;color:#e6e8ee;line-height:1.5;white-space:pre-wrap}
/* Ziel-Archiv / Bilanz */
.komp-archwrap{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-soft)}
.komp-archhead{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.komp-archrow{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:12.5px}
.komp-archper{flex:0 0 60px;color:var(--silver-dim)}
.komp-archtext{flex:1 1 auto;color:#cfd3dd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.komp-archmark{flex:0 0 auto;font-weight:600}
.komp-archmark.ok{color:var(--green)} .komp-archmark.no{color:#c96b64}
/* Monats-/Jahreswechsel Review */
.komp-rvrow{background:#15161b;border:1px solid var(--border);border-radius:11px;padding:12px 13px;margin-bottom:11px}
.komp-rvhead{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:15px;color:var(--silver-hi)}
.komp-rvhead small{font-family:var(--sans,inherit);color:var(--silver-dim);font-size:11px;letter-spacing:.3px}
.komp-rvold{font-size:13px;color:#cfd3dd;font-style:italic;margin:6px 0 10px;line-height:1.4}
.komp-rvtoggle{display:flex;gap:8px;margin-bottom:11px}
.komp-rvbtn{flex:1 1 0;appearance:none;font:inherit;font-size:12.5px;padding:8px;border-radius:9px;background:#0e0f13;border:1px solid var(--border);color:var(--silver-dim);cursor:pointer;transition:.14s}
.komp-rvbtn.ok.sel{background:linear-gradient(145deg,var(--green),#3d8a5f);border-color:var(--green);color:#04231a}
.komp-rvbtn.no.sel{background:#3a2020;border-color:#7a3b39;color:#e7a59c}
.komp-rvlab{display:block;font-size:12px;color:var(--gold);margin-bottom:4px}
.komp-rvnew{width:100%;resize:vertical;min-height:44px;background:#0b0d13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;padding:8px 10px;font:inherit;font-size:13px;line-height:1.4}
.komp-rvnew:focus{outline:none;border-color:var(--gold)}
.komp-rvbtn.ok.sel{animation:komppop .3s ease}
@keyframes komppop{0%{transform:scale(1)}45%{transform:scale(1.08)}100%{transform:scale(1)}}
/* Erfolgs-Funken */
.komp-burst{position:fixed;z-index:120;pointer-events:none;width:0;height:0}
.komp-burst i{position:absolute;left:0;top:0;width:7px;height:7px;border-radius:50%;background:#f0c65a;transform:translate(-50%,-50%);animation:kompspark .8s ease-out forwards}
@keyframes kompspark{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.3)}}
/* Ziel-abhaken Link */
.komp-linkbtn{margin-left:auto;background:transparent;border:1px solid var(--border);color:var(--gold-hi);font-family:var(--serif);font-size:12px;letter-spacing:.3px;padding:5px 12px;border-radius:9px;cursor:pointer;transition:.14s}
.komp-linkbtn:hover{border-color:var(--gold);background:#191b21}
.komp-card h3, .komp-vh{display:flex;align-items:center}
/* Zoom-Steuerung (Charts) */
.komp-zoom{margin-left:auto;display:inline-flex;gap:5px}
.komp-zoom button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;background:#15161b;border:1px solid var(--border);color:var(--silver-dim);border-radius:8px;cursor:pointer;font-family:var(--sans,inherit);transition:.14s}
.komp-zoom button:hover{border-color:var(--silver-dim);color:var(--silver-hi)}
.komp-zoom button.on{border-color:var(--gold);color:var(--gold-hi);background:#191b21}
/* Rollover-Footer: "Übernehmen" volle Breite, minimal höher */
.komp-rvfoot{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px}
.komp-rvfoot .btn-save{width:100%}
.komp-rvfoot .set-msg{text-align:center}
.komp-zoom button:disabled{opacity:.35;cursor:default}
.komp-zoom button:disabled:hover{border-color:var(--border);color:var(--silver-dim)}
/* Verlauf-Chart-Container: eigener Kasten wie beim Emotions-Chart (#emo-chart) + relativ fuer feste Y-Achse/Tooltip */
#komp-trend{position:relative;background:#0d0e12;border:1px solid var(--border-soft);border-radius:12px;overflow:hidden;margin-bottom:14px}
/* Chips (3 Gruppen) unter dem Graf – auf dem Handy je Button eine eigene Zeile (spez. gg. .emo-chips-Mobilregel) */
@media(max-width:640px){ .emo-chips.komp-chips3{grid-template-columns:1fr} }
/* Vision-Karten-Kopf: Titel + Zähler + Button; Desktop eine Zeile, Handy Zähler in 2. Zeile */
.komp-vision-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:12px}
.komp-vision-title{font-family:var(--serif);font-size:16px;color:var(--silver-hi);letter-spacing:.4px}
.komp-vision-sub{margin-left:0}
.komp-linkbtn{white-space:nowrap}
.komp-vbtn{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.komp-vbtn svg{display:none;width:15px;height:15px}
@media(max-width:640px){
  .komp-vision-head{gap:3px 12px}
  .komp-vision-title{order:1}
  .komp-vbtn{order:2}
  .komp-vision-sub{order:3;flex-basis:100%}
  .komp-vbtn .komp-vbtn-tx{display:none}
  .komp-vbtn svg{display:block}
  .komp-vbtn{padding:6px 10px}
}
/* Unvollständige Bereiche (nicht alle Felder gefüllt) leicht eingerahmt */
.komp-area-todo{border-color:rgba(217,165,33,.42);box-shadow:inset 0 0 0 1px rgba(217,165,33,.10)}
.komp-area-todo:hover{border-color:rgba(217,165,33,.7)}

.cm-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;
  background:rgba(6,5,4,.66);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .2s}
.cm-overlay.show{opacity:1}
.cm-box{width:min(720px,96vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;
  background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:18px;
  box-shadow:var(--shadow);transform:translateY(12px);transition:transform .2s}
.cm-overlay.show .cm-box{transform:translateY(0)}
.cm-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;border-bottom:1px solid var(--border-soft)}
.cm-head h2{margin:0;font-family:var(--serif);font-size:16px;letter-spacing:.5px;color:var(--silver-hi)}
#coach-modal-body{flex:1 1 auto;overflow-y:auto;padding:20px}
#coach-modal-body > div{margin:0}
#coach-modal-body .greeting{display:none}
#coach-modal-body .set-card:last-child{margin-bottom:0}
#coach-modal-body .set-head{margin-top:0}

/* ===================================================================
   Emotionales Tracking (Monats-Check + Cluster-Verlauf)
   =================================================================== */
.emo-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);
  border-radius:14px;padding:16px 18px;margin-bottom:20px}
.emo-cta.done{border-color:rgba(107,191,115,.28)}
.emo-cta-t{font-family:var(--serif);font-size:15px;color:var(--silver-hi);letter-spacing:.4px}
.emo-cta-t .chk{color:var(--green);font-style:normal;margin-right:4px}
.emo-cta-s{font-size:12px;color:var(--silver-dim);margin-top:4px}
.emo-fill{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:16px;padding:20px}
.emo-fhead{display:grid;grid-template-columns:1fr auto;align-items:start;column-gap:12px;row-gap:3px;margin-bottom:14px}
.emo-fhead .emo-kick{grid-column:1;grid-row:1;min-width:0}
.emo-fhead .emo-prog{grid-column:2;grid-row:1}
.emo-fhead .emo-title{grid-column:1 / -1;grid-row:2;min-width:0}
.emo-kick{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}
.emo-title{font-family:var(--serif);font-size:21px;color:#f2ede1;margin-top:3px}
.emo-prog{text-align:right;min-width:110px}
.emo-prognum{font-size:12px;color:var(--silver-dim);margin-bottom:6px}
.emo-progbar{height:6px;border-radius:99px;background:#0a0907;border:1px solid var(--border-soft);overflow:hidden}
.emo-progbar>i{display:block;height:100%;background:linear-gradient(90deg,#9a6516,var(--gold-hi))}
.emo-scalekey{display:flex;justify-content:space-between;font-size:11px;color:var(--silver-dim);margin:2px 2px 8px}
.emo-qrow{padding:13px 0;border-bottom:1px solid var(--border-soft)}
.emo-qrow:last-child{border-bottom:0}
.emo-qtext{font-size:14px;line-height:1.5;color:#dfe1e7;margin-bottom:11px}
.emo-seg{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-width:320px}
.emo-seg button{appearance:none;font:inherit;font-size:14px;height:38px;border-radius:9px;cursor:pointer;background:#1b1d26;border:1px solid var(--border);color:var(--silver-dim);transition:.12s}
.emo-seg button:hover{border-color:var(--gold)}
.emo-seg button.on{background:linear-gradient(180deg,#d5d9e0,#aab0bd);border-color:#e2e6ec;color:#15171c;font-weight:600}
.emo-ffoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;flex-wrap:wrap}
.emo-ffoot .ghost{opacity:.7}
.emo-warn{font-size:12.5px;color:#e7b3ab;background:rgba(199,90,80,.12);border:1px solid rgba(199,90,80,.25);border-radius:9px;padding:9px 11px;margin-bottom:12px}
.emo-legendhint{font-size:11.5px;color:var(--silver-dim);margin-bottom:10px}
#emo-chart{position:relative;background:#0d0e12;border:1px solid var(--border-soft);border-radius:12px;overflow:hidden;margin-bottom:14px}
.emo-chart-empty{display:flex;align-items:center;justify-content:center;text-align:center;min-height:170px;padding:24px 18px;
  font-family:var(--serif);font-size:16px;letter-spacing:.3px;color:var(--silver-dim)}
.emo-chart-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.emo-chart-scroll svg{display:block}
.emo-chart-scroll::-webkit-scrollbar{height:7px}
.emo-chart-scroll::-webkit-scrollbar-thumb{background:#2a2d38;border-radius:8px}
.emo-yaxis{position:absolute;left:0;top:0;height:100%;pointer-events:none;z-index:2;background:linear-gradient(90deg,#0d0e12 72%,rgba(13,14,18,0))}
.emo-tip{position:absolute;left:0;top:0;pointer-events:none;opacity:0;transition:opacity .1s;z-index:6;
  background:#15161c;border:1px solid #2b2e3a;border-radius:9px;padding:8px 10px;min-width:118px;
  box-shadow:0 10px 26px rgba(0,0,0,.55)}
.emo-tip-h{font-size:11px;letter-spacing:.5px;color:var(--silver-dim);margin-bottom:6px}
.emo-tip-r{display:flex;align-items:center;gap:8px;padding:2px 0}
.emo-tip-d{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.emo-tip-n{flex:1;white-space:nowrap;font-size:12.5px;color:#dfe1e7}
.emo-tip-v{font-family:var(--serif);font-size:13px;color:#f2ede1;margin-left:12px}
.emo-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.emo-chip{appearance:none;font:inherit;font-size:12px;padding:8px 24px 8px 38px;border-radius:16px;cursor:pointer;background:#1b1d26;border:1px solid var(--border);color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:.12s;min-height:48px;line-height:1.25;text-align:center;position:relative}
.emo-chip .emo-dot{width:9px;height:9px;border-radius:50%;position:absolute;left:14px;top:calc(50% + 1px);transform:translateY(-50%)}
.emo-chip.dim{opacity:.38}
.emo-chip.on{border-color:var(--silver-dim)}
.emo-panel{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border-soft);border-radius:12px;padding:14px 16px}
.emo-ptitle{font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--silver-dim);margin-bottom:8px}
.emo-prow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border-soft)}
.emo-prow:last-child{border-bottom:0}
.emo-pname{font-size:14px;color:#dfe1e7}
.emo-pval{display:inline-flex;align-items:center;gap:12px}
.emo-pscore{font-family:var(--serif);font-size:16px;color:#f2ede1;min-width:26px;text-align:right}
.emo-delta{font-size:12.5px;min-width:30px;text-align:right}
.emo-delta.down{color:var(--green)}
.emo-delta.up{color:var(--red)}
.emo-delta.flat{color:var(--silver-dim)}

/* --- Emotion: Ausfüll-Seitenleiste (Rail) --- */
.emo-fill-wrap{display:flex;gap:16px;align-items:flex-start;position:relative}
.emo-card{flex:1;min-width:0}
.emo-rail{position:relative;flex:0 0 auto;width:16px}
.emo-rail-strip{display:flex;flex-direction:column;gap:5px;padding:2px 0}
.emo-rtick{appearance:none;padding:0;cursor:pointer;display:block;height:9px;width:16px;border-radius:5px;background:#191b23;border:1px solid #2a2d38;transition:.12s}
.emo-rtick.done{background:linear-gradient(180deg,#cfd3db,#a7adba);border-color:#cfd3db}
.emo-rtick.cur{outline:2px solid var(--gold-hi);outline-offset:1px}
.emo-rgsep{height:7px}
.emo-rail-full{position:fixed;left:0;top:0;width:252px;max-height:74vh;overflow-y:auto;overscroll-behavior:contain;background:#111219;border:1px solid var(--border);border-radius:12px;padding:8px 10px 12px;opacity:0;pointer-events:none;transition:opacity .16s;z-index:60;box-shadow:0 16px 42px rgba(0,0,0,.6)}
.emo-rail.open .emo-rail-full{opacity:1;pointer-events:auto}
.emo-rglabel{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--rc,#9aa0ad);margin:12px 4px 3px;opacity:.9}
.emo-rglabel:first-child{margin-top:2px}
.emo-rrow{display:flex;align-items:center;gap:9px;width:100%;text-align:left;appearance:none;background:transparent;border:0;cursor:pointer;padding:6px;border-radius:8px;color:var(--silver-dim)}
.emo-rrow:hover{background:rgba(255,255,255,.04)}
.emo-rrow .emo-rdot{width:9px;height:9px;border-radius:3px;background:#191b23;border:1px solid #2a2d38;flex:0 0 auto}
.emo-rrow.done{color:#e2e4ea}
.emo-rrow.done .emo-rdot{background:linear-gradient(180deg,#cfd3db,#a7adba);border-color:#cfd3db}
.emo-rrow.cur{background:rgba(198,165,99,.12)}
.emo-rrow .emo-rname{font-size:13px;line-height:1.3}

/* --- Emotion: "Erledigt"-Animation --- */
.emo-done-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(6,5,4,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s}
.emo-done-overlay.show{opacity:1}
.emo-done-card{text-align:center;transform:scale(.88);transition:transform .38s cubic-bezier(.2,.85,.25,1)}
.emo-done-overlay.show .emo-done-card{transform:scale(1)}
.emo-done-ring{width:104px;height:104px;margin:0 auto 20px;border-radius:50%;border:2px solid rgba(226,184,74,.45);
  display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 0 rgba(226,184,74,.35);animation:emoPulse 1.8s ease-out .2s infinite}
.emo-done-check{width:56px;height:56px}
.emo-done-check path{stroke:var(--gold-hi);stroke-width:7;fill:none;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:70;stroke-dashoffset:70;animation:emoDraw .55s .28s cubic-bezier(.65,0,.35,1) forwards}
.emo-done-t{font-family:var(--serif);font-size:25px;letter-spacing:2px;color:#f2ede1}
.emo-done-s{font-size:13px;color:var(--silver-dim);margin-top:7px}
@keyframes emoDraw{to{stroke-dashoffset:0}}
@keyframes emoPulse{0%{box-shadow:0 0 0 0 rgba(226,184,74,.35)}70%{box-shadow:0 0 0 22px rgba(226,184,74,0)}100%{box-shadow:0 0 0 0 rgba(226,184,74,0)}}

/* --- Emotion: zwei scrollbare Panels + Filter --- */
.emo-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.emo-scroll .emo-plist{max-height:300px;overflow-y:auto;padding-right:6px}
.emo-scroll .emo-plist::-webkit-scrollbar{width:8px}
.emo-scroll .emo-plist::-webkit-scrollbar-thumb{background:#2a2d38;border-radius:8px}
.emo-phead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;min-height:34px}
.emo-phead .emo-ptitle{margin-bottom:0}
.emo-select{appearance:none;background:#1b1d26;border:1px solid var(--border);color:var(--text);font:inherit;font-size:12px;
  border-radius:8px;padding:6px 10px;cursor:pointer}
.emo-pnote{font-size:12.5px;color:var(--silver-dim);padding:8px 2px;line-height:1.5}

@media(max-width:640px){
  .emo-panels{grid-template-columns:1fr}
  .emo-chips{grid-template-columns:repeat(2,1fr)}
}

/* --- Emotion: CTA-Zeile + Katalog (frühere Monate) --- */
.emo-cta-row{display:flex;gap:12px;align-items:stretch;margin-bottom:20px}
.emo-cta-row .emo-cta{flex:1;margin-bottom:0}
.emo-cat{flex:0 0 auto;width:58px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--surface),#0e0f13);
  border:1px solid var(--border-soft);border-radius:14px;color:var(--silver-dim);cursor:pointer;transition:.14s}
.emo-cat:hover{color:var(--silver-hi);border-color:var(--border)}
.emo-cat svg{width:24px;height:24px;display:block}
.emo-cat-modal{width:min(460px,94vw)}
.emo-cat-list{display:flex;flex-direction:column;gap:6px;max-height:56vh;overflow:auto;margin-bottom:12px}
.emo-cat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;appearance:none;
  background:#15161c;border:1px solid var(--border-soft);border-radius:11px;padding:12px 14px;cursor:pointer;transition:.12s}
.emo-cat-row:hover{border-color:var(--gold);background:#181a22}
.emo-cat-mon{font-family:var(--serif);font-size:15px;color:#f2ede1;letter-spacing:.4px}
.emo-cat-meta{font-size:12px;color:var(--silver-dim);white-space:nowrap}
.emo-cat-note{font-size:11.5px;color:var(--silver-dim);text-align:center}
/* Kompass: tabellarische Verlaufs-Historie */
.komp-hist-modal{width:min(600px,96vw)}
.komp-hist-wrap{overflow:auto;max-height:58vh;-webkit-overflow-scrolling:touch;margin-bottom:12px;border:1px solid var(--border-soft);border-radius:10px}
.komp-hist{border-collapse:collapse;width:100%;font-size:12.5px}
.komp-hist th,.komp-hist td{padding:8px 7px;text-align:center;white-space:nowrap;border-bottom:1px solid var(--border-soft)}
.komp-hist thead th{position:sticky;top:0;background:#12131a;font-weight:600;font-size:11px;letter-spacing:.4px;z-index:2}
.komp-hist tbody tr{cursor:pointer;transition:background .12s}
.komp-hist tbody tr:hover{background:#181a22}
.komp-hist tbody tr:last-child td{border-bottom:0}
.komp-hist td{color:#dfe3ea}
.komp-hist-kw{position:sticky;left:0;background:#12131a;text-align:left!important;font-family:var(--serif);color:var(--silver-hi);padding-left:12px!important;z-index:1}
.komp-hist tbody tr:hover .komp-hist-kw{background:#181a22}
.komp-hist-kw small{color:var(--silver-dim);margin-left:3px;font-family:var(--sans,inherit);font-size:10px}
/* ===== Planung — Kalender ===== */
.plan-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.plan-gbtn{flex:0 0 auto;background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border);color:var(--silver-hi);font-family:var(--serif);font-size:12.5px;letter-spacing:.3px;padding:8px 14px;border-radius:10px;cursor:pointer;transition:.14s}
.plan-gbtn:hover{border-color:var(--gold);color:var(--gold-hi)}
.plan-conns{display:flex;gap:8px;flex-wrap:wrap;flex:0 0 auto}
.plan-apple-hint{font-size:12.5px;color:var(--silver-dim);line-height:1.5;background:#15161b;border:1px solid var(--border);border-radius:10px;padding:11px 13px}
.plan-apple-hint b{color:var(--silver-hi);font-weight:600}
.plan-apple-meta{font-size:12px;color:var(--silver-dim)}
.plan-apple-err{font-size:12px;color:#c96b64}
.plan-gbtn.on{border-color:rgba(87,201,138,.5);color:#7fd6a3}
.plan-gbtn.on:hover{border-color:#57c98a;color:#8fe0b0}
.plan-toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,10px);z-index:150;background:linear-gradient(180deg,#1b2a20,#12180f);border:1px solid rgba(87,201,138,.4);color:#dff3e6;font-size:13px;padding:11px 18px;border-radius:11px;box-shadow:0 8px 24px rgba(0,0,0,.4);opacity:0;transition:.3s;pointer-events:none}
.plan-toast.show{opacity:1;transform:translate(-50%,0)}
.plan-toast.err{background:linear-gradient(180deg,#2a1616,#180f0f);border-color:rgba(201,107,100,.45);color:#f0d3cf}
.plan-card{padding:16px 16px 18px}
.plan-nav{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.plan-arrow{width:34px;height:34px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:#15161b;border:1px solid var(--border);border-radius:9px;color:var(--silver-hi);cursor:pointer}
.plan-arrow svg{width:15px;height:15px}
.plan-arrow:hover{border-color:var(--silver-dim)}
.plan-title{font-family:var(--serif);font-size:17px;color:var(--silver-hi);letter-spacing:.4px;min-width:140px}
.plan-today{background:transparent;border:1px solid var(--border);color:var(--silver-dim);border-radius:9px;padding:7px 12px;font:inherit;font-size:12px;cursor:pointer}
.plan-today:hover{border-color:var(--silver-dim);color:var(--silver-hi)}
.plan-add{margin:0 0 0 auto!important;flex:0 0 auto;padding:8px 14px}
.plan-wd{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.plan-wd span{text-align:center;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim)}
.plan-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.plan-cell{min-height:84px;background:#15161b;border:1px solid var(--border);border-radius:10px;padding:5px;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:2px;transition:.12s}
.plan-cell:hover{border-color:var(--silver-dim)}
.plan-cell.other{opacity:.4}
.plan-cell.today{border-color:var(--gold)}
.plan-cell.sel{background:#191b21;border-color:var(--gold-hi);box-shadow:inset 0 0 0 1px rgba(217,165,33,.3)}
.plan-daynum{font-size:12px;color:var(--silver-hi);font-weight:600;line-height:1}
.plan-cell.today .plan-daynum{color:var(--gold-hi)}
.plan-chip{font-size:10px;line-height:1.35;color:#e6e8ee;background:var(--cbg);border-left:3px solid var(--c);border-radius:4px;padding:1.5px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-chip.past{opacity:.45}
.plan-chip.live{box-shadow:0 0 0 1px var(--c)}
.plan-more{font-size:9.5px;color:var(--silver-dim);padding-left:3px}
.plan-agenda h3{margin:0 0 12px;font-family:var(--serif);font-size:15px;color:var(--silver-hi)}
.plan-empty{color:var(--silver-dim);font-size:13px;padding:8px 0}
.plan-ag-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#15161b;border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:7px;cursor:pointer;color:inherit;transition:.12s}
.plan-ag-row:hover{border-color:var(--silver-dim);background:#191b21}
.plan-ag-bar{flex:0 0 auto;width:4px;align-self:stretch;border-radius:3px}
.plan-ag-time{flex:0 0 auto;font-size:12px;color:var(--silver-dim);min-width:96px}
.plan-ag-title{flex:1 1 auto;font-size:13.5px;color:#e6e8ee;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-ag-loc{color:var(--silver-dim);font-size:12px}
.plan-ag-ro{flex:0 0 auto;font-size:12px;opacity:.7}
/* Ziehen: Griff + Zustand */
/* Im Raster nie Text markieren - sonst startet am Handy die Textauswahl statt des Ziehens */
.plan-tgrid{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
/* pan-y: senkrecht scrollen bleibt moeglich, auch wenn der Finger auf einem Block startet */
.plan-tev,.plan-rt,.plan-rz{touch-action:pan-y}
.plan-tev.armed,.plan-rt.armed{outline:1px solid var(--gold);outline-offset:1px}
.plan-tev{cursor:grab}
.plan-tev:active{cursor:grabbing}
.plan-rz{position:absolute;left:0;right:0;bottom:0;height:8px;cursor:ns-resize}
.plan-rz::after{content:"";position:absolute;left:50%;bottom:2px;transform:translateX(-50%);width:22px;height:2px;border-radius:2px;background:currentColor;opacity:0;transition:.12s}
.plan-tev:hover .plan-rz::after{opacity:.45}
.plan-tev.dragging,.plan-rt.dragging{opacity:.85;box-shadow:0 8px 22px rgba(0,0,0,.5);z-index:9;cursor:grabbing}
/* Klickbare Zeit-Auswahl */
.plan-tsel{position:relative}
.plan-tsel-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#0e0f13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;padding:9px 11px;font:inherit;font-size:14px;cursor:pointer;transition:.14s}
.plan-tsel-btn:hover{border-color:var(--silver-dim)}
.plan-tsel.open .plan-tsel-btn{border-color:var(--gold)}
.plan-tsel-btn svg{width:11px;height:11px;color:var(--silver-dim);flex:0 0 auto;transition:transform .18s}
.plan-tsel.open .plan-tsel-btn svg{transform:rotate(180deg)}
.plan-tsel-btn:disabled{opacity:.6;cursor:default}
.plan-tsel-menu{position:absolute;left:0;right:0;top:calc(100% + 5px);max-height:216px;overflow-y:auto;z-index:40;display:none;
  background:#15161b;border:1px solid var(--border);border-radius:11px;padding:5px;box-shadow:0 12px 30px rgba(0,0,0,.55)}
.plan-tsel.open .plan-tsel-menu{display:block}
.plan-tsel-o{display:block;width:100%;text-align:center;background:transparent;border:0;color:#cfd3dd;font:inherit;font-size:13.5px;padding:7px 4px;border-radius:7px;cursor:pointer}
.plan-tsel-o:hover{background:#1c1e25;color:#fff}
.plan-tsel-o.on{background:rgba(217,165,33,.16);color:var(--gold-hi);font-weight:600}
/* Ganztaegig-Schalter */
.plan-switchrow{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#15161b;border:1px solid var(--border);border-radius:10px;padding:10px 13px;font-size:13.5px;color:var(--silver-hi);cursor:pointer}
.plan-switchrow small{display:block;font-size:11.5px;color:var(--silver-dim);margin-top:2px}
.plan-switchrow.is-off{opacity:.55;cursor:default}
/* Abhaken im Routinen-Fenster - gleiche Bedienung wie im Dashboard */
.plan-rtcheck{background:#15161b;border:1px solid var(--border);border-radius:10px;padding:9px 12px;border-bottom:1px solid var(--border)}
.plan-rtcheck.is-off{opacity:.55}
.plan-rtcheck.is-off .check{pointer-events:none}
/* Routine ohne festgelegte Zeit */
.plan-rtchip.nozeit{border-color:rgba(224,115,111,.55);color:#e0736f;background:rgba(224,115,111,.08)}
/* Routine liegt unter einem Termin: nach rechts versetzt, ragt heraus und bleibt anklickbar */
.plan-rt.over{left:26%;right:-9px;z-index:2}
.plan-rt.over .plan-rt-t{padding-left:2px}
/* Aufziehen eines neuen Termins */
.plan-ghost{position:absolute;left:2px;right:3px;z-index:6;border-radius:6px;pointer-events:none;
  background:rgba(217,165,33,.20);border:1px dashed var(--gold);display:flex;align-items:flex-start;justify-content:center;padding-top:2px}
.plan-ghost span{font-size:10.5px;font-weight:700;color:var(--gold-hi);letter-spacing:.3px}
/* Leere Zeitauswahl */
.plan-tsel.leer .plan-tsel-v{color:var(--silver-dim)}
/* Auswahlliste klappt nach oben auf, wenn unten kein Platz mehr ist */
.plan-tsel.up .plan-tsel-menu{top:auto;bottom:calc(100% + 5px)}
.plan-tsel-menu{z-index:60}
.plan-switch{position:relative;flex:0 0 auto;width:44px;height:24px;display:inline-block}
.plan-switch input{position:absolute;opacity:0;width:0;height:0}
.plan-switch i{position:absolute;inset:0;background:#24262e;border:1px solid var(--border);border-radius:999px;transition:.18s}
.plan-switch i::after{content:"";position:absolute;left:3px;top:2.5px;width:17px;height:17px;border-radius:50%;background:#8b8f9a;transition:.18s}
.plan-switch input:checked + i{background:rgba(217,165,33,.28);border-color:var(--gold)}
.plan-switch input:checked + i::after{transform:translateX(19px);background:var(--gold-hi)}
.plan-switch input:disabled + i{opacity:.5}
.plan-modal{width:min(460px,calc(100vw - 40px))}
.plan-form{display:flex;flex-direction:column;gap:12px;padding:2px 0 4px}
.plan-form .fg label{display:block;font-size:12px;color:var(--silver-hi);font-weight:600;margin-bottom:4px}
.plan-form input,.plan-form textarea{width:100%;background:#0e0f13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;padding:9px 11px;font:inherit;font-size:13.5px}
.plan-form input:focus,.plan-form textarea:focus{outline:none;border-color:var(--gold)}
.plan-form input:disabled,.plan-form textarea:disabled{opacity:.6}
.plan-row3{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}
.plan-row3.plan-row-2{grid-template-columns:1fr 1fr}
/* Von | Bis | Ganztägig in einer Zeile - Von/Bis schmaler, damit alles passt */
.plan-row3.plan-row-zeit{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}
.plan-row3.plan-row-zeit.nur-gt{grid-template-columns:1fr}
.pl-gtcol{display:flex;align-items:flex-end}
/* Alle Bedienfelder auf dieselbe Hoehe, damit die Zeilen buendig sitzen */
.plan-form input[type=text],.plan-form input[type=date],.plan-form input[type=number],
.plan-form select,.plan-form .plan-tsel-btn,.pl-gtcol .plan-switchrow{height:38px;box-sizing:border-box}
/* display MUSS hier stehen: .plan-form .fg label setzt sonst display:block und der Schalter rutscht auf die Textgrundlinie */
.plan-form .pl-gtcol label.plan-switchrow{display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:0 12px;gap:9px;white-space:nowrap;margin-bottom:0}
/* Farbwahl auf Feldhoehe bringen, damit die Zeile sauber sitzt */
.plan-row3 .plan-colors{min-height:38px;align-items:center;position:relative}
/* Weitere Farben (wie im Google Kalender) */
.plan-swmehr{position:relative;background:#15161b;border:1px dashed var(--silver-dim);--kreuz:var(--silver-hi)}
/* Plus als zwei Balken statt als Schriftzeichen - sitzt dadurch exakt mittig */
.plan-swmehr::before,.plan-swmehr::after{content:"";position:absolute;left:50%;top:50%;background:var(--kreuz);border-radius:1px}
.plan-swmehr::before{width:2px;height:11px;transform:translate(-50%,-50%)}
.plan-swmehr::after{width:11px;height:2px;transform:translate(-50%,-50%)}
.plan-swmehr.hat{border-style:solid;border-color:transparent;--kreuz:#fff}
.plan-swmehr.hat::before,.plan-swmehr.hat::after{box-shadow:0 0 3px rgba(0,0,0,.7)}
/* Palette rechtsbuendig, damit sie nicht aus dem Fenster laeuft */
.plan-gpal{position:absolute;right:0;left:auto;top:calc(100% + 8px);z-index:70;display:none;
  grid-template-columns:repeat(6,auto);gap:9px;padding:11px;border-radius:12px;
  background:#15161b;border:1px solid var(--border);box-shadow:0 12px 30px rgba(0,0,0,.55)}
.plan-gpal.auf{display:grid}
.plan-gsw{flex:0 0 auto;width:24px;height:24px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:.12s}
.plan-gsw:hover{transform:scale(1.12)}
.plan-gsw.on{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.15)}
/* Auswahlfelder im Termin-Fenster */
.plan-form select{width:100%;max-width:100%;background:#0e0f13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;
  padding:9px 11px;font:inherit;font-size:13.5px;appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--silver-dim) 50%),linear-gradient(135deg,var(--silver-dim) 50%,transparent 50%);
  background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.plan-form select:focus{outline:none;border-color:var(--gold)}
.plan-form select:disabled{opacity:.6;cursor:default}
.plan-serie-note{background:#0e0f13;border:1px dashed var(--border);border-radius:9px;padding:9px 11px;font-size:13px;color:var(--silver-dim)}
/* Kalenderliste in den Einstellungen */
.cal-liste{margin-top:16px;border-top:1px solid var(--border-soft);padding-top:14px}
.cal-liste-t{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim);margin-bottom:8px}
/* Ein Block je verbundenem Konto, die Kalender darunter */
.cal-konto{margin-bottom:14px}
.cal-konto:last-child{margin-bottom:0}
.cal-konto-kopf{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.cal-konto-mail{flex:1 1 auto;min-width:0;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--silver-dim);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-trennen{flex:0 0 auto;background:transparent;border:0;color:#c96b64;font:inherit;font-size:11.5px;cursor:pointer;padding:2px 4px}
.cal-trennen:hover{text-decoration:underline}
.cal-trennen:disabled{opacity:.5;cursor:default}
.cal-zaehler{align-self:center;font-size:11.5px;color:var(--silver-dim)}
.plan-gbtn:disabled{opacity:.45;cursor:default}
/* --- Seitenleiste im Kalender (wie beim Google Kalender) --- */
.plan-main{display:flex;gap:14px;align-items:flex-start;min-width:0}
.plan-body{flex:1 1 auto;min-width:0}
.plan-side{flex:0 0 200px;min-width:0;border:1px solid var(--border);border-radius:12px;background:#0f1016;
  padding:10px 7px;max-height:60vh;overflow-y:auto}
.plan-side.im-fenster{flex:none;border:0;background:transparent;padding:0;max-height:62vh}
.plan-skonto{margin-bottom:12px}
.plan-skonto:last-child{margin-bottom:0}
.plan-skonto-mail{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--silver-dim);
  padding:0 8px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-skal{width:100%;display:flex;align-items:center;gap:9px;background:transparent;border:0;color:var(--text);
  font:inherit;font-size:12.5px;padding:6px 8px;border-radius:8px;cursor:pointer;text-align:left;transition:.12s}
.plan-skal:hover{background:rgba(255,255,255,.05)}
.plan-skal-punkt{flex:0 0 auto;width:11px;height:11px;border-radius:3px}
.plan-skal-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-skal.aus{opacity:.45}
.plan-skal.aus .plan-skal-punkt{background:transparent!important;border:1px solid var(--silver-dim);box-sizing:border-box}
.plan-skal-auge{flex:0 0 auto;display:flex}
.plan-skal-auge svg{width:13px;height:13px;color:var(--silver-dim)}
.plan-sidebtn.on{border-color:var(--gold);color:var(--gold-hi)}
.plan-sidebtn svg{width:15px;height:15px}
@media(max-width:640px){ .plan-main .plan-side{display:none} .plan-sidebtn.on{border-color:var(--border);color:var(--silver-hi)} }
/* Suchfeld in der Terminuebersicht */
.plan-such{width:100%;background:#0e0f13;border:1px solid var(--border);border-radius:10px;color:#e6e8ee;
  padding:10px 13px;font:inherit;font-size:13.5px;margin-bottom:14px}
.plan-such:focus{outline:none;border-color:var(--gold)}
.plan-such::placeholder{color:var(--silver-dim)}
/* Duplizieren-Knopf im Termin-Fenster */
.btn-icon-dup{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;flex:0 0 auto;
  background:transparent;border:1px solid var(--border);border-radius:9px;color:var(--silver-dim);cursor:pointer;transition:.14s}
.btn-icon-dup:hover{border-color:var(--silver-dim);color:var(--silver-hi)}
.btn-icon-dup svg{width:17px;height:17px;display:block}
.btn-icon-dup:disabled{opacity:.5;cursor:default}
/* Hintergrund einfrieren, solange ein Fenster offen ist */
body.kein-scroll{overflow:hidden}
.plan-side.im-fenster{overflow-y:auto}
/* --- Termin-Fenster im Google-Stil --- */
.gmodal{width:min(480px,94vw)}
.gform{gap:16px}
.pl-titel{font-size:19px!important;height:auto!important;padding:4px 2px 10px!important;background:transparent!important;
  border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important}
.pl-titel:focus{outline:none!important;border-bottom-color:var(--gold)!important}
.gz{display:flex;gap:14px;align-items:flex-start;min-width:0}
.gz-ic{flex:0 0 20px;display:flex;justify-content:center;color:var(--silver-dim);margin-top:10px}
.gz-ic svg{width:17px;height:17px}
.gz-c{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:9px}
.gz-zeit{display:flex;gap:8px;align-items:center;min-width:0}
.gz-zeit input[type=date]{flex:1 1 auto;min-width:0}
.gz-zeit .pl-time{flex:0 0 auto;width:92px}
.gz-strich{width:auto!important;color:var(--silver-dim);flex:0 0 auto}
.gz-zeit2{display:flex;gap:10px;align-items:center;min-width:0}
.plan-form .gz-zeit2 label.gz-gt{display:flex;align-items:center;gap:8px;flex:0 0 auto;width:auto;height:38px;padding:0 12px;margin-bottom:0;
  background:#15161b;border:1px solid var(--border);border-radius:10px;font-size:13px;color:var(--silver-hi);cursor:pointer;white-space:nowrap;box-sizing:border-box}
.gz-rep{flex:1 1 auto;min-width:0}
/* Benutzerdefinierte Wiederholung */
.rp-panel{display:flex;flex-direction:column;gap:11px;background:#101118;border:1px solid var(--border);border-radius:10px;padding:12px}
.rp-zeile{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--silver-hi);flex-wrap:wrap}
.rp-zeile input[type=number]{width:62px;flex:0 0 auto}
.rp-zeile select{width:auto;flex:0 0 auto;padding-right:32px!important}
.rp-tage{display:flex;gap:6px;flex-wrap:wrap}
.rp-tag{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--silver-dim);
  font:inherit;font-size:11.5px;cursor:pointer;flex:0 0 auto;transition:.12s}
.rp-tag.on{background:var(--gold);border-color:var(--gold);color:#141109;font-weight:700}
.rp-ende{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--silver-hi)}
.rp-ende label{display:flex;align-items:center;gap:9px;cursor:pointer;flex-wrap:wrap}
.rp-ende input[type=radio]{width:15px;height:15px;accent-color:var(--gold);flex:0 0 auto}
.rp-ende input[type=date]{width:auto;flex:0 0 auto}
.rp-ende input[type=number]{width:62px;flex:0 0 auto}
.rp-ende label.inaktiv input:not([type=radio]){opacity:.45;pointer-events:none}
@media(max-width:640px){
  .gz{gap:10px}
  .gz-ic{flex-basis:17px}
  .gz-zeit .pl-time{width:84px}
  .plan-form .gz-zeit2 label.gz-gt{height:34px;padding:0 8px;font-size:11.5px;gap:6px}
  .rp-tag{width:27px;height:27px}
}
.cal-zeile{display:flex;align-items:center;gap:11px;padding:8px 2px;border-bottom:1px solid var(--border-soft);cursor:pointer}
.cal-zeile:last-child{border-bottom:0}
.cal-punkt{flex:0 0 auto;width:11px;height:11px;border-radius:3px}
.cal-name{flex:1 1 auto;min-width:0;font-size:13.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-name small{color:var(--silver-dim);font-size:11px;margin-left:7px}
.plan-endrow{display:flex;align-items:center;gap:10px}
.plan-endrow input[type=date]{flex:1 1 auto;min-width:0}
.plan-endrow input[type=date]:disabled{opacity:.45}
.plan-endnever{flex:0 0 auto;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--silver-hi);cursor:pointer;white-space:nowrap}
.plan-endnever input{width:16px;height:16px;accent-color:var(--gold);cursor:pointer}
/* Rueckfrage bei Serien */
.plan-scope{width:min(400px,92vw)}
.plan-scope-txt{font-size:13.5px;color:var(--silver-dim);margin:2px 0 16px;line-height:1.5}
.plan-scope-btns{display:flex;flex-direction:column;gap:9px}
.plan-scope-btns button{width:100%;margin:0}
.plan-scope-x{width:100%;margin-top:14px;border-color:transparent!important;color:var(--silver-dim)}
/* Felder duerfen die Spalten nicht sprengen (Datumsfeld ist von Haus aus breit) */
.plan-row3>*{min-width:0}
.plan-row3 input,.plan-row3 .plan-tsel,.plan-row3 .plan-tsel-btn{width:100%;max-width:100%;min-width:0}
.plan-form input[type=date]{appearance:none;-webkit-appearance:none}
.plan-colors{display:flex;gap:10px}
.plan-sw{flex:0 0 auto;width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:.12s}
.plan-sw.on{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.15)}
.plan-ro-note{font-size:12px;color:var(--silver-dim);line-height:1.4}
.plan-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border-soft)}
.plan-foot-btns{display:flex;gap:10px;align-items:center}
.plan-foot .btn-save{margin:0}
.plan-del{color:#c96b64;border-color:rgba(201,107,100,.4)!important}
@media(max-width:640px){
  .plan-cell{min-height:62px}
  /* Alle Zeilen zweispaltig - wie am PC, nur enger */
  .plan-row3{grid-template-columns:1fr 1fr}
  .plan-title{min-width:0;font-size:16px}
}

/* --- Emotion: eigenes Filter-Dropdown (öffnet vom rechten Rand) --- */
.emo-fdrop{position:relative}
.emo-fbtn{appearance:none;font:inherit;font-size:12px;background:#1b1d26;border:1px solid var(--border);color:var(--text);
  border-radius:8px;padding:7px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.emo-fbtn:hover{border-color:var(--silver-dim)}
.emo-fchev{width:11px;height:11px;flex:0 0 auto;transition:transform .15s}
.emo-fdrop.open .emo-fchev{transform:rotate(180deg)}
.emo-fmenu{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;background:#111219;border:1px solid var(--border);
  border-radius:10px;padding:5px;z-index:40;box-shadow:0 14px 34px rgba(0,0,0,.55);display:none}
.emo-fdrop.open .emo-fmenu{display:block}
.emo-fopt{display:block;width:100%;text-align:right;appearance:none;background:transparent;border:0;color:var(--silver-dim);
  font:inherit;font-size:12.5px;padding:8px 11px;border-radius:7px;cursor:pointer;white-space:nowrap}
.emo-fopt:hover{background:rgba(255,255,255,.05);color:var(--text)}
.emo-fopt.on{color:var(--gold-hi)}

/* --- Emotion: Footer-Navigation (Pfeile + rotes X, eine Ebene) --- */
.emo-ffoot .btn-save, .emo-ffoot .btn-line{margin:0}
.emo-cta .btn-save, .emo-cta .btn-line{margin:0}   /* Starten/Weiter mittig statt zu tief */
.emo-nav{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px}
.emo-farr{font-size:17px;line-height:1}
.emo-x{width:46px;height:46px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:1px solid rgba(199,90,80,.42);border-radius:11px;color:#d9736a;cursor:pointer;transition:.14s;margin:0}
.emo-x:hover{background:rgba(199,90,80,.12);border-color:#d9736a}
.emo-x svg{width:15px;height:15px;display:block}
@media(max-width:640px){ .emo-nav .emo-flab{display:none} .emo-ffoot{gap:8px} }

/* --- Emotion: Abbrechen-Warnung --- */
.emo-warn-modal{width:min(420px,92vw);text-align:center}
.emo-warn-t{font-family:var(--serif);font-size:18px;color:var(--silver-hi);letter-spacing:.5px;margin-bottom:8px}
.emo-warn-s{font-size:13.5px;color:var(--silver-dim);line-height:1.55;margin-bottom:18px}
.emo-warn-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn-line.emo-danger{border-color:rgba(199,90,80,.42);color:#e0897f}
.btn-line.emo-danger:hover{background:rgba(199,90,80,.12);border-color:#d9736a}

/* --- Emotion: In-App-Erinnerung (Dashboard) --- */
.emo-reminder-card{display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#1c1a12,#141109);
  border:1px solid rgba(198,165,99,.3);border-radius:13px;padding:16px 18px;margin-bottom:20px}
.emo-rem-top{display:flex;align-items:center;gap:14px}
.emo-rem-ic{flex:0 0 auto;color:#e8b53a;display:inline-flex;filter:drop-shadow(0 0 8px rgba(232,181,58,.4))}
.emo-rem-ic svg{width:26px;height:26px;display:block}
.emo-rem-txt{flex:1;min-width:0}
.emo-rem-t{font-family:var(--serif);font-size:15px;color:var(--silver-hi);letter-spacing:.4px}
.emo-rem-s{font-size:13px;color:var(--silver-dim);margin-top:4px;line-height:1.45}
.emo-rem-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.emo-reminder-card .btn-save{margin:0;flex:0 0 auto}
.emo-rem-x{flex:0 0 auto;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--border);border-radius:9px;color:var(--silver-dim);cursor:pointer;transition:.14s}
.emo-rem-x:hover{color:var(--silver-hi);border-color:var(--border)}
.emo-rem-x svg{width:13px;height:13px;display:block}
/* PC: Text und Buttons auf einer Zeile (mittig), viel Platz dazwischen */
@media(min-width:641px){
  .emo-reminder-card{flex-direction:row;align-items:center;gap:24px}
  .emo-reminder-card .emo-rem-top{flex:1;min-width:0}
  .emo-reminder-card .emo-rem-actions{flex:0 0 auto}
}
/* Mehrere Warnungen: aufklappbarer Block */
.dash-warn-group{margin-bottom:20px}
.dash-warn-head{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
  background:linear-gradient(180deg,#1c1a12,#141109);border:1px solid rgba(232,181,58,.34);border-radius:13px;padding:15px 17px;color:var(--silver-hi);transition:.14s}
.dash-warn-head:hover{border-color:rgba(232,181,58,.55)}
.dash-warn-ic{flex:0 0 auto;color:#e8b53a;display:inline-flex;filter:drop-shadow(0 0 8px rgba(232,181,58,.4))}
.dash-warn-ic svg{width:23px;height:23px;display:block}
.dash-warn-htxt{flex:1;min-width:0;font-family:var(--serif);font-size:15px;letter-spacing:.4px}
.dash-warn-chev{width:16px;height:16px;color:var(--silver-dim);flex:0 0 auto;transition:transform .2s}
.dash-warn-head.open .dash-warn-chev{transform:rotate(180deg)}
.dash-warn-body{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.dash-warn-body .emo-reminder-card{margin-bottom:0}

/* --- Ansichts-Umschalter (Tag/Woche/Monat/Jahr/Terminübersicht) --- */
.plan-vdrop{position:relative;flex:0 0 auto;margin-left:auto}
.plan-vbtn{display:inline-flex;align-items:center;gap:7px;background:#15161b;border:1px solid var(--border);color:var(--silver-hi);border-radius:9px;padding:7px 12px;font:inherit;font-size:12.5px;cursor:pointer}
.plan-vbtn:hover{border-color:var(--silver-dim)}
.plan-vbtn .emo-fchev{width:12px;height:12px}
.plan-vmenu{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;background:#15161b;border:1px solid var(--border);border-radius:11px;padding:5px;z-index:30;display:none;box-shadow:0 10px 26px rgba(0,0,0,.5)}
.plan-vdrop.open .plan-vmenu{display:block}
.plan-vopt{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;background:transparent;border:0;color:#dfe3ea;font:inherit;font-size:13px;text-align:left;padding:9px 11px;border-radius:8px;cursor:pointer}
.plan-vopt:hover{background:#1c1e25}
.plan-vopt.on{color:var(--gold-hi)}
.plan-vkey{color:var(--silver-dim);font-size:11.5px}
.plan-nav .plan-add{margin-left:0!important}
/* --- Zeitraster (Tag/Woche) --- */
.plan-tgrid{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto auto 1fr;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#0d0e12}
/* Routinen als Geister-Bloecke */
.plan-rt{position:absolute;left:2px;right:3px;z-index:2;display:flex;align-items:flex-start;gap:5px;text-align:left;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 6px,transparent 6px 12px);
  border:1px dashed rgba(255,255,255,.20);border-radius:6px;padding:2px 6px;color:#9aa0ad;cursor:pointer;overflow:hidden;transition:.12s}
.plan-rt:hover{border-color:var(--gold);color:var(--silver-hi)}
/* Zustaende: gleiches Streifenmuster, nur andere Farbe */
.plan-rt.done{border-color:rgba(95,174,126,.65);color:#8fd3a9;
  background:repeating-linear-gradient(135deg,rgba(95,174,126,.16) 0 6px,rgba(95,174,126,.05) 6px 12px)}
.plan-rt.declined{border-color:rgba(207,91,79,.6);color:#e7a59c;
  background:repeating-linear-gradient(135deg,rgba(207,91,79,.15) 0 6px,rgba(207,91,79,.04) 6px 12px)}
.plan-rt.declined.neutral{border-color:rgba(255,255,255,.30);color:#b9bec9;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.075) 0 6px,rgba(255,255,255,.02) 6px 12px)}
.plan-rt-ic{flex:0 0 auto;font-size:11px;line-height:1.35}
.plan-rt-t{font-size:10.5px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-rtchip{width:100%;text-align:left;font-size:10px;color:#9aa0ad;background:transparent;border:1px dashed rgba(255,255,255,.18);
  border-radius:5px;padding:1.5px 6px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:.12s}
.plan-rtchip:hover{border-color:var(--gold);color:var(--silver-hi)}
.plan-rtchip.done{border-color:rgba(95,174,126,.6);color:#8fd3a9;
  background:repeating-linear-gradient(135deg,rgba(95,174,126,.16) 0 6px,rgba(95,174,126,.05) 6px 12px)}
.plan-rtchip.declined{border-color:rgba(207,91,79,.55);color:#e7a59c;
  background:repeating-linear-gradient(135deg,rgba(207,91,79,.15) 0 6px,rgba(207,91,79,.04) 6px 12px)}
.plan-rtchip.declined.neutral{border-color:rgba(255,255,255,.28);color:#b9bec9;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.075) 0 6px,rgba(255,255,255,.02) 6px 12px)}
.plan-rtoggle.on{border-color:var(--gold);color:var(--gold-hi)}
.plan-dhead.we .plan-dh-wd{color:#7d818c}
.plan-gtcell.we{background:rgba(255,255,255,.018)}
.plan-ag-row.past{opacity:.5}
.plan-nightbtn{width:100%;height:100%;background:transparent;border:0;color:var(--silver-dim);cursor:pointer;padding:0;display:grid;place-items:center}
.plan-nightbtn:hover{color:var(--gold-hi)}
/* Icon mit kleinem Kennzeichen unten rechts (06:00 bzw. I/O) */
.plan-icwrap{position:relative;display:inline-flex;align-items:center;justify-content:center;line-height:0}
.plan-icwrap svg{width:16px;height:16px;display:block}
.plan-icbadge{position:absolute;right:-6px;bottom:-5px;font-size:7.5px;font-weight:700;line-height:1;letter-spacing:.2px;
  padding:1.5px 2.5px;border-radius:4px;background:#14161d;border:1px solid var(--border);color:var(--silver-dim);white-space:nowrap}
.plan-nightbtn .plan-icwrap svg{width:15px;height:15px}
.plan-rtoggle{padding-left:12px;padding-right:14px}
.plan-rtoggle .plan-icwrap svg{width:17px;height:17px}
.plan-rtoggle.on .plan-icbadge{color:var(--gold-hi);border-color:rgba(217,165,33,.55)}
.plan-nav .plan-add{font-size:19px;font-weight:700;line-height:1;padding:9px 15px;min-width:44px}
/* Zeilenbeschriftungen links als Icons (Text passt in die schmale Spalte nicht) */
.plan-tg-gtlabel svg,.plan-tg-rtlabel svg{width:15px;height:15px;display:block;margin:0 auto}
.plan-tg-corner{grid-column:1;grid-row:1}
.plan-tg-heads{grid-column:2;grid-row:1}
.plan-tg-gtlabel{grid-column:1;grid-row:2;display:block}
.plan-tg-gtrow{grid-column:2;grid-row:2}
.plan-tg-rtlabel{grid-column:1;grid-row:3;display:block}
.plan-tg-rtrow{grid-column:2;grid-row:3}
.plan-tg-scroll{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:56px 1fr;min-width:0;
  max-height:60vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch}
.plan-tg-axis{grid-column:1;grid-row:1}
.plan-tg-body{grid-column:2;grid-row:1}
.plan-tg-heads,.plan-tg-gtrow,.plan-tg-rtrow,.plan-tg-body{min-width:0}
.plan-tg-heads>*,.plan-tg-gtrow>*,.plan-tg-rtrow>*,.plan-tg-body>*{min-width:0;overflow:hidden}
.plan-tg-rtlabel{font-size:10px;color:var(--silver-dim);padding:6px 4px;display:grid;place-items:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#12131a}
.plan-tg-rtrow{display:grid;grid-template-columns:repeat(var(--cols),1fr);border-bottom:1px solid var(--border);background:#101118;min-height:24px}
.plan-rtcell{border-left:1px solid var(--border-soft);padding:3px;display:flex;flex-direction:column;gap:2px;min-width:0}
.plan-rtcell:first-child{border-left:0}
.plan-rtcell.we{background:rgba(255,255,255,.018)}
.plan-tg-corner{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#12131a}
.plan-tg-heads{display:grid;grid-template-columns:repeat(var(--cols),1fr);border-bottom:1px solid var(--border);background:#12131a}
.plan-dhead{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 2px;cursor:pointer;border-left:1px solid var(--border-soft)}
.plan-dhead:first-child{border-left:0}
.plan-dh-wd{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--silver-dim)}
.plan-dh-n{font-size:16px;font-family:var(--serif);color:var(--silver-hi)}
.plan-dhead.today .plan-dh-n{background:var(--gold);color:#141109;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.plan-dhead.today .plan-dh-wd{color:var(--gold-hi)}
.plan-tg-gtlabel{font-size:10px;color:var(--silver-dim);padding:6px 4px;display:grid;place-items:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#12131a}
.plan-tg-gtrow{display:grid;grid-template-columns:repeat(var(--cols),1fr);border-bottom:1px solid var(--border);background:#101118;min-height:26px}
.plan-gtcell{border-left:1px solid var(--border-soft);padding:3px;display:flex;flex-direction:column;gap:2px}
.plan-gtcell:first-child{border-left:0}
.plan-gtev{width:100%;text-align:left;font-size:10.5px;color:#e9edf4;background:var(--cbg);border:1px solid var(--c);border-left:3px solid var(--c);border-radius:5px;padding:2px 6px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:.12s}
.plan-gtev:hover{background:var(--cbg2)}
.plan-gtev.past{opacity:.45}
.plan-tg-axis{border-right:1px solid var(--border);background:#12131a}
.plan-hr{height:var(--hh);position:relative}
.plan-hr span{position:absolute;top:-7px;right:6px;font-size:10.5px;color:var(--silver-dim)}
.plan-tg-body{display:grid;grid-template-columns:repeat(var(--cols),1fr)}
.plan-daycol{position:relative;border-left:1px solid var(--border-soft);height:calc(var(--hh) * var(--rows, 24))}
.plan-daycol:first-child{border-left:0}
.plan-daycol.today{background:linear-gradient(180deg,rgba(217,165,33,.075),rgba(217,165,33,.015))}
.plan-daycol.we{background:rgba(255,255,255,.018)}
.plan-hline{height:var(--hh);border-bottom:1px solid rgba(255,255,255,.05)}
.plan-now{position:absolute;left:0;right:0;height:2px;background:#e0736f;z-index:5}
/* Zahl mittig auf der Linie und rechts vom Punkt, damit der Punkt ganz sichtbar bleibt */
.plan-now-t{position:absolute;left:13px;top:-6px;font-size:9px;font-weight:700;background:#e0736f;color:#180d0d;padding:1px 5px;border-radius:4px;letter-spacing:.3px;line-height:1.3}
.plan-now::before{content:"";position:absolute;left:0;top:-3px;width:8px;height:8px;border-radius:50%;background:#e0736f}
.plan-tev{position:absolute;z-index:3;text-align:left;background:var(--cbg);border:1px solid var(--c);border-left:3px solid var(--c);border-radius:6px;padding:3px 7px;color:#e9edf4;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:1px;line-height:1.25;transition:.12s}
/* Kein transform beim Hover - der Block rutscht sonst unter dem Zeiger weg und flackert */
.plan-tev:hover{background:var(--cbg2);box-shadow:0 4px 12px rgba(0,0,0,.35)}
.plan-tev.past{opacity:.42}
.plan-tev.live{box-shadow:0 0 0 1px var(--c),0 0 16px -4px var(--c)}
.plan-tev-t{font-size:11px;font-weight:600;color:#f2f5fa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-tev-h{font-size:9.5px;color:var(--silver-dim)}
/* --- Jahresansicht --- */
.plan-year{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.plan-ymonth{background:#15161b;border:1px solid var(--border);border-radius:11px;padding:10px}
.plan-ymname{font-family:var(--serif);font-size:13px;color:var(--gold-hi);margin-bottom:6px;cursor:pointer}
.plan-ymname:hover{text-decoration:underline}
.plan-ywd,.plan-ygrid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}
.plan-ywd span{text-align:center;font-size:9px;color:var(--silver-dim)}
.plan-ycell{position:relative;text-align:center;font-size:10.5px;color:#cfd3dd;padding:3px 0;border-radius:4px;cursor:pointer}
.plan-ycell:hover{background:#1c1e25}
.plan-ycell.other{opacity:.28}
.plan-ycell.today{background:var(--gold);color:#141109;font-weight:700}
.plan-ycell.has::after{content:"";position:absolute;left:50%;bottom:1px;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:var(--gold-hi)}
.plan-ycell.today.has::after{background:#141109}
/* --- Terminübersicht (Agenda) --- */
.plan-aglist{display:flex;flex-direction:column;gap:16px}
.plan-agdate{font-family:var(--serif);font-size:13.5px;color:var(--gold-hi);margin-bottom:7px;letter-spacing:.3px}
/* Kurzform der Ansichtsnamen nur am Handy */
.plan-vkurz{display:none}
/* Wischen: der neue Zeitraum gleitet herein */
@keyframes planSlideL{ from{ transform:translateX(26px); opacity:.25 } to{ transform:none; opacity:1 } }
@keyframes planSlideR{ from{ transform:translateX(-26px); opacity:.25 } to{ transform:none; opacity:1 } }
.plan-slide-l{animation:planSlideL .28s cubic-bezier(.22,.7,.3,1)}
.plan-slide-r{animation:planSlideR .28s cubic-bezier(.22,.7,.3,1)}
@media(prefers-reduced-motion:reduce){ .plan-slide-l,.plan-slide-r{animation:none} }
@media(max-width:640px){
  /* Bedienleiste soll in EINE Zeile passen */
  .plan-nav{gap:6px;flex-wrap:wrap}
  .plan-nav .plan-title{order:5;flex-basis:100%;font-size:15px;margin-top:2px}
  .plan-vlang{display:none}
  .plan-vkurz{display:inline}
  .plan-vbtn{padding:7px 9px;gap:5px;font-size:12px}
  .plan-today{padding:7px 9px;font-size:11.5px}
  .plan-arrow{width:31px;height:31px}
  .plan-nav .plan-add{padding:7px 11px;min-width:36px;font-size:17px}
  .plan-rtoggle{padding-left:9px;padding-right:11px}
  /* Kennzeichen am Icon mittig unter das Symbol */
  .plan-icbadge{right:auto;left:50%;transform:translateX(-50%);bottom:-7px;font-size:7px;padding:1px 2px}
  .plan-rtoggle .plan-icbadge{left:auto;right:-6px;transform:none;bottom:-5px}
  /* Termin-Fenster kompakter, damit man am Handy nicht scrollen muss */
  .plan-form{gap:9px}
  .plan-form input,.plan-form textarea,.plan-form select{padding:8px 10px;font-size:13px}
  .plan-form .fg label{font-size:11.5px;margin-bottom:3px}
  .plan-row3{gap:8px}
  /* Von/Bis schmaler, damit Ganztägig daneben passt */
  .plan-row3.plan-row-zeit{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px}
  .plan-row3.plan-row-zeit.nur-gt{grid-template-columns:1fr}
  .plan-form .pl-gtcol label.plan-switchrow{padding:0 7px;gap:5px;font-size:11px}
  .plan-row-zeit .plan-tsel-btn{padding:0 8px;font-size:12.5px;gap:4px}
  .plan-row-zeit .plan-tsel-btn svg{width:9px;height:9px}
  .plan-form input[type=text],.plan-form input[type=date],.plan-form input[type=number],
  .plan-form select,.plan-form .plan-tsel-btn,.pl-gtcol .plan-switchrow{height:34px}
  .pl-gtcol .plan-switchrow{padding:0 8px;gap:6px;font-size:11.5px}
  .plan-form .plan-switch{width:30px;height:17px}
  .plan-form .plan-switch i::after{left:2px;top:2px;width:11px;height:11px}
  .plan-form .plan-switch input:checked + i::after{transform:translateX(13px)}
  /* Farbreihe braucht die volle Breite, sonst ragt das + aus der Spalte */
  .plan-row3.plan-row-farbe{grid-template-columns:1fr}
  .plan-gsw{width:22px;height:22px}
  .plan-colors{gap:9px}
  .plan-row3 .plan-colors{min-height:34px}
  .plan-gpal{grid-template-columns:repeat(6,1fr);gap:7px;padding:9px}
  .plan-vdrop{margin-left:auto}
  .plan-year{grid-template-columns:repeat(2,1fr);gap:10px}
  .plan-tgrid{grid-template-columns:42px 1fr}
  /* Am Handy soll fast nur der Kalender scrollen, nicht zusaetzlich die Seite */
  .plan-tg-scroll{grid-template-columns:42px 1fr;max-height:calc(100dvh - 320px);min-height:320px}
  .plan-dh-n{font-size:14px}
  .plan-tev-t{font-size:10px}
}

/* --- Finanzen --- */
.fin-nav{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.fin-tools{margin-left:auto;display:flex;gap:8px}
.fin-tools .plan-arrow svg{width:16px;height:16px}
.fin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.fin-kpi{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border);border-radius:13px;padding:12px 14px;min-width:0;position:relative;overflow:hidden}
.fin-kpi::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--kacc,transparent);opacity:.75}
.fin-wm{position:absolute;right:-6px;bottom:-10px;width:64px;height:64px;opacity:.08;pointer-events:none;color:var(--silver)}
.kpi-ein{--kacc:#5fae7e}.kpi-ein .fin-wm{color:#5fae7e}
.kpi-aus{--kacc:#c0625f}.kpi-aus .fin-wm{color:#c0625f}
.kpi-saldo{--kacc:var(--gold)}.kpi-saldo .fin-wm{color:var(--gold)}
.kpi-cf b{font-size:18.5px}
.kpi-cf.plus{--kacc:#5fae7e;border-color:rgba(95,174,126,.5);box-shadow:0 0 22px rgba(95,174,126,.22), inset 0 0 18px rgba(95,174,126,.06)}
.kpi-cf.plus .fin-wm{color:#5fae7e;opacity:.14}
.kpi-cf.minus{--kacc:#c0625f;border-color:rgba(192,98,95,.5);box-shadow:0 0 22px rgba(192,98,95,.22), inset 0 0 18px rgba(192,98,95,.06)}
.kpi-cf.minus .fin-wm{color:#c0625f;opacity:.14}
.fin-kpi small{display:block;font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--silver-dim);margin-bottom:5px}
.fin-kpi b{font-size:16.5px;font-family:var(--serif);letter-spacing:.3px;color:var(--silver-hi);white-space:nowrap}
.fin-kpi-saldo{cursor:pointer;transition:.14s}
.fin-kpi-saldo:hover{border-color:var(--silver-dim)}
.fin-eroeff{display:block;font-size:10.5px;color:var(--silver-dim);margin-top:3px}
.fin-leer{color:var(--gold-hi);font-size:13.5px}
.fin-gut{color:#8fd3a9}
.fin-rot{color:#e7a59c}
.fin-schnell{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap;
  background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border);border-radius:13px;padding:10px}
.fin-artbtn{flex:0 0 auto;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:#15161b;
  font-size:20px;font-weight:700;line-height:1;cursor:pointer;transition:.14s}
.fin-artbtn.ausgabe{color:#e7a59c;border-color:rgba(207,91,79,.5)}
.fin-artbtn.einnahme{color:#8fd3a9;border-color:rgba(95,174,126,.55)}
.fin-schnell input,.fin-schnell select{background:#0e0f13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;
  padding:0 11px;height:38px;font:inherit;font-size:13.5px;box-sizing:border-box}
.fin-schnell input:focus,.fin-schnell select:focus{outline:none;border-color:var(--gold)}
#fin-betrag{flex:0 1 120px;min-width:90px;font-size:15px;font-weight:600}
#fin-katsel{flex:1 1 160px;min-width:120px;appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--silver-dim) 50%),linear-gradient(135deg,var(--silver-dim) 50%,transparent 50%);
  background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}
#fin-datum{flex:0 1 140px;min-width:120px}
.fin-buchen{flex:0 0 auto;margin:0;height:38px;padding:0 18px}
.fin-toggle{margin-bottom:14px}
.fin-karte{margin-bottom:14px}
.fin-h3{font-size:14px;color:var(--silver-hi);margin:0 0 14px;letter-spacing:.4px}
.fin-tag{margin-bottom:14px}
.fin-tag:last-child{margin-bottom:0}
.fin-tagkopf{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--silver-dim);
  padding:0 2px 6px;border-bottom:1px solid var(--border-soft);margin-bottom:4px;letter-spacing:.4px}
.fin-row{width:100%;display:flex;align-items:center;gap:11px;background:transparent;border:0;color:var(--text);
  font:inherit;font-size:13.5px;padding:9px 4px;border-radius:9px;cursor:pointer;text-align:left;transition:.12s}
.fin-row:hover{background:rgba(255,255,255,.04)}
.fin-row.klein{font-size:12.5px;padding:6px 4px;justify-content:space-between}
.fin-dot{flex:0 0 auto;width:11px;height:11px;border-radius:50%}
.fin-rname{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-rname small{display:block;font-size:11px;color:var(--silver-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-rbetrag{flex:0 0 auto;font-weight:600;white-space:nowrap}
.fin-hinweis{font-size:12px;color:var(--silver-dim);margin-bottom:12px;line-height:1.5}
.fin-grp{padding:15px 16px}
.fin-grpkopf{display:flex;align-items:center;gap:10px;font-size:13.5px;margin-bottom:8px}
.fin-grpkopf b{flex:1 1 auto;min-width:0;font-family:var(--serif);letter-spacing:.4px;color:var(--silver-hi)}
.fin-cat{width:100%;display:flex;align-items:center;gap:11px;background:transparent;border:0;color:var(--text);
  font:inherit;font-size:13px;padding:8px 4px;border-radius:9px;cursor:pointer;text-align:left;transition:.12s}
.fin-cat:hover{background:rgba(255,255,255,.04)}
.fin-cname{flex:1 1 auto;min-width:0}
.fin-cbetrag{flex:0 0 auto;font-weight:600;white-space:nowrap}
.fin-null{color:var(--silver-dim);font-style:normal;font-weight:400}
.fin-cbud{display:block;margin-top:5px}
.fin-budget{height:5px;border-radius:4px;background:#22242c;overflow:hidden}
.fin-budget i{display:block;height:100%;border-radius:4px;background:var(--gold)}
.fin-budget i.ueber{background:#cf5b4f}
.fin-budgetlab{display:block;font-size:10.5px;color:var(--silver-dim);margin-top:3px}
.fin-chart{display:flex;align-items:flex-end;gap:6px;height:160px;padding:0 2px}
.fin-cm{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.fin-cbars{display:flex;align-items:flex-end;gap:2px;height:130px}
.fin-cbars i{width:9px;border-radius:3px 3px 0 0;min-height:2px}
.fin-cbars i.e{background:#5fae7e}
.fin-cbars i.a{background:#cf5b4f}
.fin-cm span{font-size:9.5px;color:var(--silver-dim);letter-spacing:.3px}
.fin-legende{display:flex;gap:18px;justify-content:center;margin-top:12px;font-size:11.5px;color:var(--silver-dim)}
.fin-legende span{display:flex;align-items:center;gap:6px}
.fin-lg{width:10px;height:10px;border-radius:3px;display:inline-block}
.fin-lg.e{background:#5fae7e}
.fin-lg.a{background:#cf5b4f}
.fin-verteilung{display:flex;flex-direction:column;gap:10px}
.fin-vzeile{display:flex;align-items:center;gap:11px;font-size:12.5px}
.fin-vname{flex:0 0 118px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--silver-hi)}
.fin-vbalken{flex:1 1 auto;height:9px;border-radius:5px;background:#22242c;overflow:hidden}
.fin-vbalken i{display:block;height:100%;border-radius:5px}
.fin-vwert{flex:0 0 auto;color:var(--silver-dim);white-space:nowrap}
.fin-modal{width:min(440px,94vw)}
.fin-artwahl{display:flex;gap:8px}
.fin-pill{flex:1 1 0;padding:9px 0;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--silver-dim);
  font:inherit;font-size:13px;cursor:pointer;transition:.14s}
.fin-pill.on.rot{border-color:rgba(207,91,79,.6);color:#e7a59c;background:rgba(207,91,79,.1)}
.fin-pill.on.gruen{border-color:rgba(95,174,126,.6);color:#8fd3a9;background:rgba(95,174,126,.1)}
.fin-catsumme{font-size:13.5px;color:var(--silver-hi)}
.fin-catliste{border-top:1px solid var(--border-soft);padding-top:8px;display:flex;flex-direction:column}
.fin-mehr{color:var(--silver-dim);font-size:11px;padding:4px}
.fin-recrow{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--border-soft);font-size:13px}
.fin-recrow.aus{opacity:.5}
.fin-recrow:last-of-type{border-bottom:0}
.fin-reclink{flex:0 0 auto;background:transparent;border:0;color:var(--silver-dim);font:inherit;font-size:11.5px;cursor:pointer;padding:2px 4px}
.fin-reclink:hover{text-decoration:underline}
.fin-reclink.rot{color:#c96b64}
.fin-recneu{border-top:1px solid var(--border-soft);padding-top:12px;display:flex;flex-direction:column;gap:12px}
@media(max-width:640px){
  .fin-kpis{grid-template-columns:1fr 1fr}
  .fin-kpi b{font-size:15px}
  .fin-schnell{gap:6px}
  #fin-betrag{flex:1 1 80px}
  #fin-katsel{flex:1 1 100%}
  #fin-datum{flex:1 1 calc(60% - 6px)}
  .fin-buchen{flex:1 1 calc(40% - 6px)}
  .fin-vname{flex-basis:88px}
  .fin-cbars i{width:6px}
  .fin-chart{gap:3px}
}

/* Finanzen: Feedback-Runde 2 */
#fin-katsel.leer{color:var(--silver-dim);font-style:italic}
#fin-katsel.leer option{color:var(--silver);font-style:normal}
.fin-addrow{display:flex;gap:8px;align-items:stretch}
.fin-addrow input{flex:1;min-width:0}
.fin-addrow .btn-save{flex:0 0 auto;white-space:nowrap;padding:0 16px;height:38px}
.fin-recic{flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--silver-dim);cursor:pointer;padding:0}
.fin-recic svg{width:14px;height:14px}
.fin-recic:hover{color:var(--silver);border-color:var(--silver-dim)}
.fin-recic.rot:hover{color:#c0625f;border-color:rgba(192,98,95,.6)}
.fin-tagg{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.fr-t{height:30px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--silver);font-size:12px;cursor:pointer;padding:0}
.fr-t.grau{opacity:.45}
.fr-t:hover{border-color:var(--silver-dim)}
.fr-t.on{background:var(--gold);border-color:var(--gold);color:#111;font-weight:700;opacity:1}

/* Finanzen: Feedback-Runde 3 */
.fin-addrow{align-items:stretch}
.fin-addrow .btn-save{height:auto;min-height:38px;margin:0;align-self:stretch}
.fin-mkurz{display:none}
.fin-toggle{display:flex;width:100%}
.fin-toggle button{flex:1 1 0;text-align:center}
.fin-quote{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border);border-radius:13px;padding:10px 14px;margin:-4px 0 14px}
.fin-quote-kopf{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}
.fin-quote-kopf small{font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--silver-dim)}
.fin-quote-kopf b{font-size:13px;font-family:var(--serif)}
.fin-quote-balken{height:7px;border-radius:4px;background:#0c0d11;border:1px solid var(--border);overflow:hidden}
.fin-quote-balken i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#3f7a58,#5fae7e)}
.fin-quote-balken i.neg{background:linear-gradient(90deg,#8a423d,#c0625f)}
.fin-ring{position:absolute;top:9px;right:9px;width:20px;height:20px;transform:rotate(-90deg)}
.fin-ring circle{fill:none;stroke-width:2.4}
.fin-ring .rbg{stroke:rgba(255,255,255,.09)}
.kpi-cf.plus .fin-ring .rfg{stroke:#5fae7e}
.kpi-cf.minus .fin-ring .rfg{stroke:#c0625f}
.fin-wmfill{opacity:.3}
.fin-kopf{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.fin-kopf .fin-kopfsumme{margin-left:auto;font-size:12.5px;font-family:var(--serif)}
.fin-chev{width:13px;height:13px;flex:0 0 auto;color:var(--silver-dim);transition:transform .15s}
.fin-klapp.zu .fin-verteilung{display:none}
.fin-klapp.zu .fin-kopf{margin:0}
.fin-klapp.zu .fin-chev{transform:rotate(-90deg)}
.fin-karte{overflow:visible}
.fin-chart{overflow:visible}
.fin-cm{position:relative;cursor:pointer}
.fin-cwert{display:none;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);z-index:6;
  background:#15161b;border:1px solid var(--border);border-radius:8px;padding:6px 9px;white-space:nowrap;
  flex-direction:column;gap:2px;font-size:11px;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.fin-cwert span{font-size:9.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--silver-dim)}
.fin-cm.on .fin-cwert{display:flex}
.fin-cm:nth-child(-n+2) .fin-cwert{left:0;transform:none}
.fin-cm:nth-last-child(-n+2) .fin-cwert{left:auto;right:0;transform:none}
@media(max-width:640px){
  .fin-nav{flex-wrap:nowrap;gap:6px}
  .fin-nav .plan-title{font-size:16px;white-space:nowrap}
  .fin-nav .plan-today{padding:0 10px}
  .fin-nav .fin-mlang{display:none}
  .fin-nav .fin-mkurz{display:inline}
  .fin-tools{gap:6px}
  #fin-betrag{order:1}
  #fin-artbtn{order:2}
  #fin-katsel{order:3}
  #fin-datum{order:4}
  .fin-buchen{order:5}
}

.fin-kopfsumme{white-space:nowrap}
@media(max-width:640px){
  .fin-kopf{gap:8px}
  .fin-kopf .fin-kopfsumme{font-size:11.5px}
  .fin-h3{font-size:13px}
}

/* App-Feedback-Runde: Login-Auge, Onboarding, Coach-Tabelle, Strafen-Alarm, Erinnerungen, W/R/F */
.pw-wrap{position:relative}
.pw-wrap input{width:100%;padding-right:42px;box-sizing:border-box}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--silver-dim);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0}
.pw-eye:hover{color:var(--silver)}
.pw-eye svg{width:19px;height:19px}
.pw-eye .eye-open{display:none}.pw-eye .eye-closed{display:block}
.pw-eye.show .eye-open{display:block}.pw-eye.show .eye-closed{display:none}
.ob-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
.ob-foot-r{display:flex;gap:10px}
.ob-foot .btn-save,.ob-foot .btn-line{margin-top:0}
.ob-msg{margin-top:8px;min-height:16px}
.rh-multi b{font-weight:600;margin-right:8px}
.rh-multi b:last-child{margin-right:0}
.rh-w{color:#8fd3a9}.rh-r{color:var(--gold-hi,#d9a521)}.rh-f{color:#e7a59c}
.ctable .st-name{position:sticky;left:0;z-index:3;background:linear-gradient(180deg,#14161b,#101216)}
.ctable th.st-name{z-index:4}
.table-wrap.hscr .st-name .cav,.table-wrap.hscr .st-name .cn-flag{display:none}
.table-wrap.hscr td.st-name{box-shadow:8px 0 12px -6px rgba(0,0,0,.55)}
.push-stat{display:inline-flex;align-items:center;vertical-align:middle}
.nudge-btn{vertical-align:middle}
.crem-card{margin:0 0 16px}
.crem-card.hat-due{border-color:rgba(192,98,95,.5)}
.crem-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.crem-head h3{margin:0}
.crem-head .btn-line{margin-top:0}
.crem-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.crem{display:flex;align-items:center;gap:10px;font-size:13.5px}
.crem-d{flex:0 0 auto;color:var(--silver-dim);font-size:12px;min-width:52px}
.crem.due .crem-d{color:#e7a59c;font-weight:700}
.crem-t{flex:1;min-width:0}
.crem-t small{color:var(--silver-dim)}
.crem-done{flex:0 0 auto;width:26px;height:26px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--silver-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.crem-done svg{width:13px;height:13px}
.crem-done:hover{color:#8fd3a9;border-color:rgba(95,174,126,.5)}
.push-modal{max-width:380px;text-align:center}
.push-modal h3{margin:10px 0 4px}
.push-ic{width:52px;height:52px;margin:4px auto 2px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.push-ic svg{width:24px;height:24px}
.push-ic.ok{color:#8fd3a9;background:rgba(95,174,126,.12);border:1px solid rgba(95,174,126,.4)}
.push-ic.warn{color:#e7a59c;background:rgba(192,98,95,.12);border:1px solid rgba(192,98,95,.4)}
.push-sub{color:var(--silver-dim);font-size:13px;margin-bottom:12px}
.push-fail{text-align:left;background:rgba(192,98,95,.08);border:1px solid rgba(192,98,95,.35);border-radius:10px;padding:10px 12px;margin-bottom:14px}
.push-fail-t{font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:#e7a59c;margin-bottom:6px}
.push-fail ul{list-style:none;margin:0;padding:0}
.push-fail li{font-size:13.5px;padding:3px 0}
.push-fail li small{color:var(--silver-dim);margin-left:6px}
.push-modal .btn-save{margin:0 auto}
.pen-alert{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;transition:background .25s;padding:20px}
.pen-alert.show{background:rgba(50,8,8,.6);backdrop-filter:blur(3px)}
.pen-alert-card{background:linear-gradient(180deg,#1a0f0f,#0e0a0a);border:1px solid rgba(192,98,95,.6);border-radius:16px;padding:26px 30px;text-align:center;max-width:320px;transform:scale(.7);opacity:0;transition:.3s cubic-bezier(.2,1.4,.4,1);box-shadow:0 0 44px rgba(192,60,50,.4)}
.pen-alert.show .pen-alert-card{transform:scale(1);opacity:1;animation:penShake .5s .28s}
@keyframes penShake{0%,100%{transform:scale(1) translateX(0)}20%{transform:scale(1) translateX(-7px)}40%{transform:scale(1) translateX(6px)}60%{transform:scale(1) translateX(-4px)}80%{transform:scale(1) translateX(2px)}}
.pen-alert-ic{width:56px;height:56px;margin:0 auto 12px;color:#e7a59c;border-radius:50%;border:1px solid rgba(192,98,95,.5);display:flex;align-items:center;justify-content:center;background:rgba(192,98,95,.1);animation:penPulse 1.2s infinite}
@keyframes penPulse{0%,100%{box-shadow:0 0 0 0 rgba(192,60,50,.45)}50%{box-shadow:0 0 0 12px rgba(192,60,50,0)}}
.pen-alert-ic svg{width:26px;height:26px}
.pen-alert-t{font-family:var(--serif);font-size:19px;letter-spacing:1.5px;color:#e7a59c;text-transform:uppercase;margin-bottom:6px}
.pen-alert-s{font-size:14px;color:var(--text,#dcdcdc);margin-bottom:16px;line-height:1.45}
.pen-alert-s small{color:var(--silver-dim)}
.pen-alert .btn-save{margin:0 auto}
.bz-locked .habit-x{display:none}
.bz-locked .bz-time{opacity:.55;cursor:not-allowed}
.greet-btns{display:inline-flex;gap:8px;margin-left:10px;vertical-align:middle}
.reload-btn{display:none}
@media(max-width:640px){.reload-btn{display:inline-flex}}
.fin-ansteht{margin-top:3px}
.fin-ansteht.rot{color:#e7a59c}
.fin-ansteht.gut{color:#8fd3a9}
/* Kleine Runde: PTR, Sticky-Breite, Erinnerungen kompakt, Strafen-Banner, W/R-Farben */
.ptr-ind{position:fixed;top:8px;left:50%;transform:translate(-50%,0);z-index:2500;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#1c1e24,#101216);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--silver-dim);opacity:0;pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.ptr-ind svg{width:18px;height:18px}
.ptr-ind.bereit{color:var(--gold-hi);border-color:var(--gold)}
.ptr-ind.laden svg{animation:ptrSpin .7s linear infinite}
@keyframes ptrSpin{to{transform:rotate(360deg)}}
.rh-w{color:var(--gold-hi,#d9a521)}
.rh-r{color:var(--silver-hi,#e8eaef)}
.st-name .cav{display:inline-flex;vertical-align:middle;margin-right:8px}

@media(max-width:900px){
  .ctable th.st-name,.ctable td.st-name{width:200px;min-width:200px;max-width:200px;overflow:hidden;white-space:nowrap}
  .ctable td.st-name .cname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;display:inline-block;max-width:84px}
  .table-wrap.hscr th.st-name,.table-wrap.hscr td.st-name{width:124px;min-width:124px;max-width:124px}
  .table-wrap.hscr td.st-name .cname{max-width:108px}
  .ctable tbody td{height:59px;box-sizing:border-box}
}
.crem2{background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border);border-radius:13px;padding:0;margin:0 0 16px;overflow:hidden}
.crem2.hat-due{border-color:rgba(192,98,95,.5)}
.crem2-kopf{display:flex;align-items:center;gap:9px;padding:10px 12px;cursor:pointer;user-select:none}
.crem2-kopf .fin-chev{width:13px;height:13px;color:var(--silver-dim);transition:transform .15s;flex:0 0 auto}
.crem2.zu .crem2-kopf .fin-chev{transform:rotate(-90deg)}
.crem2-t{font-family:var(--serif);font-size:13px;letter-spacing:.8px;color:var(--silver-hi)}
.crem2-badge{background:rgba(192,98,95,.15);border:1px solid rgba(192,98,95,.5);color:#e7a59c;font-size:10.5px;letter-spacing:.4px;padding:2px 8px;border-radius:999px}
.crem2-anz{color:var(--silver-dim);font-size:11.5px}
.crem2-plus{margin-left:auto;width:26px;height:26px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--silver-dim);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 2px}
.crem2-plus:hover{color:var(--gold-hi);border-color:var(--gold)}
.crem2-body{padding:0 12px 11px}
.crem2.zu .crem2-body{display:none}
.crem2-chips{display:flex;gap:6px;margin-bottom:9px;flex-wrap:wrap}
.crem-chip{border:1px solid var(--border);background:transparent;color:var(--silver-dim);font-size:11px;letter-spacing:.4px;padding:3px 10px;border-radius:999px;cursor:pointer}
.crem-chip.on{color:var(--gold-hi);border-color:var(--gold)}
.crem2-leer{color:var(--silver-dim);font-size:12.5px;padding:2px 0 4px}
.penalty-banner{background:linear-gradient(180deg,#191012,#100b0c);border:1px solid rgba(192,98,95,.45);border-left:3px solid #c0625f;border-radius:13px;padding:12px 14px}
.pen-kopf{display:flex;align-items:center;gap:8px;color:#e7a59c;font-family:var(--serif);letter-spacing:.8px;font-size:13.5px}
.pen-kopf svg{width:16px;height:16px;flex:0 0 auto}
.pen-list{list-style:none;margin:9px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.pen-list li{display:flex;align-items:center;gap:10px;font-size:13.5px}
.pen-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pen-frist{flex:0 0 auto;color:var(--silver-dim);font-size:12px}
.pen-list .btn-report{flex:0 0 auto;margin:0;background:transparent;border:1px solid rgba(192,98,95,.55);color:#e7a59c;border-radius:9px;padding:4px 12px;font-size:12px;letter-spacing:.5px;cursor:pointer;transition:.15s}
.pen-list .btn-report:hover{background:rgba(192,98,95,.15)}
.pen-reported{flex:0 0 auto;color:#8fd3a9;font-size:12px}
@media(max-width:640px){
  .pen-list li{flex-wrap:wrap;gap:4px 10px}
  .pen-name{flex:1 1 100%;white-space:normal}
}
.pen-list li.pen-extra{display:none}
.penalty-banner.pen-offen .pen-list li.pen-extra{display:flex}
.pen-mehr{display:block;margin:9px auto 0;background:transparent;border:none;color:var(--silver-dim);font-size:12px;letter-spacing:.5px;cursor:pointer;padding:4px 10px;border-radius:8px}
.pen-mehr:hover{color:#e7a59c}
.st-name .cav{width:34px!important;height:34px!important;overflow:hidden;border-radius:9px;flex:0 0 auto}
.st-name .cav img,.st-name .cav > *{width:34px!important;height:34px!important;border-radius:9px!important;font-size:12px!important;line-height:34px!important;object-fit:cover}
.st-name .cav img,.st-name .cav > *{flex:0 0 34px!important;min-width:34px!important}
/* ===== To-Dos ===== */
.tdo-kopf{display:flex;gap:12px;margin-bottom:14px;align-items:stretch}
.tdo-ringbox{flex:0 0 auto;background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border);border-radius:13px;padding:14px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:110px}
.tdo-ring{width:64px;height:64px;transform:rotate(-90deg)}
.tdo-ring circle{fill:none;stroke-width:3.4}
.tdo-ring .rb{stroke:rgba(255,255,255,.08)}
.tdo-ring .rf{stroke:var(--gold,#c9a227);transition:stroke-dasharray .4s}
.tdo-ring .rf.voll{stroke:#5fae7e}
.tdo-ringtxt{text-align:center}
.tdo-ringtxt b{font-family:var(--serif);font-size:19px;color:var(--silver-hi)}
.tdo-ringtxt b small{font-size:12px;color:var(--silver-dim)}
.tdo-ringtxt span{display:block;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--silver-dim)}
.tdo-fokusbox{flex:1;min-width:0;background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border);border-radius:13px;padding:12px 14px}
.tdo-fokusbox.gold{border-color:var(--gold);box-shadow:0 0 22px rgba(201,162,39,.18)}
.tdo-fokushead{font-family:var(--serif);font-size:12.5px;letter-spacing:.8px;color:var(--gold-hi,#d9a521);margin-bottom:8px}
.tdo-fokushead small{color:var(--silver-dim)}
.tdo-fitem{display:flex;align-items:center;gap:9px;font-size:13.5px;padding:4px 0;cursor:pointer;min-width:0}
.tdo-fitem.done{color:var(--silver-dim);text-decoration:line-through}
.tdo-fitem.done i{color:#5fae7e;font-style:normal}
.tdo-fcheck{flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:1.6px solid var(--gold);background:transparent;cursor:pointer;padding:0}
.tdo-fcheck:hover{background:rgba(201,162,39,.18)}
.tdo-fleer{color:var(--silver-dim);font-size:12.5px}
.tdo-schnell{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap;background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border);border-radius:13px;padding:10px}
.tdo-schnell input{flex:1;min-width:150px;background:#0e0f13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;padding:0 11px;height:38px;font:inherit;font-size:13.5px;box-sizing:border-box}
.tdo-schnell input:focus{outline:none;border-color:var(--gold)}
.tdo-zielbtns{display:flex;gap:5px;flex:0 0 auto}
.tdo-zielbtns button{border:1px solid var(--border);background:transparent;color:var(--silver-dim);font-size:11.5px;letter-spacing:.3px;padding:0 11px;height:30px;border-radius:999px;cursor:pointer}
.tdo-zielbtns button.on{color:var(--gold-hi);border-color:var(--gold)}
.tdo-plus{flex:0 0 auto;margin:0;width:38px;height:38px;padding:0;font-size:18px;line-height:1}
.tdo-toggle{margin-bottom:12px}
.tdo-lchips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.tdo-lchip{border:1px solid var(--border);background:transparent;color:var(--silver-dim);font-size:11px;padding:3px 11px;border-radius:999px;cursor:pointer}
.tdo-lchip.on{color:var(--lc,var(--gold-hi));border-color:var(--lc,var(--gold))}
.tdo-karte{padding:8px 12px}
.tdo-abschnitt{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--silver-dim);margin:12px 2px 4px;font-family:var(--serif)}
.tdo-abschnitt small{text-transform:none;letter-spacing:0}
.tdo-item{display:flex;align-items:flex-start;gap:11px;padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;border-left:2px solid transparent;transition:background .12s}
.tdo-item:last-child{border-bottom:none}
.tdo-item:hover{background:rgba(255,255,255,.025)}
.tdo-item.prio3{border-left-color:#cf5b4f}
.tdo-item.prio2{border-left-color:var(--gold)}
.tdo-item.prio1{border-left-color:rgba(255,255,255,.25)}
.tdo-check{flex:0 0 auto;width:22px;height:22px;margin-top:1px;border-radius:50%;border:1.6px solid var(--silver-dim);background:transparent;color:transparent;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:.15s}
.tdo-check svg{width:12px;height:12px}
.tdo-check:hover{border-color:var(--gold);color:rgba(201,162,39,.6)}
.tdo-item.done .tdo-check{background:#5fae7e;border-color:#5fae7e;color:#0a0908}
.tdo-body{flex:1;min-width:0}
.tdo-titel{font-size:14px;color:var(--silver-hi);line-height:1.35;overflow-wrap:anywhere}
.tdo-item.done .tdo-titel{color:var(--silver-dim);text-decoration:line-through}
.tdo-stern{color:var(--gold-hi);margin-right:5px;font-size:12px}
.tdo-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.tdo-chip{font-size:10.5px;letter-spacing:.3px;color:var(--silver-dim);border:1px solid var(--border);border-radius:999px;padding:1px 8px}
.tdo-chip.gold{color:var(--gold-hi);border-color:rgba(201,162,39,.5)}
.tdo-chip.rot{color:#e7a59c;border-color:rgba(192,98,95,.5)}
.tdo-leer{text-align:center;color:var(--silver-dim);font-size:13px;padding:26px 10px}
.tdo-leer-ic{width:44px;height:44px;margin:0 auto 10px;border-radius:50%;border:1px solid rgba(95,174,126,.5);color:#5fae7e;display:flex;align-items:center;justify-content:center;font-size:19px}
.tdo-blrow{position:relative}
.tdo-blbtns{position:absolute;right:2px;top:10px;display:flex;gap:5px}
.tdo-blbtns button{border:1px solid var(--border);background:#15161b;color:var(--silver-dim);font-size:10.5px;padding:3px 9px;border-radius:999px;cursor:pointer}
.tdo-blbtns button:hover{color:var(--gold-hi);border-color:var(--gold)}
.tdo-blrow .tdo-body{padding-right:120px}
.tdo-burst{position:fixed;z-index:4000;pointer-events:none}
.tdo-burst i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold-hi,#d9a521);animation:tdoFly .6s ease-out forwards}
@keyframes tdoFly{to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}
.tdo-priopills{display:flex;gap:5px}
.tdo-priopills button{flex:1;border:1px solid var(--border);background:transparent;color:var(--silver-dim);font-size:11.5px;height:34px;border-radius:9px;cursor:pointer;padding:0 4px}
.tdo-priopills button.on{color:var(--gold-hi);border-color:var(--gold)}
.tdo-priopills button[data-p="3"].on{color:#e7a59c;border-color:rgba(192,98,95,.6)}
.tdo-fokusrow{margin:2px 0 10px}
.tdo-subrow{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:13.5px}
.tdo-subrow .durch{text-decoration:line-through;color:var(--silver-dim)}
.tdo-subchk{flex:0 0 auto;width:17px;height:17px;border-radius:6px;border:1.5px solid var(--silver-dim);background:transparent;cursor:pointer;padding:0}
.tdo-subchk.on{background:#5fae7e;border-color:#5fae7e}
.tdo-subrow span{flex:1;min-width:0}
.tdo-subx{flex:0 0 auto;border:none;background:transparent;color:var(--silver-dim);font-size:15px;cursor:pointer;padding:0 4px}
.tdo-subx:hover{color:#e7a59c}
.tdo-subadd input{width:100%;background:#0e0f13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;padding:9px 11px;font:inherit;font-size:13.5px;box-sizing:border-box}
.tdo-subadd input:focus{outline:none;border-color:var(--gold)}
.pl-typ{display:flex;gap:6px;margin:10px 0 2px}
.pl-typbtn{border:1px solid var(--border);background:transparent;color:var(--silver-dim);font-size:12px;letter-spacing:.4px;padding:5px 15px;border-radius:999px;cursor:pointer}
.pl-typbtn.on{color:var(--gold-hi);border-color:var(--gold)}
.plan-todochip{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:rgba(201,162,39,.08);border:1px solid rgba(201,162,39,.35);border-radius:7px;color:var(--silver-hi);font-size:11px;padding:2px 7px;margin-top:2px;cursor:pointer;overflow:hidden}
.plan-todochip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-todochip.done{opacity:.55}
.plan-todochip.done span{text-decoration:line-through}
.plan-todochip .tdc{flex:0 0 auto;width:13px;height:13px;border-radius:50%;border:1.4px solid var(--gold);display:inline-block}
.plan-todochip .tdc.on{background:#5fae7e;border-color:#5fae7e}
@media(max-width:640px){
  .tdo-kopf{flex-direction:column}
  .tdo-ringbox{flex-direction:row;justify-content:flex-start;gap:14px;padding:10px 14px}
  .tdo-ring{width:52px;height:52px}
  .tdo-schnell input{flex:1 1 100%}
  .tdo-zielbtns{flex:1}
  .tdo-zielbtns button{flex:1}
  .tdo-blbtns{position:static;margin:-4px 0 8px 33px}
  .tdo-blrow .tdo-body{padding-right:0}
}
.tdo-modal .tdo-fokusrow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tdo-modal .tdo-fokusrow span{white-space:nowrap;flex:1;text-align:left}
/* To-Dos: aufgeraeumter Kopf, Leiste mit +, Modal-Sektionen */
.tdo-kopf2{display:flex;align-items:stretch;gap:0;background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border);border-radius:13px;margin-bottom:12px;overflow:hidden}
.tdo-ringbox2{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:14px 20px;border-right:1px solid rgba(255,255,255,.06)}
.tdo-fokus2{flex:1;min-width:0;padding:12px 16px}
.tdo-fokus2.gold{box-shadow:inset 0 0 26px rgba(201,162,39,.12)}
.tdo-fokus2 .tdo-fokushead{display:flex;flex-direction:column;gap:1px;margin-bottom:8px}
.tdo-fokus2 .tdo-fokushead small{color:var(--silver-dim);font-family:var(--sans,inherit);letter-spacing:.2px;font-size:11px}
.tdo-leiste{display:flex;gap:8px;align-items:stretch;margin-bottom:12px}
.tdo-leiste .tdo-toggle{flex:1;margin-bottom:0}
.tdo-addbtn{flex:0 0 auto;width:44px;margin:0;padding:0;font-size:19px;line-height:1;border-radius:12px}
.tdo-sek{font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-hi,#d9a521);font-family:var(--serif);margin:16px 0 8px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.06)}
.tdo-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tdo-row .fg{min-width:0}

.tdo-priopills{display:flex;gap:6px;flex-wrap:wrap}
.tdo-priopills button{flex:1 1 auto;min-width:62px}
@media(max-width:640px){
  .tdo-kopf2{flex-direction:row}
  .tdo-ringbox2{padding:12px 14px}
  .tdo-toggle button{font-size:11.5px;letter-spacing:.3px;padding-left:2px;padding-right:2px;white-space:nowrap}
}
/* To-Dos v2: Zeitbloecke, Farben, Menue, Fixes */

.tdo-del{width:40px;height:40px;border-radius:10px;background:rgba(192,98,95,.14);border:1px solid rgba(192,98,95,.6);color:#e7a59c;display:flex;align-items:center;justify-content:center;margin:0;cursor:pointer;padding:0}
.tdo-del svg{width:17px;height:17px}
.tdo-del:hover{background:rgba(192,98,95,.28)}
.tdo-farben{display:flex;gap:7px;align-items:center;height:38px;flex-wrap:wrap}
.tdo-fpunkt{width:22px;height:22px;border-radius:50%;border:2px solid transparent;background:var(--f);cursor:pointer;padding:0;opacity:.7;transition:.12s}
.tdo-fpunkt.on{border-color:#fff;opacity:1;transform:scale(1.1)}
.tdo-subadd{display:flex;gap:6px}
.tdo-subadd input{flex:1;min-width:0}
.tdo-subplus{flex:0 0 auto;width:38px;border-radius:9px;border:1px solid var(--border);background:transparent;color:var(--silver-dim);font-size:17px;cursor:pointer;padding:0}
.tdo-subplus:not(:disabled):hover{color:var(--gold-hi);border-color:var(--gold)}
.tdo-subplus:disabled{opacity:.3;cursor:default}
.tdo-mehrwrap{position:relative;flex:0 0 auto}
.tdo-mehrbtn{width:44px;height:100%;min-height:38px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--silver-dim);font-size:17px;cursor:pointer;padding:0}
.tdo-mehrbtn.on{color:var(--gold-hi);border-color:var(--gold)}
.tdo-menue{position:absolute;right:0;top:calc(100% + 6px);z-index:60;background:#15161b;border:1px solid var(--border);border-radius:11px;padding:5px;min-width:132px;box-shadow:0 10px 26px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:2px}
.tdo-menue button{background:transparent;border:none;color:var(--silver-hi);font-size:13px;text-align:left;padding:8px 11px;border-radius:8px;cursor:pointer}
.tdo-menue button:hover{background:rgba(255,255,255,.05)}
.plan-ttodo{position:absolute;left:2px;right:2px;z-index:6;display:flex;align-items:flex-start;gap:5px;overflow:hidden;text-align:left;background:color-mix(in srgb, var(--c,#c9a227) 16%, #0e0f13);border:1px dashed color-mix(in srgb, var(--c,#c9a227) 55%, transparent);border-left:3px solid var(--c,#c9a227);border-radius:7px;color:var(--silver-hi);font-size:10.5px;padding:3px 5px;cursor:pointer;box-sizing:border-box}
.plan-ttodo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;min-width:0}
.plan-ttodo .tdc{flex:0 0 auto;width:12px;height:12px;border-radius:50%;border:1.4px solid var(--c,#c9a227);margin-top:1px;display:inline-block}
.plan-ttodo .tdc.on{background:#5fae7e;border-color:#5fae7e}
.plan-ttodo.done{opacity:.5}
.plan-ttodo.done span{text-decoration:line-through}
.plan-todochip{border-color:color-mix(in srgb, var(--c,#c9a227) 45%, transparent);background:color-mix(in srgb, var(--c,#c9a227) 10%, transparent)}
.plan-todochip .tdc{border-color:var(--c,#c9a227)}
/* To-Do-Modal im Termin-Look */
.tdo-modal .plan-colors{margin-top:10px;position:relative}


.tdo-modal #td_subs:empty{display:none}
.tdo-modal .tdo-row .fg label{display:block}
/* To-Do-Modal 1:1 Termin + Aufgaben-Zeile im Kalender */
.plan-tg-tdlabel svg{width:13px;height:13px}
.plan-tdtoggle{position:relative}
.plan-tdtoggle svg{width:15px;height:15px}
.plan-tdtoggle .io{position:absolute;right:3px;bottom:1px;font-size:8px;font-style:normal;color:var(--silver-dim);letter-spacing:0}
.plan-tdtoggle.an{color:var(--gold-hi);border-color:var(--gold)}
.plan-tdtoggle.an .io{color:var(--gold-hi)}
.td-dlwrap{position:relative}
.td-dl{width:100%;box-sizing:border-box}
.td-dl:not(.hat){color:transparent}
.td-dl:not(.hat):focus{color:inherit}
.td-dlph{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--silver-dim);font-style:italic;pointer-events:none;font-size:13px}
.td-fokprio{display:flex;gap:10px;align-items:center}
.td-fokprio .gz-gt{flex:0 0 auto;margin:0}
.td-fokprio .tdo-priopills{flex:1;min-width:0;gap:5px;flex-wrap:nowrap}
.td-fokprio .tdo-priopills button{min-width:0;padding:9px 6px;height:auto;font-size:11.5px;flex:1;box-sizing:border-box}
@media(max-width:640px){
  .td-fokprio{gap:7px}
  .td-fokprio .tdo-priopills button{font-size:10px;padding:0 3px}
}
/* To-Do-Modal Feinschliff: einheitliche Hoehen, schmaler Prio-Strich, Abhaken-Button */


.tdo-modal .tdo-priopills button{height:38px}
.tdo-modal .tdo-subadd input,.tdo-modal .tdo-subplus{height:38px;box-sizing:border-box}
.td-fokprio .tdo-priopills button:first-child{flex:0 0 34px;min-width:34px;padding:9px 0}
.plan-tdtoggle .io{display:none}
.btn-icon-dup,.btn-icon-del{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.btn-icon-dup svg,.btn-icon-del svg{width:16px;height:16px}
.td-done-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(95,174,126,.5);color:#8fd3a9;border-radius:10px;padding:0 14px;height:38px;font-size:12.5px;letter-spacing:.4px;cursor:pointer;margin-right:auto}
.td-done-btn i{width:16px;height:16px;border-radius:50%;border:1.6px solid #5fae7e;display:inline-block;position:relative}
.td-done-btn.on i{background:#5fae7e}
.td-done-btn.on i::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:#0a0908}
.td-done-btn:hover{background:rgba(95,174,126,.12)}
.td-done-btn.on{color:var(--silver-dim);border-color:var(--border)}
.tdo-modal .plan-foot{display:flex;align-items:center;gap:10px}
/* Ganztaegig-Schalter: volle Breite wie das Datum-Feld (Termin + Aufgabe) */
.gz-zeit2{width:100%}
.gz-zeit2 .gz-gt{flex:1 1 0;min-width:0;box-sizing:border-box;justify-content:space-between}
@media(max-width:640px){
  .gz-zeit2{flex-wrap:wrap}
  .gz-zeit2 .gz-gt{flex:1 1 100%}
  .gz-zeit2 .gz-rep{flex:1 1 100%}
  .gz-zeit2 .gz-rep select{width:100%}
}
@media(max-width:640px){
  .plan-modal .gz-zeit2 .gz-gt{flex:1 1 100%!important;width:100%;justify-content:space-between}
  .plan-modal .gz-zeit2 .gz-rep{flex:1 1 100%!important;width:100%}
}
/* Wiedereinbau: eigene Klassen, padding-basiert, keine Overrides auf geteilten Feldern */
.tdo-subplus{align-self:stretch;height:auto}
.td-fokprio{width:100%}
.td-fokprio .gz-gt{height:38px;padding:0 12px;box-sizing:border-box}
@media(max-width:640px){
  .td-fokprio .gz-gt{height:34px}
  .td-fokprio .tdo-priopills button{padding:7px 6px;font-size:11px}
  .td-fokprio .tdo-priopills button:first-child{padding:7px 0}
  .tdo-subadd input{padding:7px 11px;font-size:13px}
}
/* Neue Bloecke: exakt die Termin-Feldmasse (38px Desktop, 34px mobil) */
.td-fokprio .tdo-priopills button{height:38px;padding:0 6px;box-sizing:border-box}
.td-fokprio .tdo-priopills button:first-child{padding:0}
.tdo-subadd input{height:38px;padding:0 11px;box-sizing:border-box}
.tdo-subplus{height:38px;align-self:auto;box-sizing:border-box}
@media(max-width:640px){
  .td-fokprio .gz-gt{height:34px}
  .td-fokprio .tdo-priopills button{height:34px}
  .tdo-subadd input{height:34px}
  .tdo-subplus{height:34px}
}
@media(max-width:640px){
  .tdo-modal .tdo-subadd input{height:34px!important}
  .tdo-modal .tdo-subplus{height:34px!important}
}
/* Zeit-Routinen + Luecken-Fix */
.tdo-modal .tdo-subadd{margin-top:0}
.tdo-modal #td_subs:not(:empty){margin-bottom:8px}
.zt .zt-chk{cursor:default;pointer-events:none}
.zt-row{display:flex;align-items:center;gap:10px;margin-top:7px}
.zt-min{background:#0e0f13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;padding:6px 10px;font:inherit;font-size:13px;cursor:pointer}
.zt-min:focus{outline:none;border-color:var(--gold)}
.zt-stand{font-size:12px;color:var(--silver-hi);letter-spacing:.3px}
.zt-stand.gut{color:#8fd3a9;font-weight:600}
.zt-stand.dim{color:var(--silver-dim)}

/* ===== Tri-State-Check + Zeit-Routinen v2 + Typ-Auswahl ===== */
.habit .check .nx-ic{display:none}
.habit .check.nope{border-color:#c14a4a;background:rgba(193,74,74,.12)}
.habit .check.nope .ck-ic{display:none}
.habit .check.nope .nx-ic{display:block;opacity:1;color:#e05c5c}
.habit .check.nope.neutral{border-color:var(--border);background:transparent}
.habit .check.nope.neutral .nx-ic{color:var(--silver-dim)}
.habit .check.zt-leer{opacity:.4}
.habit.zt .weekbar.zt-bar{margin-top:8px}
.zt-woche{font-size:12px;color:var(--silver-dim);margin-left:auto;white-space:nowrap}
.zt-row{flex-wrap:wrap}
.rh-je{font-style:normal;color:var(--silver-dim);font-size:11px;margin-left:4px}
.httyp-card{max-width:440px;width:calc(100% - 32px)}
.httyp-opt{display:block;width:100%;text-align:left;background:#101116;border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:8px 0;color:#e6e8ee;cursor:pointer;font:inherit;transition:border-color .15s,background .15s}
.httyp-opt:hover{border-color:#c9a35c;background:#14151b}
.httyp-opt b{display:block;font-size:14px;margin-bottom:3px;letter-spacing:.02em}
.httyp-opt span{display:block;font-size:12px;color:var(--silver-dim);line-height:1.45}
.zt-edit .cat-hint{margin:2px 0 4px}
.zt-wsoll[disabled]{opacity:.65}

/* ===== Routinen v3: X gefuellt, Toggles, Zahl-Routine, Datumsbreite ===== */
.habit .check svg{grid-area:1/1}
.habit .check.nope{background:linear-gradient(145deg,#e06060,#a13a3a);border-color:#c14a4a}
.habit .check.nope .ck-ic{display:none}
.habit .check.nope .nx-ic{display:block;opacity:1;color:#0a0908;stroke:#0a0908}
.habit .check.nope.neutral{background:linear-gradient(145deg,#9aa0a8,#666b73);border-color:#7d828a}
.habit .check.nope.neutral .nx-ic{color:#0a0908;stroke:#0a0908}
.he-form input[type="date"]{max-width:170px}
.seg2{display:flex;gap:6px}
.seg2 button{flex:1;height:38px;border:1px solid var(--border);border-radius:9px;background:#0e0f13;color:var(--silver-dim);cursor:pointer;font:inherit;font-size:13px;transition:border-color .15s,color .15s,background .15s}
.seg2 button.on{border-color:#c9a35c;color:#f0e8d8;background:rgba(201,163,92,.10)}
.zl-wert{width:92px;background:#0e0f13;border:1px solid var(--border);border-radius:9px;color:#e6e8ee;padding:6px 10px;font:inherit;font-size:13px}
.zl .zt-chk{cursor:default;pointer-events:none}

/* ===== Routinen v4: einheitliche Setups, seg7, Skills-Checks, Datumsfeld ===== */
.he-form .fg input,.he-form .fg select{height:38px}
.he-form input[type="date"]{width:100%;max-width:none}
.seg7{gap:4px}
.seg7 button{padding:0;font-size:12px}
.seg2.aus{opacity:.4;pointer-events:none}
.fgs2{grid-column:span 2}
@media (max-width:640px){.fgs2{grid-column:auto}}
@media (min-width:641px){.fg3{grid-column:3}}
.skill-checks{display:flex;flex-wrap:wrap;gap:8px}
.sk-check{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:9px;padding:0 12px;height:38px;cursor:pointer;font-size:13px;color:#e6e8ee;background:#0e0f13}
.sk-check:has(input:checked){border-color:#c9a35c;background:rgba(201,163,92,.10)}
.he-form .sk-check input{accent-color:#c9a35c;margin:0;width:15px;height:15px}
.sk-leer{font-size:12px;color:var(--silver-dim)}

/* ===== Routinen v5: Datumsfeld iOS, Zahl-Wochenzeile ===== */
.he-form input[type="date"]{-webkit-appearance:none;appearance:none;width:100%;min-width:0;max-width:100%;height:38px;box-sizing:border-box}
.he-form input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}

/* ===== Finanzen-Politur + Warnungen oben ===== */
.fin-kpi b.fin-leer{font-size:14px;line-height:1.3;white-space:normal;overflow-wrap:break-word}
#dash-warnings > *{margin-bottom:14px}

/* ===== Coach-Detailansicht kompakt + Finanz-Vergleich ===== */
.cd-grid2,.cd-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:14px}
.cd-grid2 > .set-card,.cd-grid3 > .set-card{margin-bottom:0;height:100%;box-sizing:border-box}
.cd-fin .cd-finrow{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border-soft);font-size:13.5px}
.cd-fin .cd-finrow:last-child{border-bottom:0}
.cd-fin .cd-finrow span{color:var(--silver-dim)}
.fin-vgl{font-size:10.5px}
.fin-vgl.gut{color:#8fd3a9}
.fin-vgl.rot{color:#e7a59c}

/* ===== Coach-Tabelle kompakt (PC ohne Scrollen) + Strafen oben ===== */
@media (min-width:901px){
  .ctable th,.ctable td{padding-left:8px;padding-right:8px}
  .ctable .cname{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}
}

/* ===== To-Do-Suche + Kalender-Vollbild ===== */
.tdo-such{display:flex;align-items:center}
.tdo-suchbtn{width:44px;height:auto;align-self:stretch;border:1px solid var(--border);border-radius:12px;background:#0e0f13;color:var(--silver-dim);cursor:pointer;display:grid;place-items:center;transition:color .15s,border-color .15s}
.tdo-suchbtn svg{width:17px;height:17px}
.tdo-suchbtn:hover{color:#e6e8ee;border-color:#c9a35c}
.tdo-such input{width:0;opacity:0;padding:0;border:0;background:#0e0f13;color:#e6e8ee;border-radius:12px;align-self:stretch;font:inherit;font-size:13.5px;transition:width .22s ease,opacity .18s ease,padding .22s ease,margin .22s ease;min-width:0;margin-left:0}
.tdo-such.offen input{width:190px;opacity:1;padding:0 30px 0 10px;border:1px solid var(--border);margin-left:6px}
.tdo-such .tdo-suchx{display:none;width:26px;height:26px;border:0;background:transparent;color:var(--silver-dim);cursor:pointer;font-size:16px;line-height:1;margin-left:-32px;z-index:1}
.tdo-such.offen .tdo-suchx{display:block}
.tdo-such.offen .tdo-suchbtn{color:#c9a35c;border-color:#c9a35c}
@media (max-width:640px){
  .tdo-leiste{flex-wrap:wrap}
  .tdo-such.offen{flex:1 1 100%;order:9}
  .tdo-such.offen input{flex:1;width:auto;height:38px;align-self:center}
  .tdo-such.offen .tdo-suchbtn{height:38px;align-self:center}
}
/* Kalender-Vollbild (wie eine eigene Kalender-App) */
body.plan-voll .topbar{display:none!important}
body.plan-voll #client-botbar{display:none!important}
body.plan-voll #perf-nav{display:none!important}
body.plan-voll .ptr-ind{display:none!important}
body.plan-voll #client-planung{position:fixed;inset:0;z-index:60;overflow:auto;background:var(--bg,#0a0908);margin:0;padding:10px 14px calc(12px + env(safe-area-inset-bottom))}
body.plan-voll .plan-top{display:none}
body.plan-voll #plan-root .plan-card{margin:0}
@media (max-width:640px){ body.plan-voll #client-planung{padding:6px 8px calc(8px + env(safe-area-inset-bottom))} }

/* Vollbild: Coach-Ansicht-Banner ausblenden */
body.plan-voll #impersonation-banner{display:none!important}

/* ===== Vollbild-Feinschliff + Such-Abstaende ===== */
body.plan-voll #client-planung{padding:calc(8px + env(safe-area-inset-top,0px)) 14px calc(12px + env(safe-area-inset-bottom,0px))}
@media (max-width:640px){ body.plan-voll #client-planung{padding:calc(6px + env(safe-area-inset-top,0px)) 8px calc(10px + env(safe-area-inset-bottom,0px))} }
body.plan-voll .plan-tg-scroll{max-height:calc(var(--pv-h,60vh) - env(safe-area-inset-bottom,0px))!important}
.plan-exit{border:0;background:transparent;width:40px;height:40px;display:grid;place-items:center;color:var(--silver-hi);cursor:pointer;border-radius:10px;padding:0}
.plan-exit svg{width:20px;height:20px}
.plan-exit:hover{color:#c9a35c}
.tdo-such{position:relative}
.tdo-such .tdo-suchx{position:absolute;right:8px;top:50%;transform:translateY(-50%);margin-left:0}
.tdo-such.offen input{margin-left:8px}

/* Kalender-Toolbar mobil kompakt (kein Umbruch des +) */
@media (max-width:640px){
  .plan-nav{gap:4px}
  .plan-exit{width:32px}
  .plan-today{padding:0 8px}
  .btn-save.plan-add{width:32px;min-width:32px;padding:0}
}

/* ===== Shop v2: Haendler, Warenkorb, Wunschliste, Angebot ===== */
.shop-kopf{display:flex;gap:18px;align-items:stretch;padding:16px 18px;margin-bottom:18px;flex-wrap:wrap}
.shop-haendler{flex:0 0 150px;color:#c9a35c;display:flex;align-items:center}
.shop-haendler svg{width:150px;height:auto}
.shop-kopf-mitte{flex:1;min-width:220px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.shop-bubble{position:relative;background:#14151b;border:1px solid var(--border);border-radius:12px;padding:10px 14px;font-size:13.5px;color:#e6e8ee;max-width:480px}
.shop-bubble:before{content:"";position:absolute;left:-7px;top:16px;border:7px solid transparent;border-right-color:#14151b}
.shop-bubble.pop{animation:shopPop .25s ease}
@keyframes shopPop{0%{transform:scale(.96);opacity:.4}100%{transform:scale(1);opacity:1}}
.shop-geld{display:flex;flex-direction:column;gap:8px;justify-content:center;min-width:110px}
.sg-zeile{display:flex;align-items:baseline;gap:6px;font-family:inherit}
.sg-zeile b{font-size:22px}
.sg-zeile small{color:var(--silver-dim);font-size:11px}
.sg-zeile.gold{color:var(--gold-hi,#e3c27e)}
.sg-zeile.silber{color:var(--silver-hi,#c8ccd4)}
.sg-zeile .kr{width:16px;height:16px;align-self:center}
.shop-preis .kr,.sa-preis .kr,.so-preis .kr,.scp-preis .kr,.scp-summe .kr{width:13px;height:13px;vertical-align:-2px;color:var(--gold-hi,#e3c27e)}
.shop-angebot{border:1px solid #c9a35c;border-radius:12px;padding:10px 14px;background:linear-gradient(160deg,rgba(201,163,92,.10),transparent)}
.sa-tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-hi,#e3c27e);margin-bottom:6px}
.sa-main{display:flex;align-items:center;gap:12px}
.sa-main .shop-ic{font-size:26px}
.sa-mitte{flex:1;min-width:0}
.sa-preis{font-size:13px;color:#e6e8ee;margin-top:2px}
.sa-preis small{color:var(--silver-dim);margin-left:6px}
.shop-alt{color:var(--silver-dim);margin-right:6px}
.shop-card2{position:relative;background:linear-gradient(180deg,var(--surface),#0e0f13);border:1px solid var(--border);border-radius:14px;padding:14px 15px;display:flex;flex-direction:column;gap:6px}
.shop-card2.angebot{border-color:#c9a35c}
.shop-card2.gesperrt > *:not(.sc-lock){opacity:.45}
.shop-card2 .sc-lock{position:absolute;inset:auto 12px 12px auto;font-size:12px;color:var(--silver-dim)}
.shop-ic{font-size:24px;line-height:1}
.shop-kat{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--silver-dim)}
.shop-badges{display:flex;gap:6px;flex-wrap:wrap}
.shop-badge{font-size:10.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--silver-hi)}
.shop-badge.gold{border-color:#c9a35c;color:var(--gold-hi,#e3c27e)}
.shop-badge.gruen{border-color:#3d8a5f;color:#8fd3a9}
.shop-badge.lila{border-color:#7d6ba8;color:#b9a8e8}
.shop-herz{position:absolute;top:10px;right:10px;width:30px;height:30px;border:0;background:transparent;color:var(--silver-dim);font-size:17px;cursor:pointer;line-height:1}
.shop-herz.on{color:#e05c7a}
.shop-card2 .sc-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.shop-preis{font-size:14px;color:#e6e8ee;white-space:nowrap}
.shop-rp{font-size:11.5px;color:#b9a8e8;margin-left:4px}
.shop-btns{display:flex;gap:6px;align-items:center}
.shop-cartbtn{width:36px;height:32px;border:1px solid var(--border);border-radius:9px;background:#0e0f13;cursor:pointer;font-size:14px}
.shop-cartbtn:hover{border-color:#c9a35c}
.shop-cartbtn:disabled{opacity:.4;cursor:default}
.shop-wliste{padding:14px 18px;margin-bottom:18px}
.shop-wliste h3{margin:0 0 10px}
.shop-wunsch{display:flex;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--border-soft)}
.shop-wunsch:last-child{border-bottom:0}
.sw-name{flex:0 0 auto;min-width:140px;font-size:13.5px}
.sw-bar{flex:1;height:6px;border-radius:6px;background:#0a0907;border:1px solid #2a2d35;overflow:hidden}
.sw-bar i{display:block;height:100%;background:linear-gradient(90deg,#8a6d35,var(--gold-hi,#e3c27e))}
.sw-rest{flex:0 0 auto;font-size:12px;color:var(--silver-dim);white-space:nowrap}
.sw-rest.ok{color:#8fd3a9}
.shop-orders{padding:10px 18px;margin-top:4px}
.shop-order{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-soft);font-size:13.5px}
.shop-order:last-child{border-bottom:0}
.so-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.so-preis{color:var(--silver-hi);white-space:nowrap}
.so-status{font-size:11.5px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}
.so-status.offen{color:var(--gold-hi,#e3c27e);border-color:#c9a35c}
.so-status.ok{color:#8fd3a9;border-color:#3d8a5f}
.shop-cartfab{position:fixed;right:18px;bottom:92px;width:52px;height:52px;border-radius:50%;border:1px solid #c9a35c;background:#14151b;font-size:20px;cursor:pointer;z-index:55;box-shadow:0 6px 22px rgba(0,0,0,.5)}
.scf-n{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;border-radius:10px;background:#c9a35c;color:#0a0908;font-size:11.5px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.shop-cartpanel{position:fixed;right:18px;bottom:152px;width:320px;max-width:calc(100vw - 36px);background:#101116;border:1px solid var(--border);border-radius:14px;padding:14px 16px;z-index:56;box-shadow:0 10px 34px rgba(0,0,0,.6)}
.shop-cartpanel h3{margin:0 0 10px}
.scp-zeile{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border-soft);font-size:13px}
.scp-zeile:last-of-type{border-bottom:0}
.scp-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scp-menge{display:flex;align-items:center;gap:6px}
.scp-menge button{width:22px;height:22px;border:1px solid var(--border);border-radius:6px;background:#0e0f13;color:#e6e8ee;cursor:pointer;line-height:1}
.scp-preis{white-space:nowrap}
.scp-summe{margin:10px 0;font-size:14px}
.scp-kasse{width:100%}
@media (max-width:640px){
  .shop-kopf{gap:12px}
  .shop-haendler{flex-basis:104px}
  .shop-haendler svg{width:104px}
  .shop-cartfab{bottom:84px}
  .shop-cartpanel{bottom:144px}
  .sw-name{min-width:110px}
}

/* Toolbar-Feinschliff: Heute=Tageszahl, + voller Block; Suche mobil als Overlay */
.plan-heute{font-size:13px;font-weight:600;color:var(--silver-hi)}
@media (max-width:640px){
  .btn-save.plan-add{width:36px;min-width:36px;padding:0}
}
@media (max-width:640px){
  .tdo-leiste{position:relative}
  .tdo-such.offen{position:absolute;inset:0;z-index:5;background:var(--bg,#0a0908);display:flex;align-items:center;flex:0 0 auto;order:0;margin:0;animation:shopPop .16s ease}
  .tdo-such.offen input{flex:1;width:auto;height:auto;align-self:stretch;margin-left:8px}
  .tdo-such.offen .tdo-suchbtn{height:auto;align-self:stretch}
}

/* To-Do-Leiste mobil: festes 2-Zeilen-Layout, nichts springt */
@media (max-width:640px){
  .tdo-leiste{flex-wrap:wrap}
  .tdo-leiste .tdo-toggle{order:0;flex:1 1 calc(100% - 52px)}
  .tdo-mehrwrap{order:1}
  .tdo-such{position:static;order:2;flex:1 1 auto;display:flex;margin:0;background:transparent;animation:none}
  .tdo-such.offen{position:static;inset:auto;order:2;flex:1 1 auto;margin:0;background:transparent;animation:none;z-index:auto}
  .tdo-such input{width:auto;flex:1 1 auto;max-width:0;transition:max-width .22s ease,opacity .18s ease,padding .22s ease,margin .22s ease}
  .tdo-such.offen input{width:auto;max-width:100%;height:auto;align-self:stretch;margin-left:8px}
  .tdo-such .tdo-suchbtn,.tdo-such.offen .tdo-suchbtn{height:auto;align-self:stretch}
  .tdo-addbtn{order:3}
}

/* To-Do-Leiste mobil: Zeile-2-Hoehen + X-Anker */
@media (max-width:640px){
  .tdo-such,.tdo-such.offen{position:relative}
  .tdo-such .tdo-suchbtn,.tdo-such.offen .tdo-suchbtn{height:44px;align-self:center}
  .tdo-such input,.tdo-such.offen input{height:44px;align-self:center}
  .tdo-leiste .tdo-addbtn{height:44px}
}

/* ===== Runde: Kalender-Fixes, To-Do-Leiste zurueck nach oben, Shop v2.1 ===== */
/* Termin-Hover ohne Schatten-Layering (Flackern) */
.plan-tev:hover{box-shadow:none}
/* + im Kalender mobil: satter voller Block */
@media (max-width:640px){
  .btn-save.plan-add{width:38px;min-width:38px;height:38px;padding:0;font-size:18px;line-height:1}
}
/* To-Do-Leiste mobil: alles wieder oben in EINER Zeile; Suchfeld legt sich als Overlay ueber die Tabs */
@media (max-width:640px){
  .tdo-leiste{flex-wrap:nowrap;position:relative}
  .tdo-leiste .tdo-toggle{order:0;flex:1 1 auto;min-width:0}
  .tdo-toggle button{padding:0 5px;font-size:10.5px;white-space:nowrap;overflow:hidden}
  .tdo-mehrwrap{order:1}
  .tdo-such,.tdo-such.offen{order:2;flex:0 0 auto;position:static;margin:0;background:transparent}
  .tdo-addbtn{order:3;height:44px}
  .tdo-such .tdo-suchbtn,.tdo-such.offen .tdo-suchbtn{height:44px;width:44px;align-self:center}
  .tdo-such input{position:absolute;left:0;right:104px;top:0;bottom:0;height:auto;width:auto;max-width:none;flex:none;z-index:5;background:#101116;opacity:0;pointer-events:none;transition:opacity .18s ease;margin:0;padding:0 30px 0 10px;border:1px solid var(--border);border-radius:12px;align-self:auto}
  .tdo-such.offen input{opacity:1;pointer-events:auto;width:auto;max-width:none;height:auto;margin:0}
  .tdo-such .tdo-suchx{right:112px;top:50%;z-index:6}
}
/* Shop: Kategorien + Wunsch-FAB + Kassen-Modal */
.shop-kchips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.shop-katkopf{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver-dim);margin:18px 0 10px}
.shop-wishfab{bottom:152px;font-size:19px;color:#e05c7a}
.shop-wishpanel{bottom:212px}
.shop-wishpanel .shop-wunsch{gap:8px}
.shop-wishpanel .sw-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-wishpanel .sw-bar{flex:0 0 70px}
.shop-wishpanel .shop-cartbtn{flex:0 0 auto}
.shop-kasse{max-width:480px;width:calc(100% - 32px);text-align:left}
.sk-zeile{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-soft);font-size:13.5px}
.sk-ic{font-size:18px}
.sk-name{flex:1;min-width:0}
.sk-del{width:26px;height:26px;border:0;background:transparent;color:var(--silver-dim);cursor:pointer;font-size:16px;line-height:1}
.sk-summe{margin:12px 0 4px;font-size:15px}
.sk-rest{font-size:12.5px;color:var(--silver-dim);margin-bottom:14px}
.sk-rest.rot{color:#e7a59c}
.sk-btns{display:flex;justify-content:flex-end;gap:10px}
@media (max-width:640px){ .shop-cartfab{bottom:84px} .shop-wishfab{bottom:144px} .shop-cartpanel{bottom:144px} .shop-wishpanel{bottom:204px} }

/* Kassen-Modal: Kronen-Groesse */
.shop-kasse .kr{width:14px;height:14px;vertical-align:-2px;color:var(--gold-hi,#e3c27e)}

/* To-Do-Suchfeld-Overlay: volle Zeilenhoehe */
@media (max-width:640px){
  .tdo-such input,.tdo-such.offen input{height:44px;top:50%;bottom:auto;transform:translateY(-50%)}
}

/* ===== Fix-Runde: Seiten-Scroll im Vollbild sperren ===== */
/* Die Seite HINTER dem Kalender darf nie mitscrollen (Seitenrand/Rubber-Band).
   Jahr + Terminuebersicht scrollen weiter INNERHALB von #client-planung. */
body.plan-voll{position:fixed;inset:0;width:100%;overflow:hidden}
body.plan-voll #client-planung{overscroll-behavior:none}

/* ===== Runde: Shop-Feinschliff, FAB-Kopplung, Fade-Up, Kalender-Swipe ===== */
/* Kasse: Buttons flacher, Zeilen als Raster -> Minus/Plus/Zahl exakt untereinander */
.shop-kasse .sk-btns .btn-line, .shop-kasse .sk-btns .btn-save{height:38px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center}
.shop-kasse .sk-zeile{display:grid;grid-template-columns:26px minmax(0,1fr) 92px 86px 26px;align-items:center;gap:8px}
.shop-kasse .sk-zeile .sk-name{flex:none}
.shop-kasse .sk-zeile .scp-menge{justify-content:center}
.shop-kasse .sk-zeile .scp-menge b{min-width:16px;text-align:center}
.shop-kasse .sk-zeile .scp-preis{justify-self:end;text-align:right;white-space:nowrap}
.sk-rest.gruen{color:#8fd3a9}
/* Fokus-Karte: hebt sich edel ab */
.shop-fokus{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;border:1px solid #c9a35c;background:linear-gradient(135deg,#1a1607,#101116 58%);box-shadow:0 0 0 1px rgba(201,163,92,.14),0 10px 30px rgba(0,0,0,.45);overflow:hidden}
.shop-fokus::after{content:"";position:absolute;top:-60%;left:-30%;width:55%;height:220%;background:linear-gradient(100deg,transparent,rgba(201,163,92,.09),transparent);transform:rotate(8deg);pointer-events:none}
.sf-auge{font-size:30px;filter:drop-shadow(0 0 10px rgba(201,163,92,.45))}
.sf-mitte{flex:1;min-width:0}
.sf-name{font-size:16px;letter-spacing:.4px}
.sf-sub{font-size:12px;color:var(--silver-dim);margin-top:2px}
.sf-balken{height:6px;border-radius:4px;background:#1c1d24;margin-top:10px;overflow:hidden}
.sf-balken i{display:block;height:100%;background:linear-gradient(90deg,#8a6b2c,#c9a35c);border-radius:4px}
.sf-kauf{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto}
@media (max-width:640px){ .shop-fokus{flex-wrap:wrap} .sf-kauf{flex-direction:row;align-items:center;width:100%;justify-content:space-between} }
/* Bestellungen: Zeitgruppen + Mehr/Weniger */
.shop-ordkopf{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);margin:16px 0 4px}
.shop-orders .shop-ordkopf:first-child{margin-top:0}
.shop-mehrbtn{margin-top:12px;width:100%;height:36px}
/* Kategorie-Ueberlauf: "+"-Kachel + Fenster */
.shop-mehrkarte{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:120px;border:1px dashed var(--border);background:#0e0f13;border-radius:14px;cursor:pointer;color:var(--silver-dim)}
.shop-mehrkarte .smk-plus{font-size:32px;line-height:1;color:var(--gold)}
.shop-mehrkarte .smk-n{font-size:12px}
.shop-mehrkarte:hover{border-color:#c9a35c;color:#e6e8ee}
.shop-katmodal{max-width:620px;width:calc(100% - 32px);text-align:left;max-height:82vh;overflow-y:auto}
.shop-katmodal .shop-grid{margin-top:12px}
.shop-katmodal .sk-btns{margin-top:14px}
/* Gekoppelte FABs: Herz lugt hinter dem Wagen hervor, faehrt auf Klick aus */
.shop-fabs{position:fixed;right:18px;bottom:92px;width:52px;height:52px;z-index:55}
.shop-fabs .shop-cartfab{position:absolute;right:0;bottom:0;z-index:2}
.shop-fabs .shop-wishfab{position:absolute;right:0;bottom:0;z-index:1;transform:translateY(-14px) scale(.86);transition:transform .3s cubic-bezier(.34,1.4,.4,1)}
.shop-fabs.offen .shop-wishfab{transform:translateY(-62px) scale(1)}
/* Wunschlisten-Fenster */
.shop-wishmodal{max-width:480px;width:calc(100% - 32px);text-align:left}
.shop-wishmodal .shop-wunsch{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--border-soft)}
.shop-wishmodal .sw-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-wishmodal .sw-bar{flex:0 0 70px;height:5px;border-radius:3px;background:#1c1d24;overflow:hidden}
.shop-wishmodal .sw-bar i{display:block;height:100%;background:linear-gradient(90deg,#8a6b2c,#c9a35c)}
.shop-wishmodal .sw-rest{font-size:11.5px;color:var(--silver-dim);white-space:nowrap}
.shop-wishmodal .sw-rest.ok{color:#8fd3a9}
.shop-wishmodal .sk-btns{margin-top:14px}
/* Fade-Up: Bloecke gleiten beim ersten Oeffnen eines Tabs sanft herein */
@keyframes fadeUpEin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.fade-los > *, .fade-los > [id$="-root"] > *{animation:fadeUpEin .38s ease-out both}
.fade-los > [id$="-root"]{animation:none}
.fade-los > *:nth-child(2), .fade-los > [id$="-root"] > *:nth-child(2){animation-delay:.05s}
.fade-los > *:nth-child(3), .fade-los > [id$="-root"] > *:nth-child(3){animation-delay:.1s}
.fade-los > *:nth-child(4), .fade-los > [id$="-root"] > *:nth-child(4){animation-delay:.15s}
.fade-los > *:nth-child(5), .fade-los > [id$="-root"] > *:nth-child(5){animation-delay:.19s}
.fade-los > *:nth-child(6), .fade-los > [id$="-root"] > *:nth-child(6){animation-delay:.23s}
.fade-los > *:nth-child(n+7), .fade-los > [id$="-root"] > *:nth-child(n+7){animation-delay:.27s}
@media (prefers-reduced-motion: reduce){ .fade-los > *, .fade-los > [id$="-root"] > *{animation:none} }

/* ===== Runde: Kasse-Layout, Waehrungen, Untertitel, Abstaende ===== */
.shop-kasse .sk-zeile .sk-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.shop-kasse .sk-btns{align-items:center}
.shop-kasse .sk-btns .btn-line, .shop-kasse .sk-btns .btn-save{height:40px;margin:0;box-sizing:border-box;transform:none;line-height:1}
@media (max-width:640px){
  .shop-kasse .sk-zeile{grid-template-columns:22px minmax(0,1fr) 76px 62px 22px;gap:6px}
  .shop-kasse .sk-zeile .sk-ic{font-size:16px}
}
.shop-cartpanel .scp-zeile{display:grid;grid-template-columns:minmax(0,1fr) 84px 70px;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border-soft)}
.shop-cartpanel .scp-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.shop-cartpanel .scp-menge{display:flex;align-items:center;justify-content:center;gap:6px}
.shop-cartpanel .scp-menge button{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}
.shop-cartpanel .scp-menge b{min-width:14px;text-align:center}
.shop-cartpanel .scp-preis{justify-self:end;text-align:right;white-space:nowrap}
.fin-addlink{display:block;width:100%;margin-top:12px;background:none;border:1px dashed var(--border);border-radius:10px;color:var(--silver-dim);padding:11px;font-size:13px;cursor:pointer;text-align:center}
.fin-addlink:hover{border-color:#c9a35c;color:#e6e8ee}
.fin-fx{max-width:400px;width:calc(100% - 32px);text-align:left}
.fx-zeile{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:8px;margin-top:10px}
.fx-zeile input,.fx-zeile select{height:40px;border-radius:10px;border:1px solid var(--border);background:#0e0f13;color:#e6e8ee;padding:0 12px;font-size:14px;min-width:0}
.fx-zeile input[readonly]{color:var(--gold);font-weight:600}
.fx-mitte{display:flex;justify-content:center;margin-top:10px}
.fx-swap{width:36px;height:36px}
.fx-info{font-size:11.5px;color:var(--silver-dim);margin-top:10px;min-height:15px}
.fin-fx .sk-btns{margin-top:14px}
@media (max-width:640px){ .fx-zeile{grid-template-columns:minmax(0,1fr) 132px} }
.greeting{margin:0 0 16px}
#client-greeting{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px}
.rankline{margin-bottom:14px}
.stats-row{margin-bottom:14px}
.komp-vision-title{font-weight:700;letter-spacing:1px}

/* ===== Profil: Kriegerkarte, Abzeichen, Meilensteine, Rivale, Saluts ===== */
.prof-kk{position:relative;overflow:hidden}
.prof-kk::after{content:"";position:absolute;top:-70%;right:-20%;width:50%;height:240%;background:linear-gradient(100deg,transparent,rgba(201,163,92,.07),transparent);transform:rotate(10deg);pointer-events:none}
.pk-kopf{display:flex;align-items:center;gap:16px}
.pk-av{flex:0 0 auto}
.pk-av img,.pk-av .avatar-emblem{border:2px solid #c9a35c;border-radius:50%}
.pk-mitte{flex:1;min-width:0}
.pk-name{font-family:var(--serif);font-size:20px;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-titel{display:inline-block;background:none;border:0;padding:2px 0;margin-top:2px;color:var(--gold);font-style:italic;font-size:13.5px;cursor:pointer;text-align:left;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-titel.leer{color:var(--silver-dim);font-style:normal;border-bottom:1px dashed var(--border)}
.pk-titel.fest{cursor:default}
.pk-seit{font-size:11.5px;color:var(--silver-dim);margin-top:3px}
.pk-siegel{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;border:1px solid rgba(201,163,92,.4);border-radius:14px;background:radial-gradient(circle at 50% 0%,rgba(201,163,92,.12),transparent 70%)}
.pk-sic{font-size:22px;color:var(--gold)}
.pk-sic svg{width:24px;height:24px}
.pk-srang{font-family:var(--serif);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--silver-hi)}
.pk-snum{font-size:10.5px;color:var(--silver-dim)}
.pk-stats{display:grid;grid-template-columns:repeat(3,1fr) 34px;gap:10px;margin-top:18px;align-items:stretch}
.pk-stat{border:1px solid var(--border-soft);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.pk-stat b{font-size:18px;font-family:var(--serif)}
.pk-stat small{font-size:10.5px;color:var(--silver-dim);letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pks-ic{font-size:13px}
.pk-pinedit{border:1px dashed var(--border);border-radius:12px;background:none;color:var(--silver-dim);cursor:pointer;font-size:13px}
.pk-pinedit:hover{border-color:#c9a35c;color:#e6e8ee}
.pk-saluts{margin-top:14px;font-size:13px;color:var(--silver-hi)}
/* Abzeichen */
.prof-abz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.prof-abz{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:14px;border:1px solid var(--border-soft);background:#101116;text-align:center;min-width:0}
.prof-abz .pa-ic{font-size:22px;filter:grayscale(1);opacity:.45}
.prof-abz .pa-name{font-size:12px;color:var(--silver-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.prof-abz .pa-stufe{font-size:10.5px;color:var(--silver-dim);letter-spacing:.6px}
.prof-abz.s1{border-color:rgba(176,121,63,.55)} .prof-abz.s1 .pa-ic{filter:none;opacity:1} .prof-abz.s1 .pa-stufe{color:#c98f56}
.prof-abz.s2{border-color:rgba(192,198,208,.55)} .prof-abz.s2 .pa-ic{filter:none;opacity:1} .prof-abz.s2 .pa-stufe{color:#c0c6d0}
.prof-abz.s3{border-color:#c9a35c;box-shadow:0 0 14px -6px rgba(201,163,92,.6)} .prof-abz.s3 .pa-ic{filter:none;opacity:1} .prof-abz.s3 .pa-stufe{color:var(--gold)}
.prof-abz.s1 .pa-name,.prof-abz.s2 .pa-name,.prof-abz.s3 .pa-name{color:#e6e8ee}
/* Meilensteine */
.prof-zeit{position:relative;padding-left:18px}
.prof-zeit::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:linear-gradient(180deg,#c9a35c,var(--border))}
.pz-punkt{position:relative;padding:7px 0 7px 10px}
.pz-dot{position:absolute;left:-17px;top:13px;width:9px;height:9px;border-radius:50%;background:#0e0f13;border:2px solid #c9a35c}
.pz-txt b{display:block;font-size:13.5px}
.pz-txt small{font-size:11px;color:var(--silver-dim)}
/* Rivale */
.prof-rv .rv-kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.rv-stand{font-size:12px;padding:3px 10px;border-radius:20px;border:1px solid var(--border)}
.rv-stand.ok{color:#8fd3a9;border-color:rgba(95,174,126,.5)}
.rv-stand.rot{color:#e7a59c;border-color:rgba(207,91,79,.5)}
.rv-block{margin-top:10px}
.rv-block small{font-size:11px;color:var(--silver-dim);letter-spacing:.6px;text-transform:uppercase}
.rv-zeile{display:grid;grid-template-columns:64px minmax(0,1fr) 44px;align-items:center;gap:10px;margin-top:6px;font-size:12.5px}
.rv-zeile span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--silver-hi)}
.rv-zeile b{text-align:right}
.rv-bar{height:8px;border-radius:5px;background:#1c1d24;overflow:hidden}
.rv-bar i{display:block;height:100%;background:linear-gradient(90deg,#8a6b2c,#c9a35c);border-radius:5px}
.rv-bar.geg i{background:linear-gradient(90deg,#5b3f3b,#cf5b4f)}
.rv-weg{margin-top:14px;height:34px;font-size:12px}
.prof-rv.leer{display:flex;flex-direction:column;gap:6px}
.prof-rv.leer span{font-size:12.5px;color:var(--silver-dim)}
/* Oeffentliche Karte + kleine Modals */
.prof-pub{max-width:480px;width:calc(100% - 32px);text-align:left;max-height:84vh;overflow-y:auto}
.prof-pub .prof-abz-grid{margin-top:14px;grid-template-columns:repeat(3,1fr)}
.prof-pub .pk-stats{grid-template-columns:repeat(3,1fr)}
.pp-meil{margin-top:14px;position:relative;padding-left:18px}
.pp-meil::before{content:"";position:absolute;left:5px;top:24px;bottom:6px;width:1px;background:var(--border)}
.pp-meilkopf{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.pp-btns{margin-top:16px}
.pp-btns .btn-line,.pp-btns .btn-save{height:38px}
.pp-rival.an{border-color:#c9a35c;color:var(--gold)}
.prof-modal{max-width:380px;width:calc(100% - 32px);text-align:left}
.prof-modal input{width:100%;height:40px;border-radius:10px;border:1px solid var(--border);background:#0e0f13;color:#e6e8ee;padding:0 12px;font-size:14px;margin-top:4px}
.pp-liste{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.pp-pin{display:flex;align-items:center;gap:10px;font-size:13.5px;cursor:pointer}
.prof-modal .sk-btns{margin-top:16px}
.lb-row[data-profil]{cursor:pointer}
.lb-row[data-profil]:hover{background:rgba(255,255,255,.03)}
@media (max-width:640px){
  .pk-kopf{flex-wrap:wrap}
  .pk-siegel{order:2}
  .pk-stats{grid-template-columns:repeat(3,1fr) 30px;gap:7px}
  .pk-stat{padding:8px 8px}
  .pk-stat b{font-size:15px}
  .prof-abz-grid{grid-template-columns:repeat(3,1fr);gap:7px}
  .prof-abz .pa-name{font-size:10.5px}
  .prof-pub .prof-abz-grid{grid-template-columns:repeat(3,1fr)}
}

/* Profil-Modal: Buttons mobil kompakt + einzeilig */
.pp-btns .btn-line,.pp-btns .btn-save{white-space:nowrap}
@media (max-width:640px){
  .pp-btns{flex-wrap:wrap;gap:8px}
  .pp-btns .btn-line,.pp-btns .btn-save{padding:0 12px;font-size:12px;height:36px}
}

/* ===== Profil-Redesign: Identitaet, ruhige Nebenkarte, Abzeichen-Modal, Pins-Chips ===== */
/* Abbrechen/Speichern ueberall gleich: 40px, eine Ebene */
.skip-card .sk-btns{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.skip-card .sk-btns .btn-line,.skip-card .sk-btns .btn-save{height:40px;margin:0;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;transform:none;line-height:1;font-size:13px;white-space:nowrap}
#profile-actions{display:flex;align-items:center;gap:10px}
#profile-actions .btn-save,#profile-actions .btn-line{height:40px;margin:0;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:13px}
/* Identitaet: elegante Bloecke statt Formular-Optik */
.pfk{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pf-neu{margin-top:16px}
.pf-neu .idrow{display:block;margin:0 0 12px;padding:10px 14px;border:0;border-left:2px solid rgba(201,163,92,.45);background:linear-gradient(90deg,rgba(201,163,92,.05),transparent 65%);border-radius:0 12px 12px 0}
.pf-neu .idrow label{display:block;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);margin:0 0 4px}
.pf-neu .idfield{width:100%;background:none;border:0;outline:none;resize:none;color:#e6e8ee;font-size:13.5px;line-height:1.55;padding:0;box-shadow:none}
#profile-card.editing .pf-neu .idrow{background:#0e0f13;border:1px solid var(--border);border-left:2px solid #c9a35c}
#profile-card.editing .pf-neu .idfield{color:#fff}
/* Ruhige Nebenkarte: Serie / Fortschritt / Skills in einem Block */
.prof-neben{display:flex;flex-direction:column;gap:20px}
.pn-block{min-width:0}
.pn-lab{font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--silver-dim);margin-bottom:8px}
.pn-streak{display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--silver-hi);flex-wrap:wrap}
.pn-streak .pns-flamme{font-size:14px;filter:grayscale(1);opacity:.5}
.pn-streak.an .pns-flamme{filter:none;opacity:1}
.pn-streak .pns-txt b{font-size:16px;color:#e8b53a;font-family:var(--serif)}
.pn-streak .pns-sub{font-size:11.5px;color:var(--silver-dim)}
.pns-bar{height:4px;border-radius:3px;background:#1c1d24;overflow:hidden;margin-top:8px;max-width:340px}
.pns-bar i{display:block;height:100%;background:linear-gradient(90deg,#9a6516,#e8b53a)}
.prof-neben .prog .top{font-size:12.5px}
.prof-neben .prog .bar{height:5px}
.prof-neben .prog .hint{font-size:11px;color:var(--silver-dim)}
.prof-neben #skills-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 18px}
.prof-neben .skill-row{padding:4px 0}
.prof-neben .skill-row .top{font-size:12px}
.prof-neben .skill-row .sname{color:var(--silver-hi)}
.prof-neben .skill-row .slvl{font-size:10.5px;color:var(--silver-dim)}
.prof-neben .skill-row .bar{height:4px}
.prof-neben .skill-row .hint{display:none}
/* Abzeichen klickbar + Detailfenster */
button.prof-abz{cursor:pointer;font:inherit;color:inherit}
button.prof-abz:hover{border-color:#c9a35c}
.pab-kopf{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.pab-gross{font-size:34px;filter:grayscale(1);opacity:.5}
.pab-gross.an{filter:none;opacity:1}
.pab-sub{color:var(--silver-dim);font-size:12px}
.pab-sub b{color:var(--gold)}
.pab-stufe{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:12px;margin-top:8px}
.pab-stufe.ok{border-color:rgba(201,163,92,.5);background:rgba(201,163,92,.05)}
.pab-medal{font-size:20px}
.pab-stufe:not(.ok) .pab-medal{filter:grayscale(1);opacity:.5}
.pab-mitte{flex:1;min-width:0}
.pab-mitte b{display:block;font-size:13px}
.pab-mitte small{font-size:11.5px;color:var(--silver-dim)}
.pab-bar{height:4px;border-radius:3px;background:#1c1d24;overflow:hidden;margin-top:6px;max-width:220px}
.pab-bar i{display:block;height:100%;background:linear-gradient(90deg,#8a6b2c,#c9a35c)}
.pab-check{color:#8fd3a9;font-size:15px;width:18px;text-align:center}
/* Avatar auf der Kriegerkarte klickbar */
button.pk-av{position:relative;background:none;border:0;padding:0;cursor:pointer}
.pk-av-edit{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:#14151b;border:1px solid #c9a35c;color:var(--gold);font-size:11px;display:flex;align-items:center;justify-content:center;pointer-events:none}
button.pk-av:hover .pk-av-edit{background:#c9a35c;color:#14151b}
/* Pins-Auswahl: Chips statt Checkboxen */
.pp-hinweis{font-size:12px;color:var(--silver-dim);margin:2px 0 12px}
.pp-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pp-chip{height:42px;border:1px solid var(--border);border-radius:12px;background:#0e0f13;display:flex;align-items:center;gap:9px;padding:0 12px;font-size:12.5px;color:var(--silver-hi);cursor:pointer;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-chip .ppc-ic{font-size:14px;flex:0 0 auto}
.pp-chip.on{border-color:#c9a35c;color:var(--gold);background:rgba(201,163,92,.08)}
.pp-chip.zuviel{animation:ppWackel .3s}
@keyframes ppWackel{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media (max-width:640px){ .pp-chips{grid-template-columns:1fr 1fr} .pp-chip{font-size:11.5px;padding:0 9px} }

/* Identitaet: Text kommt von links */
.pf-neu .idfield{text-align:left;direction:ltr}
/* Pin-Werte direkt klickbar */
button.pk-stat{cursor:pointer;font:inherit;color:inherit;text-align:left;background:none}
button.pk-stat:hover{border-color:#c9a35c}
/* Rivalen-Anfragen + Mehrfach-Duelle */
.rv-anfrage{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;border-color:rgba(201,163,92,.45)}
.rva-txt{font-size:13.5px}
.rva-btns{display:flex;gap:8px}
.rva-btns .btn-line,.rva-btns .btn-save{height:36px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;margin:0}
.prof-rv{margin-bottom:14px}
.rv-offen{font-size:12px;color:var(--silver-dim);margin:4px 2px 0}
.rv-offen-inline{font-size:12px;color:var(--silver-dim)}
#pp-rv-nein{width:40px;padding:0;flex:0 0 auto}

/* ===== Runde: Platin, Pins volle Breite, Rivalen kompakt, Meilenstein-Scroll, Routinen/Dashboard-Polish ===== */
/* Pins fuellen die Zeile (Stift ist weg) */
.pk-stats{grid-template-columns:repeat(3,1fr)}
@media (max-width:640px){ .pk-stats{grid-template-columns:repeat(3,1fr);gap:7px} }
/* Kriegerkarte: weicher, breiter Schimmer statt hartem Streifen */
.prof-kk::after{content:"";position:absolute;top:-80%;right:-35%;width:95%;height:260%;background:linear-gradient(105deg,transparent 0%,rgba(201,163,92,.028) 30%,rgba(201,163,92,.075) 50%,rgba(201,163,92,.028) 70%,transparent 100%);transform:rotate(10deg);pointer-events:none;filter:blur(6px)}
.prof-kk{background:linear-gradient(150deg,rgba(201,163,92,.055),rgba(16,17,22,0) 45%),radial-gradient(120% 90% at 85% -10%,rgba(201,163,92,.06),transparent 55%)}
/* Platin */
.prof-abz.s4{border-color:#9fd7e8;box-shadow:0 0 16px -5px rgba(159,215,232,.65)}
.prof-abz.s4 .pa-ic{filter:none;opacity:1}
.prof-abz.s4 .pa-stufe{color:#bfe7f2}
.prof-abz.s4 .pa-name{color:#eaf7fb}
/* Rivalen: EINE kompakte Karte, Tauziehen-Balken, beenden als leiser Textlink */
.rv2-karte{padding:16px 18px}
.rv2-duell.mitlinie{border-top:1px solid var(--border-soft);margin-top:14px;padding-top:14px}
.rv2-kopf{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.rv2-kopf b{font-size:13.5px}
.rv2-ende{background:none;border:0;padding:0;color:var(--silver-dim);opacity:.55;font-size:11.5px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.rv2-ende:hover{opacity:1;color:#e7a59c}
.rv2-kopf .rv-stand{margin-left:auto;font-size:11px;padding:2px 9px}
.rv2-zeile{display:grid;grid-template-columns:38px 34px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-top:5px}
.rv2-zeile small{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--silver-dim)}
.rv2-ich{text-align:right;font-size:12.5px;color:var(--gold)}
.rv2-geg{font-size:12.5px;color:#e7a59c}
.rv2-duo{position:relative;height:7px;border-radius:4px;background:#1a1b22;overflow:hidden}
.rv2-duo::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.14)}
.rv2-duo i{position:absolute;top:0;bottom:0;display:block}
.rv2-duo i.l{right:50%;background:linear-gradient(270deg,#c9a35c,#8a6b2c);border-radius:4px 0 0 4px}
.rv2-duo i.r{left:50%;background:linear-gradient(90deg,#cf5b4f,#7a3a33);border-radius:0 4px 4px 0}
/* Meilensteine: ab ~7 Eintraegen intern scrollen (am Faden ziehen) */
.prof-zeit{max-height:352px;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(201,163,92,.35) transparent}
.prof-zeit::-webkit-scrollbar{width:4px}
.prof-zeit::-webkit-scrollbar-thumb{background:rgba(201,163,92,.35);border-radius:2px}
/* Rang-Karte: Mini-Avatar + Glanz + Farbe */
.rb-av{flex:0 0 auto;display:flex;align-items:center;margin-right:2px}
.rb-av img,.rb-av .avatar-emblem{border:1.5px solid rgba(201,163,92,.7);border-radius:50%}
.rankblock{position:relative;overflow:hidden;background:linear-gradient(140deg,rgba(201,163,92,.06),transparent 50%)}
.rankblock::after{content:"";position:absolute;top:-90%;left:-40%;width:70%;height:300%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.025),transparent);transform:rotate(12deg);pointer-events:none;animation:rankGlanz 7s ease-in-out infinite}
@keyframes rankGlanz{0%,55%,100%{transform:rotate(12deg) translateX(0)}75%{transform:rotate(12deg) translateX(340%)}}
.rankblock .bar{overflow:hidden}
.rankblock .bar i{position:relative}
.rankblock .bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-100%);animation:barGlanz 3.6s ease-in-out infinite}
@keyframes barGlanz{0%,60%{transform:translateX(-100%)}85%,100%{transform:translateX(100%)}}
/* Stat-Karten: dezente Farb-Gradients + Leben */
#stats-row .stat{position:relative;overflow:hidden;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
#stats-row .stat:hover{transform:translateY(-2px);border-color:rgba(201,163,92,.45);box-shadow:0 10px 26px -14px rgba(0,0,0,.8)}
#stats-row .stat:nth-child(1){background:linear-gradient(150deg,rgba(201,163,92,.07),rgba(16,17,22,0) 55%)}
#stats-row .stat:nth-child(2){background:linear-gradient(150deg,rgba(201,163,92,.09),rgba(16,17,22,0) 55%)}
#stats-row .stat:nth-child(3){background:linear-gradient(150deg,rgba(159,175,192,.08),rgba(16,17,22,0) 55%)}
/* Routinen-Verlauf: mehr Eleganz, gleiches System */
.rmonth{position:relative;overflow:hidden;background:linear-gradient(150deg,rgba(201,163,92,.045),rgba(16,17,22,0) 50%);transition:border-color .18s ease, box-shadow .18s ease}
.rmonth:hover{border-color:rgba(201,163,92,.4);box-shadow:0 10px 28px -16px rgba(0,0,0,.85)}
.rmonth-head h4{font-family:var(--serif);letter-spacing:.8px}
.rcell{transition:transform .14s ease, box-shadow .14s ease, filter .14s ease;border-radius:7px}
.rcell:hover{transform:scale(1.14);z-index:2}
.rcell.full{box-shadow:0 0 9px -2px rgba(95,174,126,.55)}
.rcell.part{box-shadow:0 0 7px -3px rgba(201,163,92,.5)}
.rcell.today{box-shadow:0 0 0 1.5px var(--gold), 0 0 11px -2px rgba(201,163,92,.7)}
.rcell.future{opacity:.35}
.rweek{gap:5px}

/* ===== Runde: Level-Hover, Balken-Schimmer v2, Duo-Balken proportional, Dash-Zeilen ===== */
/* Rang-Karte: Hover-Lift wie die Stat-Karten */
#client-rankline .rankblock{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
#client-rankline .rankblock:hover{transform:translateY(-2px);border-color:rgba(201,163,92,.45);box-shadow:0 10px 26px -14px rgba(0,0,0,.8)}
/* Balken-Schimmer laeuft ueber die GANZE Leiste und blendet weich aus */
.rankblock .bar i::after{content:none;animation:none}
.rankblock .bar{position:relative;overflow:hidden}
.rankblock .bar::after{content:"";position:absolute;top:0;bottom:0;left:0;width:36%;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:translateX(-110%);opacity:0;animation:barGlanz2 4.6s ease-in-out infinite;pointer-events:none}
@keyframes barGlanz2{
  0%,54%{transform:translateX(-110%);opacity:0}
  60%{opacity:1}
  86%{opacity:1}
  99%,100%{transform:translateX(310%);opacity:0}
}
/* Duo-Balken proportional: ich (gold) von links, der Rest gehoert ihm (rot) */
.rv2-duo.prop{background:linear-gradient(90deg,#7a3a33,#cf5b4f)}
.rv2-duo.prop::before{content:none}
.rv2-duo.prop i.l{left:0;right:auto;border-radius:4px 0 0 4px;background:linear-gradient(90deg,#8a6b2c,#c9a35c);box-shadow:1px 0 0 rgba(0,0,0,.5)}
.rv2-duo.prop.leer{background:#1a1b22}
.rv2-duo.prop.leer i.l{background:#2a2b33}
/* Abzeichen-Modal: dezente Wins-Kennzeichnung */
.pab-wins{font-size:10.5px;color:var(--gold);opacity:.75;font-weight:400;margin-left:6px;letter-spacing:.4px}
/* Dashboard-Routinezeilen: leiser Akzent + Bewegung */
#dash-blocks .habit{transition:transform .16s ease, background .16s ease;border-radius:12px}
#dash-blocks .habit:hover{transform:translateX(4px);background:linear-gradient(90deg,rgba(201,163,92,.05),transparent 70%)}
#dash-blocks .habit .check{transition:transform .16s ease, box-shadow .16s ease}
#dash-blocks .habit:hover .check{transform:scale(1.06);box-shadow:0 0 10px -3px rgba(201,163,92,.6)}
#dash-blocks .card-head{position:relative}

/* ===== Runde: Deckung 60%, Buttons einzeilig, Duell-Countdown ===== */
/* Gradient-Karten: nie komplett durchsichtig — Basisschicht ~60% Deckung */
#stats-row .stat:nth-child(1){background:linear-gradient(150deg,rgba(201,163,92,.07),rgba(16,17,22,0) 55%),rgba(16,17,22,.62)}
#stats-row .stat:nth-child(2){background:linear-gradient(150deg,rgba(201,163,92,.09),rgba(16,17,22,0) 55%),rgba(16,17,22,.62)}
#stats-row .stat:nth-child(3){background:linear-gradient(150deg,rgba(159,175,192,.08),rgba(16,17,22,0) 55%),rgba(16,17,22,.62)}
.prof-kk{background:linear-gradient(150deg,rgba(201,163,92,.055),rgba(16,17,22,0) 45%),radial-gradient(120% 90% at 85% -10%,rgba(201,163,92,.06),transparent 55%),rgba(16,17,22,.62)}
.rankblock{background:linear-gradient(140deg,rgba(201,163,92,.06),transparent 50%),rgba(16,17,22,.62)}
.rmonth{background:linear-gradient(150deg,rgba(201,163,92,.045),rgba(16,17,22,0) 50%),rgba(16,17,22,.62)}
/* Oeffentliche Karte: Buttons in EINER Zeile (auch Handy) */
.pp-btns{flex-wrap:nowrap}
.pp-btns > .btn-line, .pp-btns > .btn-save{flex:1 1 0;min-width:0;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-btns > #pp-rv-nein{flex:0 0 40px}
@media (max-width:640px){
  .pp-btns{gap:6px}
  .pp-btns > .btn-line, .pp-btns > .btn-save{font-size:11.5px;height:36px;padding:0 6px}
}
/* Duell-Countdown */
.rv2-zeit{font-size:10.5px;color:var(--silver-dim);letter-spacing:.4px;white-space:nowrap}
.rv2-zeit.rot{color:#e7a59c}


/* ===== Duell v4: Modus-Wahl, Animationen, Historie; oeffentliche Karte kompakt ===== */
/* Rotes X auf der oeffentlichen Karte */
.pp-btns > .pp-x{flex:0 0 42px;height:38px;border-radius:10px;border:1px solid rgba(190,84,84,.55);background:linear-gradient(180deg,rgba(120,38,38,.55),rgba(80,24,24,.55));color:#e8b4ac;font-size:15px;line-height:1;cursor:pointer;transition:filter .15s}
.pp-btns > .pp-x:hover{filter:brightness(1.25)}
/* Rang-Siegel auf der oeffentlichen Karte kompakt, damit Name+Titel Platz haben */
.prof-pub .pk-siegel{padding:6px 9px;gap:1px;border-radius:11px}
.prof-pub .pk-sic{font-size:15px}
.prof-pub .pk-sic svg{width:16px;height:16px}
.prof-pub .pk-srang{display:none}
.prof-pub .pk-snum{font-size:10px;white-space:nowrap}
/* Modus-Wahl */
.dm-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.03);padding:12px 14px;margin-top:10px;cursor:pointer;color:#e6e8ee;transition:border-color .15s, background .15s}
.dm-opt:hover{border-color:#c9a35c;background:rgba(201,163,92,.07)}
.dm-ic{font-size:22px}
.dm-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.dm-txt b{font-size:14px}
.dm-txt small{font-size:12px;color:var(--silver-dim);line-height:1.35}
/* Anfrage-Modus-Hinweis */
.rva-modus{display:inline-block;margin-left:4px;font-size:11px;color:var(--silver-dim);border:1px solid var(--border-soft);border-radius:999px;padding:1px 8px;white-space:nowrap}
/* Historie-Link */
.rv2-hist{display:block;margin:12px auto 0;background:none;border:none;color:var(--silver-dim);font-size:11.5px;letter-spacing:.4px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:2px 6px}
.rv2-hist:hover{color:var(--gold)}
/* Historie-Fenster */
.dh-bilanz{float:right;font-size:11px;color:var(--silver-dim);font-family:var(--sans);letter-spacing:.3px}
.duell-hist{max-height:min(70vh,560px);overflow:auto}
.dh-zeile{display:grid;grid-template-columns:96px 1fr auto auto;gap:8px;align-items:center;padding:9px 2px;border-bottom:1px solid var(--border-soft);font-size:12.5px}
.dh-zeile:last-of-type{border-bottom:none}
.dh-erg{font-weight:700;white-space:nowrap}
.dh-zeile.s .dh-erg{color:#8fd3a9}
.dh-zeile.n .dh-erg{color:#e7a59c}
.dh-geg{color:var(--silver-hi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dh-pkt{font-variant-numeric:tabular-nums;color:#e6e8ee;white-space:nowrap}
.dh-zeile small{color:var(--silver-dim);font-size:11px;white-space:nowrap}
/* Sieg-/Niederlage-Animation */
.duell-anim{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;background:rgba(8,9,12,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .35s;cursor:pointer;overflow:hidden}
.duell-anim.an{opacity:1}
.duell-anim.sieg{background:radial-gradient(circle at 50% 42%,rgba(201,163,92,.28),rgba(8,9,12,.88) 62%)}
.duell-anim.niederlage{background:radial-gradient(circle at 50% 42%,rgba(140,52,52,.24),rgba(8,9,12,.9) 62%)}
.da-inhalt{text-align:center;transform:scale(.72);opacity:0;transition:transform .5s cubic-bezier(.2,1.4,.4,1), opacity .4s;padding:0 24px}
.duell-anim.an .da-inhalt{transform:scale(1);opacity:1}
.da-ic{font-size:76px;line-height:1;filter:drop-shadow(0 6px 22px rgba(0,0,0,.5))}
.duell-anim.sieg .da-ic{animation:daPuls 1.6s ease-in-out infinite}
@keyframes daPuls{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.da-titel{font-family:var(--serif);font-size:42px;letter-spacing:10px;margin-top:10px;text-transform:uppercase}
.duell-anim.sieg .da-titel{color:var(--gold);text-shadow:0 0 26px rgba(201,163,92,.55)}
.duell-anim.niederlage .da-titel{color:#cf8d85;letter-spacing:7px;font-size:34px}
.da-sub{margin-top:12px;font-size:14.5px;color:var(--silver-hi);font-variant-numeric:tabular-nums}
.da-moto{margin-top:8px;font-size:13px;color:var(--silver-dim);font-style:italic}
.da-hinweis{margin-top:26px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--silver-dim);opacity:.75}
.da-funken{position:absolute;inset:0;pointer-events:none}
.da-funken i{position:absolute;left:50%;top:44%;width:7px;height:7px;border-radius:50%;background:var(--gold);opacity:0;animation:daFunke 1.9s ease-out infinite;animation-delay:calc(var(--i)*.11s);transform:rotate(calc(var(--i)*20deg)) translateY(0)}
@keyframes daFunke{0%{opacity:0;transform:rotate(calc(var(--i)*20deg)) translateY(0) scale(1)}12%{opacity:.95}100%{opacity:0;transform:rotate(calc(var(--i)*20deg)) translateY(-190px) scale(.25)}}
@media (max-width:640px){
  .da-titel{font-size:32px;letter-spacing:7px}
  .duell-anim.niederlage .da-titel{font-size:27px}
  .da-ic{font-size:62px}
  .dh-zeile{grid-template-columns:86px 1fr auto;font-size:12px}
  .dh-zeile small{display:none}
}
/* Wunschliste: Warenkorb-Feedback */
.shop-cartbtn.ok{border-color:#5f9c74;color:#8fd3a9;background:rgba(70,140,95,.16)}


/* ===== Duell v5: Aufgeben, Aufloesung, Stufen-Icons, Kopf-Layout ===== */
.rv2-kopf{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}
.rv2-kopf b{white-space:nowrap}
.rv2-kopf .rv-stand{margin-left:auto;white-space:nowrap}
.rv2-zeit{white-space:nowrap}
.rv2-ende{white-space:nowrap;flex:0 0 auto}
.rv2-auflzeile{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:12.5px;color:var(--silver-dim)}
.rv2-auflzeile .btn-save,.rv2-auflzeile .btn-line{height:30px;padding:0 12px;font-size:12px}
.da-fokus{margin-top:8px;color:#e7a59c;font-size:14px;font-weight:700;letter-spacing:.5px}
/* Stufen-Icons auf den Abzeichen-Karten */
.pa-stufe{white-space:nowrap}
.pa-stufe .stf{width:12px;height:12px;vertical-align:-1.5px;margin-right:3px}
.pa-stufe .stf.s3{filter:drop-shadow(0 0 3px rgba(232,192,90,.55))}
.pa-stufe .stf.s4{filter:drop-shadow(0 0 3px rgba(169,226,240,.55))}
.pab-medal .stf{width:20px;height:20px}
.pab-medal .stf.s3{filter:drop-shadow(0 0 4px rgba(232,192,90,.55))}
.pab-medal .stf.s4{filter:drop-shadow(0 0 4px rgba(169,226,240,.55))}
/* Karte ohne X: die zwei Buttons teilen sich die Zeile */
.pp-btns > .btn-line, .pp-btns > .btn-save{flex:1 1 0}


/* ===== Klappzustand Strafen/Ereignisse (Basis-App; Design-Ebene stylt ggf. drueber) ===== */
#penalty-banner .pen-kopf{cursor:pointer}
#penalty-banner.v2-zu .pen-list,
#penalty-banner.v2-zu .pen-mehr{display:none}


/* ===== Kalender-Bloecke: adaptive Texte ===== */
.plan-tev{display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}
.plan-tev .plan-tev-t{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-tev .plan-tev-h{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-tev.tev-kompakt{justify-content:center}
.plan-tev.tev-ohnezeit:not(.v2-zeit-zeig) .plan-tev-h{display:none}   /* v2 darf die Zeit per .v2-zeit-zeig zurueckholen */
/* Kaskade: Titel des Basis-Blocks bleibt im sichtbaren Drittel, Zeit weicht */
.plan-tev.tev-klemm .plan-tev-t{max-width:31%}
.plan-tev.tev-klemm:not(.v2-zeit-zeig) .plan-tev-h{display:none}


/* ===== Coach-Uebersicht: Kennzahlen-Unterzeilen, Heute-zu-tun, Tabellen-Zusatzspalten ===== */
.kpi .sub{font-size:11px;color:var(--silver-dim);margin-top:2px;letter-spacing:.2px}
.coach-heute h3{margin:0 0 10px}
.ck-liste{display:flex;flex-direction:column;gap:6px}
.ck-zeile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;background:rgba(255,255,255,.03);border:1px solid var(--border-soft);border-radius:10px;padding:9px 12px;color:#e6e8ee;cursor:pointer;font-size:13px}
.ck-zeile:hover{border-color:var(--gold)}
.ck-zeile .ck-s,.ck-leer{font-size:11.5px;color:var(--silver-dim)}
.ck-leer{padding:6px 2px}
.rt-heute.ok{color:#8fd3a9;font-weight:600}
.ctable .rang-name{color:var(--silver-hi)}
.pen-name{color:#e7a59c}
.ob-stepchip{font-size:12px;letter-spacing:.5px;padding:4px 9px;border-radius:999px;border:1px solid var(--silver-dim,#667);color:var(--silver-dim,#667)}
.ob-stepchip.done{border-color:var(--silver,#9aa3ad);color:var(--silver,#9aa3ad)}
.ob-stepchip.on{border-color:var(--gold-hi,#d9a521);color:var(--gold-hi,#d9a521);font-weight:700}


/* ===== Coach-Detailansicht: Unterzeile, Segment, Routinen-Tabelle, Woche, Notizen, Fruehwarnung ===== */
html.v2 #coach-kpis .kpi > .sub{display:none}   /* v2 fuehrt eigene Unterzeilen (.v2-kpi-sub) */
.cd-sub{display:block;font-size:12px;color:var(--silver-dim);margin-top:4px;letter-spacing:.2px}
.stats-row .stat .sub{font-size:11px;color:var(--silver-dim);margin-top:2px}
.stats-row .stat .val.ok{color:#8fd3a9}
.stats-row .stat .val.fehlt{color:#e7a59c}
.cd-segment{display:flex;gap:6px;margin:18px 0 12px;background:rgba(255,255,255,.03);border:1px solid var(--border-soft);border-radius:12px;padding:4px;width:max-content}
.cd-segment button{background:none;border:none;color:var(--silver-dim);font-family:var(--serif);letter-spacing:1.2px;text-transform:uppercase;font-size:12px;padding:8px 14px;border-radius:9px;cursor:pointer}
.cd-segment button.on{background:rgba(201,163,92,.14);color:var(--gold-hi)}
.rt-tabelle{width:100%;border-collapse:collapse;font-size:13px}
.rt-tabelle th{text-align:left;font-weight:500;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--silver-dim);padding:6px 8px;border-bottom:1px solid var(--border-soft)}
.rt-tabelle td{padding:8px;border-bottom:1px solid var(--border-soft);white-space:nowrap}
.rt-tabelle td.rt-name{white-space:normal}
.rt-tabelle td.rt-name small{display:block;font-size:11px;color:var(--silver-dim)}
.rt-tabelle td.gut{color:#8fd3a9}
.rt-tabelle td.schlecht{color:#e7a59c}
.cd-woche{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cdw-tag{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border:1px solid var(--border-soft);border-radius:10px;background:rgba(255,255,255,.02)}
.cdw-tag.rot{border-color:rgba(190,84,84,.55);background:rgba(120,38,38,.14)}
.cdw-tag.heute{border-color:var(--gold)}
.cdw-wt{font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--silver-dim)}
.cdw-d{font-size:12px;color:var(--silver-hi)}
.cdw-n{font-size:18px;font-weight:700;margin-top:2px}
.cdw-tag small{font-size:10px;color:var(--silver-dim)}
.cdw-legende{font-size:11px;color:var(--silver-dim);margin-top:8px}
.cn-neu{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.cn-neu input,.cn-neu textarea{width:100%;border-radius:10px;border:1px solid var(--border);background:#0e0f13;color:#e6e8ee;padding:9px 12px;font-size:13.5px;font-family:inherit}
.cn-neu-fuss{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cn-neu-chk{font-size:12.5px;color:var(--silver-dim);display:flex;align-items:center;gap:6px}
.cn-verlauf{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto}
.cn-eintrag{border:1px solid var(--border-soft);border-radius:10px;padding:10px 12px;background:rgba(255,255,255,.02)}
.cn-eintrag.ansprechen{border-color:rgba(201,163,92,.45)}
.cn-kopf{display:flex;align-items:center;gap:10px;font-size:12.5px}
.cn-kopf .muted-cell{flex:1;font-size:11.5px}
.cn-del{background:none;border:none;color:var(--silver-dim);font-size:16px;cursor:pointer;padding:0 4px}
.cn-del:hover{color:#e7a59c}
.cn-text{font-size:13.5px;line-height:1.45;margin-top:4px;white-space:pre-wrap}
.fw-liste{display:flex;flex-direction:column;gap:6px}
.fw-zeile{font-size:13px;padding:8px 10px;border-radius:8px;background:rgba(120,38,38,.14);border:1px solid rgba(190,84,84,.4);color:#f0c2ba}
@media (max-width:640px){ .cd-woche{gap:4px} .cdw-n{font-size:15px} .cd-segment{width:100%} .cd-segment button{flex:1;padding:8px 6px;font-size:11px} }


/* ===== Strafen: Verhaengen-Dialog, Board-Filter, Banner-Zusatz ===== */
.strafe-dialog{max-width:440px}
.sd-l{display:flex;flex-direction:column;gap:5px;font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--silver-dim);margin-top:10px}
.sd-l input,.sd-l select,.sd-l textarea{width:100%;height:40px;border-radius:10px;border:1px solid var(--border);background:#0e0f13;color:#e6e8ee;padding:0 12px;font-size:14px;font-family:inherit;text-transform:none;letter-spacing:0}
.sd-l textarea{height:auto;padding:9px 12px;resize:vertical}
.sd-l small{font-size:11px;color:var(--silver-dim);text-transform:none;letter-spacing:0}
.sd-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sd-l.sd-chk{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:13px;color:#e6e8ee;margin-top:28px}
.sd-l.sd-chk input{width:auto;height:auto}
.pen-leiste{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.pen-filter{display:flex;gap:4px;background:rgba(255,255,255,.03);border:1px solid var(--border-soft);border-radius:10px;padding:3px}
.pen-filter button{background:none;border:none;color:var(--silver-dim);font-size:12px;padding:6px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}
.pen-filter button.on{background:rgba(201,163,92,.14);color:var(--gold-hi)}
#pen-suche{flex:1;min-width:180px;height:34px;border-radius:9px;border:1px solid var(--border);background:#0e0f13;color:#e6e8ee;padding:0 10px;font-size:13px}
#pen-zaehl{font-size:12px;white-space:nowrap}
.mini-av img,.mini-av .av-emblem{width:28px;height:28px;border-radius:50%}
.pen-zusatz{display:block;font-size:11.5px;color:var(--silver-dim);margin-top:2px}


/* ===== Coach-Dialoge: Wizard-Zugang/Erlaubnisse, Push-Dialog, Einstellungen-Profil ===== */
.ob-modus,.ob-erlaubt{display:flex;flex-wrap:wrap;gap:8px 18px;padding:6px 0}
.ob-modus label,.ob-erlaubt label{display:flex;align-items:center;gap:7px;font-size:13px;color:#e6e8ee;cursor:pointer}
.ob-modus input,.ob-erlaubt input{width:auto;height:auto;margin:0}
.push-dialog{max-width:420px}
.push-plan-txt{font-size:14px;color:var(--silver-hi);margin:8px 0 4px}
.set-actions{display:flex;align-items:center;gap:10px;margin-top:12px}
.btn-danger{border-color:rgba(190,84,84,.55);color:#e7a59c}
.btn-danger:hover{background:rgba(120,38,38,.18)}
#cfg_vermerk{width:100%;border-radius:10px;border:1px solid var(--border);background:#0e0f13;color:#e6e8ee;padding:9px 12px;font-size:13.5px;font-family:inherit}


/* ===== Coach-Reiter Kalender/Auswertungen, Mobil-Liste, Nachladen ===== */
.ck-kopf{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.ck-kopf b{font-family:var(--serif);letter-spacing:1px}
.ck-kopf .btn-line{height:32px;padding:0 12px}
.ck-tabelle th{text-align:center}
.ck-tabelle th small{display:block;font-weight:400;font-size:10.5px;color:var(--silver-dim)}
.ck-tabelle th.heute,.ck-tabelle td.heute{background:rgba(201,163,92,.06)}
.ck-tabelle td.ck-tag{text-align:center;vertical-align:top;min-width:64px}
.ck-tabelle td.ck-tag b{display:block;font-size:15px}
.ck-tabelle td.ck-tag small{display:block;font-size:10.5px;color:var(--silver-dim);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 auto}
.ck-tabelle td.ck-tag.rot{background:rgba(120,38,38,.14)}
.ck-tabelle td.ck-name,.aw-tabelle td.ck-name{white-space:nowrap}
.aw-tabelle td.aw-q{min-width:160px}
.aw-bar{display:inline-block;vertical-align:middle;width:90px;height:6px;border-radius:4px;background:rgba(255,255,255,.08);margin-right:8px;overflow:hidden}
.aw-bar i{display:block;height:100%;border-radius:4px}
.coach-mobil-liste{display:none;flex-direction:column;gap:6px;margin-top:10px}
.cml-zeile{display:grid;grid-template-columns:44px 1fr auto auto;align-items:center;gap:10px;width:100%;text-align:left;background:rgba(255,255,255,.03);border:1px solid var(--border-soft);border-radius:12px;padding:10px 12px;color:#e6e8ee;cursor:pointer}
.cml-fokus{font-weight:700;font-size:15px;text-align:center}
.cml-fokus.red{color:#e7a59c}.cml-fokus.amber{color:#e8c05a}.cml-fokus.green{color:#8fd3a9}.cml-fokus.gray{color:var(--silver-dim)}
.cml-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cml-rt,.cml-straf{font-size:12px;color:var(--silver-dim);min-width:34px;text-align:right}
.cml-straf.on{color:#e7a59c;font-weight:600}
.coach-mehr-wrap{display:flex;justify-content:center;margin:12px 0}
@media (max-width:760px){ html:not(.v2) .coach-mobil-liste{display:flex} html:not(.v2) #coach-overview .table-wrap{display:none} }

/* ===== Quests & Ziele (Basis-App) ===== */
.q-card{margin-bottom:12px}
.q-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.q-titel{font-weight:600;font-size:15px}
.q-desc{margin:6px 0 4px;font-size:13px;color:var(--silver-dim)}
.q-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.q-actions .q-ist{width:110px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg2,#141821);color:inherit}
.q-teil{margin-top:8px}
.q-teilrow{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;cursor:pointer}
.q-teilrow .durch{text-decoration:line-through;opacity:.6}
.q-right{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.q-card .bar{height:6px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;margin:8px 0 4px}
.q-card .bar i{display:block;height:100%;background:#d9a521}
.qm-card{text-align:center;max-width:420px}
.qm-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-dim);margin-bottom:6px}
.qm-quest-erfuellt .qm-kicker,.qm-ziel-erreicht .qm-kicker{color:#d9a521}
.qm-quest-verfehlt .qm-kicker{color:#c0392b}
.qm-sub{margin-top:6px;font-size:13px;color:var(--silver-dim)}
.qm-bel{margin-top:12px;font-weight:700;color:#d9a521;font-size:16px}
.qm-strafe{margin-top:10px;font-size:13px;color:#c0392b}

/* ===== Journal (Basis-App) ===== */
.jr-toggle{margin-bottom:14px}
#journal-basis .fg{margin-bottom:12px}
#journal-basis .fg input[type=text]{display:block;width:100%;margin-top:6px}
.jr-row .hint{white-space:normal}
.qm-journal-jahr .qm-kicker{color:#d9a521}

/* ===== Routinen umsortieren (Dashboard bearbeiten) ===== */
#habit-list .rt-move{display:none}
#habit-list.rt-editing .habit{position:relative;padding-right:56px}
#habit-list.rt-editing .rt-move{display:flex;flex-direction:column;gap:4px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}
#habit-list.rt-editing .rt-move button{width:30px;height:24px;border-radius:7px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--silver-hi,#e6e6e6);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
#habit-list.rt-editing .rt-move button svg{width:14px;height:14px}
#habit-list.rt-editing .rt-move button:disabled{opacity:.3;cursor:default}
#habit-list.rt-editing .check{pointer-events:none;opacity:.5}

/* ===== Strafen-Board: Sammel-Bestaetigen ===== */
.pen-sammel{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.pen-sammel button:disabled{opacity:.4;cursor:default}
.pen-frage{max-width:440px}
/* ===== Leaderboard: Disziplin-Score (7/30 Tage) ===== */
.lb-detail{display:block;font-size:11px;color:var(--silver-dim);font-weight:400;margin-top:2px}


/* ===== Routinen-Vorlagen (Wizard + Editor-Picker) ===== */
.vl-liste{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow:auto;padding-right:4px}
.vl-kat{border:1px solid var(--border,#3a3a3a);border-radius:10px;background:rgba(255,255,255,.02)}
.vl-kat>summary{cursor:pointer;padding:10px 12px;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}
.vl-kat>summary::-webkit-details-marker{display:none}
.vl-kat>summary::after{content:"▸";opacity:.6;transition:transform .15s}
.vl-kat[open]>summary::after{transform:rotate(90deg)}
.vl-n{font-size:.78em;opacity:.65;font-weight:400;margin-left:auto;margin-right:8px}
.vl-item{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:start;padding:8px 12px;border-top:1px solid rgba(255,255,255,.06);cursor:pointer}
.vl-item input[type=checkbox],.prof-modal .vl-item input[type=checkbox]{width:18px;height:18px;margin:3px 0 0;flex:0 0 auto;grid-row:1/3}
.vl-item .vl-name{display:block;font-weight:600;font-size:.95em}
.vl-item.vl-da{opacity:.45;cursor:default}
.vl-sub{display:block;grid-column:2;font-size:.8em;opacity:.7;margin-top:2px}
.skip-card.vl-card{width:min(600px,calc(100vw - 32px));max-width:600px}
.httyp-opt.httyp-vorlagen{border-style:dashed}
.habit.zl-neg .meta [data-zl=ueber]{color:#e74c3c;font-weight:600}
@media (max-width:480px){.vl-liste{max-height:55vh}}


/* ===== Design-Einstellung: Statue aus ===== */
html.ohne-statue #client-sculpt{display:none!important}
body.selbst-modus #set-routine-anfrage{display:none}

/* ===== Designs (Themes): Farbwelten der Basis-App. html[data-theme=…]; v2 verfeinert. ===== */
html[data-theme=legion]{--bg:#0e0f12;--bg-2:#131518;--surface:#181a1f;--surface-2:#20232a;--border:#363a44;--border-soft:#272a32;--text:#e6e9ee;--muted:#9aa1ab;--muted-2:#6a7079;--gold:#aeb4bd;--gold-hi:#e6e9ee;--gold-dim:#7c828c}
html[data-theme=obsidian]{--bg:#050506;--bg-2:#0a0a0c;--surface:#0f0f12;--surface-2:#16161a;--border:#2a2a30;--border-soft:#1e1e23;--text:#ededf0;--muted:#8a8f96;--muted-2:#5c6067;--gold:#d9dde3;--gold-hi:#ffffff;--gold-dim:#8a8f96;--silver:#d9dde3;--silver-hi:#ffffff;--silver-dim:#8a8f96}
html[data-theme=smaragd]{--bg:#070d0a;--bg-2:#0a1410;--surface:#0f1a15;--surface-2:#15231c;--border:#274236;--border-soft:#1b2f26;--text:#e6eee8;--muted:#8fa79a;--muted-2:#5f7368;--gold:#c9a24a;--gold-hi:#ead9a2;--gold-dim:#8f7338;--green:#3f9a6a}
html[data-theme=blutrot]{--bg:#0c0405;--bg-2:#120607;--surface:#1a0c0e;--surface-2:#241214;--border:#4a2426;--border-soft:#33191b;--text:#f0e4dc;--muted:#a8918a;--muted-2:#725e59;--gold:#b2342e;--gold-hi:#e6c7a1;--gold-dim:#7a2521;--red:#e0524a}
html[data-theme=aurum]{--bg:#120c05;--bg-2:#1a1208;--surface:#221808;--surface-2:#2b1f0c;--border:#5a4416;--border-soft:#3d2e10;--text:#fff1c2;--muted:#c4a86a;--muted-2:#8a7448;--gold:#e2b64a;--gold-hi:#fff1c2;--gold-dim:#a67f2a}
html[data-theme=purpur]{--bg:#0b0712;--bg-2:#120a1c;--surface:#181026;--surface-2:#211632;--border:#3f2d5c;--border-soft:#2d2043;--text:#ece6f5;--muted:#a897c2;--muted-2:#6f6287;--gold:#8b5cf6;--gold-hi:#d6cbe8;--gold-dim:#5f3fb0;--silver:#d6cbe8;--silver-hi:#f1ecf9;--silver-dim:#8f83a8}
html[data-theme=winterfeldzug]{--bg:#05080e;--bg-2:#070c14;--surface:#0d1420;--surface-2:#131c2b;--border:#27394f;--border-soft:#1b2838;--text:#e8f4fb;--muted:#8fb0c6;--muted-2:#5f7a8c;--gold:#7fc4e8;--gold-hi:#e8f4fb;--gold-dim:#4a89a8;--silver:#cfe3ee;--silver-hi:#ffffff;--silver-dim:#7f9bab}
html[data-theme=marmor]{--bg:#efe9dd;--bg-2:#e7e0d2;--surface:#f7f3ea;--surface-2:#ffffff;--border:#cfc4ae;--border-soft:#ded5c2;--text:#2b2620;--muted:#6f6455;--muted-2:#9a8f7e;--gold:#b8923a;--gold-hi:#8a6a22;--gold-dim:#d6bb7a;--silver:#6d7480;--silver-hi:#3d434c;--silver-dim:#9aa1ab;--shadow:0 10px 30px rgba(60,45,20,.18)}
html[data-theme=sol_invictus]{--bg:#0e0803;--bg-2:#140a04;--surface:#1c1108;--surface-2:#26170b;--border:#4a2c12;--border-soft:#33200d;--text:#ffe9d2;--muted:#c9a180;--muted-2:#8a6a4e;--gold:#e07a2a;--gold-hi:#ffd9a8;--gold-dim:#8f4a16}
html[data-theme=neptun]{--bg:#030b12;--bg-2:#04101a;--surface:#0a1922;--surface-2:#10232e;--border:#1d4450;--border-soft:#143139;--text:#dff6f4;--muted:#8fb9b6;--muted-2:#5b8481;--gold:#1fa5a0;--gold-hi:#9fe6e2;--gold-dim:#146d69;--silver:#bfe0dd;--silver-hi:#eefbfa;--silver-dim:#6f9c98}
html[data-theme=vesta]{--bg:#0c0504;--bg-2:#120806;--surface:#1c0d09;--surface-2:#26130d;--border:#4d2518;--border-soft:#361a11;--text:#ffe1c9;--muted:#c99c86;--muted-2:#8a6555;--gold:#f0663a;--gold-hi:#ffb597;--gold-dim:#9e3f20}
html[data-theme=karthago]{--bg:#120c07;--bg-2:#1a120b;--surface:#22180f;--surface-2:#2c2015;--border:#54402a;--border-soft:#3b2d1d;--text:#f1e3cf;--muted:#b9a488;--muted-2:#83715a;--gold:#c8834a;--gold-hi:#f1c79b;--gold-dim:#84552d}
html[data-theme=centurio]{--bg:#0d0405;--bg-2:#150607;--surface:#1d0b0c;--surface-2:#281012;--border:#5a2426;--border-soft:#3d191b;--text:#f3e6dc;--muted:#b89a8a;--muted-2:#7d6559;--gold:#c9a24a;--gold-hi:#ead9a2;--gold-dim:#8f7338;--red:#d14a3a}
html[data-theme=triumph]{--bg:#f6f1e6;--bg-2:#ede6d7;--surface:#fbf8f1;--surface-2:#ffffff;--border:#d6c9ab;--border-soft:#e4dac2;--text:#1a1611;--muted:#6b6250;--muted-2:#9a9079;--gold:#b8923a;--gold-hi:#8a6a22;--gold-dim:#d9c07a;--silver:#6d7480;--silver-hi:#3d434c;--silver-dim:#9aa1ab;--shadow:0 10px 30px rgba(60,45,20,.16)}
html[data-theme=veteran]{--bg:#080c12;--bg-2:#0b1018;--surface:#111925;--surface-2:#182231;--border:#2f3f55;--border-soft:#212e40;--text:#e6ecf3;--muted:#8fa6bf;--muted-2:#5f7388;--gold:#b39a5a;--gold-hi:#e3d3a3;--gold-dim:#7a6836;--silver:#8fa6bf;--silver-hi:#cfdcea;--silver-dim:#5f7388}
html[data-theme=fruehlingsfeldzug]{--bg:#070d09;--bg-2:#0a120c;--surface:#0f1a12;--surface-2:#15241a;--border:#2b4a33;--border-soft:#1e3425;--text:#ecf5ee;--muted:#9bbfa4;--muted-2:#678a72;--gold:#8fd18b;--gold-hi:#d7f3d5;--gold-dim:#4f8a4c;--red:#e88aa0}
html[data-theme=sommerfeldzug]{--bg:#0f0902;--bg-2:#140d04;--surface:#1e1407;--surface-2:#291b0a;--border:#5a3f12;--border-soft:#3f2c0d;--text:#fff2c4;--muted:#d1b06a;--muted-2:#8f7a47;--gold:#f2b134;--gold-hi:#ffe08a;--gold-dim:#a37418}
html[data-theme=ernte]{--bg:#0d0704;--bg-2:#120b06;--surface:#1b1109;--surface-2:#25170c;--border:#553417;--border-soft:#3a2410;--text:#f0dcc4;--muted:#c49c74;--muted-2:#876848;--gold:#c26a2b;--gold-hi:#ecb27f;--gold-dim:#7e4318}
html[data-theme=triumph].theme-hell body::before,html.theme-hell body::before{background:radial-gradient(1200px 680px at 82% -6%,rgba(184,146,58,.16) 0%,rgba(184,146,58,0) 62%),radial-gradient(1000px 620px at -8% 30%,rgba(255,255,255,.6) 0%,rgba(255,255,255,0) 60%)}
html.theme-hell select,html.theme-hell textarea,html.theme-hell input[type=text],html.theme-hell input[type=number],html.theme-hell input[type=email],html.theme-hell input[type=password],html.theme-hell input[type=date],html.theme-hell input[type=month],html.theme-hell input[type=search]{background:#fff;color-scheme:light}
.theme-wahl{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:0 0 10px}
.theme-karte{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px;cursor:pointer;color:var(--text);font-family:inherit;transition:border-color .15s,transform .15s}
.theme-karte:hover{border-color:var(--gold-dim);transform:translateY(-1px)}
.theme-karte.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(198,165,99,.25)}
.theme-karte.gesperrt{opacity:.6}
.theme-swatch{display:block;width:100%;height:44px;border-radius:8px;border:1px solid rgba(255,255,255,.08)}
.theme-name{font-family:var(--serif);font-size:14px;letter-spacing:.06em}
.theme-desc{font-size:11.5px;color:var(--muted);line-height:1.35;min-height:2.7em}
.theme-status{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:6px;border:1px solid var(--border);color:var(--muted)}
.theme-status[data-code=aktiv]{color:var(--gold);border-color:var(--gold)}
.theme-status[data-code=kaufbar]{color:var(--gold-hi)}
.theme-status[data-code=saison]{color:#7fc4e8;border-color:#7fc4e8}
.theme-konto{grid-column:1/-1;font-size:12px;color:var(--muted);margin-top:2px}
.theme-hinweis{font-size:13px;color:var(--gold);margin:6px 0 4px}
.lb-row[data-theme]:not([data-theme=imperium]) .lb-nm::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;vertical-align:middle;background:var(--gold)}
.lb-row[data-theme=legion] .lb-nm::after{background:#aeb4bd}.lb-row[data-theme=obsidian] .lb-nm::after{background:#d9dde3}.lb-row[data-theme=smaragd] .lb-nm::after{background:#3f9a6a}.lb-row[data-theme=blutrot] .lb-nm::after{background:#b2342e}.lb-row[data-theme=marmor] .lb-nm::after{background:#efe9dd}.lb-row[data-theme=aurum] .lb-nm::after{background:#e2b64a}.lb-row[data-theme=purpur] .lb-nm::after{background:#8b5cf6}.lb-row[data-theme=winterfeldzug] .lb-nm::after{background:#7fc4e8}

/* ===== Kosmetik: Rahmen, Wappen, Akzent, Klang, Saison, Schmiede ===== */
.av-rahmen{position:relative;display:inline-block;flex:0 0 auto;vertical-align:middle}
.av-rahmen .av-bild{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);line-height:0}
.av-rahmen .av-bild img,.av-rahmen .av-bild .emblem{border-radius:50%!important}
.av-rahmen .av-rahmen-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.av-rahmen .av-wappen{position:absolute;right:-6%;bottom:-6%;line-height:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.7))}
.rf-flammen{transform-origin:50% 50%;animation:rf-flackern 1.6s ease-in-out infinite alternate}
@keyframes rf-flackern{from{opacity:.85;transform:scale(.985)}to{opacity:1;transform:scale(1.01)}}
.wappen-klein{display:inline-block;vertical-align:middle;margin-left:6px;line-height:0}
.wappen-svg{overflow:visible}
html[data-akzent] .check.on{background:var(--akzent)!important;border-color:var(--akzent)!important}
html[data-akzent] .habit.done .check.on{background:var(--akzent)!important}
.ko-h{font-family:var(--serif);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:38px 0 14px}
.ko-h:first-child{margin-top:8px}
.ko-hint{font-size:12.5px;color:var(--muted);margin:0 0 10px;line-height:1.45}
.ko-wahl{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:14px;margin-bottom:6px}
.ko-karte{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 8px 10px;cursor:pointer;color:var(--text);font-family:inherit;transition:border-color .15s,transform .15s}
.ko-karte:hover{border-color:var(--gold-dim);transform:translateY(-1px)}
.ko-karte.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(198,165,99,.25)}
.ko-karte.gesperrt{opacity:.6}
.ko-prev{display:flex;align-items:center;justify-content:center;width:72px;height:72px}
.ko-prev-statue img{height:72px;width:auto;max-width:72px;object-fit:contain;opacity:.85}
.ko-leer{color:var(--muted);font-size:22px}
.ko-probe{width:40px;height:40px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.ko-name{font-family:var(--serif);font-size:13px;letter-spacing:.05em}
.ko-desc{font-size:11px;color:var(--muted);line-height:1.35;min-height:2.7em}
.akzent-wahl{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.sb-pegel{min-width:180px}.sb-pegel input[type=range]{width:120px;vertical-align:middle;accent-color:var(--gold)}.sb-pegel-wert{display:inline-block;min-width:44px;margin-left:8px;font-size:12px;color:var(--muted);vertical-align:middle}
.sb-pegel-leiste{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.sb-pegel-out{flex-basis:100%;margin:6px 0 0;padding:8px 10px;background:rgba(0,0,0,.25);border:1px solid var(--border);border-radius:8px;font-size:12px;line-height:1.5;white-space:pre-wrap}
.ko-info{position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;border:1px solid var(--gold-dim,#8a7440);color:var(--gold);background:rgba(0,0,0,.25);font-family:var(--serif);font-size:11px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:help;z-index:2;letter-spacing:0}
.ko-info::after{content:attr(data-tip);position:absolute;top:calc(100% + 7px);right:-4px;max-width:210px;width:max-content;background:var(--surface-2,#151515);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 9px;font-family:var(--sans,"Segoe UI",system-ui,sans-serif);font-size:11.5px;font-weight:400;line-height:1.35;letter-spacing:0;text-transform:none;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .12s;z-index:6;box-shadow:0 6px 18px rgba(0,0,0,.45)}
.ko-info:hover::after,.ko-info:focus-visible::after,.ko-info.offen::after{opacity:1}
.theme-karte .ko-info{top:8px;right:8px}
.akzent-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 12px 6px 7px;color:var(--text);font-size:12.5px;cursor:pointer;font-family:inherit}
.akzent-chip.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(198,165,99,.25)}
.akzent-punkt{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.akzent-auto{background:conic-gradient(#c9a24a,#8b5cf6,#3f9a6a,#c73c3c,#c9a24a)}
#saison-fx{display:none;position:fixed;inset:0;z-index:1;pointer-events:none;width:100%;height:100%}
#saison-fx.on{display:block}
.schmiede .form-grid{margin-top:4px}
.sb-tab{width:100%;border-collapse:collapse;font-size:12.5px}
.sb-tab th{text-align:left;font-family:var(--serif);font-weight:500;letter-spacing:.06em;font-size:11px;text-transform:uppercase;color:var(--muted);padding:6px 6px;border-bottom:1px solid var(--border)}
.sb-tab td{padding:6px;border-bottom:1px solid var(--border-soft);vertical-align:middle}
.sb-tab td small{display:block;color:var(--muted);font-size:11px}
.sb-btn{width:34px;height:34px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.sb-anim{width:auto;padding:0 10px;border-radius:17px;color:var(--gold)}
.ko-sound-ic{font-size:30px;color:var(--gold)}.ko-sound-aus{color:var(--muted);text-decoration:line-through}
@media (max-width:600px){.sb-tab td small{display:none}.sb-btn{width:30px;height:30px}}
html[data-schmiede] .theme-karte.on{box-shadow:none;border-color:var(--border)}
@media (max-width:600px){.ko-wahl{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.ko-prev{width:60px;height:60px}}

/* ===== Dashboard-Vorlagen, Zusatzkarten, Kriegerkarte teilen ===== */
.dv-wahl{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.dv-karte{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;cursor:pointer;color:var(--text);font-family:inherit}
.dv-karte.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(198,165,99,.25)}
.dv-name{font-family:var(--serif);font-size:13px;letter-spacing:.06em}
.dv-text{font-size:11.5px;color:var(--muted);line-height:1.35}
.dw-wahl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px}
.dw-row span{display:inline-flex;flex-direction:column;line-height:1.25}.dw-row small{color:var(--muted);font-size:11.5px}
.dw-block h3{margin-bottom:8px}
.dw-bar{display:grid;grid-template-columns:110px 1fr 36px;gap:8px;align-items:center;font-size:12.5px;margin:4px 0}
.dw-bar-l{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dw-bar-t{height:8px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden;display:block}
.dw-bar-t i{display:block;height:100%;background:var(--gold);border-radius:4px}
.dw-bar-v{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}
.dw-ziel{display:grid;grid-template-columns:1fr 120px auto;gap:10px;align-items:center;font-size:13px;margin:6px 0}
.dw-ziel-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dw-kpis{display:flex;gap:18px;flex-wrap:wrap}.dw-kpis div{display:flex;flex-direction:column}.dw-kpis b{font-family:var(--serif);font-size:22px;color:var(--gold)}.dw-kpis small{color:var(--muted);font-size:11.5px}
.dw-tage{display:flex;gap:8px;justify-content:space-between}
.dw-tag{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}
.dw-tag i{width:100%;height:28px;border-radius:7px;background:rgba(255,255,255,.06);border:1px solid var(--border)}
.dw-tag.voll i{background:var(--green);border-color:var(--green)}.dw-tag.teil i{background:linear-gradient(180deg,var(--gold-dim),rgba(255,255,255,.06));border-color:var(--gold-dim)}
.dw-tag small{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.dw-kk{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.dw-kk-mitte{flex:1;min-width:140px}.dw-kk-name{font-family:var(--serif);font-size:16px}
html[data-dash-vorlage=kompakt] #dash-blocks .set-card{padding:12px 14px}html[data-dash-vorlage=kompakt] #dash-blocks .habit{padding:8px 10px}
html[data-dash-vorlage=fokus] #dash-blocks .dash-block:not([data-block=routines]){opacity:.72;transform:scale(.985);transform-origin:top center}
html[data-dash-vorlage=krieger] #dash-blocks .dash-block[data-block=kriegerkarte],html[data-dash-vorlage=krieger] #dash-blocks .dash-block[data-block=kalender]{order:-1}
html[data-dash-vorlage=krieger] #dash-blocks{display:flex;flex-direction:column}
.prof-kk{position:relative}
.pk-teilen{position:absolute;right:14px;top:14px;font-size:11.5px;padding:6px 10px}
.prof-kk[data-kk-stufe=bronze]{border-color:#b8763a66}.prof-kk[data-kk-stufe=silber]{border-color:#aeb4bd77}.prof-kk[data-kk-stufe=gold]{border-color:#c9a24a99;box-shadow:0 0 0 1px #c9a24a33,var(--shadow)}.prof-kk[data-kk-stufe=master]{border-color:#8b5cf699;box-shadow:0 0 0 1px #8b5cf644,var(--shadow)}
@media (max-width:600px){.dw-bar{grid-template-columns:90px 1fr 32px}.dw-ziel{grid-template-columns:1fr auto}.dw-ziel .dw-bar-t{display:none}.pk-teilen{position:static;margin:0 0 10px}}

/* ===== KI-Coach (Koach) ===== */
.ki-karte .ki-aktionen{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 12px}
.ki-karte .ki-aktionen .btn-save{flex:0 0 auto}
.ki-karte .ki-aktionen button,.ki-karte .ki-aktionen input[type=month]{height:42px;box-sizing:border-box;padding-top:0;padding-bottom:0;display:inline-flex;align-items:center;margin:0}
.ki-karte .ki-monat{display:inline-flex;gap:8px;align-items:center}
.ki-karte .ki-monat input{width:150px;cursor:pointer}
.ki-karte .ki-trash{margin-left:auto;width:42px;padding:0;justify-content:center;color:var(--silver-dim)}
.ki-karte .ki-trash:hover,.ki-karte .ki-trash.on{color:#e0655a;border-color:#e0655a}
.ki-karte .ki-auswahl-leiste{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px;padding:8px 10px;border:1px dashed rgba(224,101,90,.45);border-radius:9px;font-size:13px}
.ki-karte .ki-auswahl-leiste .ki-sel-n{margin-right:auto;color:var(--silver-dim)}
.ki-check{width:18px;height:18px;border-radius:5px;border:1px solid var(--border);background:#0a0907;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.ki-check.on{background:#e0655a;border-color:#e0655a}
.ki-check.on::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.ki-karte .ki-frage{display:flex;gap:8px;margin-bottom:10px}
.ki-karte .ki-frage input{flex:1;min-width:0}
.ki-karte .ki-status{font-size:13px;color:var(--gold,#c9a24a);margin:6px 0 12px}
.ki-karte .ki-status.ki-laeuft::after{content:"";display:inline-block;width:10px;height:10px;margin-left:8px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ki-dreh .8s linear infinite;vertical-align:middle}
@keyframes ki-dreh{to{transform:rotate(360deg)}}
.ki-bericht{border:1px solid rgba(255,255,255,.08);border-radius:10px;margin:8px 0;background:rgba(0,0,0,.18)}
.ki-bericht summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px}
.ki-bericht summary::-webkit-details-marker{display:none}
.ki-bericht .ki-art{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold,#c9a24a);border:1px solid currentColor;border-radius:6px;padding:2px 6px}
.ki-bericht .ki-titel{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ki-bericht .ki-zeit{font-size:12px;opacity:.6}
.ki-ampel{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:2px 7px;border:1px solid currentColor}
.ki-ampel::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.ki-ampel[data-status=rot]{color:#e0655a}.ki-ampel[data-status=gelb]{color:#e2b544}.ki-ampel[data-status=gruen]{color:#6fbf73}
.ki-bericht .ki-text ul li{margin:2px 0}
.ki-details{margin:10px 0 4px;border-top:1px dashed rgba(255,255,255,.12);padding-top:6px}
.ki-details>summary{cursor:pointer;font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.7;list-style:none}
.ki-details>summary::-webkit-details-marker{display:none}
.ki-details>summary::before{content:"▸ "}.ki-details[open]>summary::before{content:"▾ "}
.ki-bericht .ki-text{padding:0 14px 6px;font-size:14px;line-height:1.55}
.ki-bericht .ki-text h4{margin:12px 0 4px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold,#c9a24a)}
.ki-bericht .ki-text p{margin:0 0 8px}
.ki-bericht .ki-text ul{margin:0 0 8px 18px;padding:0}
.ki-bericht .ki-tools{display:flex;gap:8px;align-items:center;padding:4px 12px 12px}
.ki-bericht .ki-modell{margin-left:auto;font-size:11px;opacity:.45}
.ki-bericht .ki-x{color:#d66}
@media (max-width:600px){.ki-karte .ki-frage{flex-direction:column}.ki-karte .ki-monat{width:100%}.ki-karte .ki-monat input{flex:1}.ki-karte .ki-trash{margin-left:0}.ki-bericht .ki-titel{flex:1 1 100%;white-space:normal;overflow:visible;text-overflow:clip}.ki-bericht .ki-tools{flex-wrap:wrap}}

/* ===== Routinen-Anfrage (Klient + Coach) ===== */
.ra-liste{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.ra-zeile{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border,#3a3a3a);border-radius:10px;background:rgba(255,255,255,.02)}
.ra-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.ra-info b{font-size:.95em}
.ra-sub{font-size:.8em;opacity:.75}
.ra-status{font-size:.78em;opacity:.6}
.ra-zeile.ra-angelegt .ra-status{color:var(--green,#7fbf7f);opacity:.9}
.ra-zeile.ra-abgelehnt .ra-status{color:#e07a6a;opacity:.9}
.ra-btns{display:flex;gap:6px;flex:0 0 auto}
.ra-typen{display:flex;flex-direction:column;gap:6px}
.ra-typ{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:start;padding:8px 10px;border:1px solid var(--border,#3a3a3a);border-radius:10px;cursor:pointer}
.ra-typ input[type=radio],.prof-modal .ra-typ input[type=radio]{width:16px;height:16px;margin:3px 0 0;grid-row:1/3}
.ra-typ-name{font-weight:600;font-size:.95em}
.ra-typ-erkl{grid-column:2;font-size:.8em;opacity:.7}
.ra-typ:has(input:checked){border-color:var(--gold,#c9a75a)}
.skip-card.ra-card{width:min(560px,calc(100vw - 32px));max-width:560px;max-height:90vh;overflow:auto}
.ra-coach{margin:0 0 12px}
.ra-coach:empty{display:none}
.ra-coach-kopf{font-weight:600;margin:0 0 8px;display:flex;align-items:center;gap:8px}
.ra-n{font-size:.75em;padding:1px 7px;border-radius:999px;background:var(--gold,#c9a75a);color:#0a0908}
.ra-coach .ra-zeile{margin-bottom:6px}
@media (max-width:480px){.ra-zeile{flex-direction:column;align-items:flex-start}.ra-btns{width:100%}}


/* ===== Wizard: Routinen je Klient + Bildschirmzeit ===== */
.ob-rt-kopf{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px;font-weight:600}
.ob-routinen{display:flex;flex-direction:column;gap:10px}
.ob-rt{border:1px solid var(--border,#3a3a3a);border-radius:10px;padding:10px 12px;background:rgba(255,255,255,.02)}
.ob-rt-zeile1{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ob-rt-zeile1 input[type=text]{flex:1 1 auto;min-width:0}
.ob-rt-zeile1 select{flex:0 0 auto;width:auto}
.ob-rt-typ{flex:0 0 auto;font-size:.78em;opacity:.7;white-space:nowrap}
.ob-rt-x{flex:0 0 auto}
.ob-rt-werte{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.ob-rt-werte label small{opacity:.6;font-weight:400}
@media (max-width:480px){.ob-rt-zeile1{flex-wrap:wrap}.ob-rt-zeile1 input[type=text]{flex-basis:100%}}

.ob-rt-kurz{font-size:.8em;opacity:.7;margin:-2px 0 2px}
.ob-rt.offen .ob-rt-kurz{margin-bottom:8px}
.ob-rt-werte[hidden]{display:none}
.ob-rt.offen .ob-rt-edit{border-color:var(--gold,#c9a75a);color:var(--gold,#c9a75a)}

.habit-edit.pausiert{opacity:.55;filter:saturate(.6)}
.habit-edit.pausiert.editing{opacity:.85}
.habit-edit.pausiert .he-name{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.35)}

/* Wappen als Bilddatei (grafik/wappen/*.svg) – gleiche Groessen wie die frueheren Inline-SVGs */
img.wappen-bild{display:inline-block;object-fit:contain;vertical-align:middle}
html.v2 .v2-av-wappen img.wappen-bild{width: 100%; height: 100%; overflow: visible;}
html.v2 .wappen-klein img.wappen-bild{width: 18px; height: 18px; overflow: visible;}
html.v2 #v2-lb .wappen-klein img.wappen-bild{width: 15px; height: 15px;}
html.v2 .wappen-klein img.wappen-bild{width: 15px; height: 15px;}
