196,85,.06); border-color:rgba(40,196,85,.3); }
.immo-owned       { background:rgba(40,196,85,.04); }
.immo-locked      { opacity:.4; }
.immo-head        { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.immo-ico         { font-size:20px; flex-shrink:0; }
.immo-action      { display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
.immo-sqm         { font-size:9px; color:var(--t1); font-family:var(--fm); }

/* ══════════════════════════════════════════════════════════════
   AUSGABE / PROTOKOLL
   ══════════════════════════════════════════════════════════════ */
.prot-stats       { display:grid; grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); gap:8px; margin-bottom:10px; }
.prot-stat-block  { background:var(--raised); border:1px solid var(--b0); border-radius:var(--rs);
                    padding:8px 10px; text-align:center; }
.prot-stat-val    { font-family:var(--fu); font-size:16px; font-weight:700; color:var(--t3); }
.prot-stat-lbl    { font-size:8.5px; color:var(--t1); font-family:var(--fm); letter-spacing:.8px; text-transform:uppercase; margin-top:2px; }
.prot-stat-sub    { font-size:9px; color:var(--t1); }
.prot-chart-wrap  { position:relative; margin:8px 0; }
.prot-chart       { width:100%; }
.prot-chart-lbl   { font-size:9px; color:var(--t1); font-family:var(--fm); }
.prot-bar         { height:6px; background:var(--bg2); border-radius:3px; overflow:hidden; margin:4px 0; }
.prot-bar-lbl     { display:flex; justify-content:space-between; font-size:9px; color:var(--t1); }
.prot-bar-col     { height:100%; border-radius:3px; transition:width .4s; }
.prot-bar-val     { font-size:9px; color:var(--t1); text-align:right; margin-top:1px; }
.prot-limit-bar   { height:8px; background:var(--bg2); border-radius:4px; overflow:hidden; margin:6px 0; }
.prot-limit-lbl   { font-size:9px; color:var(--t1); font-family:var(--fm); }
.prot-table       { font-size:10px; width:100%; border-collapse:collapse; }
.prot-table th    { font-size:8.5px; color:var(--t1); font-family:var(--fm); padding:3px 6px; text-align:left; border-bottom:1px solid var(--b0); }
.prot-table td    { padding:4px 6px; color:var(--t2); border-bottom:1px solid rgba(255,255,255,.04); }

/* ══════════════════════════════════════════════════════════════
   VERSICHERUNGEN
   ══════════════════════════════════════════════════════════════ */
.vers-card      { background:var(--raised); border:1px solid var(--b0); border-radius:var(--r);
                  padding:12px 14px; margin-bottom:8px; }
.vers-warn      { font-size:10px; color:var(--am); background:rgba(255,170,0,.08);
                  border:1px solid rgba(255,170,0,.2); border-radius:var(--rs);
                  padding:8px 10px; margin-bottom:10px; }
.vers-locked-grid { opacity:.4; }

/* ══════════════════════════════════════════════════════════════
   DIALOG SYSTEM (Events, Razzien etc.)
   ══════════════════════════════════════════════════════════════ */
.dlg-overlay    { position:fixed; inset:0; z-index:600; background:rgba(0,0,0,.85);
                  display:flex; align-items:center; justify-content:center; padding:16px; }
.dlg-box        { max-width:500px; width:100%; background:var(--surf); border:1px solid var(--b1);
                  border-radius:var(--r); overflow:hidden; }
.dlg-scene      { height:100px; background:var(--bg2); position:relative; overflow:hidden; }
.dlg-title      { font-family:var(--fu); font-size:18px; font-weight:800; color:var(--t3);
                  padding:14px 16px 4px; }
.dlg-npc        { display:flex; align-items:center; gap:8px; padding:8px 16px; border-bottom:1px solid var(--b0); }
.dlg-portrait-wrap { width:36px; height:36px; border-radius:50%; background:var(--raised);
                     display:flex; align-items:center; justify-content:center; font-size:18px; }
.dlg-npc-name   { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.dlg-npc-role   { font-size:9px; color:var(--t1); font-family:var(--fm); }
.dlg-content    { padding:12px 16px; }
.dlg-lines      { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.dlg-line       { font-size:12px; color:var(--t2); line-height:1.5; }
.dlg-mood-ico   { font-size:18px; flex-shrink:0; }
.dlg-choices    { display:flex; flex-direction:column; gap:6px; padding:10px 16px 14px; }

/* Events */
.ev-title       { font-family:var(--fu); font-size:16px; font-weight:700; color:var(--t3); margin-bottom:6px; }
.ev-text        { font-size:12px; color:var(--t2); line-height:1.55; margin-bottom:12px; }
.ev-cat-badge   { font-size:9px; font-family:var(--fm); padding:2px 6px; border-radius:4px;
                  background:var(--gd); color:var(--gh); margin-bottom:8px; display:inline-block; }
.ev-big-icon    { font-size:36px; text-align:center; margin-bottom:8px; }
.ev-opts        { display:flex; flex-direction:column; gap:6px; }
.ev-opt         { display:flex; align-items:flex-start; gap:8px; padding:10px 12px;
                  background:var(--raised); border:1px solid var(--b1); border-radius:var(--r);
                  cursor:pointer; transition:all .15s; }
.ev-opt:hover   { border-color:var(--b2); background:var(--gd); }
.ev-opt-letter  { font-family:var(--fm); font-size:11px; font-weight:700; color:var(--gh);
                  width:18px; flex-shrink:0; }
.ev-opt-body    { flex:1; }
.ev-opt-t       { font-size:12px; color:var(--t3); font-weight:600; }
.ev-opt-c       { font-size:10px; color:var(--cy); margin-top:3px; }

/* Razzia */
.razzia-alarm    { background:rgba(255,40,40,.08); border:1px solid rgba(255,40,40,.25);
                   border-radius:var(--r); padding:16px; text-align:center; margin-bottom:12px; }
.razzia-titel    { font-family:var(--fu); font-size:18px; font-weight:800; color:var(--re); }
.razzia-ico      { font-size:32px; margin-bottom:6px; }
.razzia-phase-text { font-size:11px; color:var(--t2); line-height:1.5; }
.razzia-szen     { font-family:var(--fm); font-size:9px; color:var(--t1); margin-top:4px; }
.razzia-cat      { font-size:9px; color:var(--am); font-family:var(--fm); }
.razzia-progress { height:6px; background:var(--bg2); border-radius:3px; overflow:hidden; margin:6px 0; }
.razzia-prog-bar { height:100%; border-radius:3px; background:var(--re); transition:width .5s; }
.razzia-comp-hint{ font-size:9px; color:var(--t1); text-align:center; margin-top:4px; }
.razzia-opts     { display:flex; flex-direction:column; gap:6px; }
.razzia-opt      { display:flex; align-items:flex-start; gap:8px; padding:10px 12px;
                   background:var(--raised); border:1px solid var(--b1); border-radius:var(--r);
                   cursor:pointer; transition:all .15s; }
.razzia-opt-letter { font-family:var(--fm); font-size:11px; font-weight:700; width:18px; flex-shrink:0; }
.razzia-opt-body { flex:1; }
.razzia-opt-t    { font-size:12px; color:var(--t3); font-weight:600; }
.razzia-opt-c    { font-size:10px; color:var(--cy); margin-top:3px; }
.razzia-opt-arrow{ font-size:14px; color:var(--t1); flex-shrink:0; }
.razzia-footer   { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; padding-top:10px; }

/* ══════════════════════════════════════════════════════════════
   MISC — Locked hints, warn bars, chips
   ══════════════════════════════════════════════════════════════ */
.locked-hint  { text-align:center; padding:20px 16px; color:var(--t1); font-size:11px;
                background:rgba(0,0,0,.2); border-radius:var(--rs); margin:8px 0; }
.warn-bar     { background:rgba(255,170,0,.1); border:1px solid rgba(255,170,0,.25); border-radius:var(--rs);
                padding:7px 10px; font-size:10px; color:var(--am); margin-bottom:8px;
                display:flex; align-items:center; gap:6px; }
.empty-hint   { text-align:center; padding:16px; color:var(--t1); font-size:11px; font-style:italic; }
.confirm-bar  { background:rgba(40,196,85,.1); border:1px solid rgba(40,196,85,.25); border-radius:var(--rs);
                padding:8px 12px; font-size:11px; color:var(--gh); margin-bottom:8px;
                display:flex; align-items:center; gap:8px; }
.badge-chip   { display:inline-flex; align-items:center; gap:4px; padding:3px 8px;
                border-radius:10px; font-size:9px; font-family:var(--fm); background:var(--gd);
                color:var(--gh); border:1px solid rgba(40,196,85,.2); }
.badge-cloud  { display:flex; flex-wrap:wrap; gap:4px; }
.chip.g       { background:rgba(40,196,85,.12); color:var(--gh); border:1px solid rgba(40,196,85,.25);
                font-size:9px; padding:2px 7px; border-radius:10px; font-family:var(--fm); }

/* Fee */
.fee-row      { display:flex; align-items:center; gap:10px; }
.fee-center   { flex:1; text-align:center; }
.fee-val      { font-family:var(--fu); font-size:24px; font-weight:800; color:var(--go); }
.fee-btn      { min-width:44px; font-size:18px; font-weight:700; }

/* Staff panel */
.staff-grid   { display:flex; flex-direction:column; gap:8px; }
.staff-ico    { font-size:18px; flex-shrink:0; }
.staff-name   { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); flex:1; }
.staff-hired  { color:var(--gh); font-size:10px; font-family:var(--fm); }
.staff-upkeep { font-size:10px; color:var(--am); }
.staff-effect { font-size:10px; color:var(--cy); margin:3px 0; }

/* Rooms nav */
.room-nav-grid { display:flex; flex-direction:column; gap:6px; }
.room-nav-card { display:flex; align-items:center; gap:10px; padding:10px 12px;
                 background:var(--raised); border:1px solid var(--b1); border-radius:var(--r);
                 cursor:pointer; transition:all .15s; }
.room-nav-card:hover { border-color:var(--b2); background:var(--gd); transform:translateY(-1px); }
.room-nav-card.locked { opacity:.4; cursor:default; }
.rnc-ico      { font-size:22px; flex-shrink:0; }
.rnc-body     { flex:1; }
.rnc-name     { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); }
.rnc-desc     { font-size:10px; color:var(--t2); margin-top:2px; }
.rnc-arr      { font-size:16px; color:var(--t1); }

/* Break-even */
.be-table     { width:100%; font-size:11px; }
.be-block     { padding:8px 0; border-bottom:1px solid var(--b0); }
.be-block:last-child { border:none; }
.be-lbl       { font-size:10px; color:var(--t2); }
.be-val       { font-family:var(--fu); font-size:15px; font-weight:700; color:var(--t3); }
.be-summary   { background:var(--raised); border-radius:var(--rs); padding:8px 12px; margin:8px 0; }
.be-total     { font-family:var(--fu); font-size:18px; font-weight:800; }
.be-tip       { font-size:9px; color:var(--t1); margin-top:4px; }
.be-bar-wrap  { height:6px; background:var(--bg2); border-radius:3px; overflow:hidden; margin:4px 0; }
.be-bar-lbl   { display:flex; justify-content:space-between; font-size:9px; color:var(--t1); }
.be-thead     { font-size:8.5px; color:var(--t1); font-family:var(--fm); padding-bottom:4px; border-bottom:1px solid var(--b0); }

/* ══════════════════════════════════════════════════════════════
   HERBARIUM
   ══════════════════════════════════════════════════════════════ */
.vit-emoji    { font-size:24px; }
.vit-name     { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); margin-top:4px; }
.vit-type     { font-size:9px; color:var(--t1); font-family:var(--fm); }
.vit-thc      { font-size:11px; color:var(--gh); font-weight:600; }
.vit-light    { font-size:9px; color:var(--am); }
.mix-row      { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--b0); }
.mix-sel      { font-size:12px; font-weight:600; color:var(--t3); }
.mix-select   { font-size:11px; color:var(--t2); }
.mix-result   { background:rgba(40,196,85,.06); border:1px solid rgba(40,196,85,.15);
                border-radius:var(--rs); padding:10px; margin-top:8px; }
.mix-cross    { text-align:center; font-size:20px; color:var(--t1); }

/* Kalkulator */
.kalk-grid    { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:10px; }
.kalk-block   { background:var(--raised); border:1px solid var(--b0); border-radius:var(--rs); padding:8px 10px; }
.kalk-lbl     { font-size:9px; color:var(--t1); font-family:var(--fm); text-transform:uppercase; letter-spacing:.8px; }
.kalk-val     { font-family:var(--fu); font-size:16px; font-weight:700; color:var(--t3); margin-top:2px; }
.kalk-sub     { font-size:9px; color:var(--t1); }
.kalk-warn    { color:var(--am); }
.kalk-strategy { margin-top:8px; }
.kalk-strat-lbl { font-size:10px; color:var(--t2); margin-bottom:4px; }
.kalk-strat-target { font-size:12px; font-weight:600; color:var(--gh); }
.kalk-zyklen  { margin-top:8px; }
.kalk-zyk-row { display:flex; align-items:center; justify-content:space-between;
                padding:4px 0; border-bottom:1px solid var(--b0); font-size:10px; color:var(--t2); }

/* ══════════════════════════════════════════════════════════════
   MOBILE: Schlüssel-Anpassungen
   ══════════════════════════════════════════════════════════════ */
@media (max-width:480px) {
  .stat-summary-grid { grid-template-columns:repeat(2,1fr); }
  .stat-2col         { grid-template-columns:1fr; }
  .md-kpi-grid       { grid-template-columns:repeat(2,1fr); }
  .kalk-grid         { grid-template-columns:1fr; }
  .ein-grid          { grid-template-columns:repeat(2,1fr); }
  .shop-grid         { grid-template-columns:repeat(2,1fr); }
  .furn-grid         { grid-template-columns:repeat(2,1fr); }
  .org-amt-body      { grid-template-columns:1fr 1fr; }
  .path-items        { flex-direction:column; }
  .path-arr          { transform:rotate(90deg); align-self:center; }
  .dlg-box           { margin:0; border-radius:var(--r) var(--r) 0 0; }
}

/* ══ Batch / Grow Slots ══════════════════════════════════════ */
.batch-list     { display:flex; flex-direction:column; gap:8px; }
.batch-head     { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.batch-strain   { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); flex:1; }
.batch-body     { font-size:10px; color:var(--t2); }
.batch-bar      { height:5px; background:var(--bg2); border-radius:2px; overflow:hidden; margin:4px 0; }
.batch-pct      { font-size:10px; color:var(--gh); font-weight:600; }
.batch-stats    { display:flex; gap:10px; flex-wrap:wrap; font-size:10px; color:var(--t2); margin:4px 0; }
.batch-harvest-g{ color:var(--gh); font-weight:700; }
.batch-footer   { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.batch-visual   { font-size:28px; }

/* ══ Kalender ════════════════════════════════════════════════ */
.kal-list       { display:flex; flex-direction:column; gap:6px; }
.kal-date       { font-size:9px; color:var(--t1); font-family:var(--fm); letter-spacing:.8px; }
.kal-name       { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.kal-reward     { font-size:9px; color:var(--gh); font-family:var(--fm); margin-top:3px; }
.kal-right      { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }

/* ══ Level ═══════════════════════════════════════════════════ */
.lv-grid        { display:flex; flex-direction:column; gap:8px; }
.lv-head        { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.lv-ico         { font-size:22px; flex-shrink:0; }
.lv-num         { font-family:var(--fu); font-size:20px; font-weight:800; color:var(--go); }
.lv-name        { font-family:var(--fu); font-size:14px; font-weight:700; color:var(--t3); }
.lv-desc        { font-size:10px; color:var(--t2); line-height:1.4; }
.lv-unlocks     { font-size:10px; color:var(--cy); margin-top:4px; }
.lv-check       { color:var(--gh); font-size:12px; }

/* ══ Tutorial / Ziele (tut-*) ═══════════════════════════════ */
.tut-header     { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.tut-overall    { font-family:var(--fu); font-size:20px; font-weight:800; color:var(--t3); }
.tut-overall-lbl{ font-size:9px; color:var(--t1); margin-top:2px; }
.tut-progress-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:6px; margin-bottom:10px; }
.tut-prog-item  { background:var(--raised); border:1px solid var(--b0); border-radius:var(--rs); padding:6px 8px; }
.tut-prog-lbl   { font-size:8.5px; color:var(--t1); font-family:var(--fm); text-transform:uppercase; letter-spacing:.8px; }
.tut-prog-val   { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); margin-top:2px; }
.tut-phase-num  { font-family:var(--fm); font-size:9px; color:var(--gh); font-weight:700; }
.tut-phase-name { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); flex:1; }
.tut-phase-icon { font-size:18px; }
.tut-phase-info { font-size:9px; color:var(--t1); }
.tut-phase-period{ font-size:9px; color:var(--t1); font-family:var(--fm); }
.tut-tasks      { display:flex; flex-direction:column; gap:4px; margin:6px 0; }
.tut-task-text  { font-size:11px; color:var(--t2); flex:1; }
.tut-task-check { font-size:12px; flex-shrink:0; }
.tut-desc       { font-size:10px; color:var(--t2); line-height:1.4; margin-bottom:8px; }
.tut-ready      { color:var(--gh); font-size:11px; font-weight:600; }
.tut-reward     { font-size:10px; color:var(--go); }
.tut-motivation { font-size:11px; color:var(--cy); font-style:italic; padding:6px 0; border-top:1px solid var(--b0); }
.tut-gate-fail  { color:var(--re); font-size:10px; margin-top:4px; }
.tut-all-phases { opacity:.5; }

/* ══ Phase Progress ══════════════════════════════════════════ */
.phase-tasks    { display:flex; flex-direction:column; gap:4px; margin:6px 0; }
.phase-task     { display:flex; align-items:flex-start; gap:6px; font-size:11px; color:var(--t2); padding:3px 0; }
.phase-period   { font-size:9px; color:var(--t1); font-family:var(--fm); }
.phase-reward   { font-size:10px; color:var(--go); }
.phase-checks   { display:flex; flex-direction:column; gap:3px; }
.phase-e-head   { display:flex; align-items:center; gap:6px; margin-bottom:3px; }

/* ── Phasen Grid (neue kompakte Darstellung) ───────────────── */
.phases-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
}
@media (max-width:560px) { .phases-grid { grid-template-columns:1fr; } }

.ph-card {
  padding:10px 12px; border-radius:10px;
  border:1px solid transparent; transition:border-color .15s;
}
.ph-card.ph-active { border-width:1.5px !important; }
.ph-card.ph-done   { opacity:.88; }
.ph-card.ph-future { opacity:.5; }
.ph-card-top  { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.ph-num-badge {
  width:26px; height:26px; border-radius:50%; border:1.5px solid;
  flex-shrink:0; display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700;
}
.ph-name     { font-family:var(--fu); font-size:11px; font-weight:700; line-height:1.3; }
.ph-period   { font-size:9px; color:var(--t2); margin-top:1px; }
.ph-pct      { font-size:11px; font-weight:800; font-family:var(--fm); flex-shrink:0; }
.ph-progbar-wrap { height:3px; background:rgba(45,185,85,.08); border-radius:2px; margin-bottom:7px; overflow:hidden; }
.ph-progbar-fill { height:100%; border-radius:2px; transition:width .4s ease; opacity:.75; }
.ph-desc  { font-size:9px; color:var(--t2); line-height:1.5; margin-bottom:5px; }
.ph-reqs  { font-size:9px; color:var(--t2); margin-bottom:4px; }
.ph-req.ok { color:#6acc7a; }
.ph-req em { color:var(--re); font-style:normal; font-size:8px; }
.ph-tasks { display:flex; flex-direction:column; gap:2px; margin-top:4px; }
.ph-task  { font-size:9px; color:var(--t2); }
.ph-reward{ font-size:9px; color:var(--go); margin-top:4px; }
.phase-e-name   { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.phase-e-desc   { font-size:10px; color:var(--t2); }
.phase-prog-wrap{ margin:4px 0; }
.milestone-list { display:flex; flex-direction:column; gap:4px; }

/* ══ Cashflow row ═════════════════════════════════════════════ */
.cf-lbl         { font-size:10px; color:var(--t2); }
.cf-val         { font-size:11px; font-weight:700; font-family:var(--fm); }
.fin-breakdown  { display:flex; flex-direction:column; gap:4px; }
.fin-row        { display:flex; align-items:center; justify-content:space-between; padding:4px 0;
                  border-bottom:1px solid rgba(255,255,255,.04); font-size:11px; }
.fin-row:last-child { border:none; }
.fin-ico        { font-size:14px; flex-shrink:0; margin-right:4px; }
.fin-lbl        { flex:1; color:var(--t2); }
.fin-header     { font-family:var(--fu); font-size:16px; font-weight:700; margin-bottom:8px; }

/* ══ Stadtplan ════════════════════════════════════════════════ */
.stadtplan-svg  { width:100%; height:auto; display:block; border-radius:var(--rs); }
.sp-map-wrap    { position:relative; border-radius:var(--rs); overflow:hidden; margin-bottom:10px; }
.sp-legend      { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.sp-leg-item    { display:flex; align-items:center; gap:4px; font-size:9px; color:var(--t2); font-family:var(--fm); }
.sp-comp-list   { display:flex; flex-direction:column; gap:6px; }
.sp-comp-card   { background:var(--raised); border:1px solid var(--b0); border-radius:var(--rs); padding:8px 10px; }
.sp-cc-name     { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.sp-cc-body     { font-size:10px; color:var(--t2); margin-top:2px; }
.sp-cc-dot      { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.sp-cc-info     { display:flex; align-items:center; gap:6px; }
.sp-cc-rel      { font-size:9px; color:var(--t1); font-family:var(--fm); }
.map-region     { cursor:pointer; transition:opacity .15s; }
.map-region:hover { opacity:.75; }
.map-rlabel     { font-size:10px; font-family:var(--fm); fill:var(--t2); pointer-events:none; }

/* ══ Herb room ════════════════════════════════════════════════ */
.herb-room      { border-radius:var(--rs); overflow:hidden; margin-bottom:8px; }
.herb-room-svg  { width:100%; height:auto; display:block; }

/* ══ Achievements ════════════════════════════════════════════ */
.ach-grid       { display:grid; grid-template-columns:repeat(auto-fill,minmax(90px,1fr)); gap:8px; }
.ach-ico        { font-size:24px; text-align:center; margin-bottom:4px; }
.ach-name       { font-size:9px; text-align:center; color:var(--t2); }

/* ══ Ehrenmitglieder ═════════════════════════════════════════ */
.em-grid        { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; }
.em-body        { padding:10px; background:var(--raised); border:1px solid var(--b0); border-radius:var(--r); text-align:center; }
.em-name        { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.em-beruf       { font-size:9px; color:var(--t1); font-family:var(--fm); }
.em-desc        { font-size:10px; color:var(--t2); margin:4px 0; line-height:1.3; }
.em-bonus       { font-size:10px; color:var(--cy); }
.em-joined      { border-color:rgba(40,196,85,.4); }
.em-locked      { opacity:.45; }

/* ══ Reputation Events ═══════════════════════════════════════ */
.re-title       { font-family:var(--fu); font-size:14px; font-weight:700; color:var(--t3); margin-bottom:4px; }
.re-icon        { font-size:28px; text-align:center; margin-bottom:6px; }
.re-stats       { display:flex; gap:10px; flex-wrap:wrap; margin:6px 0; }
.re-stat-val    { font-family:var(--fu); font-size:15px; font-weight:700; }
.re-stat-lbl    { font-size:8.5px; color:var(--t1); font-family:var(--fm); margin-top:1px; }
.re-advice      { font-size:10px; color:var(--cy); font-style:italic; }
.re-closure     { font-size:10px; color:var(--am); margin-top:4px; }

/* ══ Interview ═══════════════════════════════════════════════ */
.int-header     { margin-bottom:12px; }
.int-titel      { font-family:var(--fu); font-size:15px; font-weight:700; color:var(--t3); }
.int-medium     { font-size:9px; color:var(--t1); font-family:var(--fm); margin-top:2px; }
.int-ico        { font-size:24px; }
.int-context    { font-size:11px; color:var(--t2); line-height:1.5; margin-bottom:10px;
                  padding:8px 10px; background:var(--raised); border-radius:var(--rs); }
.int-frage      { font-size:12px; font-weight:600; color:var(--t3); margin-bottom:8px; }
.int-hint       { font-size:9px; color:var(--t1); font-style:italic; margin-bottom:8px; }
.int-opts       { display:flex; flex-direction:column; gap:6px; }
.int-opt        { display:flex; align-items:flex-start; gap:8px; padding:10px 12px;
                  background:var(--raised); border:1px solid var(--b1); border-radius:var(--r);
                  cursor:pointer; transition:all .15s; }
.int-opt:hover  { border-color:var(--b2); }
.int-opt-letter { font-family:var(--fm); font-size:11px; font-weight:700; color:var(--gh); width:18px; flex-shrink:0; }
.int-opt-body   { flex:1; }
.int-opt-t      { font-size:12px; color:var(--t3); font-weight:600; }
.int-opt-fx     { font-size:10px; color:var(--cy); margin-top:3px; }
.int-progress   { height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; margin-bottom:10px; }
.ie-headline    { font-family:var(--fu); font-size:16px; font-weight:700; color:var(--t3); margin-bottom:4px; }
.ie-medium      { font-size:9px; color:var(--t1); font-family:var(--fm); }
.ie-icon        { font-size:24px; }
.ie-stats       { display:flex; gap:10px; flex-wrap:wrap; margin:8px 0; }
.ie-stat-val    { font-family:var(--fu); font-size:15px; font-weight:700; }
.ie-stat-lbl    { font-size:8.5px; color:var(--t1); font-family:var(--fm); }
.ie-advice      { font-size:10px; color:var(--cy); }

/* ══ Hansi Witz ══════════════════════════════════════════════ */
.hansi-bar      { display:flex; align-items:center; gap:8px; padding:8px 10px;
                  background:var(--raised); border-radius:var(--r); margin-bottom:8px; }
.hansi-ico      { font-size:24px; flex-shrink:0; }
.hansi-txt      { font-size:11px; color:var(--t2); line-height:1.5; flex:1; font-style:italic; }
.hansi-btn      { flex-shrink:0; }

/* ══ Rollen / Personal Cards ═════════════════════════════════ */
.pc-name        { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.pc-role        { font-size:9px; color:var(--t1); font-family:var(--fm); }
.pc-beruf       { font-size:10px; color:var(--t2); }
.pc-body        { flex:1; }
.pc-bonus       { font-size:10px; color:var(--cy); margin-top:2px; }
.oei-name       { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.oei-beruf      { font-size:9px; color:var(--t1); font-family:var(--fm); }

/* ══ City Karte ══════════════════════════════════════════════ */
.city-grid      { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
.city-name      { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.city-meta      { font-size:9px; color:var(--t1); font-family:var(--fm); }
.city-info      { font-size:10px; color:var(--t2); margin:4px 0; }
.city-tip       { font-size:9px; color:var(--cy); }
.city-travel    { margin-top:6px; }
.region-header  { display:flex; align-items:center; justify-content:space-between; padding:6px 0;
                  cursor:pointer; border-bottom:1px solid var(--b0); }
.region-cities  { padding-top:6px; }
.region-accordion { margin-bottom:4px; }

/* ══ Misc ════════════════════════════════════════════════════ */
.sw-row         { display:flex; align-items:center; justify-content:space-between; padding:6px 0;
                  border-bottom:1px solid var(--b0); font-size:11px; color:var(--t2); }
.sw-label       { flex:1; }
.sw-val         { font-family:var(--fm); font-size:11px; font-weight:700; color:var(--t3); }
.sw-bar         { height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; margin:2px 0; }
.sw-fill        { height:100%; border-radius:2px; background:var(--gh); transition:width .4s; }
.sw-sep         { height:1px; background:var(--b1); margin:6px 0; }
.sw-warn        { color:var(--am); }
.sdb-track      { height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; }
.sdb-fill       { height:100%; border-radius:2px; background:var(--gh); transition:width .4s; }
.set-row        { display:flex; align-items:center; justify-content:space-between; padding:5px 0; font-size:12px; }
.sett-btn       { font-size:11px; padding:4px 12px; }
.sd-stat-row    { display:flex; align-items:center; justify-content:space-between; padding:4px 0;
                  border-bottom:1px solid var(--b0); font-size:11px; color:var(--t2); }
.as-item        { display:flex; align-items:center; gap:8px; padding:4px 0; font-size:11px; }
.as-lbl         { flex:1; color:var(--t2); }
.as-val         { font-weight:700; color:var(--t3); font-family:var(--fm); }
.s-card         { background:var(--raised); border:1px solid var(--b0); border-radius:var(--rs);
                  padding:10px 12px; margin-bottom:6px; }
.s-card-title   { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); margin-bottom:3px; }
.s-card-desc    { font-size:10px; color:var(--t2); line-height:1.4; }
.sb-grid        { display:flex; flex-direction:column; gap:6px; }
.sb-card {
  background:rgba(8,18,8,.6); border:1.5px solid rgba(45,185,85,.15);
  border-radius:10px; padding:12px 14px; transition:border-color .15s;
}
.sb-card:hover { border-color:rgba(45,185,85,.35); }
.sb-ico         { font-size:16px; flex-shrink:0; }
.sb-title       { font-size:12px; font-weight:700; color:#d0ecd0; margin:4px 0; }
.sb-desc        { font-size:10px; color:#7a9a7a; line-height:1.55; margin-bottom:6px; }
.sb-src         { font-size:9px; color:var(--t1); font-family:var(--fm); }
.sb-reward      { font-size:10px; color:#ffd060; font-weight:600; margin-bottom:8px; }
.strain-pick-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:8px; }
.spc-em         { font-size:28px; text-align:center; margin-bottom:4px; }
.spc-name       { font-size:12px; font-weight:700; color:var(--t3); text-align:center; }
.spc-type       { font-size:9px; color:var(--t1); text-align:center; font-family:var(--fm); }
.spc-chips      { display:flex; flex-wrap:wrap; gap:3px; justify-content:center; margin-top:4px; }
.win-title      { font-family:var(--fu); font-size:24px; font-weight:800; color:var(--go); text-align:center; letter-spacing:2px; }
.win-sub        { font-size:12px; color:var(--t2); text-align:center; margin-top:4px; }
.win-grade      { font-family:var(--fu); font-size:48px; text-align:center; }
.win-score-wrap { text-align:center; padding:16px 0; }
.win-score-val  { font-family:var(--fu); font-size:32px; font-weight:800; color:var(--go); }
.win-score-lbl  { font-size:10px; color:var(--t1); font-family:var(--fm); }
.win-stats      { display:flex; flex-direction:column; gap:4px; margin:8px 0; }
.win-buttons    { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; padding-top:10px; }
.win-fireworks  { text-align:center; font-size:28px; margin-bottom:8px; letter-spacing:4px; }
.yg-title       { font-family:var(--fu); font-size:14px; font-weight:700; color:var(--go); }
.yg-reward      { font-size:10px; color:var(--cy); margin-top:4px; }
.yg-complete    { color:var(--gh); font-size:10px; }
.act-grid       { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:8px; }
.act-btn        { background:var(--raised); border:1.5px solid var(--b1); border-radius:var(--r);
                  padding:12px 8px; cursor:pointer; transition:all .15s; text-align:center;
                  width:100%; display:flex; flex-direction:column; align-items:center; gap:4px; }
.act-btn:hover  { border-color:var(--b2); background:var(--surf); }
.act-btn:active { transform:scale(.96); }
.act-btn.dis    { opacity:.4; cursor:not-allowed; pointer-events:none; }
.act-ic         { font-size:22px; text-align:center; margin-bottom:4px; }
.act-n          { font-size:11px; font-weight:600; color:var(--t3); text-align:center; }
.act-c          { font-size:9px; color:var(--t2); text-align:center; }
.act-desc       { font-size:8.5px; color:var(--t1); text-align:center; line-height:1.4; margin-bottom:2px; }
.gr-icon        { font-size:22px; flex-shrink:0; }
.gr-title       { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.gr-desc        { font-size:10px; color:var(--t2); margin-top:2px; }
.gr-body        { flex:1; }
.vc-head        { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.vc-icon        { font-size:18px; flex-shrink:0; }
.vc-name        { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); flex:1; }
.vc-tier        { font-size:9px; font-family:var(--fm); color:var(--cy); }
.vc-desc        { font-size:10px; color:var(--t2); line-height:1.4; margin-bottom:4px; }
.vc-effect      { font-size:10px; color:var(--cy); }
.vc-legal       { font-size:9px; color:var(--t1); font-family:var(--fm); margin-top:3px; }
.vc-cost        { font-size:11px; color:var(--go); font-weight:700; margin-top:4px; }
.vc-body        { flex:1; }
.cc-emoji       { font-size:24px; flex-shrink:0; }
.cc-gram        { font-family:var(--fu); font-size:18px; font-weight:700; color:var(--gh); }
.cc-medal       { font-size:18px; }
.champ-card     { background:var(--raised); border:1px solid var(--go); border-radius:var(--r); padding:12px; text-align:center; }
.champ-row      { display:flex; align-items:center; justify-content:space-between; padding:6px 0; border-bottom:1px solid var(--b0); font-size:11px; }
.gl-steps       { display:flex; flex-direction:column; gap:6px; }
.gl-step-label  { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.gl-step-sub    { font-size:10px; color:var(--t2); }
.gl-step-body   { flex:1; }
.gl-check       { font-size:14px; flex-shrink:0; }
.gl-title       { font-family:var(--fu); font-size:14px; font-weight:700; color:var(--t3); margin-bottom:4px; }
.gl-sub         { font-size:10px; color:var(--t2); }
.gl-law         { font-size:9px; color:var(--t1); font-family:var(--fm); }
.gl-tip         { font-size:10px; color:var(--cy); margin-top:3px; }
.gl-bar         { height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; margin:4px 0; }
.gl-bar-fill    { height:100%; border-radius:2px; background:var(--gh); }
.gl-bar-val     { font-size:9px; color:var(--t1); text-align:right; }
.gl-icon        { font-size:16px; flex-shrink:0; }
.inv-row        { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--b0); font-size:11px; }
.inv-ico        { font-size:16px; flex-shrink:0; }
.inv-name       { flex:1; color:var(--t3); font-weight:600; }
.inv-info       { font-size:10px; color:var(--t2); }
.inv-q          { font-family:var(--fm); font-size:11px; font-weight:700; color:var(--gh); }
.inv-g          { font-size:10px; color:var(--t1); font-family:var(--fm); }
.inv-val        { font-size:10px; color:var(--go); }
.inv-sub        { font-size:9px; color:var(--t1); }
.inv-right      { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.rh-icon        { font-size:18px; flex-shrink:0; }
.rh-name        { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); flex:1; }
.rh-risk        { font-size:10px; color:var(--re); font-weight:600; }
.rh-count       { font-size:9px; color:var(--t1); font-family:var(--fm); }
.rh-arrow       { font-size:14px; color:var(--t1); }
.gh-stat        { display:flex; flex-direction:column; align-items:center; padding:8px; }
.gh-val         { font-family:var(--fu); font-size:16px; font-weight:700; color:var(--t3); }
.gh-lbl         { font-size:8.5px; color:var(--t1); font-family:var(--fm); text-transform:uppercase; letter-spacing:.8px; }
.gb-scene       { position:relative; border-radius:var(--rs); overflow:hidden; margin-bottom:8px; }
.gb-svg         { width:100%; display:block; }
.ges-icon       { font-size:28px; text-align:center; margin-bottom:6px; }
.ges-txt        { font-size:11px; color:var(--t2); line-height:1.5; }
.hist-year      { font-family:var(--fm); font-size:10px; color:var(--gh); font-weight:700; margin-bottom:2px; }
.hist-fact      { font-size:11px; color:var(--t2); line-height:1.45; padding-bottom:8px; border-bottom:1px solid var(--b0); margin-bottom:8px; }
.ap-steps       { display:flex; flex-direction:column; gap:6px; }
.ap-step-ico    { font-size:18px; flex-shrink:0; }
.ap-step-n      { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.ap-step-desc   { font-size:10px; color:var(--t2); margin-top:2px; }
.ap-step-body   { flex:1; }
.ap-queue       { display:flex; flex-direction:column; gap:4px; }
.ap-queue-row   { display:flex; align-items:center; gap:8px; padding:4px 0; font-size:11px; border-bottom:1px solid var(--b0); }
.ap-q-id        { font-family:var(--fm); font-size:9px; color:var(--t1); }
.ap-q-status    { font-size:9px; color:var(--gh); font-family:var(--fm); }
.ap-q-time      { font-size:9px; color:var(--am); }
.ap-capacity    { font-family:var(--fu); font-size:18px; font-weight:700; color:var(--t3); }
.ap-cap-lbl     { font-size:9px; color:var(--t1); font-family:var(--fm); }
.qr-score       { font-family:var(--fu); font-size:28px; font-weight:800; color:var(--go); text-align:center; }
.qr-pct         { font-size:12px; color:var(--t2); text-align:center; margin-top:4px; }
.qr-msg         { font-size:11px; color:var(--t2); text-align:center; margin-top:6px; font-style:italic; }
.quiz-grid      { display:flex; flex-direction:column; gap:8px; }
.quiz-card-head { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.quiz-card-ico  { font-size:20px; }
.quiz-card-n    { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); }
.quiz-card-desc { font-size:10px; color:var(--t2); margin-bottom:6px; }
.quiz-result    { text-align:center; padding:12px; }
.quiz-score     { font-family:var(--fu); font-size:24px; font-weight:800; color:var(--go); }
.quiz-expl      { font-size:10px; color:var(--t2); margin-top:6px; line-height:1.4; }
.quiz-prog      { height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; margin-bottom:8px; }
.oc-head        { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.oc-icon        { font-size:18px; flex-shrink:0; }
.oc-city        { font-family:var(--fu); font-size:14px; font-weight:700; color:var(--t3); flex:1; }
.oc-price       { font-size:12px; color:var(--go); font-weight:700; }
.oc-pitch       { font-size:10px; color:var(--t2); margin-bottom:4px; }
.oc-sub         { font-size:9px; color:var(--t1); }
.oc-risk        { font-size:10px; color:var(--re); }
.oc-bonus       { font-size:10px; color:var(--cy); }
.ext-card       { background:var(--raised); border:1px solid var(--b0); border-radius:var(--r); padding:10px 12px; margin-bottom:6px; }
.ext-head       { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.ext-ico        { font-size:18px; }
.ext-name       { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t3); flex:1; }
.ext-law        { font-size:9px; color:var(--t1); font-family:var(--fm); }
.ext-stats      { display:flex; gap:8px; flex-wrap:wrap; font-size:10px; color:var(--t2); }
.ext-tip        { font-size:9px; color:var(--cy); margin-top:3px; }
.aufnahme-stats { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.bug-bar        { background:rgba(255,40,40,.08); border:1px solid rgba(255,40,40,.2); border-radius:var(--rs);
                  padding:6px 10px; font-size:10px; color:var(--re); margin-bottom:6px; }
.wk-unit        { font-size:9px; color:var(--t1); font-family:var(--fm); }
.icon-picker    { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.icon-opt       { font-size:22px; padding:4px; border-radius:var(--rs); cursor:pointer; transition:background .15s; }
.icon-opt:hover { background:var(--gd); }
.naming-row     { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.naming-block   { flex:1; }
.name-field     { flex:1; background:var(--raised); border:1px solid var(--b1); border-radius:var(--rs);
                  padding:8px 12px; font-family:var(--fu); font-size:14px; color:var(--t3);
                  outline:none; width:100%; box-sizing:border-box; }
.name-field:focus { border-color:var(--b2); }
.setup-hero     { text-align:center; padding:20px 0 10px; }
.setup-title    { font-family:var(--fu); font-size:22px; font-weight:800; color:var(--t3); }
.setup-sub      { font-size:11px; color:var(--t2); margin-top:4px; }
.setup-grid     { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:8px; }
.cross-row      { display:flex; align-items:center; gap:8px; padding:5px 0; border-bottom:1px solid var(--b0); font-size:11px; }
.razzia-head    { display:flex; align-items:center; gap:8px; margin-bottom:8px; }

/* Onboarding (Intro uses these too) */
.ob-hero        { text-align:center; padding:20px 0; }
.ob-logo-wrap   { display:flex; justify-content:center; margin-bottom:10px; }
.ob-logo        { font-size:48px; }
.ob-logo-icon   { font-size:56px; }
.ob-logo-glow   { filter:drop-shadow(0 0 20px rgba(40,196,85,.4)); }
.ob-title       { font-family:var(--fu); font-size:28px; font-weight:800; color:var(--t3); letter-spacing:2px; }
.ob-tagline     { font-size:13px; color:var(--t2); margin-top:4px; }
.ob-version     { font-size:9px; color:var(--t1); font-family:var(--fm); margin-top:6px; }
.ob-pitch       { padding:16px; }
.ob-pitch-line  { font-size:12px; color:var(--t2); line-height:1.6; padding:4px 0; }
.ob-features    { display:flex; flex-direction:column; gap:8px; padding:10px 0; }
.ob-feat        { display:flex; align-items:flex-start; gap:10px; }
.ob-feat-ico    { font-size:20px; flex-shrink:0; }
.ob-feat-sub    { font-size:10px; color:var(--t2); margin-top:2px; }
.ob-rules-box   { background:var(--raised); border:1px solid var(--b0); border-radius:var(--r); padding:14px 16px; }
.ob-rule        { font-size:11px; color:var(--t2); line-height:1.6; padding:3px 0; }
.ob-buttons     { display:flex; flex-direction:column; gap:8px; padding:10px 0; }
.ob-footer      { text-align:center; padding:12px 0; font-size:9px; color:var(--t1); }

/* ══ Hot-Seat Setup: Stadt & Szenario-Karten ══════════════════ */
.hs-city-opt, .hs-sc-opt {
  padding: 8px 10px;
  border: 1px solid rgba(45,185,85,.15);
  border-radius: 8px;
  cursor: pointer;
  background: rgba(8,18,8,.5);
  transition: all .15s;
}
.hs-city-opt:hover, .hs-sc-opt:hover {
  border-color: rgba(45,185,85,.4);
  background: rgba(45,185,85,.06);
}
.hs-city-opt.sel, .hs-sc-opt.sel {
  border-color: rgba(45,212,85,.7) !important;
  background: rgba(45,212,85,.1) !important;
  box-shadow: 0 0 0 1px rgba(45,212,85,.3);
}

/* ══ AP Flash Animation ══════════════════════════════════════ */
@keyframes apFlash {
  0%   { opacity:1; transform:translateY(0) scale(1); }
  60%  { opacity:1; transform:translateY(-18px) scale(1.05); }
  100% { opacity:0; transform:translateY(-32px) scale(.9); }
}

/* ══════════════════════════════════════════════════════════════
   VORSTANDSSITZUNG
   ══════════════════════════════════════════════════════════════ */
.vs-intro      { font-size:11px; color:var(--t2); line-height:1.6; margin-bottom:12px; }
.vs-phase-hint { font-size:10px; color:var(--warn,#f90); background:rgba(255,153,0,.1); border:1px solid rgba(255,153,0,.3); border-radius:6px; padding:7px 10px; margin-bottom:10px; line-height:1.4; }
.vs-phase-hint.ok { color:var(--green,#28c455); background:rgba(40,196,85,.08); border-color:rgba(40,196,85,.25); }
.vs-quorum     { margin-bottom:4px; }
.vs-q-lbl      { font-size:10px; color:var(--t2); margin-bottom:5px; font-family:var(--fm); }
.vs-q-bar      { height:6px; background:var(--b0); border-radius:3px; overflow:hidden; margin-bottom:5px; }
.vs-q-fill     { height:100%; background:var(--g); border-radius:3px; transition:width .4s; }
.vs-q-ok       { font-size:10px; color:var(--gh); font-family:var(--fm); }
.vs-q-warn     { font-size:10px; color:var(--am); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }

.vs-list       { display:flex; flex-direction:column; gap:10px; }
.vs-card       { background:var(--raised); border:1.5px solid var(--b1);
                 border-radius:var(--r); padding:12px 14px; transition:all .15s; }
.vs-card.done  { opacity:.55; border-color:rgba(45,185,85,.12); }
.vs-card.oncd  { border-color:rgba(255,144,32,.2); }
.vs-head       { display:flex; align-items:flex-start; gap:10px; margin-bottom:6px; }
.vs-ico        { font-size:22px; flex-shrink:0; line-height:1.2; }
.vs-titel      { font-family:var(--fu); font-size:12.5px; font-weight:700; color:var(--t3); margin-bottom:2px; }
.vs-desc       { font-size:10px; color:var(--t2); line-height:1.5; }
.vs-effekt     { font-size:10px; color:var(--cy); padding:5px 8px;
                 background:rgba(0,200,180,.05); border-left:2px solid rgba(0,200,180,.25);
                 border-radius:3px; margin-bottom:8px; line-height:1.4; }
.vs-foot       { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.vs-ap         { font-size:10px; color:var(--t1); }

.vs-badge      { font-size:9px; font-family:var(--fm); padding:2px 7px; border-radius:4px;
                 flex-shrink:0; }
.vs-badge.done { background:rgba(45,185,85,.15); color:var(--gh); border:1px solid rgba(45,185,85,.25); }
.vs-badge.cd   { background:rgba(255,144,32,.1); color:var(--am); }
.vs-badge.warn { background:rgba(255,144,32,.1); color:var(--am); }

.vs-hist-row   { display:flex; align-items:center; justify-content:space-between;
                 padding:5px 0; border-bottom:1px solid var(--b0);
                 font-size:11px; color:var(--t2); }
.vs-hist-mo    { font-family:var(--fm); font-size:9px; color:var(--t1); }

/* ══════════════════════════════════════════════════════════════
   ORGANIGRAMM — REDESIGNED CARDS
   ══════════════════════════════════════════════════════════════ */
.org-tier         { display:flex; flex-direction:column; gap:8px; }

/* Filled card */
.org-card         { background:linear-gradient(160deg,var(--surf),var(--raised));
                    border:1.5px solid rgba(45,185,85,.35); border-radius:var(--r);
                    padding:12px 12px 8px; cursor:pointer;
                    transition:border-color .15s, transform .12s;
                    position:relative; overflow:hidden; }
.org-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px;
                    background:linear-gradient(90deg,rgba(45,185,85,.6),rgba(0,200,180,.3)); }
.org-card:hover   { border-color:rgba(45,185,85,.6); transform:translateY(-1px); }
.org-card.filled  { border-color:rgba(45,185,85,.4); }

.org-card-head    { display:flex; align-items:center; gap:6px; margin-bottom:10px; }
.org-card-icon    { font-size:18px; }
.org-card-role    { font-family:var(--fu); font-size:11px; font-weight:700;
                    color:var(--gh); flex:1; text-transform:uppercase; letter-spacing:.4px; }
.org-card-lv      { font-family:var(--fm); font-size:9px; color:var(--cy);
                    background:rgba(0,200,180,.1); border:1px solid rgba(0,200,180,.2);
                    padding:1px 6px; border-radius:4px; }

.org-card-body    { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.org-card-info    { flex:1; min-width:0; }
.org-card-name    { font-size:13px; font-weight:700; color:var(--t3); margin-bottom:1px;
                    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.org-card-beruf   { font-size:10px; color:var(--t2); margin-bottom:5px; }
.org-card-attrs   { display:flex; flex-wrap:wrap; gap:3px; }
.org-attr         { font-family:var(--fm); font-size:8px; color:var(--t2);
                    background:var(--bg2); border-radius:3px; padding:1px 5px; }
.org-attr-key     { color:var(--t1); margin-right:3px; }

.org-card-foot    { display:flex; align-items:center; justify-content:space-between;
                    padding-top:8px; border-top:1px solid var(--b0); }
.org-card-status  { font-family:var(--fm); font-size:9px; }
.org-card-status.ok { color:var(--gh); }

/* Empty slot */
.org-empty        { display:flex; align-items:center; gap:10px; width:100%;
                    background:none; border:1.5px dashed rgba(45,185,85,.2);
                    border-radius:var(--r); padding:10px 12px; cursor:pointer;
                    transition:background .15s, border-color .15s; text-align:left; }
.org-empty.req    { border-color:rgba(255,80,80,.4); }
.org-empty:hover  { background:rgba(45,185,85,.05); border-color:rgba(45,185,85,.4); }
.org-empty.req:hover { background:rgba(255,80,80,.04); }
.org-empty-icon   { font-size:24px; flex-shrink:0; }
.org-empty-body   { flex:1; }
.org-empty-name   { font-size:11px; font-weight:700; color:var(--t2); margin-bottom:1px; }
.org-empty-tag    { font-size:10px; }
.org-empty.req .org-empty-tag  { color:#ff8080; }
.org-empty:not(.req) .org-empty-tag { color:var(--t1); }
.org-empty-cta    { flex-shrink:0; font-family:var(--fm); font-size:10px; font-weight:700;
                    padding:3px 10px; border-radius:5px; }
.org-empty.req .org-empty-cta    { background:rgba(255,80,80,.15); color:#ff8080; }
.org-empty:not(.req) .org-empty-cta { background:rgba(45,185,85,.1); color:var(--gh); }

/* ══════════════════════════════════════════════════════════════
   ANBAUANTRAG
   ══════════════════════════════════════════════════════════════ */
.ant-intro      { font-size:11px; color:var(--t2); line-height:1.65; margin-bottom:4px; }
.ant-reqs       { display:flex; flex-direction:column; gap:7px; }
.ant-req        { display:flex; align-items:center; gap:10px; padding:8px 10px;
                  border-radius:var(--rs); background:var(--bg2); }
.ant-req.ok     { border:1px solid rgba(45,185,85,.2); }
.ant-req.nok    { border:1px solid rgba(255,80,80,.15); opacity:.7; }
.ant-req-icon   { font-size:16px; flex-shrink:0; }
.ant-req-body   { display:flex; flex-direction:column; }
.ant-req-hint   { font-size:9px; color:var(--t1); font-family:var(--fm); }

.ant-quiz-done      { display:flex; align-items:center; padding:4px 0; }
.ant-quiz-prompt    { display:flex; flex-direction:column; gap:10px; }
.ant-quiz-desc      { font-size:11px; color:var(--t2); line-height:1.6; }

.ant-submit-info    { margin-bottom:12px; }
.ant-info-row       { display:flex; justify-content:space-between; padding:5px 0;
                      border-bottom:1px solid var(--b0); font-size:11px; color:var(--t2); }
.ant-info-row strong { color:var(--t3); }

.ant-badge          { font-size:9px; font-family:var(--fm); padding:2px 8px; border-radius:4px; }
.ant-badge.green    { background:rgba(45,185,85,.15); color:var(--gh); border:1px solid rgba(45,185,85,.25); }
.ant-badges         { display:flex; gap:6px; flex-wrap:wrap; margin:10px 0 14px; }

.ant-success        { text-align:center; padding:20px; }
.ant-success-icon   { font-size:48px; margin-bottom:8px; }
.ant-success-text   { font-size:11px; color:var(--t2); line-height:1.65; margin:10px 0; }

.ant-pending        { text-align:center; padding:10px; }
.ant-pend-icon      { font-size:40px; margin-bottom:10px; }
.ant-pend-text      { font-size:11px; color:var(--t2); line-height:1.6; margin-bottom:14px; }
.ant-pend-bar-wrap  { text-align:left; margin-bottom:10px; }
.ant-pend-hint      { font-size:10px; color:var(--t1); font-style:italic; }

/* ══════════════════════════════════════════════════════════════
   DESIGN SYSTEM POLISH v18+
   ══════════════════════════════════════════════════════════════ */

/* Panels — subtle left accent bar, more depth */
.panel {
  position: relative;
  border-left-width: 2px !important;
  border-left-color: rgba(45,185,85,.22) !important;
}
.panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, rgba(45,185,85,.2) 0%, transparent 80%);
  border-radius: var(--r) var(--r) 0 0;
}

/* Panel headers — gradient line, more readable */
.ph {
  position: relative;
  padding-bottom: 8px !important;
  margin-bottom: 12px !important;
}
.ph::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 1px;
  background: linear-gradient(90deg, rgba(45,185,85,.35) 0%, rgba(45,185,85,.08) 60%, transparent 100%);
}

/* Buttons — more punch */
.btn {
  border-radius: 6px !important;
  letter-spacing: .3px;
  font-weight: 600 !important;
  transition: all .14s cubic-bezier(.2,.8,.3,1) !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  color: var(--t1, #c8d8c8) !important;
}
.btn:hover:not(:disabled) {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #e8f0e8 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,0,0,.35) !important;
}
.btn:active:not(:disabled) { transform: translateY(0) scale(.97); }
.btn:disabled { opacity: .35 !important; cursor: not-allowed !important; }
.btn.fill {
  background: linear-gradient(135deg, rgba(45,185,85,.35), rgba(35,155,70,.25)) !important;
  border-color: rgba(45,185,85,.6) !important;
  color: #3ef878 !important;
  box-shadow: 0 0 0 0 rgba(45,185,85,0);
}
.btn.fill:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(45,185,85,.5), rgba(35,155,70,.38)) !important;
  box-shadow: 0 0 20px rgba(45,185,85,.25) !important;
  border-color: rgba(45,185,85,.85) !important;
}
.btn.secondary {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.1) !important;
  color: var(--t2, #8a9a8a) !important;
}
.btn.secondary:hover:not(:disabled) {
  background: rgba(255,255,255,.08) !important;
  color: var(--t1) !important;
}
.btn.red, .btn.danger {
  background: rgba(255,60,60,.12) !important;
  border-color: rgba(255,60,60,.35) !important;
  color: #ff6060 !important;
}
.btn.red:hover:not(:disabled), .btn.danger:hover:not(:disabled) {
  background: rgba(255,60,60,.22) !important;
  border-color: rgba(255,60,60,.55) !important;
}

/* Fade-in — smoother */
.fade-in {
  animation: fadeIn .25s cubic-bezier(.2,.8,.3,1) !important;
}

/* ap-badge — more style */
.ap-badge {
  font-family: 'Space Mono', monospace !important;
  font-size: 9px !important;
  background: rgba(45,185,85,.18) !important;
  border: 1px solid rgba(45,185,85,.35) !important;
  color: #52e87a !important;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  letter-spacing: .3px;
}

/* Cards (ein-card, kand-card etc) — hover lift */
.ein-card, .kand-card, .org-card, .vs-card {
  transition: border-color .15s, transform .12s, box-shadow .15s !important;
}
.ein-card:hover, .kand-card:hover { 
  border-color: rgba(45,185,85,.35) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
}

/* Toast — more visible */
.toast {
  font-family: 'Space Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  backdrop-filter: blur(8px) !important;
  border-width: 1.5px !important;
  letter-spacing: .2px;
}

/* Scroll content — better reading rhythm */
.scroll-content {
  line-height: 1.65;
}

/* Nachrichten / Month-report headlines */

/* Org card improvements — glow on fill */
.org-card.filled {
  box-shadow: 0 2px 16px rgba(45,185,85,.08);
}
.org-card.filled:hover {
  box-shadow: 0 4px 24px rgba(45,185,85,.15) !important;
}

/* Vorstandssitzung card hover */
.vs-card:not(.done):not(.oncd):hover {
  border-color: rgba(45,185,85,.5) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0,0,0,.3);
}

/* Better scrollbar */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(45,185,85,.22); border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: rgba(45,185,85,.4); }

/* ══════════════════════════════════════════════════════════════
   LOBBY CARDS POLISH
   ══════════════════════════════════════════════════════════════ */
.lobby-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, rgba(45,185,85,.4) 0%, transparent 80%);
  opacity: 0;
  transition: opacity .2s;
}
.lobby-card:hover::before, .lobby-card.avail::before { opacity: 1; }
.lobby-card.done {
  border-color: rgba(45,185,85,.12);
  opacity: .65;
}
.lobby-card.done::before {
  background: linear-gradient(90deg, rgba(45,185,85,.25) 0%, transparent 60%);
  opacity: 1;
}

/* ══════════════════════════════════════════════════════════════
   EINNAHMEN — CARDS POLISH
   ══════════════════════════════════════════════════════════════ */
.ein-card {
  border-radius: var(--r) !important;
  overflow: hidden;
  position: relative;
}
.ein-card:not(.dim)::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, rgba(45,185,85,.3), transparent);
}
.ein-val { letter-spacing: .2px; }
.ein-val:not(.muted) { color: #b0e8b0 !important; }

/* ══════════════════════════════════════════════════════════════
   ANTRAG — REQUIREMENT VISUAL IMPROVEMENT
   ══════════════════════════════════════════════════════════════ */
.ant-req.ok {
  background: rgba(45,185,85,.06) !important;
  border-color: rgba(45,185,85,.25) !important;
}
.ant-req.nok {
  background: rgba(255,80,80,.04) !important;
  border-color: rgba(255,80,80,.2) !important;
}
.ant-req-label { font-weight: 700 !important; }

/* ══════════════════════════════════════════════════════════════
   QUIZ — ANSWER BUTTONS
   ══════════════════════════════════════════════════════════════ */
.quiz-answer {
  width: 100%; text-align: left;
  padding: 13px 16px;
  margin-bottom: 9px;
  background: rgba(12,24,12,.8);
  border: 1.5px solid rgba(45,185,85,.18);
  border-radius: 10px;
  color: #cce8cc;
  font-size: 13px; font-family: 'Outfit', sans-serif; font-weight: 500;
  line-height: 1.5; cursor: pointer;
  display: flex; align-items: center; gap: 10px;
  transition: all .15s;
}
.quiz-answer::before {
  content: attr(data-letter);
  min-width: 26px; height: 26px; border-radius: 50%;
  background: rgba(45,185,85,.1); border: 1px solid rgba(45,185,85,.25);
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; font-weight: 800; color: rgba(45,185,85,.65);
  flex-shrink: 0; font-family: 'Space Mono', monospace;
}
.quiz-answer:hover:not(:disabled) {
  background: rgba(45,185,85,.1);
  border-color: rgba(45,212,85,.5);
  color: #e8f8e8;
  transform: translateX(4px);
}
.quiz-answer:disabled { cursor: default; }
.quiz-answer.correct {
  background: rgba(45,185,85,.18) !important;
  border-color: rgba(45,220,85,.65) !important;
  color: #9affa8 !important;
  box-shadow: 0 0 16px rgba(45,185,85,.18);
}
.quiz-answer.correct::before { background:rgba(45,185,85,.35); border-color:#2dd47f; color:#2dd47f; }
.quiz-answer.wrong {
  background: rgba(200,40,40,.12) !important;
  border-color: rgba(220,60,60,.45) !important;
  color: #ffaaaa !important;
}
.quiz-answer.wrong::before { background:rgba(180,40,40,.25); border-color:#cc4444; color:#ff8888; }

/* ══ QUIZ FRAGE-SCREEN ══════════════════════════════════════════ */
.quiz-q-panel { padding: 20px !important; }
.quiz-q-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.quiz-q-prog {
  font-family:'Space Mono',monospace; font-size:10px; color:rgba(45,212,85,.5);
  letter-spacing:1.5px; padding:3px 10px; border-radius:20px;
  background:rgba(45,185,85,.06); border:1px solid rgba(45,185,85,.12);
}
.quiz-q-bar-wrap { height:4px; background:rgba(45,185,85,.1); border-radius:2px; margin-bottom:18px; overflow:hidden; }
.quiz-q-bar {
  height:100%; background:linear-gradient(90deg,#2db955,#52e87a);
  border-radius:2px; transition:width .4s ease; box-shadow:0 0 8px rgba(45,212,85,.35);
}
.quiz-q {
  font-size:15px; font-weight:600; color:#e0f0e0; line-height:1.65; margin-bottom:18px;
  padding:14px 16px; background:rgba(8,20,8,.65);
  border-left:3px solid rgba(45,212,85,.5); border-radius:0 8px 8px 0;
}
.quiz-explain {
  margin-top:10px; padding:12px 14px;
  background:rgba(45,185,85,.07); border-left:3px solid rgba(45,212,85,.45);
  border-radius:0 8px 8px 0; font-size:11px; color:#a0c8a0; line-height:1.65;
}
.quiz-q-footer { margin-top:12px; text-align:right; }

/* ══ QUIZ ERGEBNIS-SCREEN ═══════════════════════════════════════ */
.quiz-result-panel { text-align:center; padding:28px 20px !important; }
.quiz-result-header { margin-bottom:20px; }
.quiz-result-score {
  font-family:'Bebas Neue',sans-serif; font-size:80px; line-height:1; letter-spacing:3px;
  filter:drop-shadow(0 0 20px currentColor);
}
.quiz-result-sub { font-size:13px; color:#8ab88a; margin-top:6px; font-family:'Space Mono',monospace; }
.quiz-result-badge {
  display:inline-block; font-size:13px; font-weight:700; margin-top:10px;
  padding:5px 16px; border-radius:20px;
  background:rgba(45,185,85,.1); border:1px solid rgba(45,185,85,.25);
}
.quiz-result-effects { display:flex; flex-direction:column; gap:6px; margin:16px 0 20px; font-size:11px; }
.quiz-eff.ok   { color:#6ddc8a; }
.quiz-eff.warn { color:#ffc050; }
.quiz-result-actions { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }

/* ══ QUIZ LOBBY KARTEN ══════════════════════════════════════════ */
.quiz-grid { display:flex; flex-direction:column; gap:10px; }
.quiz-card {
  padding:12px 14px; border:1.5px solid rgba(45,185,85,.12);
  border-radius:10px; background:rgba(8,18,8,.5); transition:border-color .15s;
}
.quiz-card:hover:not(.locked) { border-color:rgba(45,185,85,.32); }
.quiz-card.locked { opacity:.5; }
.quiz-card-head { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.quiz-card-ico  { font-size:22px; flex-shrink:0; }
.quiz-card-n    { font-family:'Syne',sans-serif; font-size:13px; font-weight:700; color:#d8eed8; }
.quiz-card-desc { font-size:10px; color:#5a7a5a; margin-top:2px; }
.quiz-score     { font-family:'Syne',sans-serif; font-size:20px; font-weight:800; margin-left:auto; flex-shrink:0; }


/* ══════════════════════════════════════════════════════════════
   HUD ICON STATS (v19b)
   ══════════════════════════════════════════════════════════════ */
.hud-ico {
  font-size: 12px;
  line-height: 1;
  margin-bottom: 1px;
  opacity: .8;
}
.hud-stat { position: relative; }

/* ══ QUIZ QUESTION SCREEN ══════════════════════════════════════ */
.quiz-q-panel { padding: 16px !important; }
.quiz-q-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.quiz-q-prog {
  font-family: 'Space Mono', monospace;
  font-size: 9px;
  color: var(--dim);
  letter-spacing: 1px;
}
.quiz-q-bar-wrap {
  height: 3px;
  background: rgba(45,185,85,.1);
  border-radius: 2px;
  margin-bottom: 16px;
  overflow: hidden;
}
.quiz-q-bar {
  height: 100%;
  background: linear-gradient(90deg, #2db955, #52e87a);
  border-radius: 2px;
  transition: width .4s cubic-bezier(.2,.8,.3,1);
}
.quiz-q {
  font-size: 13px;
  color: var(--text);
  line-height: 1.65;
  margin-bottom: 16px;
  font-weight: 500;
}
.quiz-explain {
  margin-top: 10px;
  padding: 8px 12px;
  background: rgba(45,185,85,.06);
  border-left: 2px solid rgba(45,185,85,.35);
  border-radius: 4px;
  font-size: 10px;
  color: var(--text-dim);
  line-height: 1.6;
}
.quiz-q-footer {
  margin-top: 14px;
  text-align: right;
}

/* ══ QUIZ RESULT SCREEN ════════════════════════════════════════ */
.quiz-result-panel { text-align: center; padding: 24px 20px !important; }
.quiz-result-header { margin-bottom: 16px; }
.quiz-result-score {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 72px;
  line-height: 1;
  letter-spacing: 2px;
}
.quiz-result-sub {
  font-size: 12px;
  color: var(--text-dim);
  margin-top: 4px;
  font-family: 'Space Mono', monospace;
}
.quiz-result-badge {
  font-size: 14px;
  font-weight: 700;
  margin-top: 8px;
  font-family: 'Syne', sans-serif;
}
.quiz-result-effects {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 20px;
  font-size: 10px;
}
.quiz-eff.ok   { color: var(--green); }
.quiz-eff.warn { color: var(--amber); }
.quiz-result-actions {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ══ ZIELE: READY-TO-CLAIM GOALS ═══════════════════════════════ */
.goal-row.ready {
  background: rgba(45,185,85,.05);
  border: 1px solid rgba(45,185,85,.18);
  border-radius: 5px;
  padding: 6px 8px;
  margin-bottom: 4px;
}
.gr-ready-hint {
  font-size: 8px;
  color: var(--green);
  font-family: 'Space Mono', monospace;
}

/* ══ AP COST DISPLAY — consistent badge ════════════════════════ */
.ap-cost-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: rgba(45,185,85,.15);
  border: 1px solid rgba(45,185,85,.3);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 9px;
  font-family: 'Space Mono', monospace;
  color: #52e87a;
  font-weight: 700;
}
.ap-cost-badge::before { content: '⬡'; font-size: 8px; }

/* ══════════════════════════════════════════════════════════════
   GOAL ROW — LINK BUTTONS (v19c)
   ══════════════════════════════════════════════════════════════ */
.gr-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 5px;
  flex-wrap: wrap;
}
.gr-reward {
  font-size: 9px;
  color: var(--go);
  font-family: 'Space Mono', monospace;
}
.gr-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 9px;
  font-family: 'Space Mono', monospace;
  font-weight: 700;
  letter-spacing: .2px;
  color: var(--cy);
  background: rgba(0,203,184,.1);
  border: 1px solid rgba(0,203,184,.28);
  border-radius: 4px;
  padding: 2px 8px;
  cursor: pointer;
  transition: all .14s cubic-bezier(.2,.8,.3,1);
  white-space: nowrap;
}
.gr-link-btn:hover {
  background: rgba(0,203,184,.22);
  border-color: rgba(0,203,184,.55);
  color: #30ffe8;
  transform: translateX(2px);
}
.gr-link-btn:active { transform: translateX(0) scale(.97); }

/* Goal row layout tweak to accommodate footer */
.goal-row .gr-body {
  flex: 1;
}
.goal-row.ready .gr-footer,
.goal-row .gr-footer {
  margin-top: 4px;
}

/* ═══ SEED CENTER ════════════════════════════════════════════════════════════ */
.sc-hero { padding:14px 16px 10px; }
.sc-hero-head { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.sc-collection-badge { margin-left:auto; text-align:center; }
.sc-progress-wrap { height:4px; background:rgba(255,255,255,.1); border-radius:2px; overflow:hidden; }
.sc-progress-bar { height:100%; background:linear-gradient(90deg,var(--green),var(--cyan)); border-radius:2px; transition:width .4s; }
.sc-tabs { display:flex; gap:5px; padding:10px 12px 0; flex-wrap:wrap; }
.sc-tab { background:var(--bg2); border:1px solid var(--bord); color:var(--t2); border-radius:6px; padding:5px 10px; font-size:10px; cursor:pointer; white-space:nowrap; }
.sc-tab.active { background:rgba(40,196,85,.15); border-color:var(--green); color:var(--green); font-weight:700; }
.sc-tab-cnt { background:rgba(255,255,255,.1); border-radius:8px; padding:1px 5px; font-size:9px; margin-left:3px; }
.sc-grid { display:grid; grid-template-columns:1fr; gap:10px; padding:8px 12px 20px; }
.sc-card { background:var(--bg2); border:1px solid var(--bord); border-radius:10px; padding:12px; transition:border-color .2s; }
.sc-card.owned { border-color:rgba(40,196,85,.4); background:linear-gradient(160deg,rgba(40,196,85,.05),var(--bg2)); }
.sc-card.locked { opacity:.55; }
.sc-card-head { display:flex; align-items:flex-start; gap:10px; margin-bottom:8px; }
.sc-strain-icon { font-size:24px; line-height:1; }
.sc-strain-info { flex:1; }
.sc-strain-name { font-size:13px; font-weight:700; color:var(--t1); line-height:1.2; }
.sc-strain-type { font-size:10px; color:var(--t2); margin-top:2px; }
.sc-rarity-badge { font-size:10px; font-weight:700; white-space:nowrap; padding:2px 6px; border-radius:8px; background:rgba(255,255,255,.06); }
.sc-r-std  { }
.sc-r-rare { }
.sc-r-epic { }
.sc-r-leg  { }
.sc-stats-row { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:7px; }
.sc-stat { font-size:10px; background:rgba(255,255,255,.06); border-radius:6px; padding:3px 7px; color:var(--t2); white-space:nowrap; }
.sc-info { font-size:10px; color:var(--t2); line-height:1.4; margin-bottom:8px; font-style:italic; }
.sc-card-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; }
.sc-seed-price { font-size:11px; color:var(--t2); font-family:var(--fm); }
.sc-lock-badge { font-size:9px; color:var(--amber,#f59e0b); }
.sc-owned-badge { font-size:10px; color:var(--green); font-weight:700; }
.sc-in-lib { font-size:10px; color:var(--green); font-weight:700; }

/* ═══ GROWSHOP ═══════════════════════════════════════════════════════════════ */
.gs-hero-head { display:flex; align-items:center; gap:12px; }
.gs-hero-stats { margin-left:auto; text-align:center; }
.gs-stat-num { font-size:20px; font-family:var(--fm); color:var(--cyan); line-height:1; }
.gs-tabs { display:flex; gap:5px; padding:8px 12px 0; flex-wrap:wrap; overflow-x:auto; }
.gs-tab { background:var(--bg2); border:1px solid var(--bord); color:var(--t2); border-radius:6px; padding:6px 11px; font-size:10px; cursor:pointer; white-space:nowrap; display:flex; align-items:center; gap:4px; }
.gs-tab.active { background:rgba(74,158,255,.12); border-color:#4a9eff; color:#4a9eff; font-weight:700; }
.gs-owned-cnt { font-size:9px; color:var(--green); font-weight:700; }
.gs-cat-header { display:flex; align-items:center; justify-content:space-between; padding-bottom:10px; border-bottom:1px solid var(--bord); margin-bottom:10px; font-size:12px; font-weight:700; }
.gs-list { display:flex; flex-direction:column; gap:8px; }
.gs-card { background:rgba(255,255,255,.03); border:1px solid var(--bord); border-radius:8px; padding:10px 12px; }
.gs-card.owned { border-color:rgba(40,196,85,.35); background:rgba(40,196,85,.04); }
.gs-card.locked { opacity:.5; }
.gs-card-head { display:flex; align-items:flex-start; gap:10px; margin-bottom:6px; }
.gs-icon { font-size:20px; line-height:1.2; }
.gs-name { font-size:12px; font-weight:700; color:var(--t1); }
.gs-bonus { font-size:10px; color:var(--green); margin-top:2px; }
.gs-price-col { text-align:right; }
.gs-price { font-family:var(--fm); font-size:13px; color:var(--amber,#f59e0b); font-weight:700; }
.gs-phase-req { font-size:9px; color:var(--t3); margin-top:2px; }
.gs-desc { font-size:10px; color:var(--t2); line-height:1.4; margin-bottom:8px; }
.gs-footer { display:flex; justify-content:flex-end; }
.gs-installed { font-size:11px; color:var(--green); font-weight:700; }

/* ═══ MONATSBERICHT MODAL ════════════════════════════════════════════════════ */
.rpt-modal { min-width:280px; max-width:390px; display:flex; flex-direction:column; gap:0; }
.rpt-header { text-align:center; padding:4px 0 14px; }
.rpt-month-lbl { font-family:var(--fb); font-size:20px; letter-spacing:2px; color:var(--t3); }
.rpt-title-lbl { font-size:10px; color:var(--t1); font-family:var(--fm); letter-spacing:1.5px; margin-top:2px; }

.rpt-section { background:var(--raised); border-radius:8px; padding:10px 12px; margin-bottom:8px; border:1px solid var(--b0); }
.rpt-section-hd { font-size:9px; font-family:var(--fm); letter-spacing:1px; color:var(--t1); margin-bottom:8px; }
.rpt-balance { font-size:10px; color:var(--t1); margin-top:6px; border-top:1px solid var(--b0); padding-top:6px; }

/* Zusammenfassung */
.rpt-summary { display:flex; flex-direction:column; gap:5px; }
.rpt-sum-row { display:flex; align-items:center; gap:8px; font-size:12px; }
.rpt-sum-icon { font-size:14px; width:20px; text-align:center; flex-shrink:0; }
.rpt-sum-lbl { color:var(--t2); flex:1; }
.rpt-sum-val { font-family:var(--fm); text-align:right; }

/* Neue Errungenschaften */
.rpt-new-row { font-size:11px; color:var(--t2); padding:3px 0; border-bottom:1px solid var(--b0); }
.rpt-new-row:last-child { border-bottom:none; }

/* Nächste Ziele */
.rpt-goals-section { border-color:rgba(74,158,255,.25); background:rgba(74,158,255,.04); }
.rpt-goals { display:flex; flex-direction:column; gap:6px; }
.rpt-goal-row { display:flex; align-items:flex-start; gap:8px; padding:6px 8px; border-radius:6px; background:rgba(255,255,255,.04); font-size:11px; border:1px solid var(--b0); }
.rpt-goal-row.urgent { border-color:rgba(245,158,11,.35); background:rgba(245,158,11,.06); }
.rpt-goal-row.ready  { border-color:rgba(40,196,85,.4); background:rgba(40,196,85,.08); }
.rpt-goal-num { font-family:var(--fm); font-size:10px; color:var(--t1); width:14px; flex-shrink:0; margin-top:1px; }
.rpt-goal-ico { font-size:14px; flex-shrink:0; }
.rpt-goal-txt { color:var(--t2); line-height:1.4; flex:1; }
.rpt-goal-row.ready .rpt-goal-txt { color:var(--green); font-weight:600; }
.rpt-goal-row.urgent .rpt-goal-txt { color:var(--t1); }

.rpt-cta { width:100%; font-size:14px; min-height:48px; margin-top:4px; }

/* ═══ MITGLIEDER-WÜNSCHE ═════════════════════════════════════════════════════ */
.mw-panel { }
.mw-header { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.mw-sat-score { text-align:center; }
.mw-body { display:flex; flex-direction:column; gap:10px; }
.mw-section { border-radius:8px; padding:10px; background:rgba(255,255,255,.03); border:1px solid var(--bord); }
.mw-section-hd { font-size:10px; font-family:var(--fm); letter-spacing:.5px; color:var(--t1); margin-bottom:8px; }
.mw-cat-strain { border-color:rgba(40,196,85,.2); }
.mw-cat-prod   { border-color:rgba(74,158,255,.2); }
.mw-cat-qual   { border-color:rgba(168,85,247,.2); }
.mw-cat-svc    { border-color:rgba(245,158,11,.2); }
.mw-cat-cbd    { border-color:rgba(40,196,85,.15); }
.mw-cat-price  { border-color:rgba(255,100,100,.2); }

.mw-row { display:flex; align-items:flex-start; gap:8px; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.04); }
.mw-row:last-child { border-bottom:none; padding-bottom:0; }
.mw-icon { font-size:16px; flex-shrink:0; padding-top:2px; }
.mw-row-body { flex:1; min-width:0; }
.mw-row-head { display:flex; justify-content:space-between; align-items:baseline; gap:6px; margin-bottom:3px; }
.mw-text  { font-size:11px; color:var(--t1); line-height:1.3; flex:1; }
.mw-count { font-size:9px; color:var(--t2); white-space:nowrap; font-family:var(--fm); flex-shrink:0; }
.mw-bar-wrap { height:3px; background:rgba(255,255,255,.08); border-radius:2px; overflow:hidden; margin-bottom:3px; }
.mw-bar  { height:100%; border-radius:2px; transition:width .3s; }
.mw-note { font-size:9px; color:var(--t3); }
.mw-note.sat { color:var(--green); }
.mw-buy-btn { font-size:9px; padding:2px 6px; flex-shrink:0; margin-top:2px; white-space:nowrap; }
.mw-sat-badge { font-size:12px; color:var(--green); flex-shrink:0; }

/* ═══ COMPLIANCE ACTIONS ════════════════════════════════════════════════════ */
.cp-status { font-size:16px; flex-shrink:0; width:20px; }
.cp-desc   { font-size:9px; color:var(--t3); line-height:1.4; margin:3px 0 4px; font-style:italic; }
.cp-action { margin-top:6px; }
.cp-act-btn { font-size:9px; }
.cp-row.done .cp-body { opacity:.7; }
.cp-row { display:flex; gap:8px; align-items:flex-start; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.04); }
.cp-row:last-child { border-bottom:none; }

/* Compliance panel in Vorstandssitzung */
.vs-comp-panel { border-color:rgba(74,158,255,.25); background:rgba(74,158,255,.04); }
.vs-comp-row  { display:flex; align-items:flex-start; gap:10px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.05); }
.vs-comp-row:last-child { border-bottom:none; }
.vs-comp-icon { font-size:18px; flex-shrink:0; padding-top:2px; }
.vs-comp-body { flex:1; }
.vs-comp-name { font-size:12px; font-weight:600; color:var(--t1); }
.vs-comp-desc { font-size:9px; color:var(--t2); line-height:1.4; margin-top:3px; }
.vs-comp-action { flex-shrink:0; }
.vs-comp-lock { font-size:9px; color:var(--t3); }

/* Phase progress bar in HUD */
.hud-rep-bar-wrap {
  height: 3px;
  background: rgba(255,255,255,0.06);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 4px;
  width: 100%;
}
.hud-rep-bar {
  height: 100%;
  border-radius: 2px;
  transition: width 0.4s ease;
}
.hud-phase-bar-wrap {
  height: 2px;
  background: rgba(255,200,0,0.1);
  border-radius: 1px;
  overflow: hidden;
  margin-top: 2px;
  width: 100%;
}
.hud-phase-bar {
  height: 100%;
  background: linear-gradient(90deg, #ffd700, #ffaa00);
  border-radius: 1px;
  transition: width 0.6s ease;
}

/* ── Phase-Gate Reason Links (zpanel) ─────────────────────────────────── */
.zpanel-reasons      { margin: 8px 0 4px; display: flex; flex-direction: column; gap: 6px; }
.zpr-row             { background: rgba(255,170,0,.07); border: 1px solid rgba(255,170,0,.2);
                       border-radius: 6px; padding: 6px 10px; }
.zpr-main            { font-size: 10px; color: var(--amber,#ffaa00); font-family: var(--fm);
                       margin-bottom: 5px; }
.zpr-links           { display: flex; flex-wrap: wrap; gap: 5px; }
.zpr-link-btn        { display: inline-flex; align-items: center; gap: 3px;
                       font-size: 9px; font-family: var(--fm); font-weight: 700;
                       color: var(--cy, #00cbb8);
                       background: rgba(0,203,184,.1);
                       border: 1px solid rgba(0,203,184,.28);
                       border-radius: 4px; padding: 3px 9px;
                       cursor: pointer; transition: all .14s;
                       white-space: nowrap; }
.zpr-link-btn:hover  { background: rgba(0,203,184,.22);
                       border-color: rgba(0,203,184,.55); color: #30ffe8;
                       transform: translateX(2px); }
.zpr-link-btn:active { transform: translateX(0) scale(.97); }

/* ── Goal Links (multi-button row) ───────────────────────────────────── */
.gr-links            { display: flex; flex-wrap: wrap; gap: 5px; margin: 4px 0 3px; }
.goal-row            { flex-direction: column; align-items: flex-start; }
.goal-row .gr-icon   { font-size: 16px; flex-shrink: 0; margin-bottom: 2px; }
.goal-row .gr-title  { font-size: 11px; color: var(--t1); font-weight: 600; margin-bottom: 2px; }
.goal-row .gr-desc   { font-size: 9px; color: var(--t2); margin-bottom: 3px; }
.goal-row.ready      { border-color: rgba(40,196,85,.3); background: rgba(40,196,85,.05); }
.gr-done-label       { font-size: 9px; color: var(--dim); margin: 8px 0 4px;
                       text-transform: uppercase; letter-spacing: 1px; }

/* ── Büro Schnellzugriff-Zeile (Team & Ämter, Aktivismus) ─────────────── */
.buero-quick-row     { display:flex; gap:8px; margin-bottom:10px; }
.bq-btn              { flex:1; display:flex; align-items:center; gap:10px;
                       background:var(--card); border:1px solid var(--brd);
                       border-radius:10px; padding:10px 12px; cursor:pointer;
                       transition:all .15s; }
.bq-btn:hover        { border-color:rgba(0,203,184,.5); background:rgba(0,203,184,.07);
                       transform:translateY(-1px); }
.bq-btn.bq-alert     { border-color:rgba(255,170,0,.45); background:rgba(255,170,0,.07); }
.bq-btn.bq-alert:hover{ border-color:rgba(255,170,0,.8); }
.bq-icon             { font-size:22px; flex-shrink:0; }
.bq-body             { flex:1; min-width:0; }
.bq-label            { font-size:11px; font-weight:700; color:var(--bright);
                       font-family:var(--f-head); letter-spacing:.5px; }
.bq-sub              { font-size:9px; color:var(--t2); margin-top:2px; }
.bq-arrow            { font-size:14px; color:var(--cy); opacity:.6; flex-shrink:0; }
.bq-btn:hover .bq-arrow { opacity:1; transform:translateX(2px); }

/* ── Büro-Dashboard: 6-Kacheln-Raster ────────────────────────────────── */
.buero-dashboard     { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:10px; }
@media(max-width:380px){ .buero-dashboard { grid-template-columns:repeat(2,1fr); } }
.bd-kachel           { background:var(--card); border:1px solid var(--brd); border-radius:10px;
                       padding:9px 10px; cursor:pointer; transition:all .14s; }
.bd-kachel:hover     { border-color:rgba(0,203,184,.45); background:rgba(0,203,184,.06); transform:translateY(-1px); }
.bd-kachel.bd-warn   { border-color:rgba(255,170,0,.4); background:rgba(255,170,0,.06); }
.bd-kachel.bd-ok     { border-color:rgba(40,196,85,.25); }
.bd-k-top            { display:flex; justify-content:space-between; align-items:center; margin-bottom:3px; }
.bd-k-icon           { font-size:15px; }
.bd-k-status         { font-size:8px; font-family:var(--fm); font-weight:700; }
.bd-k-val            { font-family:var(--f-head); font-size:20px; font-weight:800; color:var(--bright); line-height:1; }
.bd-k-max            { font-size:10px; color:var(--dim); font-weight:400; }
.bd-k-lbl            { font-size:8px; color:var(--t2); text-transform:uppercase; letter-spacing:.8px; margin-top:2px; }
.bd-k-hint           { font-size:8px; color:var(--amber); margin-top:3px; line-height:1.3; }

/* ── Lobby-Forderungen in aktivismus() ───────────────────────────────── */
.lf-intro            { font-size:10px; color:var(--dim); margin-bottom:10px; line-height:1.4; }
.lf-grid             { display:flex; flex-direction:column; gap:8px; }
.lf-card             { background:var(--bg2); border:1px solid var(--brd); border-radius:8px; padding:10px 12px; }
.lf-card.done        { border-color:rgba(40,196,85,.35); background:rgba(40,196,85,.05); }
.lf-card.locked      { opacity:.5; pointer-events:none; }
.lf-head             { display:flex; align-items:flex-start; gap:10px; margin-bottom:8px; }
.lf-img              { font-size:20px; flex-shrink:0; }
.lf-body             { flex:1; min-width:0; }
.lf-name             { font-size:11px; font-weight:700; color:var(--bright); margin-bottom:2px; }
.lf-desc             { font-size:9px; color:var(--t2); line-height:1.4; }
.lf-phase            { font-size:8px; color:var(--amber); font-family:var(--fm);
                       background:rgba(255,170,0,.12); border-radius:3px; padding:2px 5px;
                       white-space:nowrap; flex-shrink:0; }
.lf-progress         { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.lf-bar              { flex:1; height:5px; background:var(--bg3,#0a1628); border-radius:3px; overflow:hidden; }
.lf-fill             { height:100%; border-radius:3px; transition:width .4s; }
.lf-pct              { font-size:9px; font-family:var(--fm); color:var(--t2); white-space:nowrap; min-width:80px; text-align:right; }
.lf-footer           { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.lf-effect           { font-size:9px; color:var(--cyan); font-family:var(--fm); opacity:.8; }

/* ── Mitglieder Schnellaktions-Leiste ───────────────────────────────────── */
.mq-bar              { display:flex; flex-wrap:wrap; gap:6px; align-items:center;
                       padding:8px 0 4px; margin-bottom:6px; }
.mq-btn              { display:flex; align-items:center; gap:5px; flex:1; min-width:80px;
                       background:var(--card); border:1px solid var(--brd); border-radius:8px;
                       padding:7px 10px; cursor:pointer; transition:all .14s; }
.mq-btn:hover        { border-color:rgba(0,203,184,.5); background:rgba(0,203,184,.07); }
.mq-btn.mq-alert     { border-color:rgba(255,170,0,.5); background:rgba(255,170,0,.07); }
.mq-ico              { font-size:16px; }
.mq-lbl              { font-size:9px; font-weight:700; color:var(--bright);
                       font-family:var(--fm); white-space:nowrap; }
.mq-cap              { flex-basis:100%; display:flex; align-items:center; gap:8px; }
.mq-cap-bar          { flex:1; height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; }
.mq-cap-fill         { height:100%; border-radius:2px; transition:width .4s; }
.mq-cap-lbl          { font-size:9px; font-family:var(--fm); color:var(--dim); white-space:nowrap; }

/* ── Versicherungen Risiko-Header ───────────────────────────────────────── */
.vers-risk-header    { display:flex; gap:12px; align-items:center;
                       background:var(--card); border:1px solid var(--brd); border-radius:10px;
                       padding:12px 14px; margin-bottom:10px; }
.vrh-left            { flex:1; }
.vrh-label           { font-size:9px; text-transform:uppercase; letter-spacing:1px;
                       color:var(--dim); margin-bottom:5px; }
.vrh-bar             { height:6px; background:var(--bg2); border-radius:3px; overflow:hidden; margin-bottom:4px; }
.vrh-fill            { height:100%; border-radius:3px; transition:width .4s; }
.vrh-hint            { font-size:9px; font-family:var(--fm); font-weight:700; }
.vrh-right           { display:flex; gap:12px; flex-shrink:0; }
.vrh-stat            { text-align:center; }
.vrh-stat-val        { display:block; font-family:var(--f-head); font-size:18px;
                       font-weight:800; color:var(--bright); line-height:1; }
.vrh-stat-lbl        { font-size:8px; color:var(--dim); text-transform:uppercase; letter-spacing:.5px; }

/* ── Verbände Lobby-Fortschritt ─────────────────────────────────────────── */
.vb-lf-row:last-child{ border:none; }
.vb-lf-row.done      { opacity:.7; }
.vb-lf-row.locked    { opacity:.4; }

/* ══════════════════════════════════════════════════════
   IMMOBILIEN — Redesign
   ══════════════════════════════════════════════════════ */

/* Übersichts-Balken */
.immo-overview {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 8px; margin-bottom: 14px;
}
.immo-ov-stat {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 6px; padding: 9px 12px;
}
.immo-ov-l {
  font-size: 8px; color: var(--t2); text-transform: uppercase;
  letter-spacing: .8px; margin-bottom: 4px;
}
.immo-ov-v {
  font-family: 'Space Mono', monospace; font-size: 15px;
  font-weight: 700; color: var(--t1);
}
.immo-ov-v.neg { color: #ff5030; }
.immo-ov-v.pos { color: #2dd47f; }
.immo-ov-v.dim { color: var(--t2); }

/* Tab-Leiste */
.immo-tabs2 {
  display: flex; gap: 2px; margin-bottom: 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.immo-tab2 {
  display: flex; align-items: center; gap: 5px;
  padding: 8px 14px 9px;
  background: transparent;
  border: none; border-bottom: 2px solid transparent;
  color: var(--t2); font-size: 11px; font-weight: 600;
  cursor: pointer; transition: all .15s;
  position: relative; bottom: -1px;
  font-family: 'Outfit', sans-serif;
}
.immo-tab2:hover { color: var(--t1); background: rgba(255,255,255,.03); }
.immo-tab2.active { color: var(--t1); }
.it2-icon { font-size: 13px; }
.it2-n { letter-spacing: .2px; }
.it2-dot {
  width: 6px; height: 6px; border-radius: 50%;
  display: inline-block; margin-left: 2px;
  box-shadow: 0 0 5px currentColor;
}

/* Tab-Inhalt */
.immo-tab-content {
  border: 1px solid rgba(255,255,255,.07);
  border-top: none; border-radius: 0 0 8px 8px;
  padding: 14px;
}
.immo-tab-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px; padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 13px; font-weight: 700;
}
.immo-tab-desc {
  font-size: 9px; color: var(--t2); text-align: right;
  max-width: 200px; line-height: 1.4;
}

/* Objekt-Liste */
.immo-obj-list {
  display: flex; flex-direction: column; gap: 10px;
}

/* Einzelnes Objekt */
.immo-obj {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px; padding: 14px 16px;
  background: rgba(255,255,255,.02);
  transition: border-color .15s, background .15s;
}
.immo-obj:hover { background: rgba(255,255,255,.035); }

.immo-obj.io-owned {
  border-color: rgba(45,212,127,.3);
  background: rgba(45,212,127,.04);
}
.immo-obj.io-locked {
  opacity: .6;
}
.immo-obj.io-unafford {
  border-color: rgba(255,160,0,.2);
}

/* Kopfzeile des Objekts */
.io-head {
  display: flex; align-items: flex-start; gap: 12px; margin-bottom: 9px;
}
.io-icon {
  font-size: 28px; flex-shrink: 0; line-height: 1;
  width: 40px; text-align: center;
}
.io-title-block { flex: 1; min-width: 0; }
.io-name {
  font-family: 'Syne', sans-serif; font-size: 15px; font-weight: 800;
  color: var(--t1); margin-bottom: 4px;
}
.io-lv-row { display: flex; align-items: center; gap: 7px; }
.io-lv-pips { display: flex; gap: 3px; }
.io-lv-pip {
  width: 18px; height: 4px; border-radius: 2px;
  background: rgba(255,255,255,.1);
  transition: background .2s;
}
.io-lv-pip.done { background: rgba(45,212,127,.6); }
.io-lv-pip.cur  { background: #2dd47f; box-shadow: 0 0 6px rgba(45,212,127,.6); }
.io-lv-label { font-size: 9px; color: var(--t2); font-family: 'Space Mono', monospace; }

/* Status-Badge */
.io-status-badge {
  font-size: 9px; font-weight: 700; letter-spacing: .5px;
  padding: 3px 9px; border-radius: 12px;
  white-space: nowrap; flex-shrink: 0;
  align-self: flex-start;
}
.io-status-badge.owned    { background: rgba(45,212,127,.15); color: #2dd47f; border: 1px solid rgba(45,212,127,.3); }
.io-status-badge.locked   { background: rgba(255,255,255,.06); color: var(--t2); }
.io-status-badge.prereq   { background: rgba(255,160,0,.1); color: #ff9020; }
.io-status-badge.unafford { background: rgba(255,80,0,.1); color: #ff7040; }
.io-status-badge.avail    { background: rgba(45,212,127,.08); color: #2dd47f; }

/* Beschreibung */
.io-desc {
  font-size: 11px; color: var(--t2); line-height: 1.6;
  margin-bottom: 10px; padding-left: 52px;
}

/* Stats-Reihe */
.io-stats-row {
  display: flex; gap: 6px; margin-bottom: 9px;
  padding-left: 52px;
}
.io-stat {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 5px; padding: 5px 9px;
  flex: 1; min-width: 0;
}
.io-stat-l {
  font-size: 7px; color: var(--t2); text-transform: uppercase;
  letter-spacing: .8px; margin-bottom: 2px;
}
.io-stat-v {
  font-family: 'Space Mono', monospace; font-size: 12px;
  font-weight: 700; color: var(--t1);
}

/* Bonus-Tags */
.io-bonus-row {
  display: flex; flex-wrap: wrap; gap: 5px;
  margin-bottom: 10px; padding-left: 52px;
}
.io-bonus-tag {
  font-size: 9px; padding: 2px 8px; border-radius: 4px;
  background: rgba(45,212,127,.1); color: #2dd47f;
  border: 1px solid rgba(45,212,127,.2);
}

/* Action-Button */
.io-action { padding-left: 52px; }
.io-btn {
  width: 100%; padding: 9px 14px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 6px; color: var(--t2);
  font-size: 11px; font-family: 'Outfit', sans-serif;
  cursor: pointer; transition: all .15s; text-align: center;
}
.io-btn[disabled] { opacity: .45; cursor: not-allowed; }
.io-btn-buy {
  background: rgba(45,212,127,.1);
  border-color: rgba(45,212,127,.3); color: #2dd47f;
  font-weight: 600;
}
.io-btn-buy:not([disabled]):hover {
  background: rgba(45,212,127,.2); box-shadow: 0 0 12px rgba(45,212,127,.15);
}
.io-btn-cancel {
  background: rgba(255,60,40,.08);
  border-color: rgba(255,60,40,.25); color: #ff6050;
}
.io-btn-cancel:hover { background: rgba(255,60,40,.15); }

@media (max-width: 600px) {
  .immo-overview { grid-template-columns: repeat(2, 1fr); }
  .io-stats-row, .io-bonus-row, .io-action, .io-desc { padding-left: 0; }
  .io-head { flex-wrap: wrap; }
  .immo-tab2 { padding: 7px 10px; font-size: 10px; }
  .it2-n { display: none; }
}

/* ══════════════════════════════════════════════════════════════
   MONATSBERICHT — Neues Dark-Modal-Design mit Tabs
   ══════════════════════════════════════════════════════════════ */

/* Wrapper: .news-screen bleibt in scene.js, modal darin */
.mnw-modal {
  max-width: 520px; width: 100%; margin: 0 auto;
  background: rgba(4,12,6,.98);
  border: 1px solid rgba(45,185,85,.2);
  border-radius: 14px; overflow: hidden;
  font-family: 'Outfit', sans-serif;
  display: flex; flex-direction: column;
  max-height: 88vh;
  box-shadow: 0 24px 80px rgba(0,0,0,.8);
}
.mnw-phase-up  { border-color: rgba(74,158,255,.5); }
.mnw-raid      { border-color: rgba(255,80,50,.5); }
.mnw-win       { border-color: rgba(255,215,0,.5); }
.mnw-good      { border-color: rgba(45,212,127,.45); }
.mnw-bad       { border-color: rgba(255,80,50,.35); }

/* Header */
.mnw-header {
  padding: 14px 18px 10px;
  background: rgba(2,8,4,.8);
  border-bottom: 1px solid rgba(45,185,85,.1);
  flex-shrink: 0;
}
.mnw-header-top {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px;
}
.mnw-date {
  font-size: 9px; color: rgba(45,185,85,.55);
  font-family: 'Space Mono', monospace; letter-spacing: 1.5px; text-transform: uppercase;
}
.mnw-badge {
  font-size: 10px; font-weight: 700; font-family: 'Syne', sans-serif;
  color: rgba(45,185,85,.8); letter-spacing: .5px;
}
.mnw-badge-phase-up { color: #7eb8ff; }
.mnw-badge-raid     { color: #ff6040; }
.mnw-badge-win      { color: #ffd700; }
.mnw-badge-good     { color: #2dd47f; }
.mnw-badge-bad      { color: #ff7050; }

/* Ticker */
.mnw-ticker {
  font-size: 9px; color: rgba(45,185,85,.5); font-family: 'Space Mono', monospace;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  margin-top: 4px; letter-spacing: .3px;
}

/* Tabs */
.mnw-tabs {
  display: flex; gap: 0;
  border-bottom: 1px solid rgba(45,185,85,.1);
  background: rgba(2,6,3,.6);
  flex-shrink: 0;
}
.mnw-tab {
  flex: 1; padding: 9px 6px;
  font-size: 10px; font-weight: 600; font-family: 'Space Mono', monospace;
  color: rgba(45,185,85,.4);
  background: transparent; border: none; border-bottom: 2px solid transparent;
  cursor: pointer; transition: all .15s; letter-spacing: .3px;
}
.mnw-tab:hover { color: rgba(45,185,85,.7); background: rgba(45,185,85,.05); }
.mnw-tab.active { color: #2db955; border-bottom-color: #2db955; background: rgba(45,185,85,.06); }

/* Body / Panes */
.mnw-body { flex: 1; overflow-y: auto; padding: 2px 0; }
.mnw-pane { display: none; padding: 14px 18px; }
.mnw-pane.active { display: block; }

/* Sections */
.mnw-section { margin-bottom: 16px; }
.mnw-section-title {
  font-size: 8.5px; letter-spacing: 2px; color: rgba(45,185,85,.45);
  font-family: 'Space Mono', monospace; text-transform: uppercase;
  margin-bottom: 10px; padding-bottom: 4px;
  border-bottom: 1px solid rgba(45,185,85,.08);
}

/* Finance grid */
.mnw-finance-grid { display: flex; flex-direction: column; gap: 5px; }
.mnw-fin-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 3px 0; font-size: 11px;
}
.mnw-fin-lbl { color: rgba(200,220,200,.6); }
.mnw-fin-val { font-weight: 600; font-family: 'Syne', sans-serif; font-size: 12px; }
.mnw-fin-val.pos { color: #2dd47f; }
.mnw-fin-val.neg { color: #ff7060; }
.mnw-fin-total {
  margin-top: 4px; padding-top: 7px;
  border-top: 1px solid rgba(45,185,85,.15);
}
.mnw-fin-div {
  border-top: 1px solid rgba(45,185,85,.08);
  margin: 5px 0;
}

/* Member stats */
.mnw-member-row { display: flex; gap: 10px; margin-bottom: 8px; }
.mnw-mem-stat {
  flex: 1; background: rgba(8,20,10,.6); border: 1px solid rgba(45,185,85,.1);
  border-radius: 8px; padding: 10px 8px; text-align: center;
}
.mnw-mem-total { border-color: rgba(45,185,85,.22); }
.mnw-mem-n { font-size: 22px; font-weight: 800; font-family: 'Syne', sans-serif; line-height: 1; }
.mnw-mem-l { font-size: 8.5px; color: rgba(200,220,200,.5); margin-top: 3px; font-family: 'Space Mono', monospace; }
.mnw-loss-reason {
  font-size: 10px; color: rgba(255,150,80,.8);
  background: rgba(255,100,50,.06); border: 1px solid rgba(255,100,50,.2);
  border-radius: 6px; padding: 7px 10px; margin-top: 6px;
}
.mnw-phase-badge {
  display: flex; align-items: center; gap: 12px;
  background: rgba(74,158,255,.08); border: 1px solid rgba(74,158,255,.3);
  border-radius: 10px; padding: 12px 14px; margin-top: 6px;
}
.mnw-pb-seal { font-size: 28px; flex-shrink: 0; }
.mnw-pb-title { font-size: 13px; font-weight: 700; color: #7eb8ff; font-family: 'Syne', sans-serif; }
.mnw-pb-sub { font-size: 10px; color: rgba(126,184,255,.6); margin-top: 2px; }

/* Grow grid */
.mnw-grow-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.mnw-grow-item {
  background: rgba(8,20,10,.6); border: 1px solid rgba(45,185,85,.1);
  border-radius: 8px; padding: 10px 12px; text-align: center;
}
.mnw-gi-ready { border-color: rgba(45,212,127,.4); background: rgba(45,212,127,.06); }
.mnw-gi-val { font-size: 20px; font-weight: 800; font-family: 'Syne', sans-serif; color: #cce8cc; }
.mnw-gi-lbl { font-size: 8px; color: rgba(200,220,200,.5); margin-top: 3px; font-family: 'Space Mono', monospace; }

/* Supply bar */
.mnw-supply-bar-wrap { margin-bottom: 12px; }
.mnw-supply-label {
  display: flex; justify-content: space-between; font-size: 10px;
  color: rgba(200,220,200,.6); margin-bottom: 5px;
}
.mnw-supply-track {
  height: 7px; background: rgba(45,185,85,.1); border-radius: 4px; overflow: hidden;
}
.mnw-supply-fill { height: 100%; border-radius: 4px; transition: width .4s; }

/* Lager stats */
.mnw-lager-stats { display: flex; flex-direction: column; gap: 5px; }
.mnw-ls-row {
  display: flex; justify-content: space-between; font-size: 10px;
  color: rgba(200,220,200,.65); padding: 3px 0;
  border-bottom: 1px solid rgba(45,185,85,.06);
}

/* Stimmen */
.mnw-stimmen { display: flex; flex-direction: column; gap: 8px; }
.mnw-stimme {
  display: flex; align-items: flex-start; gap: 10px;
  background: rgba(6,16,8,.6); border: 1px solid rgba(45,185,85,.08);
  border-radius: 8px; padding: 9px 12px;
}
.mnw-st-icon { font-size: 18px; flex-shrink: 0; line-height: 1.3; }
.mnw-st-body { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.mnw-st-typ { font-size: 9px; font-weight: 700; font-family: 'Space Mono', monospace; letter-spacing: .5px; }
.mnw-st-text { font-size: 11px; color: rgba(200,220,200,.7); line-height: 1.5; font-style: italic; }

/* Personal */
.mnw-personal { display: flex; flex-direction: column; gap: 6px; }
.mnw-personal-row {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 6px 10px;
  background: rgba(4,12,20,.6); border: 1px solid rgba(45,140,255,.1);
  border-radius: 7px; font-size: 10px;
}
.mnw-pr-icon { font-size: 14px; flex-shrink: 0; }
.mnw-pr-text { color: rgba(180,210,220,.7); line-height: 1.55; }
.mnw-pr-text strong { color: rgba(45,140,255,.9); }

/* Event cards */
.mnw-events { display: flex; flex-direction: column; gap: 8px; }
.mnw-event-card {
  background: rgba(6,16,8,.7); border: 1px solid rgba(45,185,85,.12);
  border-radius: 9px; padding: 10px 12px;
  display: flex; align-items: flex-start; gap: 10px;
}
.mnw-ec-ach    { border-color: rgba(255,215,0,.25); background: rgba(255,215,0,.04); }
.mnw-ec-hist   { border-color: rgba(100,150,255,.2); }
.mnw-ec-pol    { border-color: rgba(150,100,255,.2); }
.mnw-ec-markt  { border-color: rgba(45,212,127,.2); }
.mnw-ec-event  {
  flex-direction: column; gap: 6px; border-color: rgba(255,180,0,.3);
  background: rgba(255,150,0,.05);
}
.mnw-ec-icon { font-size: 20px; flex-shrink: 0; }
.mnw-ec-body { flex: 1; }
.mnw-ec-title { font-size: 11px; font-weight: 700; color: #d4ecd4; margin-bottom: 2px; }
.mnw-ec-sub   { font-size: 10px; color: rgba(200,220,200,.6); line-height: 1.5; }
.mnw-ec-event-cat   { font-size: 8px; letter-spacing: 1.5px; color: rgba(255,180,0,.7); font-family: 'Space Mono', monospace; text-transform: uppercase; }
.mnw-ec-event-title { font-size: 12px; font-weight: 700; color: #ffd47f; margin: 4px 0 3px; }
.mnw-ec-event-text  { font-size: 10px; color: rgba(200,220,200,.7); line-height: 1.55; margin-bottom: 8px; }
.mnw-ec-event-opts  { display: flex; gap: 8px; flex-wrap: wrap; }
.mnw-ev-btn {
  padding: 6px 14px; font-size: 10px; font-weight: 600;
  background: rgba(45,185,85,.14); color: #2db955;
  border: 1px solid rgba(45,185,85,.35); border-radius: 6px; cursor: pointer;
  font-family: 'Space Mono', monospace; transition: all .15s;
}
.mnw-ev-btn:hover { background: rgba(45,185,85,.25); }
.mnw-empty { font-size: 11px; color: rgba(200,220,200,.4); text-align: center; padding: 20px 0; font-style: italic; }

/* Footer */
.mnw-footer {
  padding: 12px 18px; border-top: 1px solid rgba(45,185,85,.1);
  background: rgba(2,8,4,.8); flex-shrink: 0;
}
.mnw-continue {
  width: 100%; padding: 11px 0;
  font-size: 12px; font-weight: 700; font-family: 'Syne', sans-serif; letter-spacing: .5px;
  background: rgba(45,185,85,.16); color: #2db955;
  border: 1px solid rgba(45,185,85,.38); border-radius: 8px;
  cursor: pointer; transition: all .15s;
}
.mnw-continue:hover { background: rgba(45,185,85,.26); box-shadow: 0 0 18px rgba(45,185,85,.15); }
.mnw-continue:active { transform: scale(.98); }

/* Mobile adjustments */
@media (max-width: 600px) {
  .mnw-modal { max-height: 92vh; border-radius: 10px; }
  .mnw-tab   { font-size: 9px; padding: 8px 4px; }
  .mnw-pane  { padding: 12px 14px; }
  .mnw-grow-grid { grid-template-columns: 1fr 1fr; }
}

/* Keep old news-paper styles for any legacy fallbacks */
.news-paper {
  max-width: 480px; margin: 0 auto;
  background: rgba(6,18,10,.97);
  border: 1px solid rgba(45,212,127,.18);
  border-radius: 10px; overflow: hidden;
  font-family: 'Outfit', sans-serif;
}

  background: rgba(0,0,0,.3);
}
.news-date-line {
  font-size: 9px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--t2); margin-bottom: 4px;
}
.news-h1 {
  font-family: 'Syne', sans-serif; font-size: 22px; font-weight: 900;
  color: #2dd47f; letter-spacing: 1px; line-height: 1.1;
}
.news-h1.phase-up { color: #4a9eff; }
.news-h1.raid     { color: #ff5030; }
.news-h1.win      { color: #ffd700; }
.news-h1.good     { color: #2dd47f; }
.news-h1.bad      { color: #ff7040; }
.news-subtitle {
  font-size: 11px; color: var(--t2); margin-top: 2px;
}

/* Genehmigung-Banner */
.news-genehmigung {
  margin: 12px 20px;
  background: rgba(74,158,255,.06);
  border: 1px solid rgba(74,158,255,.25);
  border-radius: 8px; padding: 12px 16px;
  text-align: center;
}
.ng-seal { font-size: 24px; margin-bottom: 4px; }
.ng-title {
  font-family: 'Syne', sans-serif; font-size: 13px; font-weight: 800;
  letter-spacing: 2px; color: #4a9eff;
}
.ng-body  { font-size: 10px; color: var(--t2); margin: 4px 0; }
.ng-stamp {
  font-size: 8px; letter-spacing: 3px; color: #4a9eff;
  opacity: .5; margin-top: 4px;
}

/* Zahlen-Grid */
.news-stats-grid {
  display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1px; margin: 12px 20px;
}
.nsg-item {
  background: rgba(255,255,255,.03);
  border-radius: 6px; padding: 10px 8px; text-align: center;
}
.nsg-item.highlight {
  background: rgba(45,212,127,.06);
  border: 1px solid rgba(45,212,127,.15);
}
.nsg-label { font-size: 8px; text-transform: uppercase; letter-spacing: .8px; color: var(--t2); margin-bottom: 4px; }
.nsg-val   { font-family: 'Space Mono', monospace; font-size: 13px; font-weight: 700; }
.nsg-val.pos { color: #2dd47f; }
.nsg-val.neg { color: #ff5030; }

/* Kreisdiagramm */
.news-pie-section {
  display: flex; align-items: center; gap: 16px;
  margin: 0 20px 14px; padding: 12px 16px;
  background: rgba(255,255,255,.02);
  border-radius: 8px; border: 1px solid rgba(255,255,255,.06);
}
.news-pie-legend { flex: 1; }
.npl-row {
  display: flex; align-items: center; gap: 6px;
  font-size: 10px; color: var(--t2); margin-bottom: 4px;
}
.npl-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

/* Ticker */
.news-ticker {
  margin: 0 20px 12px;
  padding: 8px 12px;
  background: rgba(45,212,127,.05);
  border-radius: 6px;
  font-size: 10px; color: var(--t2); line-height: 1.6;
}

/* Ereignis-Box */
.news-event-box {
  margin: 0 20px 14px;
  padding: 14px 16px;
  background: rgba(255,180,0,.05);
  border: 1px solid rgba(255,180,0,.2);
  border-radius: 8px;
}
.news-ev-cat {
  font-size: 9px; letter-spacing: 2px; text-transform: uppercase;
  color: #a08040; margin-bottom: 6px;
}
.news-ev-title {
  font-family: 'Syne', sans-serif; font-size: 15px; font-weight: 700;
  color: #d4b860; margin-bottom: 6px;
}
.news-ev-text {
  font-size: 11px; color: #8a7a50; line-height: 1.6; margin-bottom: 10px;
}
.news-ev-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.news-ev-btn {
  padding: 8px 14px; border-radius: 6px; font-size: 11px; font-weight: 600;
  background: rgba(255,180,0,.15); border: 1px solid rgba(255,180,0,.3);
  color: #d4b860; cursor: pointer; transition: all .15s; flex: 1; min-width: 120px;
  font-family: 'Outfit', sans-serif;
}
.news-ev-btn:hover { background: rgba(255,180,0,.25); }
.news-ev-btn.secondary {
  background: rgba(74,158,255,.1); border-color: rgba(74,158,255,.3); color: #4a9eff;
}

/* Weiter-Button */
.news-continue {
  padding: 14px 20px 16px; border-top: 1px solid rgba(255,255,255,.06);
}
.news-continue-btn {
  width: 100%; padding: 12px;
  background: rgba(45,212,127,.12);
  border: 1px solid rgba(45,212,127,.3);
  border-radius: 8px; color: #2dd47f;
  font-family: 'Syne', sans-serif; font-size: 13px; font-weight: 700;
  cursor: pointer; letter-spacing: 1px; transition: all .15s;
}
.news-continue-btn:hover {
  background: rgba(45,212,127,.22); box-shadow: 0 0 16px rgba(45,212,127,.2);
}

/* ── Stimmen des Vereins ─────────────────────────────────────────────── */
.news-stimmen-block {
  background: rgba(5,16,8,.6);
  border: 1px solid rgba(45,185,85,.12);
  border-radius: 8px;
  padding: 12px 14px;
  margin: 10px 0;
}
.nsb-title {
  font-size: 8px; letter-spacing: 2px; color: rgba(45,185,85,.5);
  font-family: 'Space Mono', monospace; text-transform: uppercase;
  margin-bottom: 10px;
}
.news-stimme {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(45,185,85,.06);
}
.news-stimme:last-child { border-bottom: none; }
.ns-icon { font-size: 16px; flex-shrink: 0; line-height: 1.4; }
.ns-body { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.ns-typ  { font-size: 9px; font-weight: 700; letter-spacing: .5px; font-family: 'Space Mono', monospace; }
.ns-text { font-size: 11px; color: var(--t2, #8aaa8a); line-height: 1.5; font-style: italic; }

/* ── Personal-Berichte ───────────────────────────────────────────────── */
.news-personal-block {
  background: rgba(3,12,20,.6);
  border: 1px solid rgba(45,140,255,.1);
  border-radius: 8px;
  padding: 10px 14px;
  margin: 10px 0;
}
.npb-title {
  font-size: 8px; letter-spacing: 2px; color: rgba(100,180,255,.45);
  font-family: 'Space Mono', monospace; text-transform: uppercase;
  margin-bottom: 8px;
}
.npb-line {
  font-size: 10px; color: var(--t2, #8aaa8a);
  padding: 3px 0; line-height: 1.5;
  border-bottom: 1px solid rgba(45,140,255,.05);
}
.npb-line:last-child { border-bottom: none; }

/* Präventions-Pflichthinweis in Vorstandssitzung */
.vs-praev-alert {
  display: flex; gap: 12px; align-items: flex-start;
  background: rgba(255,100,50,.06); border: 1px solid rgba(255,100,50,.3);
  border-radius: 8px; padding: 14px 16px; margin-bottom: 12px;
}
.vpa-icon { font-size: 22px; flex-shrink: 0; }
.vpa-body { flex: 1; }
.vpa-title {
  font-size: 11px; font-weight: 700; color: #ff7040;
  letter-spacing: .5px; margin-bottom: 4px;
}
.vpa-text { font-size: 10px; color: var(--t2); line-height: 1.6; margin-bottom: 8px; }

/* ── Verbände-Cards ─────────────────────────────────────────── */
.vb-card {
  background: var(--card);
  border: 1px solid var(--brd);
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 10px;
  transition: border-color .2s;
}
.vb-card.done {
  border-color: rgba(45,212,133,.4);
  background: rgba(45,212,133,.05);
}
.vb-card:hover { border-color: var(--green); }
.vb-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.vb-icon { font-size:28px; }
.vb-type { font-size:9px; color:var(--dim); letter-spacing:1px; text-transform:uppercase; }
.vb-name { font-size:14px; font-weight:700; font-family:var(--fm); color:var(--green); }
.vb-full { font-size:10px; color:var(--t2); }
.vb-phase { margin-left:auto; font-size:9px; color:var(--amber); white-space:nowrap; }
.vb-joined { margin-left:auto; font-size:10px; color:var(--green); }
.vb-desc { font-size:10px; color:var(--t2); margin-bottom:6px; }
.vb-effect { font-size:10px; color:var(--cy); margin-bottom:6px; }
.vb-tip { font-size:9px; color:var(--dim); font-style:italic; margin-bottom:8px; }
.vb-done-msg { font-size:10px; color:var(--green); padding:4px 0; }
.vb-blocked { font-size:10px; color:var(--amber); padding:4px 0; }
.vb-lf-row { display:flex; align-items:center; gap:8px; padding:5px 0; border-bottom:1px solid var(--brd); }
.vb-lf-row.done .vb-lf-name { color:var(--green); }
.vb-lf-row.locked { opacity:.5; }
.vb-lf-img { font-size:16px; }
.vb-lf-body { flex:1; }
.vb-lf-name { font-size:10px; font-weight:600; }
.vb-lf-bar { height:3px; background:var(--brd); border-radius:2px; margin-top:2px; }
.vb-lf-fill { height:100%; border-radius:2px; transition:width .4s; }
.vb-lf-pct { font-size:9px; font-weight:700; min-width:24px; text-align:right; }
.vb-lf-grid { display:flex; flex-direction:column; }

/* ── Kreditgeber-Cards ─────────────────────────────────────── */
.kg-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(max-width:600px){ .kg-grid { grid-template-columns:1fr; } }
.kg-card {
  background: var(--card);
  border: 1px solid var(--brd);
  border-radius: 10px;
  padding: 12px;
  transition: border-color .2s;
}
.kg-card.locked { opacity:.6; filter:grayscale(.4); }
.kg-card:not(.locked):hover { border-color:var(--cy); }
.kg-head { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.kg-icon { font-size:22px; }
.kg-body { flex:1; }
.kg-name { font-size:12px; font-weight:700; }
.kg-zins { font-size:9px; color:var(--t2); }
.kg-trust { font-size:11px; font-weight:700; }
.kg-desc { font-size:10px; color:var(--t2); margin-bottom:6px; }
.kg-max { font-size:10px; color:var(--dim); margin-bottom:8px; }
.kg-locked { font-size:9px; color:var(--amber); padding:4px 0; }

/* ── Labor-Aktions-Zeilen ──────────────────────────────────── */
.lab-act-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid var(--brd);
  font-size: 10px;
}
.lab-act-row:last-child { border-bottom: none; }

/* ── Lobby Screen ───────────────────────────────────────────── */
.lobby-screen { display:flex; flex-direction:column; gap:10px; }

/* ── Rep-Boosts ─────────────────────────────────────────────── */
.rb-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:8px; }
.rb-card { background:var(--card); border:1px solid var(--brd); border-radius:10px; padding:10px; }
.rb-card.locked { opacity:.5; }
.rb-head { display:flex; align-items:center; gap:6px; margin-bottom:4px; }
.rb-name { font-size:11px; font-weight:700; }
.rb-desc { font-size:9px; color:var(--t2); margin-bottom:4px; }
.rb-effect { font-size:9px; color:var(--cy); }

/* ── Organigramm ────────────────────────────────────────────── */
.org-panel { padding:10px 0; }
.org-tier1,.org-tier2,.org-tier3 { display:flex; justify-content:center; gap:10px; margin-bottom:10px; }

/* ── Kalender ───────────────────────────────────────────────── */
.kal-row { display:flex; align-items:flex-start; gap:10px; padding:8px 0; border-bottom:1px solid var(--brd); }
.kal-row.booked { background:rgba(45,212,133,.06); border-radius:6px; padding:8px; }
.kal-ico { font-size:20px; min-width:26px; text-align:center; }
.kal-body { flex:1; }
.kal-title { font-size:11px; font-weight:600; }
.kal-desc { font-size:9px; color:var(--t2); }
.kal-badge { font-size:8px; padding:2px 6px; border-radius:8px; }

/* ── Stadtplan ──────────────────────────────────────────────── */
.stadtplan-screen { position:relative; }
.sp-building { cursor:pointer; transition:opacity .15s; }
.sp-building:hover { opacity:.8; }
.sp-dot { width:8px; height:8px; border-radius:50%; background:var(--green); }

/* ── Grow Slot Grid ─────────────────────────────────────────── */
.grow-slot-grid { display:grid; gap:8px; }
.grow-quick-nav { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }

/* ── Markt Sorten ───────────────────────────────────────────── */
.mkt-seed-list { display:flex; flex-direction:column; gap:6px; }
.mkt-seed-row { display:flex; align-items:center; gap:10px; background:var(--card); border:1px solid var(--brd); border-radius:8px; padding:8px 10px; }
.mkt-seed-body { flex:1; }
.mkt-seed-name { font-size:11px; font-weight:600; }
.mkt-seed-meta { font-size:9px; color:var(--t2); }
.mkt-seed-action { margin-left:auto; }
.mkt-seed-owned { font-size:9px; color:var(--green); }
.kurs-card { background:var(--card); border:1px solid var(--brd); border-radius:8px; padding:8px; }

/* ── Herbarium ──────────────────────────────────────────────── */
.herb-screen { display:flex; flex-direction:column; gap:10px; }
.herb-panel { background:var(--card); border:1px solid var(--brd); border-radius:10px; padding:12px; }

/* ── Gebäude Screen ─────────────────────────────────────────── */
.gebaeude-screen { display:flex; flex-direction:column; gap:10px; }

/* ── Mitglieder Detail ──────────────────────────────────────── */
.md-page { display:flex; flex-direction:column; gap:10px; }

/* ── Staff Cards ────────────────────────────────────────────── */
.staff-card { background:var(--card); border:1px solid var(--brd); border-radius:10px; padding:10px; margin-bottom:6px; transition:border-color .2s; }
.staff-card.hired { border-color:rgba(45,212,133,.4); background:rgba(45,212,133,.04); }
.staff-card:hover { border-color:var(--green); }
.staff-head { display:flex; align-items:center; gap:8px; }

/* ── Produktions-Kalkulator ─────────────────────────────────── */
.prod-kalk { margin-top:10px; }
.cf-row { display:flex; align-items:center; justify-content:space-between; padding:5px 0; border-bottom:1px solid var(--brd); font-size:10px; }

/* ── Inventar ───────────────────────────────────────────────── */
.inv-item { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--brd); font-size:10px; }

/* ── Aktivismus ─────────────────────────────────────────────── */
.akt-ap { font-size:9px; color:var(--dim); }
.act-ico { font-size:20px; }

/* ── Vitrine ────────────────────────────────────────────────── */
.vitrinenreihe { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.vitrine { background:var(--card); border:1px solid var(--brd); border-radius:8px; padding:8px; min-width:90px; text-align:center; font-size:10px; }

/* ── Ziele ──────────────────────────────────────────────────── */
.goal-n { font-size:10px; font-weight:600; }
.goal-fill { height:4px; border-radius:2px; background:var(--green); transition:width .4s; }

/* ── Partner / Rival ────────────────────────────────────────── */
.partner,.rival { background:var(--card); border:1px solid var(--brd); border-radius:8px; padding:8px; font-size:10px; }
.player { font-size:10px; padding:4px 0; }
.neutral { color:var(--t2); }

/* ── Phase Tracker ──────────────────────────────────────────── */
.phase-entry { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--brd); }
.phase-e-num { font-size:10px; font-weight:700; color:var(--green); min-width:20px; }
.phase-prog-bar { height:3px; background:var(--brd); border-radius:2px; margin-top:2px; }

/* ── Diverse ────────────────────────────────────────────────── */
.checkbox { width:14px; height:14px; border:2px solid var(--brd); border-radius:3px; display:inline-block; }
.equip { font-size:10px; display:flex; align-items:center; gap:6px; padding:4px 0; }
.be-panel { background:var(--card); border:1px solid var(--brd); border-radius:10px; padding:12px; }
.total { font-size:12px; font-weight:700; border-top:2px solid var(--brd); padding-top:6px; margin-top:4px; }
.xs { font-size:8px !important; }

/* ── Aufnahme-Panel ergänzend ───────────────────────────────── */
.ap-panel { }
.ap-step-count { min-width:20px; text-align:center; font-size:11px; font-weight:700; color:var(--dim); }
.ap-step-count.has { color:var(--green); background:rgba(45,212,133,.15); border-radius:10px; padding:0 4px; }

/* ── Room Heroes ────────────────────────────────────────────── */
.room-hero { width:100%; border-radius:10px; overflow:hidden; margin-bottom:8px; }
.room-hero-grow { background:linear-gradient(135deg,rgba(0,30,10,.9),rgba(0,15,5,.95)); }
.room-hero-ausgabe { background:linear-gradient(135deg,rgba(20,20,40,.9),rgba(10,10,25,.95)); }

/* ══════════════════════════════════════════════════════════════
   PERSONAL SCREEN
══════════════════════════════════════════════════════════════ */
.pers-active-bar { background:rgba(45,212,133,.08); border:1px solid rgba(45,212,133,.3); border-radius:10px; padding:10px 14px; margin-bottom:10px; }
.pab-lbl { font-size:9px; color:var(--dim); text-transform:uppercase; letter-spacing:1px; margin-bottom:6px; }
.pab-list { display:flex; flex-wrap:wrap; gap:6px; }
.pab-chip { display:flex; align-items:center; gap:4px; background:rgba(255,255,255,.06); border-radius:6px; padding:3px 8px; font-size:10px; }
.pab-lohn { color:var(--amber); font-size:9px; }
.pab-total { margin-top:4px; font-size:10px; font-weight:700; color:var(--amber); width:100%; }
.pers-links { margin-bottom:10px; }
.pers-hired-badge { font-size:9px; color:var(--green); background:rgba(45,212,133,.15); border-radius:6px; padding:2px 8px; white-space:nowrap; }

/* Hot-Seat Setup Cards */
.hs-city-opt, .hs-sc-opt {
  padding: 8px; border: 1px solid rgba(45,185,85,.15); border-radius: 8px;
  cursor: pointer; background: rgba(8,18,8,.5); transition: all .15s;
  user-select: none;
}
.hs-city-opt:hover, .hs-sc-opt:hover { border-color: rgba(45,212,85,.4); background: rgba(45,212,85,.06); }
.hs-city-opt.sel, .hs-sc-opt.sel { border-color: rgba(45,212,85,.7); background: rgba(45,212,85,.12); box-shadow: 0 0 0 1px rgba(45,212,85,.3); }

/* Personal-Screen Cards */
.pers-card {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 10px; border-radius: 8px; margin-bottom: 6px;
  border: 1px solid rgba(45,185,85,.1);
  background: rgba(8,18,8,.5);
  transition: border-color .15s;
}
.pers-hired  { border-color: rgba(45,212,85,.25); background: rgba(45,212,85,.04); }
.pers-locked { opacity: .55; pointer-events: none; }
.pers-icon   { font-size: 22px; flex-shrink: 0; line-height: 1; margin-top: 2px; }
.pers-info   { flex: 1; min-width: 0; }
.pers-name   { font-size: 11px; font-weight: 700; color: var(--fg); margin-bottom: 3px; }
.pers-effect { font-size: 9px; color: var(--t2); line-height: 1.5; }
.pers-upkeep { font-size: 9px; color: var(--amber); margin-top: 4px; font-family: var(--fm); }

/* ══════════════════════════════════════════════════════════════
   LOBBY SCREEN
══════════════════════════════════════════════════════════════ */
.lobby-tabs { display:flex; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.lobby-tab { font-size:10px; font-weight:700; padding:4px 10px; border-bottom:2px solid; cursor:pointer; }
.lobby-stat-bar { display:flex; gap:0; background:var(--raised); border-radius:8px; overflow:hidden; margin-bottom:0; }
.lsb-item { flex:1; text-align:center; padding:8px 4px; border-right:1px solid var(--brd); }
.lsb-item:last-child { border-right:none; }
.lsb-val { display:block; font-size:16px; font-weight:700; font-family:var(--fm); }
.lsb-lbl { font-size:8px; color:var(--dim); text-transform:uppercase; letter-spacing:.5px; }
.lobby-group { margin-bottom:16px; }
.lobby-group-head { font-size:11px; font-weight:700; letter-spacing:.5px; margin-bottom:8px; padding-bottom:4px; border-bottom:1px solid var(--brd); }
.lobby-card { background:var(--card); border:1px solid var(--brd); border-radius:10px; padding:12px; margin-bottom:8px; transition:border-color .2s; }
.lobby-card:hover { border-color:rgba(255,255,255,.2); }
.lobby-card.done { border-color:rgba(45,212,133,.3); background:rgba(45,212,133,.04); opacity:.75; }
.lobby-card.locked { opacity:.4; }
.lc-top { display:flex; align-items:flex-start; gap:10px; margin-bottom:8px; }
.lc-img { font-size:24px; min-width:30px; text-align:center; }
.lc-info { flex:1; }
.lc-name { font-size:12px; font-weight:700; margin-bottom:2px; }
.lc-desc { font-size:10px; color:var(--t2); margin-bottom:3px; }
.lc-meta { font-size:9px; color:var(--dim); font-style:italic; }
.lc-reward { font-size:9px; color:var(--cy); background:rgba(0,212,240,.1); border-radius:6px; padding:2px 6px; white-space:nowrap; align-self:flex-start; }
.lc-bottom { display:flex; align-items:center; gap:8px; }
.lc-bar-wrap { flex:1; display:flex; align-items:center; gap:6px; }
.lc-bar { flex:1; height:4px; background:var(--brd); border-radius:2px; overflow:hidden; }
.lc-fill { height:100%; border-radius:2px; transition:width .5s; }
.lc-pct { font-size:9px; color:var(--dim); min-width:24px; text-align:right; }

/* ══════════════════════════════════════════════════════════════
   GROW KAPAZITÄTS-ANZEIGE
══════════════════════════════════════════════════════════════ */
.grow-capacity-bar { display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:var(--raised); border-radius:10px; overflow:hidden; margin-bottom:10px; }
.gcb-item { text-align:center; padding:10px 6px; border-right:1px solid var(--brd); }
.gcb-item:last-child { border-right:none; }
.gcb-val { display:block; font-size:15px; font-weight:700; font-family:var(--fm); }
.gcb-lbl { font-size:8px; color:var(--dim); text-transform:uppercase; letter-spacing:.5px; }
.grow-quick-nav { display:flex; gap:6px; flex-wrap:wrap; padding-top:8px; }

/* ══════════════════════════════════════════════════════════════
   DEBUG SCREEN
══════════════════════════════════════════════════════════════ */
.dbg-section { margin-top:8px; }
.dbg-header { font-size:10px; font-weight:700; color:var(--amber); letter-spacing:1px; text-transform:uppercase; margin-bottom:8px; padding:4px 0; border-bottom:1px solid rgba(255,160,0,.3); }
.dbg-info { display:flex; flex-wrap:wrap; gap:8px; font-size:9px; color:var(--t2); padding:6px 8px; background:rgba(255,255,255,.03); border-radius:6px; margin-bottom:8px; }
.dbg-info span { padding:2px 6px; background:rgba(255,255,255,.05); border-radius:4px; }
.dbg-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin-bottom:8px; }
.dbg-btn { background:rgba(255,255,255,.07); border:1px solid var(--brd); border-radius:6px; color:var(--fg); font-size:9px; padding:6px 4px; cursor:pointer; text-align:center; transition:background .15s; }
.dbg-btn:hover { background:rgba(255,255,255,.12); }
.dbg-btn.primary { background:rgba(0,212,240,.15); border-color:rgba(0,212,240,.4); color:var(--cy); }
.dbg-btn.amber { background:rgba(255,160,0,.1); border-color:rgba(255,160,0,.3); color:var(--amber); }
.dbg-btn.red { background:rgba(255,70,70,.1); border-color:rgba(255,70,70,.3); color:var(--red); }
.dbg-state-view { background:rgba(0,0,0,.3); border-radius:6px; padding:6px; }

/* ══════════════════════════════════════════════════════════════
   SACHSPENDEN & MQ-BAR
══════════════════════════════════════════════════════════════ */
.btn.amber { background:rgba(255,160,0,.15); border-color:rgba(255,160,0,.4); color:var(--amber); }

/* Grow Ausstattung */
.grow-cat-block { margin-bottom: 10px; }
.gcb-lbl { font-size: 9px; font-weight: 700; color: var(--t2); text-transform: uppercase;
           letter-spacing: .08em; margin-bottom: 5px; }
.grow-eq-row { display:flex; align-items:center; gap:8px; padding:6px 0;
               border-bottom:1px solid rgba(255,255,255,.04); }
.grow-eq-row:last-child { border-bottom:none; }
.grow-eq-row.owned { opacity:.6; }
.ger-ico { font-size:16px; width:24px; text-align:center; flex-shrink:0; }
.ger-body { flex:1; min-width:0; }
.ger-name { font-size:10px; font-weight:600; color:var(--text); }
.ger-desc { font-size:9px; color:var(--t2); margin-top:1px; line-height:1.3; }

/* Kalender */
.kal-row.kal-now { background:rgba(45,212,127,.07); border-radius:6px;
                   border-left:2px solid var(--green); padding-left:6px; }
.kal-row.kal-soon { border-left:2px solid var(--amber); padding-left:6px; }



/* ─── Sachspende Modal ─────────────────────────────────────────────── */
.sach-list     { display:flex; flex-direction:column; gap:6px; padding:10px 16px 6px; max-height:380px; overflow-y:auto; }
.sach-card     {
  display:grid; grid-template-columns:40px 44px 1fr auto;
  align-items:center; gap:10px;
  padding:10px 12px; border-radius:var(--r);
  background:var(--bg2); border:1px solid var(--border);
  cursor:pointer; transition:all .15s;
}
.sach-card:hover { background:var(--bg3); border-color:var(--green); transform:translateY(-1px); box-shadow:0 3px 12px rgba(45,212,85,.12); }
.sach-cat      { display:flex; flex-direction:column; align-items:center; font-size:18px; line-height:1; }
.sach-cat-lbl  { font-size:8px; color:var(--muted); margin-top:2px; }
.sach-icon     { font-size:26px; text-align:center; }
.sach-body     { min-width:0; }
.sach-name     { font-size:12px; font-weight:700; color:var(--t1); }
.sach-desc     { font-size:10px; color:var(--t2); margin-top:2px; }
.sach-reward   { display:flex; flex-direction:column; align-items:flex-end; gap:3px; white-space:nowrap; }
.sach-rep      { font-size:11px; font-weight:700; color:var(--amber); }
.sach-cash     { font-size:10px; color:var(--green); }

/* ── Labor Analyse-Screen (neu) ────────────────────────────── */
.lab-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 10px;
}
.lab-analyse-all {
  background: linear-gradient(135deg, rgba(45,212,127,.18), rgba(45,185,85,.10));
  border: 1px solid rgba(45,212,127,.5);
  color: #2dd47f; border-radius: 8px; padding: 8px 14px;
  font-size: 11px; font-weight: 700; font-family: var(--fm);
  cursor: pointer; letter-spacing: .5px; transition: all .15s;
  white-space: nowrap;
}
.lab-analyse-all:hover { background: rgba(45,212,127,.28); box-shadow: 0 0 18px rgba(45,212,127,.2); }
.lab-analyse-all:disabled { opacity: .4; cursor: not-allowed; }

/* Geräte-Grid */
.lab-device-grid { display: flex; flex-direction: column; gap: 8px; }
.lab-device {
  background: var(--card); border: 1px solid var(--brd); border-radius: 10px;
  overflow: hidden; transition: border-color .15s;
}
.lab-device.has-todo { border-color: rgba(45,212,127,.3); }
.lab-device-head {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px; background: rgba(0,0,0,.2);
  border-bottom: 1px solid var(--brd);
}
.lab-device-icon { font-size: 18px; flex-shrink: 0; }
.lab-device-meta { flex: 1; min-width: 0; }
.lab-device-name { font-size: 11px; font-weight: 700; color: var(--fg); }
.lab-device-cost { font-size: 9px; color: var(--t2); font-family: var(--fm); margin-top: 1px; }
.lab-device-badge {
  font-size: 9px; font-family: var(--fm); letter-spacing: .5px;
  padding: 2px 7px; border-radius: 10px;
  background: rgba(45,212,127,.12); color: #2db955;
  border: 1px solid rgba(45,212,127,.25);
}
.lab-device-badge.all-done { background: rgba(45,212,127,.2); color: #2dd47f; }

/* Proben-Karten im Gerät */
.lab-proben { padding: 8px 12px; display: flex; flex-direction: column; gap: 6px; }
.lab-probe {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 8px; border-radius: 7px;
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06);
  font-size: 10px; transition: all .12s;
}
.lab-probe:hover { background: rgba(45,212,127,.04); border-color: rgba(45,212,127,.15); }
.lab-probe-info { flex: 1; min-width: 0; }
.lab-probe-name { font-size: 11px; font-weight: 600; color: var(--fg); }
.lab-probe-sub { font-size: 9px; color: var(--t2); margin-top: 1px; }
.lab-probe-chip {
  font-size: 9px; font-family: var(--fm); padding: 2px 7px; border-radius: 8px;
  white-space: nowrap; flex-shrink: 0;
}
.lab-probe-chip.done { background: rgba(45,212,127,.15); color: #2dd47f; border: 1px solid rgba(45,212,127,.3); }
.lab-probe-chip.todo { background: rgba(255,180,0,.08); color: #ffb400; border: 1px solid rgba(255,180,0,.25); }
.lab-probe-btn {
  font-size: 9px; font-family: var(--fm); padding: 3px 9px; border-radius: 6px;
  background: rgba(45,212,127,.1); border: 1px solid rgba(45,212,127,.3);
  color: #2dd47f; cursor: pointer; white-space: nowrap; flex-shrink: 0;
  transition: all .12s;
}
.lab-probe-btn:hover { background: rgba(45,212,127,.22); }
.lab-probe-btn:disabled { opacity: .35; cursor: not-allowed; }

/* Keine Geräte — Onboarding */
.lab-onboard {
  background: var(--card); border: 1px dashed rgba(45,212,127,.2); border-radius: 12px;
  padding: 24px; text-align: center;
}
.lab-onboard-icon { font-size: 40px; margin-bottom: 8px; }
.lab-onboard-title { font-size: 13px; font-weight: 700; color: var(--fg); margin-bottom: 6px; }
.lab-onboard-sub { font-size: 10px; color: var(--t2); line-height: 1.6; }

/* Shop kompakter im Analyse-Screen */
.lab-shop-strip {
  background: var(--card); border: 1px solid var(--brd); border-radius: 10px;
  padding: 10px 12px; margin-top: 8px;
}
.lab-shop-strip .ph { margin-bottom: 8px; }

/* Einheitliche Lab-Equipment Grid-Cards */
.lab-eq-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px;
}
.lab-eq-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  transition: border-color .15s, background .15s;
  min-height: 155px;
}
.lab-eq-card.buyable { border-color: rgba(45,212,127,.2); }
.lab-eq-card.buyable:hover { background: rgba(45,212,127,.04); border-color: rgba(45,212,127,.35); }
.lab-eq-card.locked { opacity: .5; }
.leq-icon   { font-size: 22px; margin-bottom: 4px; }
.leq-name   { font-size: 11px; font-weight: 700; color: var(--fg); line-height: 1.3; margin-bottom: 3px; }
.leq-desc   { font-size: 9px; color: var(--t2); line-height: 1.4; flex: 1; }
.leq-bonus  { font-size: 9px; color: var(--cy, #00d4f0); margin-top: 3px; }
.leq-foot   { margin-top: auto; padding-top: 7px; display: flex; flex-direction: column; gap: 4px; }
.leq-price  { font-size: 11px; font-weight: 700; color: var(--green); font-family: var(--fm); }
.leq-price.cant { color: var(--re); }
.leq-lock   { font-size: 9px; color: var(--amber); }
.leq-buy    { width: 100%; font-size: 9px !important; padding: 3px 6px !important; }

/* ══════════════════════════════════════════════════════════════════════════════
   MONATSBERICHT v2 — Tab-Design, dunkel
══════════════════════════════════════════════════════════════════════════════ */
.rpt2-modal {
  font-family: var(--f-body);
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.rpt2-header {
  text-align: center;
  padding: 16px 8px 12px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 0;
}
.rpt2-month {
  font-size: 11px;
  color: var(--t2);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 2px;
}
.rpt2-title {
  font-family: var(--f-head);
  font-size: 20px;
  color: var(--green);
  letter-spacing: .08em;
}
.rpt2-sub {
  font-size: 10px;
  color: var(--dim);
  margin-top: 2px;
}
.rpt-tabs {
  display: flex;
  gap: 4px;
  padding: 10px 0 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 0;
}
.rpt-tab {
  flex: 1;
  padding: 7px 4px;
  font-size: 10px;
  font-family: var(--f-body);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--t2);
  cursor: pointer;
  transition: .15s;
  white-space: nowrap;
}
.rpt-tab.active {
  color: var(--green);
  border-bottom-color: var(--green);
}
.rpt2-content {
  flex: 1;
  overflow-y: auto;
  padding: 12px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rpt2-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px;
  padding: 12px;
}
.rpt2-card-hd {
  font-size: 10px;
  font-weight: 700;
  color: var(--t2);
  letter-spacing: .10em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.rpt2-stat {
  background: rgba(255,255,255,.04);
  border-radius: 8px;
  padding: 8px;
  text-align: center;
}

/* ══════════════════════════════════════════════════════════════════════════════
   ENTSCHEIDUNGS-MODAL v2 — dunkel, konsistent
══════════════════════════════════════════════════════════════════════════════ */
.dec2-box {
  background: linear-gradient(160deg, #0c1822 0%, #080f18 100%);
  border: 1px solid var(--dec-accent, var(--cyan));
  border-radius: 16px;
  padding: 20px;
  max-width: 480px;
  width: 100%;
  box-shadow: 0 0 40px rgba(0,0,0,.7), 0 0 20px color-mix(in srgb, var(--dec-accent, var(--cyan)) 20%, transparent);
  animation: dec2-in .25s ease;
}
@keyframes dec2-in {
  from { transform: translateY(20px) scale(.96); opacity: 0; }
  to   { transform: none; opacity: 1; }
}
.dec2-header {
  text-align: center;
  margin-bottom: 16px;
}
.dec2-icon {
  font-size: 36px;
  margin-bottom: 8px;
}
.dec2-cat {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.dec2-title {
  font-family: var(--f-head);
  font-size: 18px;
  color: var(--fg);
  margin-bottom: 8px;
}
.dec2-text {
  font-size: 11px;
  color: var(--t2);
  line-height: 1.6;
}
.dec2-opts {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dec2-opt {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 10px;
  padding: 12px;
  text-align: left;
  cursor: pointer;
  transition: .15s;
  color: var(--fg);
  font-family: var(--f-body);
  position: relative;
  overflow: hidden;
}
.dec2-opt::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--dec-opt-accent, var(--cyan));
  opacity: 0;
  transition: .15s;
}
.dec2-opt:hover {
  background: rgba(255,255,255,.07);
  border-color: var(--dec-opt-accent, var(--cyan));
}
.dec2-opt:hover::before { opacity: 1; }
.dec2-opt-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.dec2-opt-letter {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--dec-opt-accent, var(--cyan));
  color: #000;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dec2-opt-name {
  font-size: 12px;
  font-weight: 600;
  flex: 1;
}
.dec2-opt-cost {
  font-size: 10px;
  color: var(--amber);
  font-family: var(--fm);
  white-space: nowrap;
}
.dec2-opt-desc {
  font-size: 10px;
  color: var(--t2);
  line-height: 1.4;
  padding-left: 30px;
}
.dec2-opt-result {
  font-size: 9px;
  color: var(--dim);
  padding-left: 30px;
  margin-top: 3px;
  font-style: italic;
}


/* ═══════════════════════════════════════════════════════════════════════════
   JAHRESVERSAMMLUNG — Eigene Szene
   ═══════════════════════════════════════════════════════════════════════════ */
.jv-screen {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 20px;
}
.jv-header {
  background: linear-gradient(160deg, #0c1f30 0%, #061018 100%);
  border: 1px solid rgba(45,212,127,.25);
  border-radius: 14px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 0 30px rgba(45,212,127,.08);
}
.jv-badge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 8px;
  border: 1px solid rgba(45,212,127,.3);
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  background: rgba(45,212,127,.06);
}
.jv-title {
  font-family: var(--f-head);
  font-size: 22px;
  color: var(--fg);
  margin-bottom: 4px;
}
.jv-sub {
  font-size: 10px;
  color: var(--t2);
}
.jv-agenda-list {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 14px;
}
.jv-agenda-item {
  display: grid;
  grid-template-columns: 20px 22px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 8px 6px;
  border-radius: 8px;
  margin-bottom: 4px;
  transition: .15s;
}
.jv-agenda-item.active {
  background: rgba(45,212,127,.08);
  border: 1px solid rgba(45,212,127,.2);
}
.jv-agenda-num {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: var(--t2);
  font-size: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.jv-agenda-icon { font-size: 14px; }
.jv-agenda-text { font-size: 11px; color: var(--fg); }
.jv-agenda-type { font-size: 9px; color: var(--dim); }
.jv-step-hd {
  font-family: var(--f-head);
  font-size: 18px;
  color: var(--fg);
  margin-bottom: 4px;
}
.jv-step-sub {
  font-size: 10px;
  color: var(--t2);
  margin-bottom: 12px;
  line-height: 1.5;
}

/* ══════════════════════════════════════════════════════════════════════════════
   JAHRESVERSAMMLUNG — Eigenständige Szene
══════════════════════════════════════════════════════════════════════════════ */
.jv-screen {
  padding: 0 4px;
  min-height: 200px;
}
.jv-header {
  text-align: center;
  padding: 16px 8px 14px;
  margin-bottom: 12px;
}
.jv-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--green);
  background: rgba(45,212,127,.1);
  border: 1px solid rgba(45,212,127,.25);
  border-radius: 20px;
  padding: 3px 12px;
  margin-bottom: 8px;
}
.jv-title {
  font-family: var(--f-head);
  font-size: 22px;
  color: var(--fg);
  margin-bottom: 4px;
}
.jv-sub {
  font-size: 10px;
  color: var(--t2);
}
.jv-agenda-list {
  margin-bottom: 8px;
}
.jv-agenda-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  margin-bottom: 4px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  transition: .15s;
}
.jv-agenda-item.active {
  background: rgba(45,212,127,.08);
  border-color: rgba(45,212,127,.25);
}
.jv-agenda-num {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  font-size: 9px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--t2);
}
.jv-agenda-icon { font-size: 14px; flex-shrink: 0; }
.jv-agenda-text { font-size: 11px; font-weight: 600; color: var(--fg); flex: 1; }
.jv-agenda-type { font-size: 9px; color: var(--dim); white-space: nowrap; }

.jv-step-hd {
  font-family: var(--f-head);
  font-size: 18px;
  color: var(--green);
  text-align: center;
  margin-bottom: 6px;
}
.jv-step-sub {
  font-size: 10px;
  color: var(--t2);
  text-align: center;
  margin-bottom: 14px;
  line-height: 1.5;
}

/* ══════════════════════════════════════════════════════════════════════════════
   VORTRAG / INTERVIEW — Hintergrundbild versammlung.jpg
══════════════════════════════════════════════════════════════════════════════ */
.vortrag-screen {
  padding: 0 4px;
}
.vortrag-header {
  text-align: center;
  padding: 12px 8px 14px;
  margin-bottom: 10px;
}
.vortrag-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cyan);
  background: rgba(0,212,240,.1);
  border: 1px solid rgba(0,212,240,.25);
  border-radius: 20px;
  padding: 3px 12px;
  margin-bottom: 8px;
}
.vortrag-title {
  font-family: var(--f-head);
  font-size: 20px;
  color: var(--fg);
  margin-bottom: 4px;
}
.vortrag-sub {
  font-size: 10px;
  color: var(--t2);
  line-height: 1.5;
  max-width: 340px;
  margin: 0 auto;
}
.vortrag-progress {
  margin-top: 12px;
  padding: 0 20px;
}


/* ══════════════════════════════════════════════════════════════════════════════
   ENTSCHEIDUNGS-MODAL — Überarbeitung Session 22
   Einheitlich dunkel, dramatisch, mit Kettenentscheidung-Indikator
══════════════════════════════════════════════════════════════════════════════ */

/* Overlay verbessert */
.dec2-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.88);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  z-index: 9000;
  padding: 0;
  backdrop-filter: blur(6px);
}
@media (min-width: 480px) {
  .dec2-overlay { align-items: center; padding: 20px; }
}

/* Box: größer, besser lesbar */
.dec2-box {
  background: linear-gradient(160deg, #0d1e2e 0%, #070e18 100%);
  border: 1px solid var(--dec-accent, var(--cyan));
  border-radius: 20px 20px 0 0;
  padding: 24px 20px 30px;
  max-width: 500px;
  width: 100%;
  max-height: 92dvh;
  overflow-y: auto;
  box-shadow:
    0 -4px 40px rgba(0,0,0,.8),
    0 0 60px color-mix(in srgb, var(--dec-accent, var(--cyan)) 15%, transparent);
  animation: dec2-slide .3s cubic-bezier(.25,.46,.45,.94);
  scrollbar-width: thin;
}
@media (min-width: 480px) {
  .dec2-box {
    border-radius: 20px;
    animation: dec2-in .25s ease;
    max-height: 88dvh;
  }
}
@keyframes dec2-slide {
  from { transform: translateY(60px); opacity: 0; }
  to   { transform: none; opacity: 1; }
}

/* Kalender-Event Kontext (oben im dec2-header) */
.dec2-event-ctx {
  background: rgba(0,212,240,.06);
  border: 1px solid rgba(0,212,240,.2);
  border-radius: 10px;
  padding: 8px 12px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  color: var(--cyan);
}
.dec2-event-ctx-icon { font-size: 16px; flex-shrink: 0; }

/* Folgeereignis-Indikator */
.dec2-chain-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--amber);
  background: rgba(245,158,11,.1);
  border: 1px solid rgba(245,158,11,.25);
  border-radius: 20px;
  padding: 3px 10px;
  margin-bottom: 8px;
}

/* Versicherungs-Badge (grün wenn aktiv) */
.dec2-ins-active {
  font-size: 9px;
  color: var(--green);
  background: rgba(45,212,127,.08);
  border: 1px solid rgba(45,212,127,.2);
  border-radius: 6px;
  padding: 3px 8px;
  margin-top: 4px;
  display: inline-block;
}
.dec2-ins-missing {
  font-size: 9px;
  color: var(--amber);
  background: rgba(245,158,11,.06);
  border: 1px solid rgba(245,158,11,.15);
  border-radius: 6px;
  padding: 3px 8px;
  margin-top: 4px;
  display: inline-block;
}

/* Opt verbessert */
.dec2-opt {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  padding: 13px 14px;
  text-align: left;
  cursor: pointer;
  transition: background .15s, border-color .15s, transform .1s;
  color: var(--fg);
  font-family: var(--f-body);
  position: relative;
  overflow: hidden;
  width: 100%;
}
.dec2-opt:active { transform: scale(.98); }
.dec2-opt:hover {
  background: rgba(255,255,255,.07);
  border-color: color-mix(in srgb, var(--dec-opt-accent, var(--cyan)) 60%, transparent);
}

/* Jahresversammlung: Voting-Buttons */
.jv-vote-btn {
  padding: 15px 14px !important;
}

/* Grow-Kapazitäts-Leiste im Grow-Screen */
.grow-capacity-bar {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 6px;
  margin-bottom: 10px;
}
.gcb-item {
  text-align: center;
  padding: 8px 4px;
  background: rgba(255,255,255,.03);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.07);
}
.gcb-val {
  display: block;
  font-size: 13px;
  font-weight: 700;
  font-family: var(--fm);
  margin-bottom: 3px;
}
.gcb-lbl {
  display: block;
  font-size: 8px;
  color: var(--t2);
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* Grow-Auto-Badge */
.grow-auto-badge {
  font-size: 9px;
  color: var(--green);
  background: rgba(45,212,127,.07);
  border: 1px solid rgba(45,212,127,.18);
  border-radius: 6px;
  padding: 5px 10px;
  margin-top: 6px;
  text-align: center;
}

/* Quick-Nav */
.grow-quick-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.grow-quick-nav .btn {
  flex: 1;
  min-width: 90px;
  font-size: 10px;
  padding: 7px 8px;
  text-align: center;
}

/* Monatsbericht-Tabs verbessert */
.rpt-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 12px;
  background: rgba(255,255,255,.03);
  border-radius: 10px;
  padding: 4px;
}
.rpt-tab {
  flex: 1;
  padding: 7px 4px;
  font-size: 10px;
  border-radius: 8px;
  background: transparent;
  border: none;
  color: var(--t2);
  cursor: pointer;
  transition: .15s;
  font-family: var(--f-body);
  text-align: center;
}
.rpt-tab.active {
  background: rgba(255,255,255,.1);
  color: var(--fg);
  font-weight: 700;
}

/* Monatsbericht CTA-Button */
.rpt-cta {
  padding: 14px;
  font-size: 13px;
  border-radius: 12px;
  letter-spacing: .03em;
}

/* JV: Vote-Button size */
@media (max-width: 400px) {
  .dec2-opt-name { font-size: 11px; }
  .dec2-box { padding: 18px 14px 24px; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   THE TERPENE TRAIL — Landrassen-Spielscreen
══════════════════════════════════════════════════════════════════════════════ */
.tt-screen {
  padding: 0 2px;
  animation: ttFadeIn .2s ease;
}
@keyframes ttFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}
@keyframes tt-pop {
  0%   { transform: scale(0.6) rotate(-8deg); }
  60%  { transform: scale(1.1) rotate(3deg); }
  100% { transform: scale(1) rotate(0); }
}

.tt-header {
  text-align: center;
  padding: 14px 8px 16px;
}
.tt-icon    { font-size: 40px; margin-bottom: 8px; }
.tt-title   { font-family: var(--f-head); font-size: 22px; color: var(--gold); margin-bottom: 4px; }
.tt-sub     { font-size: 10px; color: var(--t2); line-height: 1.5; }

.tt-progress-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.tt-pips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.tt-pip {
  width: 26px; height: 26px;
  border-radius: 8px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  transition: .2s;
}
.tt-pip.owned {
  background: rgba(45,212,127,.12);
  border-color: rgba(45,212,127,.35);
  box-shadow: 0 0 8px rgba(45,212,127,.2);
}

.tt-strain-card {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  margin-bottom: 8px;
  text-align: left;
  cursor: pointer;
  color: var(--fg);
  font-family: var(--f-body);
  transition: .15s;
  position: relative;
  overflow: hidden;
}
.tt-strain-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--gold);
  opacity: 0;
  transition: .15s;
}
.tt-strain-card:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,176,0,.3);
  transform: translateX(2px);
}
.tt-strain-card:hover::before { opacity: 1; }

.tt-strain-flag { font-size: 32px; flex-shrink: 0; }
.tt-strain-info { flex: 1; min-width: 0; }
.tt-strain-name { font-size: 13px; font-weight: 700; color: var(--fg); margin-bottom: 2px; }
.tt-strain-land { font-size: 9px; color: var(--t2); margin-bottom: 5px; }
.tt-strain-meta { display: flex; gap: 8px; flex-wrap: wrap; }
.tt-strain-meta span { font-size: 9px; color: var(--dim); background: rgba(255,255,255,.05); padding: 2px 6px; border-radius: 4px; }
.tt-strain-arrow { font-size: 16px; color: var(--dim); flex-shrink: 0; }

.tt-strain-hero {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 12px;
  background: rgba(0,0,0,.3);
}

.tt-phase-bar {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 10px 0 14px;
}
.tt-phase-dot {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  transition: .2s;
}
.tt-phase-dot.active {
  background: rgba(45,212,127,.15);
  border-color: var(--green);
  box-shadow: 0 0 10px rgba(45,212,127,.3);
}

.tt-complete-badge {
  text-align: center;
  padding: 20px;
  background: rgba(255,176,0,.08);
  border: 1px solid rgba(255,176,0,.2);
  border-radius: 14px;
  margin-bottom: 16px;
}
.tt-collection {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.tt-coll-item {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  padding: 10px 6px;
  text-align: center;
}
.tt-coll-owned {
  background: rgba(45,212,127,.06);
  border-color: rgba(45,212,127,.2);
}

/* Bibliotheks-Bonus-Zeile */
.tt-bonus-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  padding: 3px 0;
  border-bottom: 1px solid rgba(45,185,85,.06);
  color: var(--t2);
}
.tt-bonus-line:last-child { border-bottom: none; }
.tt-bonus-line span:first-child { color: var(--t2); }
.tt-bonus-line span:last-child  { font-weight: 700; font-family: var(--fm); }

/* ══════════════════════════════════════════════════════════════════════════════
   VORTRAG / INTERVIEW — Redesign mit versammlung.jpg
══════════════════════════════════════════════════════════════════════════════ */
.vtg-screen {
  padding: 4px 2px;
  animation: ttFadeIn .2s ease;
}
.vtg-kat {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 12px;
  border-radius: 20px;
  border: 1px solid;
  margin-bottom: 10px;
}
.vtg-title {
  font-family: var(--f-head);
  font-size: 20px;
  color: var(--fg);
  margin-bottom: 8px;
  text-align: center;
}
.vtg-intro {
  font-size: 11px;
  color: var(--t2);
  line-height: 1.6;
  text-align: center;
  margin-bottom: 12px;
}
.vtg-persona-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  background: rgba(255,255,255,.04);
  border-radius: 10px;
  margin-bottom: 4px;
}
.vtg-persona-bubble {
  font-size: 13px;
  font-weight: 700;
  color: var(--fg);
  background: rgba(255,255,255,.06);
  border-radius: 8px;
  padding: 6px 12px;
}
.vtg-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.vtg-progress-dots {
  display: flex;
  gap: 6px;
}
.vtg-prog-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  transition: .2s;
}
.vtg-prog-dot.done   { background: var(--green); }
.vtg-prog-dot.active { background: var(--cyan); box-shadow: 0 0 6px var(--cyan); }

.vtg-question-bubble {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 14px;
}
.vtg-q-persona {
  font-size: 9px;
  color: var(--dim);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.vtg-q-text {
  font-size: 13px;
  color: var(--fg);
  line-height: 1.6;
  font-style: italic;
}

.vtg-answer-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 10px;
  text-align: left;
  cursor: pointer;
  color: var(--fg);
  font-family: var(--f-body);
  transition: .15s;
}
.vtg-answer-btn:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.2);
  transform: translateX(3px);
}
.vtg-answer-letter {
  width: 24px; height: 24px;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.vtg-answer-text {
  font-size: 11px;
  color: var(--fg);
  flex: 1;
}

.vtg-result-icon {
  font-size: 52px;
  text-align: center;
  padding: 16px 0 8px;
  animation: tt-pop .4s ease;
}
.vtg-result-bar {
  height: 6px;
  background: rgba(255,255,255,.08);
  border-radius: 3px;
  margin: 10px 0;
  overflow: hidden;
}
.vtg-result-fill {
  height: 100%;
  width: var(--pct, 0%);
  background: var(--col, var(--green));
  border-radius: 3px;
  transition: width .6s ease;
}


/* ── Marktplatz Redesign ──────────────────────────────────────── */
.mkt-tabbar {
  display: flex; gap: 4px; margin-bottom: 12px;
  background: rgba(255,255,255,.04); border-radius: 10px; padding: 4px;
}
.mkt-tab {
  flex: 1; padding: 7px 4px; border-radius: 7px; text-align: center;
  font-size: 9px; font-weight: 600; letter-spacing: .3px;
  color: var(--t2); cursor: pointer; transition: all .18s;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mkt-tab.active {
  background: rgba(45,212,127,.15); color: var(--green);
  border: 1px solid rgba(45,212,127,.3);
}
.mkt-tab:hover:not(.active) { background: rgba(255,255,255,.06); color: var(--text); }

/* Sorten-Grid */
.mkt-scard-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;
}
.mkt-scard {
  background: var(--card); border: 1px solid var(--brd); border-radius: 10px;
  padding: 10px; transition: border-color .2s;
}
.mkt-scard:hover { border-color: rgba(255,255,255,.15); }
.mkt-scard-owned { border-color: rgba(45,212,127,.3); background: rgba(45,212,127,.04); }
.mkt-sc-head { display: flex; align-items: flex-start; gap: 6px; }
.mkt-sc-e { font-size: 22px; flex-shrink: 0; }
.mkt-sc-name { font-size: 11px; font-weight: 700; line-height: 1.2; }
.mkt-sc-tag {
  font-size: 8px; padding: 1px 5px; border-radius: 6px;
  border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05);
  color: var(--t2); white-space: nowrap;
}
.mkt-sc-stats {
  display: flex; gap: 6px; margin-top: 6px;
  font-size: 8px; color: var(--t2); flex-wrap: wrap;
}
.mkt-sc-stats span {
  background: rgba(255,255,255,.05); border-radius: 5px; padding: 1px 5px;
}
.mkt-sc-desc { font-size: 9px; color: var(--t2); margin-top: 5px; line-height: 1.4; }
.mkt-sc-owned {
  margin-top: 8px; text-align: center; font-size: 9px;
  color: var(--green); padding: 4px; background: rgba(45,212,127,.08);
  border-radius: 6px;
}

/* Supplies */
.mkt-cat-label {
  font-size: 9px; color: var(--amber); letter-spacing: 1px; margin-bottom: 6px;
  font-weight: 700;
}
.mkt-sup-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px;
}
.mkt-sup-card {
  background: var(--card); border: 1px solid var(--brd); border-radius: 9px;
  padding: 9px; display: flex; flex-direction: column;
}
.mkt-sup-warn { border-color: rgba(255,154,64,.4); background: rgba(255,154,64,.04); }
.mkt-sup-e { font-size: 20px; }
.mkt-sup-name { font-size: 10px; font-weight: 700; margin-top: 4px; }
.mkt-sup-desc { font-size: 9px; color: var(--t2); margin-top: 3px; line-height: 1.3; flex: 1; }
.mkt-sup-stock { font-size: 9px; color: var(--cyan); margin-top: 5px; }

/* Daueraufträge */
.mkt-da-card {
  background: var(--card); border: 1px solid var(--brd); border-radius: 10px;
  padding: 12px; margin-bottom: 9px;
}
.mkt-da-active { border-color: rgba(45,212,127,.35); background: rgba(45,212,127,.04); }

/* Preisliste */
.mkt-price-row {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,.05);
}
.mkt-price-row:last-child { border-bottom: none; }

