/* Hawkeye Desktop — App Styles
   Extracted from hawkeye-desktop-dashboard.html
   Do not edit the HTML <style> block — edit this file.
*/

/* ══════════════════════════════════════════════════════
   HAWKEYE DESKTOP v2 — Layout & Component Overrides
══════════════════════════════════════════════════════ */
html,body{height:100%;overflow:hidden;}
body{display:flex;flex-direction:column;background:var(--bg);}

/* ── Global scrollbar — Tokens aus hawkeye-tokens.css ── */
/* Regeln sind in hawkeye-components.css dokumentiert.
   hawkeye-desktop.css übernimmt sie via Token-Variablen automatisch.
   Dark-Mode-Override erfolgt über html.dark { --scrollbar-thumb } in tokens.css */

/* ── Desktop Header ── */
.desk-hdr{
  flex-shrink:0;height:var(--header-h,52px);background:var(--navy);
  display:flex;align-items:center;gap:0;padding:0 16px;
  border-bottom:2px solid rgba(0,188,212,.18);user-select:none;z-index:100;
}
.desk-logo{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:900;
  letter-spacing:.14em;color:var(--cyan);text-transform:uppercase;flex-shrink:0;margin-right:4px;}
.desk-logo svg{width:22px;height:22px;}
.hdr-sep{width:1px;height:20px;background:rgba(255,255,255,.08);margin:0 10px;flex-shrink:0;}

/* Nav chips */
.nav-chips{display:flex;gap:2px;}
.nav-chip{
  display:flex;align-items:center;gap:5px;height:30px;padding:0 12px;
  border-radius:var(--r-sm);border:1px solid transparent;background:transparent;
  color:rgba(255,255,255,.45);font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;cursor:pointer;font-family:var(--font-base);
  transition:color .15s,background .15s,border-color .15s;
}
.nav-chip i{font-size:13px;}
.nav-chip:hover{color:rgba(255,255,255,.75);background:rgba(255,255,255,.06);}
.nav-chip.active{color:var(--cyan);background:rgba(0,188,212,.1);border-color:rgba(0,188,212,.25);}
.hdr-spacer{flex:1;}
.hdr-actions{display:flex;align-items:center;gap:6px;}
.hdr-btn{
  display:flex;align-items:center;gap:5px;height:28px;padding:0 11px;
  background:rgba(0,188,212,.1);border:1px solid rgba(0,188,212,.3);
  color:var(--cyan);border-radius:var(--r-sm);font-size:11px;font-weight:700;
  letter-spacing:.06em;cursor:pointer;font-family:var(--font-base);
  transition:background .15s,border-color .15s;white-space:nowrap;
}
.hdr-btn:hover{background:rgba(0,188,212,.2);border-color:var(--cyan);}
.hdr-btn i{font-size:13px;}
.hdr-btn-ghost{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);color:#90a4ae;}
.hdr-btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#cfd8dc;}

/* ── Body = Sidebar + Main ── */
.desk-body{flex:1;display:flex;min-height:0;overflow:hidden;}

/* ── Sidebar ── */
.desk-sidebar{
  flex:0 0 var(--sidebar-w,220px);width:var(--sidebar-w,220px);
  background:#fff;border-right:1px solid var(--border);
  display:flex;flex-direction:column;overflow:hidden;
}
.sb-section{display:flex;flex-direction:column;min-height:0;}
.sb-section-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px 6px;flex-shrink:0;
}
.sb-hdr-lbl{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--label);}
.sb-hdr-btn{
  display:flex;align-items:center;gap:3px;background:none;border:1px solid var(--border);
  border-radius:var(--r-sm);padding:3px 7px;font-size:10px;font-weight:700;
  color:var(--label);cursor:pointer;font-family:var(--font-base);transition:all .15s;
}
.sb-hdr-btn:hover{border-color:var(--cyan);color:var(--cyan);}
.sb-hdr-btn i{font-size:11px;}
.sb-list{overflow-y:scroll;flex:1;}
.sb-divider{height:1px;background:var(--border);margin:4px 0;flex-shrink:0;}
.sb-group-hdr{
  font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  color:var(--label);padding:8px 12px 3px;background:#f8f9fb;
  border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1;
}
.sb-row{
  display:flex;align-items:center;gap:6px;padding:7px 12px;
  cursor:pointer;border-bottom:1px solid #f5f5f5;transition:background .12s;
}
.sb-row:hover{background:#f0fafc;}
.sb-row.active{background:rgba(0,188,212,.06);border-left:2px solid var(--cyan);}
.sb-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.sb-row-info{flex:1;min-width:0;}
.sb-row-name{font-size:11px;font-weight:600;color:#1a2230;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-row-sub{font-size:9px;color:var(--label);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-row-score{font-size:13px;font-weight:900;color:var(--cyan);flex-shrink:0;}
.sb-row-del{
  background:none;border:none;color:#d0d8e0;cursor:pointer;
  padding:2px 4px;font-size:12px;border-radius:3px;line-height:1;
  transition:color .12s,background .12s;font-family:inherit;flex-shrink:0;
}
.sb-row-del:hover{color:#ef5350;background:rgba(239,83,80,.08);}
.sb-empty{padding:20px 12px;text-align:center;color:var(--label);font-size:11px;line-height:1.5;}

/* ── Sidebar Search ── */
.sb-search{display:flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid var(--border);background:var(--bg);}
.sb-search-icon{font-size:13px;color:var(--label);flex-shrink:0;}
.sb-search-input{flex:1;border:none;background:transparent;font-size:12px;color:var(--text);outline:none;min-width:0;padding:2px 0;}
.sb-search-input::placeholder{color:var(--label);}
.sb-search-input::-webkit-search-cancel-button{-webkit-appearance:none;width:12px;height:12px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23999' d='M8 7.05 4.57 3.62 3.62 4.57 7.05 8 3.62 11.43l.95.95L8 8.95l3.43 3.43.95-.95L8.95 8l3.43-3.43-.95-.95Z'/%3E%3C/svg%3E") center/contain no-repeat;}

/* ── Sidebar Range Slider ── */
.sb-range-wrap{padding:12px 14px 14px;border-bottom:1px solid var(--border);}
.sb-range-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--label);margin-bottom:2px;}
.sb-range-track{position:relative;height:4px;background:var(--border);border-radius:2px;margin:16px 8px 4px;cursor:pointer;user-select:none;}
.sb-range-fill{position:absolute;top:0;height:100%;background:var(--cyan);border-radius:2px;cursor:grab;}
.sb-range-fill:active{cursor:grabbing;}
.sb-range-thumb{position:absolute;top:50%;width:14px;height:14px;background:var(--cyan);border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);cursor:grab;z-index:2;transition:box-shadow .15s;}
.sb-range-thumb:hover,.sb-range-thumb:focus-visible{box-shadow:0 0 0 4px rgba(0,188,212,.25);outline:none;}
.sb-range-thumb:active,.sb-range-thumb.dragging{cursor:grabbing;box-shadow:0 0 0 5px rgba(0,188,212,.3);}
.sb-range-tooltip{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:var(--navy,#0d1117);color:#fff;font-size:10px;font-weight:500;padding:2px 6px;border-radius:3px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;}
.sb-range-thumb:hover .sb-range-tooltip,.sb-range-thumb.dragging .sb-range-tooltip{opacity:1;}
.sb-add-row{
  display:flex;align-items:center;gap:6px;padding:7px 12px;
  cursor:pointer;border-top:1px solid var(--border);color:var(--label);
  font-size:11px;transition:color .12s;
}
.sb-add-row:hover{color:var(--cyan);}
.sb-add-row i{font-size:13px;}

/* ── Main content ── */
.desk-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;background:var(--bg);}

/* ── Views ── */
.view{display:none;padding:28px 36px;overflow-y:auto;}
.view.active{display:block;flex:1;min-height:0;}
.view--no-pad{padding:0!important;overflow:hidden;}
.view--no-pad.active{display:flex!important;flex-direction:column;}
/* Flex-Kette: #parcours-content muss als flex-child mitmachen wenn PCD offen */
#view-parcours.view--no-pad.active>#parcours-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;}


/* ── hw-view-bar — unified inner topbar for detail screens (PCD etc.) ── */
.hw-view-bar{
  flex-shrink:0;height:var(--header-h,52px);
  display:flex;align-items:center;gap:10px;padding:0 16px;
  background:#fff;border-bottom:1px solid var(--border);z-index:10;
}
html.dark .hw-view-bar{background:var(--dm-surface);border-color:var(--dm-border);}
/* View header */
.view-hdr{margin-bottom:20px;}
.view-hdr-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.view-title{font-size:20px;font-weight:900;color:#1a2230;letter-spacing:-.01em;}
.view-sub{font-size:12px;color:var(--label);}
.view-wx{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px;}
.wx-chip{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--label);
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r-full);
  padding:1px 7px 1px 5px;white-space:nowrap;}
.wx-chip i{font-size:12px;flex-shrink:0;}
.wx-chip--warn{color:#c07a00;background:#fffbea;border-color:#f5d96b;}
.wx-chip--danger{color:#c0392b;background:#fff5f5;border-color:#fca5a5;}
.wx-sep{color:var(--border);font-size:11px;user-select:none;}
.view-actions{display:flex;gap:8px;}

/* Empty state */
.empty-view{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:60vh;gap:12px;color:var(--label);
}
.empty-view i{font-size:56px;color:rgba(0,188,212,.3);}
.empty-view h3{font-size:18px;font-weight:800;color:#1a2230;}
.empty-view p{font-size:13px;max-width:320px;text-align:center;line-height:1.6;}

/* ── KPI Row ── */
.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);border-radius:var(--r-md);overflow:hidden;margin-bottom:20px;}
.kpi-card{background:#fff;padding:14px 16px;text-align:center;}
.kpi-val{font-size:24px;font-weight:900;color:var(--cyan);line-height:1;letter-spacing:-.02em;}
.kpi-val.val-kill{color:var(--cyan);}
.kpi-val.val-wound{color:var(--magenta);}
.kpi-val.val-miss{color:var(--miss);}
.kpi-val.val-neutral{color:#1a2230;}
.kpi-lbl{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--label);margin-top:5px;}
/* ── KPI Delta Badges (Feature 2.1) ── */
.kpi-delta-row{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap;justify-content:center;}
.kpi-delta{font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;font-family:var(--font-mono);white-space:nowrap;line-height:1.4;}
.kpi-delta-lbl{font-weight:400;opacity:.75;}
.kpi-delta--pos{color:#2e7d32;background:rgba(46,125,50,.10);}
.kpi-delta--neg{color:#c62828;background:rgba(198,40,40,.10);}
.kpi-delta--zero{color:var(--label);background:rgba(84,110,122,.08);}
html.dark .kpi-delta--pos{color:#66bb6a;background:rgba(102,187,106,.13);}
html.dark .kpi-delta--neg{color:#ef5350;background:rgba(239,83,80,.13);}

/* ── Analyse Grid ── */
.analyse-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.analyse-grid-3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:16px;}

/* ── Analyse: scrollbare Panels ── */
/* Zielliste: scrollt intern, Höhe viewportrelativ */
.tgt-table-scroll{
  overflow-y:auto;
  max-height:clamp(180px, calc(100vh - 580px), 560px);
  outline:none;
}
.tgt-table-scroll:focus{box-shadow:0 0 0 2px var(--cyan) inset;}
/* Verlauf: scrollt intern */
#history-body{
  overflow-y:auto;
  max-height:clamp(180px, calc(100vh - 580px), 520px);
}
/* Verlauf: Sparkline-Rows → Styles in hawkeye-components.css */
/* Tastatur-Zeilen-Highlight */
.tgt-table tbody tr.kb-focus{
  background:rgba(0,188,212,.1);
  outline:2px solid var(--cyan);
  outline-offset:-2px;
}

/* ── Cards ── */
.card{background:#fff;border-radius:var(--r-md);border:1px solid var(--border);overflow:hidden;}
.card-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;border-bottom:1px solid var(--border);
}
.card-title{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--label);}
.card-title i{font-size:13px;margin-right:4px;color:var(--cyan);}
.card-body{padding:16px;}
.card-body-flush{padding:0;}

/* ── Chart canvas wrappers ── */
.chart-wrap{position:relative;padding:16px;}
.chart-wrap canvas{max-height:220px;}
.chart-wrap-sm canvas{max-height:160px;}
#fatigue-chart-wrap canvas{max-height:160px;}
.fatigue-hint{
  margin:0 16px 12px;padding:8px 10px;
  font-size:10px;line-height:1.55;color:var(--label);
  background:var(--bg);border-left:3px solid var(--cyan);border-radius:0 4px 4px 0;
}

/* ── Target list table ── */
.tgt-table{width:100%;border-collapse:collapse;font-size:12px;}
.tgt-table th{
  font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--label);padding:8px 10px;border-bottom:2px solid var(--border);
  text-align:left;white-space:nowrap;background:#fafbfc;
  position:sticky;top:0;z-index:2;
}
.tgt-table td{padding:6px 10px;border-bottom:1px solid #f5f5f5;vertical-align:middle;}
.tgt-table tr{cursor:pointer;}
.tgt-table tr:hover td{background:#f8fcfd;}
.tgt-table tr.brush-hover td{background:#f3fbfd;}
.tgt-table tr.brush-active td{background:rgba(0,188,212,.07);border-left:2px solid var(--cyan);}
.tgt-num{font-size:11px;font-weight:700;color:var(--label);font-family:var(--font-mono);}
.tgt-animal{font-size:12px;color:#1a2230;}
.zone-badge{
  display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--r-full);
  font-size:10px;font-weight:700;letter-spacing:.06em;
}
.zone-kill{background:rgba(0,188,212,.12);color:var(--cyan);border:1px solid rgba(0,188,212,.25);}
.zone-wound{background:rgba(233,30,140,.1);color:var(--magenta);border:1px solid rgba(233,30,140,.22);}
.zone-miss{background:rgba(158,158,158,.1);color:var(--miss);border:1px solid rgba(158,158,158,.2);}
.arrow-pill{
  display:inline-block;font-size:9px;font-weight:700;letter-spacing:.05em;
  padding:1px 5px;border-radius:3px;background:#f0f2f4;color:var(--label);
}
.score-num{font-family:var(--font-mono);font-weight:700;font-size:13px;}
.time-mono{font-family:var(--font-mono);font-size:11px;color:var(--label);}
.pace-mono{font-family:var(--font-mono);font-size:11px;color:var(--label);}
.pace-slow{color:#ef5350;}
.pace-break{color:#ff9800;font-style:italic;}

/* Scrollable table container */
.table-scroll{overflow-y:auto;max-height:480px;}

/* Sortable table headers */
.tgt-table th.sortable{cursor:pointer;user-select:none;white-space:nowrap;}
.tgt-table th.sortable:hover{color:var(--cyan);}
.tgt-table th.sortable::after{content:' ⇅';opacity:.35;font-size:8px;}
.tgt-table th.sort-asc::after{content:' ↑';opacity:.8;color:var(--cyan);}
.tgt-table th.sort-desc::after{content:' ↓';opacity:.8;color:var(--cyan);}

/* ── Map ── */
#analyse-map{height:280px;}
.leaflet-container{background:#e8edf0;}
.leaflet-tile-pane{filter:saturate(.9) brightness(1.01);}

/* ── Map Info Panel — default (parcours meta) ── */
.info-panel{
  display:flex;flex-direction:column;height:280px;overflow:hidden;
  padding:14px 16px 12px;gap:0;
}
.info-parcours-name{font-size:15px;font-weight:900;color:#1a2230;line-height:1.2;margin-bottom:3px;}
.info-parcours-loc{font-size:11px;color:var(--label);display:flex;align-items:center;gap:4px;margin-bottom:10px;}
.info-meta-list{display:flex;flex-direction:column;}
.info-meta-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #f5f5f5;font-size:11px;}
.info-meta-row:last-child{border-bottom:none;}
.info-meta-key{color:var(--label);}
.info-meta-val{font-weight:600;color:#1a2230;}
.info-hint{font-size:10px;color:var(--label);margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:5px;}

/* ── Map Info Panel — target hero ── */
.info-hero-panel{
  display:flex;flex-direction:column;height:280px;overflow:hidden;
}
/* Image area fills most of the card */
.info-hero-area{
  flex:1;position:relative;overflow:hidden;min-height:0;
  background:#f0f2f4;
}
/* Zone-tinted background tint */
.info-hero-tint{
  position:absolute;inset:0;
  transition:background .25s;
}
/* The animal image itself */
.info-hero-area img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center 40%;
  padding:14px 14px 48px;  /* bottom padding = space for overlay text */
  z-index:1;
}
.info-hero-area .no-img-icon{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:52px;color:rgba(0,0,0,.1);z-index:1;
}
/* Gradient overlay for text readability */
.info-hero-overlay{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent 0%, rgba(13,17,23,.72) 55%, rgba(13,17,23,.92) 100%);
  padding:28px 12px 11px;z-index:2;
}
.info-hero-num{
  font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(255,255,255,.55);line-height:1;margin-bottom:3px;
}
.info-hero-name{
  font-size:16px;font-weight:900;color:#fff;line-height:1.1;margin-bottom:6px;
}
.info-hero-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.info-hero-score{
  font-size:18px;font-weight:900;line-height:1;
}
/* Footer strip */
.info-hero-footer{
  flex-shrink:0;display:flex;align-items:center;gap:8px;
  padding:0 12px;height:44px;background:#fff;
  border-top:1px solid var(--border);
}
.info-hero-footer-meta{flex:1;font-size:11px;color:var(--label);display:flex;gap:10px;}
.info-hero-footer-meta span{display:flex;align-items:center;gap:3px;}
.info-hero-footer-meta i{font-size:11px;}
.info-hero-back{
  background:none;border:none;font-size:11px;color:var(--label);
  cursor:pointer;font-family:var(--font-base);display:flex;align-items:center;gap:4px;
  padding:4px 6px;border-radius:3px;transition:color .12s;white-space:nowrap;
}
.info-hero-back:hover{color:var(--cyan);}

.hk-tooltip{
  background:rgba(13,17,23,.9)!important;border:1px solid rgba(0,188,212,.3)!important;
  border-radius:6px!important;color:#e0e8f0!important;padding:7px 10px!important;
  font-size:11px!important;line-height:1.55!important;
  box-shadow:0 4px 16px rgba(0,0,0,.35)!important;
  pointer-events:none!important;
}
.hk-tooltip::before{display:none!important;}
.leaflet-popup-content-wrapper{border-radius:6px;}

/* ── Breakdown bars ── */
.bd-row{display:flex;align-items:center;gap:8px;padding:4px 0;}
.bd-lbl{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--label);width:60px;flex-shrink:0;}
.bd-bar-wrap{flex:1;height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden;}
.bd-bar-fill{height:100%;border-radius:3px;transition:width .4s ease;}
.bd-count{font-size:11px;font-weight:700;width:36px;text-align:right;flex-shrink:0;}

/* ── Weak targets ── */
.weak-list{display:flex;flex-wrap:wrap;gap:8px;}
.weak-chip{
  display:inline-flex;align-items:center;gap:5px;padding:5px 10px;
  border-radius:var(--r-sm);border:1px solid var(--border);
  background:#fff;font-size:11px;font-weight:600;color:#1a2230;
  cursor:pointer;transition:all .15s;
}
.weak-chip:hover,.weak-chip.brush-hover{border-color:var(--magenta);background:rgba(233,30,140,.04);}
.weak-chip.brush-active{border-color:var(--cyan);background:rgba(0,188,212,.07);box-shadow:0 0 0 2px rgba(0,188,212,.2);}
.weak-chip .wc-num{font-family:var(--font-mono);color:var(--label);font-size:10px;}
.weak-chip .wc-zone{font-size:9px;font-weight:700;letter-spacing:.06em;padding:1px 5px;border-radius:2px;}

/* ── Sparkline row ── */
.sparkline-row{display:flex;align-items:center;gap:8px;padding:4px 0;}
.spark-lbl{font-size:10px;color:var(--label);width:60px;flex-shrink:0;}
.spark-score{font-size:13px;font-weight:900;color:var(--cyan);width:36px;flex-shrink:0;}

/* ── Comparison View ── */
.compare-select-row{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap;}
.compare-select-row label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--label);}
.compare-select-row .hk-select{flex:1;min-width:280px;max-width:480px;}
.compare-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.compare-kpi-card{background:#fff;border-radius:var(--r-md);border:2px solid var(--border);padding:20px;text-align:center;}
.compare-kpi-card.winner{border-color:var(--cyan);background:rgba(0,188,212,.03);}
.cmp-name{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--label);margin-bottom:8px;}
.cmp-score{font-size:36px;font-weight:900;color:var(--cyan);line-height:1;}
.cmp-score.loser{color:var(--miss);}
.cmp-badges{display:flex;justify-content:center;gap:6px;margin-top:8px;flex-wrap:wrap;}
.cmp-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:3px;}
.cmp-win-tag{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-top:6px;}

.cmp-table{width:100%;border-collapse:collapse;font-size:12px;}
.cmp-table th{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--label);padding:8px 10px;border-bottom:2px solid var(--border);text-align:left;background:#fafbfc;}
.cmp-table td{padding:6px 10px;border-bottom:1px solid #f5f5f5;vertical-align:middle;}
.cmp-table tr:hover td{background:#f8fcfd;}
.delta-pos{color:var(--cyan);font-weight:700;}
.delta-neg{color:var(--magenta);font-weight:700;}
.delta-zero{color:var(--miss);}

/* ── Parcours View ── */
.parcours-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}
.parcours-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
  display:flex;flex-direction:column;overflow:hidden;
  transition:border-color .18s,box-shadow .18s;cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.parcours-card:hover{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,188,212,.09),0 2px 8px rgba(0,0,0,.07);}
.parcours-card:hover .pc-edit-btn{opacity:1;}
.pc-accent{height:3px;background:var(--cyan);flex-shrink:0;}
.pc-body{padding:14px 16px 10px;flex:1;display:flex;flex-direction:column;gap:6px;}
.pc-name{font-size:14px;font-weight:800;color:#1a2230;line-height:1.25;}
.pc-location{font-size:11px;color:var(--label);display:flex;align-items:center;gap:4px;}
.pc-location i{font-size:12px;}
.pc-stats{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap;}
.pc-pill{
  font-size:10px;font-weight:700;letter-spacing:.04em;padding:3px 8px;
  border-radius:var(--r-full);background:rgba(0,188,212,.08);color:var(--cyan);
  border:1px solid rgba(0,188,212,.18);
}
.pc-pill--grey{background:#f0f2f4;color:var(--label);border-color:var(--border);}
.pc-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 16px;border-top:1px solid var(--border);background:#fafbfc;
}
.pc-edit-btn{
  display:flex;align-items:center;gap:4px;height:26px;padding:0 10px;
  background:rgba(0,188,212,.08);border:1px solid rgba(0,188,212,.25);
  color:var(--cyan);border-radius:var(--r-sm);font-size:10px;font-weight:700;
  letter-spacing:.06em;cursor:pointer;font-family:var(--font-base);
  transition:all .15s;opacity:0;
}
.pc-edit-btn i{font-size:12px;}
.pc-edit-btn:hover{background:rgba(0,188,212,.18);border-color:var(--cyan);}
.pc-sessions-lbl{font-size:10px;color:var(--label);}

/* Parcours detail panel (inline, no modal) */
.pcd-wrap{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;}
.pcd-topbar{
  display:flex;align-items:center;gap:10px;padding:0 16px;
  height:var(--header-h,52px);
  border-bottom:1px solid var(--border);flex-shrink:0;background:#fff;
}
.pcd-back{
  display:flex;align-items:center;gap:5px;height:30px;padding:0 10px;
  background:none;border:1px solid var(--border);border-radius:var(--r-sm);
  color:var(--label);font-size:11px;font-weight:700;cursor:pointer;
  font-family:var(--font-base);transition:all .15s;flex-shrink:0;
}
.pcd-back:hover{border-color:var(--cyan);color:var(--cyan);}
.pcd-back i{font-size:13px;}
.pcd-title-inputs{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0;}
.pcd-name-input{
  font-family:var(--font-base);font-size:16px;font-weight:900;color:#1a2230;
  border:none;background:transparent;padding:0;width:100%;
  border-bottom:1px solid transparent;transition:border-color .15s;
}
.pcd-name-input:focus{outline:none;border-bottom-color:var(--cyan);}
.pcd-loc-row{display:flex;align-items:center;gap:5px;color:var(--label);}
.pcd-loc-row i{font-size:12px;flex-shrink:0;}
.pcd-loc-input{
  font-family:var(--font-base);font-size:11px;color:var(--label);
  border:none;background:transparent;padding:0;width:100%;
  border-bottom:1px solid transparent;transition:border-color .15s;
}
.pcd-loc-input:focus{outline:none;border-bottom-color:var(--cyan);}
/* .pcd-save-btn removed — use .btn.btn-primary.btn-sm */
.pcd-body{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:var(--sp-md) var(--sp-lg) 0;}

/* Map card — sits in left column, fills available vertical space */
.pcd-map-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
  overflow:hidden;box-shadow:var(--shadow-card);
  flex:1;min-height:180px;display:flex;flex-direction:column;
}
.pcd-map-container{flex:1;min-height:0;}
.pcd-map-empty{
  flex:1;min-height:180px;display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:var(--sp-sm);color:var(--label);font-size:12px;text-align:center;
  padding:var(--sp-xl);background:#f9fafb;
}
.pcd-map-empty i{font-size:28px;color:rgba(0,188,212,.3);}
.pcd-info-card{flex-shrink:0;}

/* Two-column layout: left (% of container) | splitter track | right (fills rest) */
.pcd-two-col{
  flex:1;display:flex;overflow:hidden;min-height:0;
  margin-top:var(--sp-md);
}
/* Splitter handle */
.pcd-splitter{
  flex:0 0 20px;cursor:col-resize;
  display:flex;align-items:center;justify-content:center;
  position:relative;user-select:none;z-index:10;
}
.pcd-splitter::before{
  content:'';position:absolute;top:0;bottom:0;left:50%;
  width:2px;transform:translateX(-50%);
  background:var(--border);border-radius:1px;
  transition:background .15s,width .15s;
}
.pcd-splitter:hover::before,.pcd-splitter--dragging::before{
  background:var(--cyan);width:3px;
}
.pcd-splitter__dots{
  display:flex;flex-direction:column;gap:3px;z-index:1;
  transition:opacity .15s;
}
.pcd-splitter__dots span{
  width:4px;height:4px;border-radius:50%;
  background:var(--border);display:block;transition:background .15s;
}
.pcd-splitter:hover .pcd-splitter__dots span,
.pcd-splitter--dragging .pcd-splitter__dots span{background:var(--cyan);}
.pcd-splitter--dragging{cursor:col-resize;}
.pcd-left-col{
  display:flex;flex-direction:column;gap:var(--sp-md);
  flex:0 0 var(--pcd-col-left,52%);
  overflow:hidden;min-height:0;
}
.pcd-right-col{
  display:flex;flex-direction:column;flex:1;min-width:0;
  overflow:hidden;min-height:0;
}
.pcd-right-col>.pcd-section-hdr{flex-shrink:0;}

/* Info / metadata card */
.pcd-info-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
  padding:var(--sp-md);box-shadow:var(--shadow-card);
}
.pcd-info-card__hdr{
  font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--label);margin-bottom:var(--sp-sm);
}
.pcd-info-row{
  display:flex;align-items:flex-start;gap:var(--sp-sm);
  padding:var(--sp-xs) 0;border-bottom:1px solid var(--border);
}
.pcd-info-row:last-child{border-bottom:none;}
.pcd-info-key{
  display:flex;align-items:center;gap:var(--sp-xs);font-size:10px;
  color:var(--label);flex:0 0 90px;padding-top:1px;
}
.pcd-info-key i{font-size:12px;flex-shrink:0;}
.pcd-info-val{font-size:11px;color:#1a2230;font-weight:600;line-height:1.4;flex:1;}
.pcd-info-val a{color:var(--cyan);text-decoration:none;}
.pcd-info-val a:hover{text-decoration:underline;}

/* Stat bar */
.pcd-stats{display:flex;gap:2px;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;}
.pcd-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--sp-sm) var(--sp-xs);border-right:1px solid var(--border);}
.pcd-stat:last-child{border-right:none;}
.pcd-stat__val{font-size:18px;font-weight:900;color:var(--cyan);}
.pcd-stat__val--sm{font-size:11px;font-weight:800;color:#1a2230;}
.pcd-stat__lbl{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--label);margin-top:2px;}

/* Section header & add button */
.pcd-section-hdr{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:var(--sp-sm);
}
.pcd-section-lbl{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--label);}
.pcd-add-btn{
  display:flex;align-items:center;gap:var(--sp-xs);height:26px;padding:0 var(--sp-md);
  background:none;border:1px solid var(--border);border-radius:var(--r-sm);
  color:var(--label);font-size:10px;font-weight:700;cursor:pointer;
  font-family:var(--font-base);transition:all .15s;
}
.pcd-add-btn:hover{border-color:var(--cyan);color:var(--cyan);}
.pcd-add-btn i{font-size:12px;}

/* Target accordion — direct max-height so scroll never leaks to page */
.pcd-acc-list{
  display:flex;flex-direction:column;gap:var(--sp-xs);
  flex:1;min-height:0;
  overflow-y:auto;
  padding-bottom:var(--sp-sm);
}
/* overflow:visible so position:fixed children (dropdown panel) escape the box */
.pcd-acc{border:1px solid var(--border);border-radius:var(--r-sm);overflow:visible;background:#fff;position:relative;}
.pcd-acc--open{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(0,188,212,.08);}
.pcd-acc__hdr{
  display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-xs) var(--sp-md) var(--sp-xs) var(--sp-xs);
  cursor:pointer;background:#fff;transition:background .1s;user-select:none;
}
.pcd-acc__hdr:hover{background:#f7fcfd;}
.pcd-acc--open .pcd-acc__hdr{background:rgba(0,188,212,.04);}
.pcd-drag-handle{
  width:22px;height:32px;display:flex;align-items:center;justify-content:center;
  color:var(--label);cursor:grab;flex-shrink:0;opacity:.35;transition:opacity .12s;border-radius:var(--r-sm);
}
.pcd-drag-handle:hover{opacity:1;background:rgba(0,0,0,.04);}
.pcd-drag-handle:active{cursor:grabbing;}
.pcd-acc--dragging{opacity:.45;box-shadow:var(--shadow-panel);}
.pcd-acc__num{
  width:26px;height:26px;border-radius:var(--r-sm);background:var(--navy);
  color:var(--cyan);font-size:10px;font-weight:900;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;
}
.pcd-acc--open .pcd-acc__num{background:var(--cyan);color:var(--navy);}
.pcd-acc__info{flex:1;min-width:0;}
.pcd-acc__animal{font-size:12px;font-weight:700;color:#1a2230;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pcd-acc__meta{font-size:10px;color:var(--label);margin-top:1px;}
.pcd-acc__chevron{font-size:14px;color:var(--label);transition:transform .2s;flex-shrink:0;}
.pcd-acc--open .pcd-acc__chevron{transform:rotate(180deg);color:var(--cyan);}
.pcd-acc__body{
  display:none;padding:var(--sp-md) var(--sp-md) var(--sp-sm);
  border-top:1px solid var(--border);border-radius:0 0 var(--r-sm) var(--r-sm);
  background:#fafbfc;
}
.pcd-acc--open .pcd-acc__body{display:block;}
/* 3-column body layout: image (spans 3 rows) | animal+dist+del | angle+size */
.pcd-acc__body-3col{
  display:grid;
  grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);
  column-gap:var(--sp-3xl);
  row-gap:var(--sp-lg);
  align-items:start;
}
.pcd-acc__body-3col .form-row{margin-bottom:0;}
.pcd-acc__img-cell{grid-row:1/4;align-self:stretch;display:flex;}
.pcd-dist-ctrl{display:flex;align-items:center;gap:var(--sp-xs);}
.pcd-dist-btn{
  width:28px;height:32px;display:flex;align-items:center;justify-content:center;
  background:#f0f2f4;border:1px solid var(--border);border-radius:var(--r-sm);
  font-size:11px;font-weight:700;color:#1a2230;cursor:pointer;
  font-family:var(--font-base);transition:all .1s;flex-shrink:0;
}
.pcd-dist-btn:hover{background:rgba(0,188,212,.08);border-color:var(--cyan);color:var(--cyan);}
.pcd-dist-btn--lg{width:34px;font-size:10px;}
.pcd-dist-input{
  height:32px;width:56px;text-align:center;padding:0 var(--sp-xs);
  border:1px solid var(--border);border-radius:var(--r-sm);
  font-family:var(--font-base);font-size:13px;font-weight:700;color:#1a2230;
  -moz-appearance:textfield;
}
.pcd-dist-input::-webkit-inner-spin-button,
.pcd-dist-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.pcd-dist-input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 2px rgba(0,188,212,.1);}
/* Keyboard focus rings for interactive divs */
.pcd-acc__hdr:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px;border-radius:var(--r-sm);}
.pcd-drag-handle:focus-visible{outline:2px solid var(--cyan);outline-offset:1px;border-radius:var(--r-sm);}
.pcd-asel__trigger:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:var(--r-sm);}
.pcd-splitter:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:var(--r-sm);}
.pcd-dist-unit{font-size:11px;color:var(--label);font-weight:600;}
.pcd-chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-xs);margin-top:var(--sp-xs);}
.pcd-chip{
  height:26px;padding:0 var(--sp-md);border-radius:var(--r-full);
  border:1px solid var(--border);background:#f4f6f8;
  font-size:11px;font-weight:600;color:var(--label);cursor:pointer;
  font-family:var(--font-base);transition:all .12s;
}
.pcd-chip:hover{border-color:var(--cyan);color:var(--cyan);}
.pcd-chip--active{background:var(--cyan);border-color:var(--cyan);color:var(--navy);}
/* .pcd-acc__del removed — uses .btn.btn-danger.btn-sm */

/* Animal image (col 1, spans all 3 rows — square based on column width) */
.pcd-acc__animal-img{
  width:100%;aspect-ratio:1/1;height:auto;object-fit:contain;
  background:#f4f6f8;border-radius:var(--r-md);padding:var(--sp-sm);
  border:1px solid var(--border);display:block;
}

/* Animal select picker */
.pcd-asel{position:relative;width:100%;}
.pcd-asel__trigger{
  display:flex;align-items:center;gap:var(--sp-xs);height:36px;
  border:1px solid var(--border);border-radius:var(--r-sm);
  padding:0 var(--sp-sm);cursor:pointer;background:#fff;
  transition:border-color .12s;user-select:none;
}
.pcd-asel__trigger:hover{border-color:#c8d0d8;}
.pcd-asel--open .pcd-asel__trigger{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(0,188,212,.1);}
.pcd-asel__thumb{width:22px;height:22px;object-fit:contain;flex-shrink:0;}
.pcd-asel__label{flex:1;font-size:12px;color:#1a2230;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pcd-asel__label--ph{color:#aab4be;font-weight:400;}
.pcd-asel__caret{font-size:12px;color:var(--label);transition:transform .15s;flex-shrink:0;}
.pcd-asel--open .pcd-asel__caret{transform:rotate(180deg);color:var(--cyan);}
/* Panel uses position:fixed so it escapes overflow:hidden/visible ancestors */
.pcd-asel__panel{
  display:none;position:fixed;z-index:9000;
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
  box-shadow:var(--shadow-popup);overflow:hidden;
}
.pcd-asel--open .pcd-asel__panel{display:block;}
/* Feature 4.2: fuzzy search bar inside picker */
.pcd-asel__search{padding:6px 8px 4px;border-bottom:1px solid var(--border);}
.pcd-asel__search-input{
  width:100%;padding:4px 8px;font-size:11px;font-family:var(--font-base);
  border:1px solid var(--border);border-radius:var(--r-sm);outline:none;
  background:var(--bg);color:#1a2230;
}
.pcd-asel__search-input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(0,188,212,.15);}
.pcd-asel__opts{
  display:grid;grid-template-columns:1fr 1fr;
  max-height:220px;overflow-y:auto;padding:var(--sp-xs);gap:1px;
}
.pcd-asel__opt{
  display:flex;align-items:center;gap:var(--sp-xs);padding:4px var(--sp-xs);
  border-radius:var(--r-sm);cursor:pointer;font-size:11px;color:#1a2230;
  transition:background .1s;
}
.pcd-asel__opt:hover{background:rgba(0,188,212,.07);}
.pcd-asel__opt--active{background:rgba(0,188,212,.1);color:var(--cyan);font-weight:700;}
.pcd-asel__opt-img{width:20px;height:20px;object-fit:contain;flex-shrink:0;}
.pcd-asel__opt--custom{
  grid-column:1/-1;border-top:1px solid var(--border);
  margin-top:var(--sp-xs);padding-top:var(--sp-sm);color:var(--label);font-style:italic;
}
.pcd-asel__opt--custom i{font-size:13px;flex-shrink:0;}
.pcd-asel__custom-input{
  width:100%;height:32px;padding:0 var(--sp-sm);margin-top:var(--sp-xs);
  border:1px solid var(--cyan);border-radius:var(--r-sm);
  font-family:var(--font-base);font-size:12px;color:#1a2230;outline:none;
  box-shadow:0 0 0 2px rgba(0,188,212,.1);
}

/* Brushing — accordion hover/active states */
.pcd-acc--brush-hover{border-color:#b2e4ec;background:#f0fafc;}
.pcd-acc--brush-active{border-color:var(--magenta)!important;box-shadow:0 0 0 2px rgba(233,30,140,.1)!important;}

.pcd-actions{display:flex;gap:var(--sp-sm);margin-top:var(--sp-sm);}
/* .pcd-action-btn* removed — use .btn .btn-ghost/.btn-danger instead */

/* ── Topbar Meta-Stats (inline im Header) ── */
.pcd-topbar-meta{
  display:flex;align-items:center;gap:6px;
  font-size:11px;color:var(--label);
  border-left:1px solid var(--border);padding-left:12px;
  flex-shrink:0;
}
.pcd-topbar-meta strong{color:#1a2230;font-weight:800;font-variant-numeric:tabular-nums;}
.pcd-meta-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-left:1px;}
.pcd-meta-sep{color:var(--border);user-select:none;}
/* Topbar Actions-Gruppe */
.pcd-topbar-actions{
  display:flex;align-items:center;gap:6px;flex-shrink:0;
  border-left:1px solid var(--border);padding-left:10px;
}
/* Referenz-Badge (statt Speichern-Button bei geschützten Parcours) */
.pcd-reference-badge{
  display:flex;align-items:center;gap:5px;height:32px;padding:0 12px;
  font-size:10px;font-weight:700;color:var(--label);letter-spacing:.06em;
}
/* Referenz-Hinweiszeile unter Topbar */
.pcd-reference-info{
  padding:8px 24px;background:rgba(0,0,0,.025);
  border-bottom:1px solid var(--border);
  font-size:11px;color:var(--label);
  display:flex;align-items:center;gap:8px;
}

/* Parcours target editor (legacy modal — still used for new parcours) */
.target-rows{display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto;}
.target-row{display:grid;grid-template-columns:40px 1fr 70px 70px 90px 28px;gap:6px;align-items:center;}
.target-row input,
.target-row select{
  height:32px;padding:0 8px;border:1px solid var(--border);border-radius:var(--r-sm);
  font-family:var(--font-base);font-size:11px;color:#1a2230;width:100%;
}
.target-row select{
  appearance:none;-webkit-appearance:none;
  padding-right:24px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 256 256'%3E%3Cpath fill='%23546e7a' d='m213.66 101.66-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 0 1 11.32-11.32L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 7px center;cursor:pointer;
}
.target-row input:focus,
.target-row select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 2px rgba(0,188,212,.12);}
.trow-del{background:none;border:none;color:#d0d8e0;cursor:pointer;font-size:13px;padding:4px;border-radius:3px;transition:color .12s;}
.trow-del:hover{color:#ef5350;}
.target-row-hdr{display:grid;grid-template-columns:40px 1fr 70px 70px 90px 28px;gap:6px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--label);padding:0 0 4px;}

/* ── Profil View ── */
.profil-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.archer-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 1px 4px rgba(0,0,0,.05);transition:border-color .18s,box-shadow .18s;
}
.archer-card:hover{border-color:#c8d4dc;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.archer-card:hover .ac-edit-btn{opacity:1;}
.ac-card-top{padding:14px 16px 12px;display:flex;flex-direction:column;gap:10px;flex:1;}
.ac-avatar{
  width:52px;height:52px;border-radius:50%;background:var(--navy);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;overflow:hidden;
}
.ac-avatar-initials{font-size:16px;font-weight:800;color:#fff;pointer-events:none;}
.ac-hdr{display:flex;align-items:center;gap:12px;}
.ac-info{flex:1;min-width:0;}
.ac-name{font-size:14px;font-weight:800;color:#1a2230;}
.ac-bow{font-size:11px;color:var(--label);margin-top:2px;}
.ac-club{font-size:11px;color:var(--label);margin-top:1px;display:flex;align-items:center;gap:3px;}
.ac-fields{display:flex;flex-direction:column;}
.ac-field-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #f5f5f5;font-size:11px;}
.ac-field-row:last-child{border-bottom:none;}
.ac-field-key{color:var(--label);}
.ac-field-val{color:#1a2230;font-weight:600;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ac-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 16px;border-top:1px solid var(--border);background:#fafbfc;
}
.ac-edit-btn{
  display:flex;align-items:center;gap:4px;height:26px;padding:0 10px;
  background:rgba(0,188,212,.08);border:1px solid rgba(0,188,212,.25);
  color:var(--cyan);border-radius:var(--r-sm);font-size:10px;font-weight:700;
  letter-spacing:.06em;cursor:pointer;font-family:var(--font-base);
  transition:all .15s;opacity:0;
}
.ac-edit-btn i{font-size:12px;}
.ac-edit-btn:hover{background:rgba(0,188,212,.18);border-color:var(--cyan);}
.ac-owner-badge{
  display:flex;align-items:center;gap:3px;font-size:9px;font-weight:700;
  letter-spacing:.06em;color:var(--cyan);
}
.ac-owner-badge i{font-size:11px;}
.ac-bowtype-pill{
  display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--r-full);
  background:rgba(0,188,212,.08);color:var(--cyan);border:1px solid rgba(0,188,212,.18);
  font-size:9px;font-weight:700;letter-spacing:.04em;
}
.ac-actions{display:flex;gap:6px;margin-top:4px;}

/* Avatar Picker (modal) */
.ac-avatar-picker{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:var(--r-md);}
.ac-avatar-picker .ac-avatar{width:64px;height:64px;font-size:22px;cursor:pointer;border:2px dashed var(--border);transition:border-color .15s;}
.ac-avatar-picker .ac-avatar:hover{border-color:var(--cyan);}
.ac-avatar-picker-btns{display:flex;flex-direction:column;gap:6px;}

/* Modal section headers */
.modal-section-hdr{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--label);margin:16px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border);}
.modal-section-hdr:first-child{margin-top:0;}

/* ── HK Select — custom dropdown ── */
.hk-select{position:relative;width:100%;}
.hk-select__trigger{
  display:flex;align-items:center;height:38px;padding:0 12px;
  border:1px solid var(--border);border-radius:var(--r-sm);
  background:#fff;cursor:pointer;user-select:none;
  font-family:var(--font-base);font-size:13px;
  transition:border-color .15s,box-shadow .15s;
}
.hk-select__trigger:hover{border-color:#c8d0d8;}
.hk-select--open .hk-select__trigger{
  border-color:var(--cyan);
  box-shadow:0 0 0 2px rgba(0,188,212,.12);
  border-radius:var(--r-sm) var(--r-sm) 0 0;
}
.hk-select__val{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1a2230;}
.hk-select__val--ph{color:#aab4be;}
.hk-select__caret{
  flex-shrink:0;margin-left:8px;font-size:15px;color:var(--label);
  transition:transform .15s,color .15s;
}
.hk-select--open .hk-select__caret{transform:rotate(180deg);color:var(--cyan);}
.hk-select__panel{
  display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;z-index:3000;
  background:#fff;
  border:1px solid var(--cyan);border-top:none;
  border-radius:0 0 var(--r-sm) var(--r-sm);
  box-shadow:0 6px 20px rgba(0,0,0,.13);
  max-height:224px;overflow-y:auto;
}
.hk-select--open .hk-select__panel{display:block;}
.hk-select__opt{
  display:flex;align-items:center;justify-content:space-between;
  height:36px;padding:0 12px;
  font-family:var(--font-base);font-size:13px;color:#1a2230;
  cursor:pointer;transition:background .1s;
}
.hk-select__opt:hover{background:rgba(0,188,212,.06);}
.hk-select__opt--active{color:var(--cyan);font-weight:700;background:rgba(0,188,212,.05);}
.hk-select__opt--active .hk-select__check{display:block;}
.hk-select__check{display:none;font-size:14px;color:var(--cyan);margin-left:8px;flex-shrink:0;}

/* ── Modals ── */
.modal-wrap{position:fixed;inset:0;z-index:8000;display:flex;align-items:center;justify-content:center;}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);}
@supports (backdrop-filter:blur(1px)) and (not (-moz-appearance:none)){
  .modal-backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(2px);}
}
.modal-pane{
  position:relative;background:#fff;border-radius:var(--r-xl);
  width:560px;max-width:92vw;max-height:85vh;
  display:flex;flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden;
}
.modal-pane-lg{width:780px;}
.modal-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0;
}
.modal-title{font-size:14px;font-weight:800;color:#1a2230;display:flex;align-items:center;gap:8px;}
.modal-title i{font-size:16px;color:var(--cyan);}
.modal-close{background:none;border:none;font-size:18px;color:var(--label);cursor:pointer;padding:2px 5px;line-height:1;font-family:inherit;border-radius:3px;}
.modal-close:hover{background:#f0f0f0;color:#1a2230;}
.modal-body{overflow-y:auto;flex:1;padding:20px;}
.modal-footer{
  display:flex;justify-content:flex-end;gap:8px;
  padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0;
}
/* .modal-btn* removed — use .btn .btn-primary/.btn-ghost/.btn-danger instead */

/* ── hw-confirm ── */
.hw-confirm-overlay{
  position:fixed;inset:0;z-index:9500;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.55);
  animation:hw-fade-in .12s ease;
}
@supports (backdrop-filter:blur(1px)) and (not (-moz-appearance:none)){
  .hw-confirm-overlay{background:rgba(0,0,0,.45);backdrop-filter:blur(2px);}
}
@keyframes hw-fade-in{from{opacity:0}to{opacity:1}}
.hw-confirm-pane{
  background:#fff;border-radius:var(--r-xl);
  width:340px;max-width:90vw;
  box-shadow:0 16px 48px rgba(0,0,0,.25);
  overflow:hidden;
  animation:hw-slide-up .15s ease;
}
@keyframes hw-slide-up{from{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}
.hw-confirm-body{padding:20px 20px 16px;}
.hw-confirm-title{font-size:14px;font-weight:800;color:#1a2230;margin:0 0 6px;}
.hw-confirm-text{font-size:12px;color:var(--label);margin:0;line-height:1.5;}
.hw-confirm-footer{
  display:flex;justify-content:flex-end;gap:8px;
  padding:12px 16px;border-top:1px solid var(--border);
}

/* Import preview */
.import-preview{background:#f8fafb;border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;margin-bottom:16px;}
.import-preview-title{font-size:13px;font-weight:700;color:#1a2230;margin-bottom:6px;}
.import-preview-row{display:flex;justify-content:space-between;padding:3px 0;font-size:12px;border-bottom:1px solid #eee;}
.import-preview-row:last-child{border-bottom:none;}
.import-preview-key{color:var(--label);}
.import-preview-val{font-weight:600;color:#1a2230;}
.import-warn{background:rgba(255,109,0,.08);border:1px solid rgba(255,109,0,.25);border-radius:var(--r-sm);padding:10px 12px;font-size:11px;color:#e65100;margin-bottom:12px;}

/* Form rows */
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.form-row label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--label);}
.form-row input,
.form-row select,
.form-row textarea{
  height:38px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-sm);
  font-family:var(--font-base);font-size:13px;color:#1a2230;width:100%;
  transition:border-color .15s;background:#fff;
}
.form-row select{
  appearance:none;-webkit-appearance:none;
  padding-right:32px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 256 256'%3E%3Cpath fill='%23546e7a' d='m213.66 101.66-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 0 1 11.32-11.32L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  cursor:pointer;
}
.form-row select:focus{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 256 256'%3E%3Cpath fill='%2300BCD4' d='m213.66 101.66-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 0 1 11.32-11.32L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/%3E%3C/svg%3E");
}
.form-row textarea{height:auto;padding:10px 12px;resize:vertical;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{
  outline:none;border-color:var(--cyan);box-shadow:0 0 0 2px rgba(0,188,212,.12);
}
.form-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-cols-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.custom-fields-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;}
.cf-row{display:grid;grid-template-columns:1fr 1fr 28px;gap:6px;align-items:center;}
.cf-row input{height:32px;padding:0 8px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:12px;font-family:var(--font-base);}
.cf-del{background:none;border:none;color:#ccc;cursor:pointer;font-size:13px;padding:3px;border-radius:3px;transition:color .12s;}
.cf-del:hover{color:#ef5350;}

/* ── Form Inputs Dark Mode ── */
html.dark .form-row input,
html.dark .form-row select,
html.dark .form-row textarea,
html.dark .cf-row input{
  background:var(--dm-surface-2);
  border-color:var(--dm-border-cell);
  color:var(--dm-text);
}
html.dark .form-row input::placeholder,
html.dark .form-row textarea::placeholder,
html.dark .cf-row input::placeholder{color:var(--dm-text-3);}
html.dark .form-row input:focus,
html.dark .form-row select:focus,
html.dark .form-row textarea:focus{
  border-color:var(--cyan);
  box-shadow:0 0 0 2px rgba(0,188,212,.18);
}
html.dark .form-row select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 256 256'%3E%3Cpath fill='%2360a0b0' d='m213.66 101.66-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 0 1 11.32-11.32L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/%3E%3C/svg%3E");
}
html.dark .form-row label{color:var(--dm-text-3);}
html.dark .form-section-title{color:var(--dm-text-2);}
html.dark .ac-avatar-picker{background:var(--dm-surface-2);border-color:var(--dm-border);}

/* ── Drop overlay ── */
.drop-overlay{
  position:fixed;inset:0;z-index:9000;
  display:none;flex-direction:column;align-items:center;justify-content:center;
  background:rgba(0,18,24,.88);pointer-events:none;
}
@supports (backdrop-filter:blur(1px)) and (not (-moz-appearance:none)){
  .drop-overlay{background:rgba(0,18,24,.78);backdrop-filter:blur(3px);}
}
.drop-overlay i{font-size:64px;color:var(--cyan);margin-bottom:16px;}
.drop-title{font-size:22px;font-weight:900;color:#fff;}
.drop-sub{font-size:13px;color:rgba(255,255,255,.6);margin-top:6px;}
.drop-ring{position:absolute;inset:24px;border:2px dashed rgba(0,188,212,.5);border-radius:16px;pointer-events:none;}

/* ── Toast ── */
.toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;}
.toast{
  display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:8px;
  font-size:12px;font-weight:600;font-family:var(--font-base);
  box-shadow:0 4px 16px rgba(0,0,0,.22);
  transform:translateX(110%);transition:transform .28s cubic-bezier(.32,1.2,.6,1);
  pointer-events:all;min-width:200px;max-width:360px;
}
.toast.show{transform:translateX(0);}
.toast i{font-size:16px;flex-shrink:0;}
.toast-info{background:#1a2e4a;color:#e0f0f5;border:1px solid rgba(0,188,212,.3);}
.toast-info i{color:var(--cyan);}
.toast-ok{background:#1a2e1a;color:#e0f5e0;border:1px solid rgba(46,125,50,.4);}
.toast-ok i{color:#4caf50;}
.toast-error{background:#2e1a1a;color:#f5e0e0;border:1px solid rgba(220,38,38,.4);}
.toast-error i{color:#ef5350;}

/* ── Loading spinner ── */
.loading-bar{height:3px;background:linear-gradient(90deg,var(--cyan),var(--magenta));animation:loadbar .8s ease infinite;}
@keyframes loadbar{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.seeding-overlay{
  position:fixed;inset:0;z-index:9500;background:var(--navy);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
}
.seeding-logo{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:900;letter-spacing:.14em;color:var(--cyan);text-transform:uppercase;}
.seeding-logo svg{width:32px;height:32px;}
.seeding-msg{font-size:13px;color:rgba(255,255,255,.5);}
.seeding-bar{width:200px;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden;}
.seeding-bar-fill{height:100%;background:var(--cyan);border-radius:2px;transition:width .4s ease;}

/* ══════════════════════════════════════════════════════
   ZIEL-DRILL-DOWN · Slide-over Drawer (Phase 2)
   Variante des Modal-Patterns: rechtsbündig, 70 vw, Slide-in.
══════════════════════════════════════════════════════ */
.modal-wrap--drawer{justify-content:flex-end;align-items:stretch;}
.modal-wrap--drawer .modal-backdrop{opacity:0;transition:opacity .25s ease;}
.modal-wrap--drawer.modal-open .modal-backdrop{opacity:1;}
.modal-pane--drawer{
  width:70vw;max-width:none;height:100vh;max-height:none;
  border-radius:0;display:flex;flex-direction:column;
  background:#fff;box-shadow:-8px 0 24px rgba(0,0,0,.18);
  transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.7,.2,1);
  position:relative;
}
.modal-wrap--drawer.modal-open .modal-pane--drawer{transform:translateX(0);}

/* Drawer-Header — eigenständig, nicht modal-hdr-Recycling */
.drawer-hdr{
  display:flex;align-items:center;gap:var(--sp-md);
  padding:14px 18px;border-bottom:1px solid var(--border);
  flex-shrink:0;background:#fff;
}
.drawer-hdr__title{flex:1;display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap;}
.drawer-hdr__num{
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--label);font-family:var(--font-mono);
}
.drawer-hdr__animal{font-size:16px;font-weight:900;color:#1a2230;line-height:1.2;}
.drawer-hdr__meta{font-size:11px;color:var(--label);}
.drawer-hdr__nav{display:flex;align-items:center;gap:4px;}
.drawer-hdr__btn{
  background:none;border:1px solid var(--border);border-radius:var(--r-sm);
  width:30px;height:30px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--label);font-family:inherit;font-size:14px;
  transition:border-color .15s,color .15s,background .15s;
}
.drawer-hdr__btn:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan);background:rgba(0,188,212,.06);}
.drawer-hdr__btn:disabled{opacity:.35;cursor:not-allowed;}
.drawer-hdr__close{
  background:none;border:none;color:var(--label);cursor:pointer;
  font-size:18px;padding:4px 8px;border-radius:3px;line-height:1;font-family:inherit;
}
.drawer-hdr__close:hover{background:#f0f0f0;color:#1a2230;}
.drawer-body{flex:1;overflow-y:auto;padding:20px 24px;background:var(--bg);}
.drawer-body::-webkit-scrollbar{width:6px;}
.drawer-body::-webkit-scrollbar-thumb{background:rgba(0,188,212,.22);border-radius:var(--r-full);}
.drawer-body::-webkit-scrollbar-thumb:hover{background:rgba(0,188,212,.5);}

/* Trigger-Button im Info-Hero-Footer ── */
.info-hero-action{
  display:flex;align-items:center;gap:5px;
  background:rgba(0,188,212,.08);border:1px solid rgba(0,188,212,.32);
  color:var(--cyan-dk);
  font-family:var(--font-base);font-size:11px;font-weight:700;
  padding:5px 10px;border-radius:var(--r-sm);cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;white-space:nowrap;
  margin-right:6px;
}
.info-hero-action:hover{background:rgba(0,188,212,.18);border-color:var(--cyan);color:var(--cyan-dk);}
.info-hero-action i{font-size:13px;}

/* ── Drill-Down · Phase 3 Kontext-Panel ── */
.drill-section + .drill-section{margin-top:16px;}
.drill-grid-context{
  display:grid;grid-template-columns:1.4fr 1fr;gap:16px;
}
.drill-hero{
  position:relative;border-radius:var(--r-md);border:1px solid var(--border);
  background:#f0f2f4;overflow:hidden;min-height:240px;display:flex;flex-direction:column;
}
.drill-hero-img-wrap{
  flex:1;position:relative;min-height:200px;
  background:linear-gradient(180deg,rgba(0,188,212,.05),rgba(233,30,140,.05));
}
.drill-hero-img-wrap img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center 45%;
  padding:18px 24px 60px;
}
.drill-hero-img-wrap .no-img-icon{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:72px;color:rgba(0,0,0,.08);
}
.drill-hero-overlay{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(transparent 0%,rgba(13,17,23,.78) 60%,rgba(13,17,23,.94) 100%);
  padding:36px 18px 14px;color:#fff;
}
.drill-hero-num{
  font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.55);font-family:var(--font-mono);margin-bottom:4px;
}
.drill-hero-name{font-size:22px;font-weight:900;line-height:1.15;margin-bottom:8px;}
.drill-hero-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.drill-hero-badge{
  display:inline-flex;align-items:center;gap:4px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r-full);padding:3px 10px;
  font-size:11px;font-weight:600;color:rgba(255,255,255,.92);
}
.drill-hero-badge.is-cyan{background:rgba(0,188,212,.22);border-color:rgba(0,188,212,.45);color:#b2ebf2;}
.drill-hero-badge i{font-size:12px;}

.drill-map-card{
  display:flex;flex-direction:column;
  border-radius:var(--r-md);border:1px solid var(--border);background:#fff;overflow:hidden;
}
.drill-map-card .card-hdr{padding:10px 14px;}
.drill-map-card .card-hdr .card-title{font-size:10px;}
#drill-map{flex:1;min-height:220px;}
.drill-map-empty{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;color:var(--label);font-size:11px;padding:20px;text-align:center;
}
.drill-map-empty i{font-size:32px;color:rgba(0,188,212,.3);}

.drill-kpis{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--border);border-radius:var(--r-md);overflow:hidden;
}
.drill-kpi{
  background:#fff;padding:14px 16px;
  display:flex;flex-direction:column;gap:4px;min-height:84px;
}
.drill-kpi-lbl{
  font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--label);
}
.drill-kpi-val{
  font-size:18px;font-weight:900;color:#1a2230;line-height:1.15;letter-spacing:-.01em;
}
.drill-kpi-val.is-positive{color:var(--cyan-dk);}
.drill-kpi-val.is-negative{color:var(--magenta);}
.drill-kpi-val.is-neutral{color:#1a2230;}
.drill-kpi-sub{font-size:10px;color:var(--label);line-height:1.4;}
.drill-kpi-sub strong{color:#1a2230;font-weight:700;}
.drill-kpi.is-empty .drill-kpi-val{color:#90a4ae;font-size:13px;font-weight:700;}

.drill-placeholder{
  background:#fff;border:1px dashed var(--border);border-radius:var(--r-md);
  padding:18px 20px;font-size:11px;color:var(--label);line-height:1.55;
}
.drill-placeholder strong{color:#1a2230;}

/* Visualisierungs-Karten (Mosaic + Boxplot) */
.drill-vis-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.drill-vis-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;}
.drill-vis-card .card-hdr{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.drill-vis-card .card-title{font-size:10px;}
.drill-vis-body{padding:6px 10px 12px;}
.drill-vis-svg{width:100%;display:block;cursor:default;}
.drill-vis-hint{font-size:10px;color:var(--label);padding:0 14px 10px;font-style:italic;}
.drill-vis-empty{padding:30px 20px;text-align:center;font-size:11px;color:var(--label);}

/* Reset-Selection Button im Card-Header */
.drill-vis-reset{
  background:rgba(0,188,212,.08);border:1px solid rgba(0,188,212,.3);
  color:var(--cyan-dk);font-size:9px;font-weight:700;letter-spacing:.06em;
  padding:3px 8px;border-radius:var(--r-sm);cursor:pointer;font-family:var(--font-base);
  display:none;align-items:center;gap:4px;
}
.drill-vis-reset.is-active{display:inline-flex;}
.drill-vis-reset:hover{background:rgba(0,188,212,.18);border-color:var(--cyan);}

/* Y-Achsen-Toggle (Bogenklasse / Zuggewicht) im Mosaic-Card-Header */
.drill-row-toggle{display:inline-flex;background:#f0f2f4;border-radius:var(--r-sm);padding:2px;}
.drill-toggle-chip{
  background:transparent;border:none;color:var(--label);
  font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 9px;border-radius:3px;cursor:pointer;font-family:var(--font-base);
  transition:background .12s,color .12s;
}
.drill-toggle-chip.is-active{background:#fff;color:var(--cyan-dk);box-shadow:0 1px 2px rgba(0,0,0,.06);}
.drill-toggle-chip:hover:not(.is-active){color:#1a2230;}
.drill-vis-card-actions{display:flex;align-items:center;gap:8px;}

/* Dimmed axis-label im Mosaic */
.hk-mosaic-axis.is-dimmed{fill:#b0b8c0;}

/* Mosaic */
.hk-mosaic-cell{transition:fill-opacity .15s;}
.hk-mosaic-cell:hover:not(.hk-mosaic-empty){stroke:#1a2230;stroke-width:1.5;}
.hk-mosaic-empty{stroke:#e2e6ea;cursor:default;}
.hk-mosaic-axis{font-size:10px;fill:var(--label);font-family:var(--font-base);}
.hk-mosaic-label{font-size:9px;fill:#fff;font-family:var(--font-mono);font-weight:700;pointer-events:none;}
.hk-mosaic-label.is-dark{fill:#1a2230;}
.hk-mosaic-sub-axis{font-size:8px;fill:var(--label);font-family:var(--font-base);}

/* Boxplot */
.hk-box-grid{stroke:#f0f2f4;stroke-width:1;}
.hk-box-axis{font-size:9px;fill:var(--label);font-family:var(--font-mono);}
.hk-box-label{font-size:11px;fill:#1a2230;font-family:var(--font-base);font-weight:600;}
.hk-box-n{font-size:9px;fill:var(--label);font-family:var(--font-mono);}
.hk-box-whisker,.hk-box-cap{stroke:#1a2230;stroke-width:1.2;fill:none;}
.hk-box-rect{stroke:#1a2230;stroke-width:1;}
.hk-box-rect:hover{stroke-width:1.5;}
.hk-box-median{stroke:#1a2230;stroke-width:2;}
.hk-box-mean{fill:#fff;stroke:#1a2230;stroke-width:1;}
.hk-box-outlier{stroke:#1a2230;stroke-width:.5;}

/* ── Korrelations-Karten (Phase 5) ── */
.drill-corr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.drill-corr-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;}
.drill-corr-card .card-hdr{padding:9px 14px;}
.drill-corr-card .card-title{font-size:10px;}
.drill-corr-body{padding:6px 10px 10px;}
.drill-corr-svg{width:100%;display:block;overflow:visible;}
.drill-corr-sub{padding:0 14px 10px;font-size:10px;color:var(--label);line-height:1.4;font-style:italic;}
.hk-corr-label{font-size:11px;fill:#1a2230;font-family:var(--font-base);font-weight:600;}
.hk-corr-value{font-size:10px;fill:var(--label);font-family:var(--font-mono);font-weight:700;}
.hk-corr-value.is-me{fill:var(--cyan-dk);}
.hk-corr-axis{font-size:9px;fill:var(--label);font-family:var(--font-mono);}
.hk-corr-track{stroke:#e2e6ea;stroke-width:3;stroke-linecap:round;}
.hk-corr-fill{stroke-width:3;stroke-linecap:round;}

/* Empty-State + Sparse-Banner (Phase 6) */
.drill-empty{
  background:#fff;border:1px dashed var(--border);border-radius:var(--r-md);
  padding:42px 24px;text-align:center;color:var(--label);
}
.drill-empty i{font-size:48px;color:rgba(0,188,212,.28);display:block;margin-bottom:12px;}
.drill-empty h3{font-size:14px;font-weight:800;color:#1a2230;margin-bottom:6px;letter-spacing:.01em;}
.drill-empty p{font-size:11px;line-height:1.6;max-width:340px;margin:0 auto;}
.drill-empty p strong{color:#1a2230;}

.drill-sparse-banner{
  background:rgba(255,193,7,.08);border:1px solid rgba(255,193,7,.35);
  border-radius:var(--r-md);padding:9px 14px;
  display:flex;align-items:center;gap:10px;color:#7a5f00;font-size:11px;line-height:1.5;
}
.drill-sparse-banner i{font-size:14px;color:#fbc02d;flex-shrink:0;}
.drill-sparse-banner strong{color:#5b4900;}

/* ══════════════════════════════════════════════════════
   MODULE 3 — Operator & Flyout Analytics
══════════════════════════════════════════════════════ */

/* Hero-Badge Varianten für Risiko-Level */
.drill-hero-badge.drill-risk-badge{font-weight:700;}
.drill-hero-badge.drill-risk-medium{background:rgba(255,152,0,.22);border-color:rgba(255,152,0,.45);color:#ffe0b2;}
.drill-hero-badge.drill-risk-high{background:rgba(198,40,40,.22);border-color:rgba(233,30,30,.50);color:#ffcdd2;animation:risk-pulse 2s ease-in-out infinite;}
@keyframes risk-pulse{0%,100%{opacity:1;}50%{opacity:.65;}}

/* Ops-Row: Arrow Risk + Target Wear nebeneinander */
.drill-ops-row{display:flex;flex-wrap:wrap;gap:10px;}
.drill-ops-card{
  flex:1;min-width:260px;
  display:flex;align-items:flex-start;gap:12px;
  padding:12px 14px;border-radius:var(--r-md);
  border:1px solid transparent;
}
.drill-ops-icon{font-size:22px;flex-shrink:0;margin-top:1px;}
.drill-ops-body{flex:1;min-width:0;}
.drill-ops-title{font-size:12px;font-weight:700;line-height:1.4;color:#1a2230;}
.drill-ops-sub{font-size:10px;color:var(--label);line-height:1.5;margin-top:3px;}
.drill-ops-sub em{font-style:normal;font-weight:700;}

/* Arrow Risk card */
.drill-ops-risk.drill-risk-medium{
  background:rgba(255,152,0,.07);border-color:rgba(255,152,0,.35);
}
.drill-ops-risk.drill-risk-medium .drill-ops-icon{color:#FF6D00;}
.drill-ops-risk.drill-risk-high{
  background:rgba(198,40,40,.07);border-color:rgba(233,30,30,.35);
}
.drill-ops-risk.drill-risk-high .drill-ops-icon{color:#c62828;}

/* Target Wear card */
.drill-ops-wear{background:rgba(84,110,122,.06);border-color:rgba(84,110,122,.20);}
.drill-ops-wear .drill-ops-icon{color:var(--label);}
.drill-wear-bar-wrap{display:flex;align-items:center;gap:8px;margin:6px 0 4px;}
.drill-wear-bar-track{flex:1;height:8px;background:rgba(0,0,0,.08);border-radius:4px;overflow:hidden;}
.drill-wear-bar-fill{height:100%;border-radius:4px;transition:width .4s ease;}
.drill-wear-bar-fill.wear-ok{background:var(--green);}
.drill-wear-bar-fill.wear-warning{background:#FF6D00;}
.drill-wear-bar-fill.wear-critical{background:#c62828;}
.drill-wear-pct{font-size:10px;font-family:var(--font-mono);font-weight:700;color:var(--label);white-space:nowrap;}

/* Dark mode overrides */
html.dark .drill-ops-title{color:var(--dm-text);}
html.dark .drill-ops-wear{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.10);}
html.dark .drill-wear-bar-track{background:rgba(255,255,255,.10);}
html.dark .drill-ops-risk.drill-risk-medium{background:rgba(255,152,0,.10);border-color:rgba(255,152,0,.30);}
html.dark .drill-ops-risk.drill-risk-high{background:rgba(198,40,40,.12);border-color:rgba(233,30,30,.30);}

/* ══════════════════════════════════════════════════════
   MODULE 5 — THE DUEL ARENA
══════════════════════════════════════════════════════ */

/* Achievement badges */
.duel-badges-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;}
.duel-badge{
  flex:1;min-width:160px;max-width:240px;
  display:flex;flex-direction:column;gap:2px;
  padding:12px 14px;border-radius:var(--r-lg);
  background:var(--surface-card);border:1px solid var(--border);
  box-shadow:var(--shadow-card);
}
.duel-badge-icon{font-size:24px;line-height:1;margin-bottom:2px;}
.duel-badge-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--label);}
.duel-badge-winner{font-size:14px;font-weight:900;line-height:1.2;color:#1a2230;margin-top:2px;}
.duel-badge-sub{font-size:10px;color:var(--label);margin-top:2px;}
.duel-badge--a .duel-badge-winner{color:var(--cyan);}
.duel-badge--b .duel-badge-winner{color:var(--magenta);}

/* Matchplay chart legend */
.cmp-legend{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--label);flex-wrap:wrap;}
.cmp-legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;}

/* Duel rows */
.duel-legend-row{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;}
.duel-legend-a{color:var(--cyan);}
.duel-legend-vs{color:var(--label);font-weight:400;}
.duel-legend-b{color:var(--magenta);}

.duel-rows{padding:6px 0;}
.duel-row{
  display:grid;
  grid-template-columns: 28px 1fr 32px minmax(0,1fr) 32px 20px;
  align-items:center;gap:6px;
  padding:6px 12px;border-radius:var(--r-sm);cursor:pointer;
  transition:background .12s;user-select:none;
}
.duel-row:hover{background:rgba(0,188,212,.06);}
.duel-row:hover .duel-row-arrow{opacity:.8;}
.duel-row+.duel-row{border-top:1px solid var(--border);}
.duel-num{font-size:10px;font-family:var(--font-mono);font-weight:700;color:var(--label);text-align:right;}
.duel-animal{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.duel-score-a,.duel-score-b{font-size:12px;font-weight:900;font-family:var(--font-mono);text-align:center;color:#546e7a;}
.duel-row--a-wins .duel-score-a{color:var(--cyan);}
.duel-row--b-wins .duel-score-b{color:var(--magenta);}
.duel-row-arrow{font-size:10px;color:var(--label);opacity:.35;transition:opacity .12s;}

/* Split bar */
.duel-bar-track{display:flex;height:10px;border-radius:5px;overflow:hidden;background:transparent;}
.duel-bar-a{background:var(--cyan);opacity:.75;transition:width .4s ease;border-radius:5px 0 0 5px;}
.duel-bar-b{background:var(--magenta);opacity:.75;transition:width .4s ease;border-radius:0 5px 5px 0;}
.duel-row--draw .duel-bar-a,
.duel-row--draw .duel-bar-b{opacity:.35;}

/* Dark mode */
html.dark .duel-badge{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .duel-badge-title{color:var(--dm-text-3);}
html.dark .duel-badge-winner{color:var(--dm-text);}
html.dark .duel-badge-sub{color:var(--dm-text-3);}
html.dark .duel-badge--a .duel-badge-winner{color:var(--cyan);}
html.dark .duel-badge--b .duel-badge-winner{color:var(--magenta);}
html.dark .duel-animal{color:var(--dm-text);}
html.dark .duel-num{color:var(--dm-text-3);}
html.dark .duel-row:hover{background:rgba(0,188,212,.08);}
html.dark .duel-row+.duel-row{border-color:var(--dm-border);}
html.dark .duel-score-a,html.dark .duel-score-b{color:var(--dm-text-2);}
html.dark .duel-row--a-wins .duel-score-a{color:var(--cyan);}
html.dark .duel-row--b-wins .duel-score-b{color:var(--magenta);}
html.dark .duel-row-arrow{color:var(--dm-text-3);}

/* ══════════════════════════════════════════════════════
   MODULE 4 — Parcours Editor Enhancements
══════════════════════════════════════════════════════ */

/* 4.1 — Path arrow markers on Leaflet map */
.pcd-path-arrow{pointer-events:none!important;}

/* 4.2 — Autofill flash animation on size chip */
@keyframes autofill-flash{0%{box-shadow:0 0 0 0 rgba(0,188,212,.7);}70%{box-shadow:0 0 0 6px rgba(0,188,212,0);}100%{box-shadow:0 0 0 0 rgba(0,188,212,0);}}
.pcd-chip--autofill{animation:autofill-flash .8s ease-out;}

/* 4.3 — Pre-flight bar */
#pcd-preflight-bar{
  margin:0;padding:10px 16px 12px;
  background:rgba(198,40,40,.06);border-bottom:2px solid rgba(198,40,40,.30);
}
.pcd-pf-hdr{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#b71c1c;margin-bottom:8px;}
.pcd-pf-hdr i{font-size:16px;flex-shrink:0;}
.pcd-pf-badges{display:flex;flex-wrap:wrap;gap:6px;}
.pcd-pf-badge{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:var(--r-full);font-size:10px;font-weight:500;
  cursor:pointer;border:1px solid transparent;line-height:1.5;text-align:left;
  background:rgba(198,40,40,.10);border-color:rgba(198,40,40,.30);color:#b71c1c;
  transition:background .15s;
}
.pcd-pf-badge:hover{background:rgba(198,40,40,.18);}
.pcd-pf-badge.pcd-pf-badge--no[data-pf-acc],
.pcd-pf-badge.pcd-pf-badge--big[data-pf-acc]{cursor:pointer;}
.pcd-pf-badge:not([data-pf-acc]){cursor:default;}
/* Highlight target row after click */
@keyframes pf-highlight{0%{outline:2px solid var(--cyan);outline-offset:2px;}100%{outline:2px solid transparent;outline-offset:2px;}}
.pcd-pf-highlight{animation:pf-highlight 2s ease-out;}

/* 4.4 — no additional CSS needed (uses existing brush-hover) */

/* Dark mode overrides for module 4 */
html.dark #pcd-preflight-bar{background:rgba(198,40,40,.10);border-color:rgba(239,83,80,.30);}
html.dark .pcd-pf-hdr{color:#ef9a9a;}
html.dark .pcd-pf-badge{background:rgba(239,83,80,.10);border-color:rgba(239,83,80,.25);color:#ef9a9a;}
html.dark .pcd-asel__search{border-color:var(--dm-border);}
html.dark .pcd-asel__search-input{background:var(--dm-surface-2);border-color:var(--dm-border-cell);color:var(--dm-text);}

/* ══════════════════════════════════════════════════════
   DARK MODE — Desktop-spezifische Overrides
   Greift wenn html.dark gesetzt (via Theme-Toggle)
   Ergänzt den generischen html.dark Block in hawkeye-tokens.css
══════════════════════════════════════════════════════ */

/* ── Layout-Struktur ── */
html.dark .desk-sidebar{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .desk-main{background:var(--dm-bg);}

/* ── Sidebar ── */
html.dark .sb-section-hdr{background:var(--dm-surface);}
html.dark .sb-group-hdr{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-text-3);}
html.dark .sb-hdr-lbl{color:var(--dm-text-3);}
html.dark .sb-hdr-btn{border-color:var(--dm-border);color:var(--dm-text-2);}
html.dark .sb-hdr-btn:hover{border-color:var(--cyan);color:var(--cyan);}
html.dark .sb-row{border-color:rgba(255,255,255,.05);}
html.dark .sb-row:hover{background:rgba(0,188,212,.08);}
html.dark .sb-row.active{background:rgba(0,188,212,.1);border-left-color:var(--cyan);}
html.dark .sb-row-name{color:var(--dm-text);}
html.dark .sb-row-sub{color:var(--dm-text-3);}
html.dark .sb-row-del{color:var(--dm-border-cell);}
html.dark .sb-divider{background:var(--dm-border);}
html.dark .sb-add-row{color:var(--dm-text-2);}
html.dark .sb-search{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .sb-search-input{color:var(--dm-text);}
html.dark .sb-range-wrap{border-color:var(--dm-border);}
html.dark .sb-range-track{background:var(--dm-border);}
html.dark .sb-range-thumb{border-color:var(--dm-surface);}
html.dark .sb-empty{color:var(--dm-text-2);}


/* ── KPI ── */
html.dark .kpi-card{background:var(--dm-surface);}
html.dark .kpi-val.val-neutral{color:var(--dm-text);}
html.dark .kpi-lbl{color:var(--dm-text-3);}

/* ── Cards ── */
html.dark .card{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .card-hdr{border-color:var(--dm-border);}
html.dark .card-title{color:var(--dm-text-2);}

/* ── View-Header ── */
html.dark .view-title{color:var(--dm-text);}
html.dark .view-sub{color:var(--dm-text-2);}

/* ── Empty States ── */
html.dark .empty-view h3{color:var(--dm-text);}
html.dark .empty-view p{color:var(--dm-text-2);}
html.dark .drill-empty{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .drill-empty h3,.drill-empty p strong{color:var(--dm-text);}

/* ── Drill-KPI Cards ── */
html.dark .drill-kpi{background:var(--dm-surface);}
html.dark .drill-kpi-val{color:var(--dm-text);}
html.dark .drill-kpi-val.is-neutral{color:var(--dm-text);}
html.dark .drill-kpi-sub strong{color:var(--dm-text);}
html.dark .drill-placeholder{background:var(--dm-surface-2);border-color:var(--dm-border-cell);}
html.dark .drill-placeholder strong{color:var(--dm-text);}
html.dark .drill-vis-card{background:var(--dm-surface);border-color:var(--dm-border);}

/* ── Fatigue hint ── */
html.dark .fatigue-hint{background:var(--dm-surface-2);color:var(--dm-text-3);}

/* ── Tabellen ── */
html.dark .tgt-table th{background:var(--dm-surface-2);color:var(--dm-text-3);border-color:var(--dm-border);}
html.dark .tgt-table td{border-color:rgba(255,255,255,.05);}
html.dark .tgt-table tr:hover td{background:rgba(255,255,255,.04);}
html.dark .tgt-table tr.brush-hover td{background:rgba(0,188,212,.05);}
html.dark .tgt-table tr.brush-active td{background:rgba(0,188,212,.1);border-left-color:var(--cyan);}
html.dark .tgt-table tbody tr.kb-focus{background:rgba(0,188,212,.12);outline-color:var(--cyan);}
html.dark .tgt-table-scroll:focus{box-shadow:0 0 0 2px var(--cyan) inset;}
html.dark .tgt-animal{color:var(--dm-text);}
html.dark .arrow-pill{background:var(--dm-surface-2);color:var(--dm-text-2);}
html.dark .time-mono,.pace-mono{color:var(--dm-text-3);}
html.dark .score-num{color:var(--dm-text);}

/* ── Info Panel ── */
html.dark .info-parcours-name{color:var(--dm-text);}
html.dark .info-meta-row{border-color:var(--dm-border);}
html.dark .info-meta-val{color:var(--dm-text);}

/* ── Info Hero ── */
html.dark .info-hero-footer{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .info-hero-back{color:var(--dm-text-2);}

/* ── Vergleichs-View ── */
html.dark .compare-select-row label{color:var(--dm-text-2);}
html.dark .compare-kpi-card{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .compare-kpi-card.winner{border-color:var(--cyan);background:rgba(0,188,212,.07);}
html.dark .cmp-win-tag{color:var(--cyan);}
html.dark .cmp-table tr:hover td{background:rgba(255,255,255,.04);}
html.dark .delta-pos{color:var(--cyan);}
html.dark .delta-neg{color:var(--magenta);}
html.dark .cmp-name{color:var(--dm-text-2);}
html.dark .cmp-score.loser{color:var(--dm-text-3);}
html.dark .cmp-table th{background:var(--dm-surface-2);color:var(--dm-text-3);border-color:var(--dm-border);}
html.dark .cmp-table td{border-color:rgba(255,255,255,.05);}
html.dark .cmp-table tr:hover td{background:rgba(255,255,255,.04);}

/* ── Parcours-View ── */
html.dark .parcours-card{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .parcours-card:hover{border-color:var(--cyan);}
html.dark .pc-pill--grey{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-text-2);}
html.dark .pc-name{color:var(--dm-text);}
html.dark .pc-location{color:var(--dm-text-2);}
html.dark .pc-footer{background:var(--dm-surface-2);border-color:var(--dm-border);}
html.dark .pc-sessions-lbl{color:var(--dm-text-3);}

/* ── Parcours-Detail (Editor) ── */
html.dark .pcd-topbar{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .pcd-back{border-color:var(--dm-border);color:var(--dm-text-2);}
html.dark .pcd-back:hover{border-color:var(--cyan);color:var(--cyan);}
html.dark .pcd-name-input{color:var(--dm-text);}
html.dark .pcd-loc-input{color:var(--dm-text-2);}
html.dark .pcd-info-card{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .pcd-info-card__hdr{color:var(--dm-text-3);}
html.dark .pcd-info-row{border-color:var(--dm-border);}
html.dark .pcd-info-key{color:var(--dm-text-2);}
html.dark .pcd-info-val{color:var(--dm-text);}
html.dark .pcd-map-card{border-color:var(--dm-border);}
html.dark .pcd-stats{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .pcd-stat{border-color:var(--dm-border);}
html.dark .pcd-splitter::before{background:var(--dm-border);}
html.dark .pcd-map-empty{background:var(--dm-surface-2);}
/* Dark: Topbar Meta + Action Buttons */
html.dark .pcd-topbar-meta{border-color:var(--dm-border);}
html.dark .pcd-topbar-meta strong{color:var(--dm-text);}
html.dark .pcd-meta-sep{color:var(--dm-border);}
html.dark .pcd-topbar-actions{border-color:var(--dm-border);}
/* dark mode for .btn-primary/.btn-ghost/.btn-danger handled by components.css */
html.dark .pcd-reference-info{background:rgba(255,255,255,.03);border-color:var(--dm-border);color:var(--dm-text-2);}
html.dark .pcd-reference-badge{color:var(--dm-text-2);}

/* ── Breakdown bars ── */
html.dark .bd-bar-wrap{background:var(--dm-border-cell);}
html.dark .bd-lbl{color:var(--dm-text-3);}

/* ── Weak-Chips ── */
html.dark .weak-chip{background:var(--dm-surface);border-color:var(--dm-border);color:var(--dm-text);}
html.dark .weak-chip .wc-num{color:var(--dm-text-3);}

/* ── Breakdown / Sparklines ── */
html.dark .spark-lbl{color:var(--dm-text-3);}

/* ── Karte ── */
html.dark .leaflet-container{background:#0d1117;}
html.dark .leaflet-tile-pane{filter:none;}

/* ── SVG-Labels in Charts ── */
html.dark .hk-corr-label{fill:var(--dm-text);}
html.dark .hk-corr-axis{fill:var(--dm-text-3);}
html.dark .hk-corr-track{stroke:var(--dm-border-cell);}
html.dark .hk-mosaic-label{fill:var(--dm-text)!important;}

/* ── Modals + Overlays ── */
html.dark .modal-overlay{background:rgba(0,0,0,.7);}
html.dark .modal{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .modal-title{color:var(--dm-text);}
html.dark .modal-body{color:var(--dm-text);}
/* Popup-Modals (Import, Parcours …) */
html.dark .modal-pane{background:var(--dm-surface);}
html.dark .modal-hdr{border-color:var(--dm-border);}
html.dark .modal-footer{border-color:var(--dm-border);}
html.dark .modal-close:hover{background:var(--dm-surface-2);color:var(--dm-text);}
html.dark .hw-confirm-pane{background:var(--dm-surface);}
html.dark .hw-confirm-title{color:var(--dm-text);}
html.dark .hw-confirm-text{color:var(--dm-text-2);}
html.dark .hw-confirm-footer{border-color:var(--dm-border);}

/* ── Drill-Down Drawer ── */
html.dark .modal-pane--drawer{background:var(--dm-bg);}
html.dark .drawer-hdr{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .drawer-hdr__animal{color:var(--dm-text);}
html.dark .drawer-hdr__num{color:var(--dm-text-3);}

/* ── Drill-Down Cards ── */
html.dark .drill-hero{background:var(--dm-surface-2);border-color:var(--dm-border);}
html.dark .drill-map-card{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .drill-map-card .card-hdr{border-color:var(--dm-border);}
html.dark .drill-corr-card{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .drill-corr-card .card-hdr{border-color:var(--dm-border);}
html.dark .drill-corr-sub{color:var(--dm-text-2);}
html.dark .drill-vis-card .card-hdr{border-color:var(--dm-border);}
html.dark .drill-vis-empty{color:var(--dm-text-2);}
html.dark .drill-vis-hint{color:var(--dm-text-2);}
html.dark .drill-vis-reset{
  border-color:rgba(0,188,212,.35);color:var(--cyan);background:rgba(0,188,212,.08);
}

/* ── Boxplot SVG-Elemente ── */
html.dark .hk-box-grid{stroke:var(--dm-border-cell);}
html.dark .hk-box-label{fill:var(--dm-text);}
html.dark .hk-box-n{fill:var(--dm-text-3);}
html.dark .hk-box-axis{fill:var(--dm-text-3);}
html.dark .hk-box-whisker,
html.dark .hk-box-cap{stroke:var(--dm-text-2);}
html.dark .hk-box-rect{stroke:var(--dm-text-2);}
html.dark .hk-box-median{stroke:var(--dm-text);}
html.dark .hk-box-mean{fill:var(--dm-surface);stroke:var(--dm-text-2);}
html.dark .hk-box-outlier{stroke:var(--dm-text-2);}

/* ── Mosaic SVG-Elemente ── */
html.dark .hk-mosaic-axis{fill:var(--dm-text-3);}
html.dark .hk-mosaic-sub-axis{fill:var(--dm-text-3);}
html.dark .hk-mosaic-empty{stroke:var(--dm-border-cell);}
html.dark .hk-mosaic-cell:hover:not(.hk-mosaic-empty){stroke:var(--dm-text);}
html.dark .hk-mosaic-label.is-dark{fill:var(--dm-text);}

/* ── Drill Mosaic Y-Toggle (Bogenklasse / Zuggewicht) ── */
html.dark .drill-row-toggle{background:var(--dm-surface-2);}
html.dark .drill-toggle-chip{color:var(--dm-text-2);}
html.dark .drill-toggle-chip.is-active{background:var(--dm-surface);color:var(--cyan);box-shadow:0 1px 3px rgba(0,0,0,.4);}
html.dark .drill-toggle-chip:hover:not(.is-active){color:var(--dm-text);}

/* ── Profil-View ── */
/* ── Archer / Profile Cards ── */
html.dark .archer-card{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .archer-card:hover{border-color:rgba(0,188,212,.35);box-shadow:0 2px 10px rgba(0,0,0,.4);}
html.dark .ac-name{color:var(--dm-text);}
html.dark .ac-field-val{color:var(--dm-text);}
html.dark .ac-field-row{border-bottom-color:var(--dm-border);}
html.dark .ac-footer{background:var(--dm-surface-2);border-top-color:var(--dm-border);}

/* ── Parcours-Editor Akkordeon ── */
html.dark .pcd-acc{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .pcd-acc__hdr{background:var(--dm-surface);}
html.dark .pcd-acc--open{border-color:var(--cyan);}
html.dark .pcd-acc__hdr:hover{background:rgba(255,255,255,.04);}
html.dark .pcd-acc--open .pcd-acc__hdr{background:rgba(0,188,212,.07);}
html.dark .pcd-acc__animal{color:var(--dm-text);}
html.dark .pcd-acc__body{background:var(--dm-surface-2);border-top-color:var(--dm-border);}
html.dark .pcd-acc--brush-hover{background:var(--dm-surface-2);border-color:rgba(0,188,212,.35);}
html.dark .pcd-two-col{background:var(--dm-bg);}
html.dark .pcd-left-col{background:var(--dm-surface);border-color:var(--dm-border);}
html.dark .pcd-right-col{background:var(--dm-bg);}
html.dark .pcd-section-lbl{color:var(--dm-text-2);}

/* ── Custom hk-select Dropdown ── */
html.dark .hk-select__trigger{background:var(--dm-surface-2);border-color:var(--dm-border-cell);color:var(--dm-text);}
html.dark .hk-select__trigger:hover{border-color:rgba(0,188,212,.4);}
html.dark .hk-select__val{color:var(--dm-text);}
html.dark .hk-select__val--ph{color:var(--dm-text-3);}
html.dark .hk-select__panel{background:var(--dm-surface);border-color:var(--dm-border-cell);box-shadow:0 6px 20px rgba(0,0,0,.5);}
html.dark .hk-select__opt{color:var(--dm-text);}
html.dark .hk-select__opt:hover{background:rgba(0,188,212,.1);}

/* ── Animal-Picker pcd-asel ── */
html.dark .pcd-asel__trigger{background:var(--dm-surface-2);border-color:var(--dm-border-cell);}
html.dark .pcd-asel__label{color:var(--dm-text);}
html.dark .pcd-asel__label--ph{color:var(--dm-text-3);}
html.dark .pcd-asel__panel{background:var(--dm-surface);border-color:var(--dm-border-cell);box-shadow:0 6px 20px rgba(0,0,0,.5);}
html.dark .pcd-asel__opt{color:var(--dm-text);}
html.dark .pcd-asel__opt:hover{background:rgba(0,188,212,.1);}
html.dark .pcd-asel__opt--custom{border-top-color:var(--dm-border);color:var(--dm-text-2);}
html.dark .pcd-asel__custom-input{background:var(--dm-surface-2);border-color:var(--dm-border-cell);color:var(--dm-text);}

/* ── Accordion-Body Controls (Entfernung / Neigung / Zielgröße) ── */
html.dark .pcd-dist-btn{background:var(--dm-surface-2);border-color:var(--dm-border-cell);color:var(--dm-text-2);}
html.dark .pcd-dist-btn:hover{background:rgba(0,188,212,.12);border-color:var(--cyan);color:var(--cyan);}
html.dark .pcd-dist-input{background:var(--dm-surface-2);border-color:var(--dm-border-cell);color:var(--dm-text);}
html.dark .pcd-chip{background:var(--dm-surface-2);border-color:var(--dm-border-cell);color:var(--dm-text-2);}
html.dark .pcd-chip:hover{border-color:var(--cyan);color:var(--cyan);}
html.dark .pcd-chip--active{background:var(--cyan);border-color:var(--cyan);color:var(--navy);}
html.dark .pcd-acc__animal-img{background:var(--dm-surface-2);border-color:var(--dm-border);}

/* ── i18n Sprachumschalter ── */
#lang-select{
  height:26px;padding:0 6px;border-radius:var(--r-sm);
  border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.75);font-size:11px;font-weight:600;letter-spacing:.04em;
  cursor:pointer;font-family:var(--font-base);transition:all .15s;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(255,255,255,.5)'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 6px center;
  padding-right:20px;
}
#lang-select:hover{color:#fff;border-color:rgba(255,255,255,.3);}
#lang-select option{background:#1a2e4a;color:#fff;}

/* ── Dark mode: standard btn overrides ── */
html.dark .btn-ghost{border-color:var(--dm-border);color:var(--dm-text-2);background:transparent;}
html.dark .btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,188,212,.06);}
html.dark .btn-danger{background:rgba(248,113,113,.08);color:#f87171;border-color:rgba(248,113,113,.25);}
html.dark .btn-danger:hover{background:rgba(248,113,113,.15);border-color:#f87171;}

/* ══════════════════════════════════════════════════════
   HYPERGRID — Schützen-Screen alternative Ansicht
   Jede .hg-row ist ihr eigenes 4-Spalten-CSS-Grid.
   Spaltenbreiten werden per inline-style animiert.
   Toggle: STATE.profilView = 'cards'|'hypergrid'
══════════════════════════════════════════════════════ */

/* Sidebar ausblenden im Hypergrid-Modus */
.desk-body.hg-active .desk-sidebar { display: none; }

/* profil-grid im Hypergrid-Modus auf block umschalten */
.profil-grid--hg { display: block !important; gap: 0 !important; }

/* Toggle-Button aktiver Zustand */
.btn-ghost.is-active {
  border-color: var(--cyan);
  color: var(--cyan-dk);
  background: rgba(0,188,212,.08);
}

/* ── Wrap & Header ── */
.hg-wrap { display: flex; flex-direction: column; }

.hg-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  flex-shrink: 0;
}
.hg-search-wrap {
  position: relative;
  flex: 1;
  max-width: 380px;
}
.hg-search-wrap > i {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: var(--label);
  pointer-events: none;
}
.hg-search {
  width: 100%;
  height: 34px;
  padding: 0 12px 0 32px;
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  background: #fff;
  font-family: var(--font-base);
  font-size: var(--size-base);
  color: #1a2230;
  transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
}
.hg-search:focus {
  outline: none;
  border-color: var(--cyan);
  box-shadow: 0 0 0 2px rgba(0,188,212,.10);
}
.hg-search::placeholder { color: #90a4ae; }
.hg-count {
  font-size: var(--size-sm);
  color: var(--label);
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Column header ── */
.hg-col-hdr {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-bottom: 6px;
  padding: 0 2px;
  transition: grid-template-columns 250ms ease;
}
.hg-col-hdr-cell {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--label);
  padding: 0 12px;
}
.hg-col-hdr-cell i { font-size: 11px; }

/* ── Table (flex column of rows) ── */
.hg-table { display: flex; flex-direction: column; gap: 4px; }

/* ── Row: eigenes 4-Spalten-Grid ── */
.hg-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  transition: grid-template-columns 250ms ease;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  min-height: 52px;
}
.hg-row--hidden { opacity: .18; pointer-events: none; }

/* ── Cell ── */
.hg-cell {
  border-right: 1px solid var(--border);
  cursor: pointer;
  overflow: hidden;
  transition: background .15s;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.hg-cell:last-child { border-right: none; }
.hg-cell:hover:not(.is-open) { background: rgba(0,188,212,.04); }
.hg-cell.is-open { background: rgba(0,188,212,.025); cursor: default; }

/* ── Collapsed content ── */
.hg-collapsed {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  flex: 1;
  min-height: 52px;
  min-width: 0;
  overflow: hidden;
}
.hg-cell.is-open .hg-collapsed { display: none; }

/* ── Expanded content ── */
.hg-expanded {
  display: none;
  flex-direction: column;
  gap: 0;
  padding: 12px 14px 14px;
  flex: 1;
}
.hg-cell.is-open .hg-expanded { display: flex; }

/* ── Typography inside cells ── */
.hg-section-lbl {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--label);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.hg-section-lbl i { font-size: 11px; }

.hg-sub-lbl {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(84,110,122,.55);
  margin: 10px 0 4px;
}
.hg-sub-lbl:first-child { margin-top: 0; }

.hg-info-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 0;
  border-bottom: 1px solid rgba(226,230,234,.7);
  font-size: var(--size-sm);
  gap: 8px;
  min-width: 0;
}
.hg-info-row:last-child { border-bottom: none; }
.hg-info-key { color: var(--label); flex-shrink: 0; }
.hg-info-val {
  color: #1a2230;
  font-weight: 600;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 65%;
}

/* ── Collapsed text elements ── */
.hg-archer-name {
  font-size: var(--size-base);
  font-weight: 800;
  color: #1a2230;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hg-archer-sub {
  font-size: var(--size-sm);
  color: var(--label);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}

/* ── Collapsed badges ── */
.hg-score-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(0,188,212,.08);
  border: 1px solid rgba(0,188,212,.18);
  color: var(--cyan-dk);
  font-size: 9px;
  font-weight: 700;
  font-family: var(--font-mono);
  letter-spacing: .04em;
  flex-shrink: 0;
}
.hg-club-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(84,110,122,.07);
  border: 1px solid rgba(84,110,122,.14);
  color: var(--label);
  font-size: 9px;
  font-weight: 700;
  max-width: 100%;
  overflow: hidden;
}
.hg-club-badge i { font-size: 10px; flex-shrink: 0; }
.hg-club-badge span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hg-activity-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.hg-activity-dot.is-active { background: #4caf50; }
.hg-activity-dot.is-mid    { background: #ffa726; }
.hg-activity-dot.is-low    { background: #b0bec5; }

/* ── Avatar in expanded col1 ── */
.hg-avatar-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.hg-owner-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--cyan);
  margin-top: 3px;
}
.hg-owner-badge i { font-size: 10px; }

/* ── Edit button in expanded col1 ── */
.hg-edit-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 26px;
  padding: 0 10px;
  margin-top: 10px;
  align-self: flex-start;
  background: rgba(0,188,212,.08);
  border: 1px solid rgba(0,188,212,.25);
  color: var(--cyan-dk);
  border-radius: var(--r-sm);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  cursor: pointer;
  font-family: var(--font-base);
  transition: all .15s;
}
.hg-edit-btn i { font-size: 11px; }
.hg-edit-btn:hover { background: rgba(0,188,212,.18); border-color: var(--cyan); }

/* ── Badges (Profil-Spalte) ── */
.hg-badges-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}
.hg-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(180,255,46,.10);
  border: 1px solid rgba(180,255,46,.28);
  color: #5a7a00;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .04em;
}
.hg-badge i { font-size: 10px; }

/* ── Search highlight ── */
mark.hg-mark {
  background: rgba(0,188,212,.22);
  color: inherit;
  border-radius: 2px;
  padding: 0 1px;
}

/* ══════════════════════════════════════════════════════
   HYPERGRID — Dark Mode
══════════════════════════════════════════════════════ */
html.dark .hg-row { background: var(--dm-surface); border-color: var(--dm-border); }
html.dark .hg-row:hover { border-color: rgba(0,188,212,.2); }
html.dark .hg-cell { border-right-color: var(--dm-border); }
html.dark .hg-cell:hover:not(.is-open) { background: rgba(0,188,212,.06); }
html.dark .hg-cell.is-open { background: rgba(0,188,212,.04); }
html.dark .hg-archer-name { color: var(--dm-text); }
html.dark .hg-archer-sub { color: var(--dm-text-2); }
html.dark .hg-info-row { border-bottom-color: var(--dm-border); }
html.dark .hg-info-val { color: var(--dm-text); }
html.dark .hg-info-key { color: var(--dm-text-2); }
html.dark .hg-section-lbl { color: var(--dm-text-3); }
html.dark .hg-sub-lbl { color: rgba(255,255,255,.28); }
html.dark .hg-search {
  background: var(--dm-surface-2);
  border-color: var(--dm-border-cell);
  color: var(--dm-text);
}
html.dark .hg-search:focus { border-color: var(--cyan); }
html.dark .hg-search::placeholder { color: var(--dm-text-3); }
html.dark .hg-count { color: var(--dm-text-2); }
html.dark .hg-col-hdr-cell { color: var(--dm-text-3); }
html.dark .hg-score-badge {
  background: rgba(0,188,212,.1);
  border-color: rgba(0,188,212,.2);
  color: var(--cyan);
}
html.dark .hg-club-badge {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
  color: var(--dm-text-2);
}
html.dark .hg-badge {
  background: rgba(180,255,46,.07);
  border-color: rgba(180,255,46,.18);
  color: #9dbf1a;
}
html.dark .hg-edit-btn { color: var(--cyan); }
html.dark .hg-edit-btn:hover { background: rgba(0,188,212,.2); }
