/* ════════════════════════════════════════════════════════════════
   Blütenpfad · Verwaltung — Desktop-Dashboard (16:9), Förster-Ledger-Look
   Cream-Pergament + Forst-Grün, chunky AC-Borders, Mono-Zahlen.
   Bewusst NICHT auf Mobile optimiert (Desktop/Browser-first).
   ════════════════════════════════════════════════════════════════ */
:root{
  --paper:#f4ecd8; --paper-2:#ece0c4; --card:#fffdf6; --card-2:#fff7e7;
  --ink:#39392a; --ink-soft:#7c7a60; --ink-faint:#a8a184;
  --forest:#2c4327; --forest-2:#395a32; --forest-d:#1f3a1c;
  --leaf:#82ad52; --leaf-d:#5f8a39; --leaf-l:#a9d27f; --leaf-pale:#e7f1d4;
  --honey:#e9a94e; --honey-d:#c9892b; --poppy:#dd6a52; --poppy-d:#b8472f; --corn:#6e8fd6; --blossom:#ef9bbd;
  --border:#e0d2ab; --border-d:#cdba8c;
  --shadow:rgba(74,58,20,.16); --shadow-d:rgba(74,58,20,.3);
  --r:18px; --r-lg:26px; --r-sm:12px;
  --font-d:"Fredoka","Baloo 2",system-ui,sans-serif;
  --font-b:"Nunito",system-ui,-apple-system,sans-serif;
  --font-m:"Spline Sans Mono",ui-monospace,"SFMono-Regular",monospace;
  --sidebar-w:252px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-b); color:var(--ink); min-height:100dvh;
  background:radial-gradient(120% 90% at 85% -5%, #fbf6e9 0%, var(--paper) 42%, var(--paper-2) 100%) fixed;
  overflow-x:hidden;
}
.bg-leaves{position:fixed; inset:0; pointer-events:none; z-index:0; overflow:hidden}
.bl{position:absolute; font-size:3rem; opacity:.13; filter:drop-shadow(0 6px 8px rgba(0,0,0,.05)); animation:drift 16s ease-in-out infinite}
.bl.b1{top:12%; left:18%; animation-duration:18s}
.bl.b2{top:64%; left:30%; font-size:3.6rem; animation-delay:-5s}
.bl.b3{top:30%; right:3%; font-size:4rem; animation-delay:-9s; animation-duration:20s}
.bl.b4{top:78%; right:8%; font-size:2.4rem; animation-delay:-3s}
@keyframes drift{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-26px) rotate(10deg)}}

/* ── Buttons ── */
.btn{font-family:var(--font-d); font-weight:600; font-size:.95rem; border-radius:14px; cursor:pointer;
  border:2px solid var(--border-d); border-bottom-width:5px; background:linear-gradient(#fff,#f7efdc); color:var(--ink);
  padding:11px 18px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  transition:transform .08s, border-bottom-width .08s, box-shadow .15s, filter .15s; box-shadow:0 4px 10px var(--shadow)}
.btn:active{transform:translateY(3px); border-bottom-width:2px}
.btn.sm{padding:8px 13px; font-size:.82rem; border-bottom-width:4px; border-radius:11px}
.btn-primary{background:linear-gradient(var(--leaf-l),var(--leaf)); border-color:var(--leaf-d); color:#fff; text-shadow:0 1px 1px rgba(40,60,20,.4)}
.btn-primary:hover{filter:brightness(1.04)}
.btn-ghost{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.26); border-bottom-width:4px; color:#eef4e4; box-shadow:none}
.btn-ghost:hover{background:rgba(255,255,255,.22)}
.btn-danger{background:linear-gradient(#f0a596,var(--poppy)); border-color:var(--poppy-d); color:#5a2113; text-shadow:0 1px 0 rgba(255,255,255,.3)}
.btn:disabled{opacity:.55; pointer-events:none; filter:grayscale(.3)}

/* ════════════════════════════════ Login-Gate ════════════════════════════════ */
.gate{position:fixed; inset:0; z-index:30; display:grid; place-items:center; padding:24px}
.gate-card{position:relative; z-index:1; width:100%; max-width:380px; text-align:center;
  background:linear-gradient(180deg,var(--card),var(--card-2)); border:2px solid var(--border); border-bottom-width:6px;
  border-radius:var(--r-lg); padding:34px 30px 28px; box-shadow:0 12px 0 var(--border), 0 26px 50px var(--shadow-d)}
.gate-logo{width:84px; height:84px; margin:0 auto 10px; border-radius:50%; display:grid; place-items:center;
  background:radial-gradient(circle at 38% 30%,#fff,var(--leaf-pale)); border:3px solid #fff; box-shadow:0 6px 16px var(--shadow)}
.gate-eyebrow{margin:0; font-family:var(--font-d); font-weight:600; font-size:.8rem; letter-spacing:.22em; text-transform:uppercase; color:var(--leaf-d)}
.gate-title{margin:2px 0 0; font-family:var(--font-d); font-weight:700; font-size:2rem; color:var(--forest); line-height:1}
.gate-sub{margin:6px 0 22px; font-size:.9rem; color:var(--ink-soft)}
.fld{display:block; text-align:left; margin-bottom:14px}
.fld span{display:block; font-family:var(--font-d); font-weight:600; font-size:.8rem; color:var(--ink-soft); margin:0 0 5px 4px}
.fld input{width:100%; font-family:var(--font-b); font-size:1rem; color:var(--ink); background:#fff;
  border:2px solid var(--border); border-radius:13px; padding:12px 14px; outline:none; transition:.15s}
.fld input:focus{border-color:var(--leaf); box-shadow:0 0 0 4px var(--leaf-pale)}
#gate-form .btn{width:100%; margin-top:4px}
.gate-err{margin:0 0 12px; padding:9px 12px; background:#fbe6e0; border:2px solid #f0bcae; border-radius:11px; color:var(--poppy-d); font-weight:700; font-size:.85rem}
.gate-note{margin:16px 0 0; font-size:.78rem; color:var(--ink-faint); line-height:1.5}

/* ════════════════════════════════ Panel-Shell ════════════════════════════════ */
.panel{position:relative; z-index:1; display:flex; min-height:100dvh}

/* Sidebar */
.sidebar{position:sticky; top:0; align-self:flex-start; width:var(--sidebar-w); flex-shrink:0; height:100dvh;
  display:flex; flex-direction:column; gap:8px; padding:22px 16px;
  background:linear-gradient(170deg,var(--forest),var(--forest-2)); border-right:3px solid var(--forest-d);
  box-shadow:4px 0 22px rgba(20,30,15,.22)}
.sb-brand{display:flex; align-items:center; gap:11px; padding:4px 6px 16px; border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:8px}
.sb-mark{width:46px; height:46px; border-radius:13px; display:grid; place-items:center; font-size:1.55rem;
  background:rgba(255,255,255,.12); border:2px solid rgba(255,255,255,.22)}
.sb-name{margin:0; font-family:var(--font-d); font-weight:700; font-size:1.25rem; color:#fff; line-height:1}
.sb-tag{margin:2px 0 0; font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--leaf-l)}
.sb-nav{display:flex; flex-direction:column; gap:6px; flex:1}
.sb-link{display:flex; align-items:center; gap:11px; width:100%; text-align:left; cursor:pointer;
  font-family:var(--font-d); font-weight:600; font-size:1rem; color:#dceacb;
  background:transparent; border:2px solid transparent; border-radius:14px; padding:11px 14px; transition:.14s}
.sb-link .sb-ic{font-size:1.2rem; line-height:1}
.sb-link:hover{background:rgba(255,255,255,.1); color:#fff}
.sb-link.active{background:var(--card); color:var(--forest); border-color:#fff; box-shadow:0 4px 12px rgba(20,30,15,.3)}
.sb-foot{display:flex; flex-direction:column; gap:10px; padding-top:12px; border-top:1px solid rgba(255,255,255,.12)}
.sb-user{display:flex; align-items:center; gap:9px; color:#eef4e4}
.sb-user-av{width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-size:1.1rem;
  background:rgba(255,255,255,.14); border:2px solid rgba(255,255,255,.24); flex-shrink:0}
.who{font-family:var(--font-m); font-size:.82rem; opacity:.92; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.sb-actions{display:flex; flex-direction:column; gap:7px}
.sb-actions .btn{width:100%}

/* Main */
.main{flex:1; min-width:0; padding:26px clamp(20px,3vw,40px) 60px}
.main .adm-view{max-width:1360px; margin:0 auto}
.view-head{margin:0 2px 20px}
.view-head h1{font-family:var(--font-d); font-weight:700; font-size:1.9rem; color:var(--forest); margin:0; line-height:1}
.view-sub{margin:5px 0 0; font-size:.92rem; color:var(--ink-soft); font-weight:600}

/* ── Cards ── */
.card{background:var(--card); border:2px solid var(--border); border-bottom-width:5px; border-radius:var(--r-lg);
  padding:20px 22px; margin-bottom:20px; box-shadow:0 6px 0 var(--border), 0 16px 28px var(--shadow);
  animation:rise .4s cubic-bezier(.2,.8,.3,1) both}
@keyframes rise{from{opacity:0; transform:translateY(12px)}to{opacity:1; transform:none}}
.card-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; flex-wrap:wrap}
.card-head h2{margin:0; font-family:var(--font-d); font-weight:600; font-size:1.15rem; color:var(--forest)}
.card-hint{font-size:.76rem; color:var(--ink-faint); font-weight:600}
.count-pill{font-family:var(--font-m); font-size:.8rem; background:var(--leaf-pale); color:var(--leaf-d);
  border:1.5px solid #cfe3ac; border-radius:999px; padding:1px 9px; margin-left:6px}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:0}
.grid-2 .card{margin-bottom:20px}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}}

/* ── Stat-Kacheln ── */
.stat-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; margin-bottom:20px}
.stat-tile{position:relative; overflow:hidden; background:var(--card); border:2px solid var(--border); border-bottom-width:5px;
  border-radius:var(--r-lg); padding:18px 20px; box-shadow:0 6px 0 var(--border), 0 16px 26px var(--shadow); animation:rise .45s cubic-bezier(.2,.8,.3,1) both}
.stat-tile .st-emoji{position:absolute; right:-8px; top:-12px; font-size:4rem; opacity:.12; transform:rotate(-12deg)}
.stat-tile .st-num{font-family:var(--font-m); font-weight:600; font-size:2.2rem; color:var(--forest); line-height:1}
.stat-tile .st-label{margin-top:6px; font-size:.78rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft)}
.stat-tile .st-sub{margin-top:3px; font-size:.76rem; color:var(--ink-faint); font-weight:600}
.stat-tile.accent-leaf{background:linear-gradient(165deg,var(--card),var(--leaf-pale))}
.stat-tile.accent-honey .st-num{color:var(--honey-d)}
.stat-tile.accent-corn .st-num{color:#4a6bbf}

/* ── horizontale Balken (Top-Arten, Level) ── */
.bars{display:flex; flex-direction:column; gap:9px}
.bar-row{display:grid; grid-template-columns:140px 1fr auto; align-items:center; gap:10px}
.bar-key{font-size:.84rem; font-weight:700; color:var(--ink-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.bar-key .be{margin-right:6px}
.bar-track{height:16px; background:var(--paper-2); border:1.5px solid var(--border); border-radius:999px; overflow:hidden}
.bar-fill{height:100%; border-radius:999px; background:linear-gradient(90deg,var(--leaf-l),var(--leaf)); min-width:3px; transition:width .6s cubic-bezier(.2,.8,.3,1)}
.bar-fill.insect{background:linear-gradient(90deg,#9db9ec,var(--corn))}
.bar-val{font-family:var(--font-m); font-size:.82rem; font-weight:600; color:var(--ink); min-width:30px; text-align:right}
.bars .empty{color:var(--ink-faint); font-size:.85rem; margin:4px 0}

/* ── 14-Tage-Säulendiagramm ── */
.daychart{display:flex; align-items:flex-end; gap:6px; height:140px; padding-top:6px}
.daycol{flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; justify-content:flex-end; cursor:default}
.daycol .dc-bar{width:100%; max-width:30px; min-height:4px; border-radius:7px 7px 3px 3px;
  background:linear-gradient(180deg,var(--leaf-l),var(--leaf)); transition:height .5s cubic-bezier(.2,.8,.3,1)}
.daycol.today .dc-bar{background:linear-gradient(180deg,#f7d27e,var(--honey))}
.daycol .dc-lbl{font-size:.64rem; color:var(--ink-faint); font-weight:700}
.daycol .dc-n{font-family:var(--font-m); font-size:.7rem; color:var(--ink-soft); font-weight:600}
.daycol:hover .dc-bar{filter:brightness(1.07)}

/* ── Aktivitätsfeed ── */
.activity-feed{display:flex; flex-direction:column; gap:8px; max-height:280px; overflow-y:auto}
.act-item{display:flex; align-items:center; gap:11px; padding:8px 11px; background:var(--card-2); border:2px solid var(--border); border-radius:13px}
.act-av{width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-size:1.05rem; flex-shrink:0;
  background:radial-gradient(circle at 38% 30%,#fff,var(--leaf-pale)); border:2px solid var(--border)}
.act-em{font-size:1.3rem; line-height:1; flex-shrink:0}
.act-text{flex:1; min-width:0; font-size:.88rem}
.act-text b{font-family:var(--font-d); font-weight:600; color:var(--ink)}
.act-text .act-sp{color:var(--leaf-d); font-weight:700}
.act-time{font-family:var(--font-m); font-size:.72rem; color:var(--ink-faint); white-space:nowrap; flex-shrink:0}

/* ── Mini-Stats + Split ── */
.mini-stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:12px; margin-bottom:18px}
.mini{background:var(--card-2); border:2px solid var(--border); border-radius:14px; padding:12px 14px}
.mini b{display:block; font-family:var(--font-m); font-weight:600; font-size:1.3rem; color:var(--forest)}
.mini span{font-size:.74rem; color:var(--ink-soft); font-weight:700}
.split-label{display:flex; justify-content:space-between; font-size:.84rem; font-weight:700; color:var(--ink-soft); margin-bottom:6px}
.split-label b{font-family:var(--font-m); color:var(--leaf-d)}
.split-bar{height:20px; border-radius:999px; overflow:hidden; display:flex; border:1.5px solid var(--border); background:var(--corn)}
.split-fill{height:100%; background:linear-gradient(90deg,var(--leaf-l),var(--leaf)); transition:width .6s cubic-bezier(.2,.8,.3,1)}

/* ── Tabellen ── */
.search{font-family:var(--font-b); font-size:.92rem; color:var(--ink); background:#fff; border:2px solid var(--border);
  border-radius:12px; padding:9px 13px; outline:none; min-width:280px; transition:.15s}
.search:focus{border-color:var(--leaf); box-shadow:0 0 0 4px var(--leaf-pale)}
.table-wrap{overflow-x:auto; margin:0 -4px}
.utable{width:100%; border-collapse:collapse; font-size:.9rem}
.utable th{font-family:var(--font-d); font-weight:600; font-size:.74rem; text-transform:uppercase; letter-spacing:.04em;
  color:var(--ink-soft); text-align:left; padding:9px 11px; border-bottom:2px solid var(--border); cursor:pointer; white-space:nowrap; user-select:none}
.utable th.num{text-align:right}
.utable th:hover{color:var(--leaf-d)}
.utable th.sorted::after{content:" ▾"; color:var(--leaf-d)}
.utable th.sorted.asc::after{content:" ▴"}
.utable td{padding:11px; border-bottom:1px solid var(--border); vertical-align:middle}
.utable td.num{text-align:right; font-family:var(--font-m); font-size:.85rem}
.utable tbody tr{cursor:pointer; transition:background .12s}
.utable tbody tr:hover{background:var(--leaf-pale)}
.u-cell{display:flex; align-items:center; gap:11px; min-width:0}
.u-av{width:36px; height:36px; border-radius:50%; display:grid; place-items:center; font-size:1.15rem; flex-shrink:0;
  background:radial-gradient(circle at 38% 30%,#fff,var(--leaf-pale)); border:2px solid var(--border)}
.u-name{font-family:var(--font-d); font-weight:600; color:var(--ink); line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.u-mail{font-size:.74rem; color:var(--ink-faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.lvl-chip{display:inline-grid; place-items:center; min-width:30px; padding:2px 8px; border-radius:9px; font-family:var(--font-m); font-weight:600;
  font-size:.8rem; background:var(--leaf-pale); color:var(--leaf-d); border:1.5px solid #cfe3ac}
.tick{color:var(--leaf-d); font-weight:800}
.tick.no{color:var(--ink-faint)}
.dim{color:var(--ink-faint)}
.empty{text-align:center; color:var(--ink-soft); font-weight:600; padding:18px 0}
.tap-hint{margin:-6px 0 12px; font-size:.78rem; color:var(--ink-faint); font-style:italic}

/* Filter-Pills (Arten-Reiter) */
.pill-filter{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px}
.pill{font-family:var(--font-d); font-weight:600; font-size:.84rem; cursor:pointer; color:var(--ink-soft);
  background:var(--card-2); border:2px solid var(--border); border-bottom-width:4px; border-radius:999px; padding:7px 15px;
  transition:transform .08s, border-bottom-width .08s, background .14s, color .14s, border-color .14s}
.pill:hover{background:var(--leaf-pale)}
.pill:active{transform:translateY(2px); border-bottom-width:2px}
.pill.active{background:linear-gradient(var(--leaf-l),var(--leaf)); border-color:var(--leaf-d); color:#fff; text-shadow:0 1px 1px rgba(40,60,20,.35)}

/* Katalog-Tabelle */
.ctable .c-em{width:36px; height:36px; border-radius:11px; display:grid; place-items:center; font-size:1.25rem; flex-shrink:0;
  background:radial-gradient(circle at 38% 30%,#fff,var(--leaf-pale)); border:2px solid var(--c,#cfe3ac)}
.cat-badge{display:inline-block; font-family:var(--font-d); font-weight:600; font-size:.74rem; padding:2px 9px; border-radius:999px;
  background:var(--leaf-pale); color:var(--leaf-d); border:1.5px solid #cfe3ac; white-space:nowrap}
.cat-badge.insect{background:#e6edfb; color:#4a6bbf; border-color:#c6d6f3}
.utable tr.undisc{opacity:.5}
.utable tr.undisc .c-em{filter:grayscale(.7)}
.utable tr.undisc:hover{opacity:.85}
.habs{font-size:.78rem; color:var(--ink-soft); max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gems{display:inline-flex; gap:2px}
.gem{width:7px; height:7px; border-radius:2px; transform:rotate(45deg); background:#d9d2bb; display:inline-block}

/* ── Quests ── */
.quest-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(460px,1fr)); gap:20px; align-items:start}
@media(max-width:1000px){.quest-grid{grid-template-columns:1fr}}
.qset{margin-bottom:0}
.qset.active{border-color:var(--leaf); box-shadow:0 6px 0 #cfe3ac, 0 16px 28px var(--shadow)}
.live-pill{font-family:var(--font-d); font-weight:700; font-size:.66rem; letter-spacing:.06em; text-transform:uppercase;
  background:var(--leaf); color:#fff; padding:2px 8px; border-radius:999px; margin-left:9px; vertical-align:middle}
.q-list{display:flex; flex-direction:column; gap:7px}
.q-row{display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:11px; cursor:pointer;
  background:var(--card-2); border:2px solid var(--border); border-radius:13px; padding:8px 13px; transition:background .12s, transform .08s, border-color .12s}
.q-row:hover{background:var(--leaf-pale); border-color:#cfe3ac}
.q-row:active{transform:translateY(1px)}
.q-ico{width:36px; height:36px; border-radius:10px; display:grid; place-items:center; font-size:1.25rem;
  background:radial-gradient(circle at 38% 30%,#fff,var(--leaf-pale)); border:2px solid var(--border)}
.q-name{font-family:var(--font-d); font-weight:600; font-size:.92rem; color:var(--ink); min-width:0}
.q-target{font-family:var(--font-b); font-weight:700; font-size:.72rem; color:var(--ink-faint); margin-left:4px; white-space:nowrap}
.q-stat{text-align:right; white-space:nowrap}
.q-stat b{display:block; font-family:var(--font-m); font-weight:600; font-size:.9rem; color:var(--leaf-d)}
.q-stat span{font-size:.72rem; color:var(--ink-faint); font-weight:600}

/* ════════════════════════════════ Drawer (Drill-down) ════════════════════════════════ */
.drawer-wrap{position:fixed; inset:0; z-index:40; display:flex; justify-content:flex-end}
.drawer-backdrop{position:absolute; inset:0; background:rgba(40,50,25,.45); backdrop-filter:blur(3px); animation:fade .2s}
.drawer{position:relative; width:min(540px,100%); height:100%; overflow-y:auto; background:var(--paper);
  border-left:3px solid var(--border-d); box-shadow:-16px 0 40px var(--shadow-d); animation:slideIn .26s cubic-bezier(.2,.8,.3,1)}
@keyframes slideIn{from{transform:translateX(40px); opacity:.4}to{transform:none; opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.drawer-bar{position:sticky; top:0; z-index:4; display:flex; align-items:center; justify-content:space-between;
  padding:12px 14px; background:rgba(244,236,216,.86); backdrop-filter:blur(6px)}
.dr-back{font-family:var(--font-d); font-weight:600; font-size:.85rem; cursor:pointer; color:var(--leaf-d);
  background:#fff; border:2px solid var(--border-d); border-bottom-width:4px; border-radius:11px; padding:6px 12px}
.dr-back:active{transform:translateY(2px); border-bottom-width:2px}
.drawer .x{width:38px; height:38px; border-radius:11px; border:2px solid var(--border-d); border-bottom-width:4px;
  background:#fff; font-size:1rem; cursor:pointer; color:var(--ink-soft)}
.drawer .x:active{transform:translateY(2px); border-bottom-width:2px}
.dr-hero{padding:8px 24px 22px; margin-top:-4px}
.dr-hero.forest{background:linear-gradient(160deg,var(--forest),var(--forest-2)); color:#fff; padding-top:24px}
.dr-av{width:74px; height:74px; border-radius:50%; display:grid; place-items:center; font-size:2.5rem; margin-bottom:10px;
  background:radial-gradient(circle at 38% 30%,#fff,var(--leaf-pale)); border:3px solid rgba(255,255,255,.5)}
.dr-av.tile{border-radius:18px}
.dr-name{margin:0; font-family:var(--font-d); font-weight:700; font-size:1.5rem; line-height:1.1}
.dr-sci{margin:3px 0 0; font-family:var(--font-m); font-size:.8rem; opacity:.9; font-style:italic; word-break:break-all}
.dr-mail{margin:3px 0 0; font-family:var(--font-m); font-size:.82rem; color:var(--leaf-l); word-break:break-all}
.dr-badges{display:flex; flex-wrap:wrap; gap:7px; margin-top:12px}
.dr-badge{font-family:var(--font-d); font-weight:600; font-size:.78rem; background:rgba(255,255,255,.16); border:1.5px solid rgba(255,255,255,.28); padding:3px 10px; border-radius:999px}
.dr-hero:not(.forest) .dr-badge{background:var(--leaf-pale); border-color:#cfe3ac; color:var(--leaf-d)}
.dr-section{padding:18px 24px 0}
.dr-section h3{font-family:var(--font-d); font-weight:600; font-size:.95rem; color:var(--forest); margin:0 0 11px; display:flex; align-items:center; gap:7px}
.dr-section h3 .muted{font-size:.78rem; color:var(--ink-faint); font-weight:600}
.dr-meta{display:grid; grid-template-columns:1fr 1fr; gap:9px}
.dr-meta .m{background:var(--card); border:2px solid var(--border); border-radius:13px; padding:9px 12px}
.dr-meta .m b{display:block; font-family:var(--font-m); font-weight:600; font-size:1rem; color:var(--ink)}
.dr-meta .m span{font-size:.72rem; color:var(--ink-soft); font-weight:700}

/* Drill-down Nutzer-Zeilen (querverlinkt) + Art-Zeilen */
.dd-row{display:flex; align-items:center; gap:11px; background:var(--card); border:2px solid var(--border); border-radius:13px; padding:8px 12px; margin-bottom:7px; cursor:pointer; transition:background .12s, border-color .12s}
.dd-row:hover{background:var(--leaf-pale); border-color:#cfe3ac}
.dd-av{width:36px; height:36px; border-radius:50%; display:grid; place-items:center; font-size:1.1rem; flex-shrink:0;
  background:radial-gradient(circle at 38% 30%,#fff,var(--leaf-pale)); border:2px solid var(--border)}
.dd-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px}
.dd-name{display:block; font-family:var(--font-d); font-weight:600; font-size:.92rem; color:var(--ink); line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.dd-sub{display:block; font-size:.74rem; color:var(--ink-faint); font-weight:600; line-height:1.15}
.dd-val{font-family:var(--font-m); font-weight:600; font-size:.84rem; color:var(--leaf-d); background:var(--leaf-pale); border-radius:9px; padding:2px 9px; white-space:nowrap}
.dd-prog{flex:0 0 96px; display:flex; flex-direction:column; gap:4px}
.dd-prog .pb{display:block; width:100%; height:9px; background:var(--paper-2); border:1px solid var(--border); border-radius:999px; overflow:hidden}
.dd-prog .pf{display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--leaf-l),var(--leaf))}
.dd-prog small{display:block; text-align:right; font-family:var(--font-m); font-size:.72rem; color:var(--ink-soft); font-weight:600; line-height:1}
.sp-list{display:flex; flex-direction:column; gap:7px}
.sp-cat-label{font-family:var(--font-d); font-weight:600; font-size:.82rem; color:var(--ink-soft); margin:6px 0 2px}
.sp-item{display:flex; align-items:center; gap:10px; background:var(--card); border:2px solid var(--border); border-radius:12px; padding:8px 12px; cursor:default}
.sp-item.link{cursor:pointer; transition:background .12s, border-color .12s}
.sp-item.link:hover{background:var(--leaf-pale); border-color:#cfe3ac}
.sp-em{font-size:1.2rem; line-height:1}
.sp-info{flex:1; min-width:0}
.sp-nm{font-family:var(--font-d); font-weight:600; font-size:.9rem; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.sp-sci{font-size:.72rem; color:var(--ink-faint); font-style:italic; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.sp-count{font-family:var(--font-m); font-weight:600; font-size:.85rem; color:var(--leaf-d); background:var(--leaf-pale); border-radius:9px; padding:2px 9px}
.ach-grid{display:flex; flex-wrap:wrap; gap:7px}
.ach-pill{display:flex; align-items:center; gap:6px; background:linear-gradient(var(--card),var(--leaf-pale)); border:2px solid #cfe3ac;
  border-radius:12px; padding:5px 10px; font-family:var(--font-d); font-weight:600; font-size:.78rem; color:var(--ink)}
.hab-chips{display:flex; flex-wrap:wrap; gap:6px}
.hab-chip{font-size:.76rem; font-weight:700; color:var(--ink-soft); background:var(--card-2); border:1.5px solid var(--border); border-radius:999px; padding:2px 10px}
.dr-actions{padding:20px 24px 30px}
.dr-actions .row{display:flex; gap:9px; flex-wrap:wrap}
.dr-actions .btn{flex:1}
.danger-zone{margin-top:18px; padding:14px; border:2px dashed var(--poppy); border-radius:14px; background:#fdf1ee}
.danger-zone p{margin:0 0 10px; font-size:.82rem; color:var(--poppy-d); font-weight:700}

/* ── Toast ── */
.toast{position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(20px); z-index:90;
  background:var(--forest); color:#fff; font-family:var(--font-d); font-weight:600; font-size:.92rem;
  padding:11px 20px; border-radius:14px; box-shadow:0 10px 28px var(--shadow-d); opacity:0; transition:opacity .3s, transform .3s; pointer-events:none}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0)}
