/* ═══════════════════════════════════════════════════════════════════════════ */
/* ─── Aktivitäten ─────────────────────────────────────────────────────────  */
/* ═══════════════════════════════════════════════════════════════════════════ */

.activities-wrap { padding:24px 32px; max-width:900px; flex:1; min-height:0; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#c9d1e3 transparent; }
.activities-wrap::-webkit-scrollbar{width:10px;height:10px}
.activities-wrap::-webkit-scrollbar-track{background:transparent}
.activities-wrap::-webkit-scrollbar-thumb{background:#c9d1e3;border-radius:10px}
.activities-wrap::-webkit-scrollbar-thumb:hover{background:#a8b3c9}
[data-theme="dark"] .activities-wrap{scrollbar-color:#2a3a52 transparent}
[data-theme="dark"] .activities-wrap::-webkit-scrollbar-thumb{background:#2a3a52}
[data-theme="dark"] .activities-wrap::-webkit-scrollbar-thumb:hover{background:#3a4a62}
.activities-header { display:flex; align-items:center; gap:16px; margin-bottom:24px; flex-wrap:wrap; }
.activities-title { font-size:1.5rem; font-weight:700; margin-right:auto; }
.act-tabs { display:flex; gap:4px; background:var(--accent-bg,#edf2fb); border-radius:12px; padding:4px; }
.act-tab {
  padding:8px 16px; border:none; background:transparent; border-radius:10px;
  font-size:.85rem; font-weight:600; color:var(--muted); cursor:pointer; transition:all .15s;
}
.act-tab.active { background:#fff; color:var(--accent,#0d63d6); box-shadow:0 2px 8px rgba(0,0,0,.08); }
.act-tab:hover:not(.active) { color:var(--text); }

/* Summary Cards */
.activities-summary { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; margin-bottom:28px; }
.act-summary-card {
  background:var(--card,#fff); border:1px solid var(--border-light,#e2e7f2); border-radius:14px;
  padding:14px 16px; display:flex; align-items:center; gap:12px;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  cursor:pointer; transition: all .15s ease;
  user-select:none;
}
.act-summary-card:hover {
  border-color: var(--accent,#0d63d6);
  transform: translateY(-1px);
  box-shadow:0 4px 16px rgba(13,99,214,.15);
}
.act-summary-card.active {
  border-color: var(--accent,#0d63d6);
  background: var(--accent-bg,#edf2fb);
  box-shadow:0 0 0 2px rgba(13,99,214,.25);
}
.act-summary-avatar {
  width:38px; height:38px; border-radius:50%;
  background:var(--accent-bg,#edf2fb); color:var(--accent,#0d63d6);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.9rem;
}
.act-summary-name { font-weight:600; font-size:.85rem; }
.act-summary-count { font-size:.75rem; color:var(--muted); }
.act-summary-count strong { color:var(--accent,#0d63d6); font-size:1.1rem; }

/* Activity Cards */
.activities-list { display:flex; flex-direction:column; gap:12px; }
.act-card {
  background:var(--card,#fff); border:1px solid var(--border-light,#e2e7f2); border-radius:14px;
  padding:18px 20px; box-shadow:0 2px 12px rgba(0,0,0,.06);
  display:flex; flex-direction:column; gap:10px;
  border-left:4px solid transparent; transition:all .15s;
}
.act-card:hover { box-shadow:0 4px 20px rgba(0,0,0,.1); transform:translateY(-1px); }
.act-card.priority-urgent { border-left-color:#e53e3e; }
.act-card.priority-high { border-left-color:#ed8936; }
.act-card.priority-normal { border-left-color:#ecc94b; }
.act-card.priority-low { border-left-color:#a0aec0; }
.act-card.overdue { border-left-color:#e53e3e; background:#fff5f5; }
.act-card.done { opacity:.55; border-left-color:#48bb78; }

.act-card-top { display:flex; align-items:center; gap:10px; }
.act-priority-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.act-card-title { font-weight:700; font-size:1rem; flex:1; }
.act-card-title.strike { text-decoration:line-through; }
.act-done-tag {
  background:#c6f6d5; color:#276749; font-size:.7rem; font-weight:600;
  padding:3px 8px; border-radius:6px;
}
.act-overdue-tag { color:#e53e3e; font-size:.7rem; }

.act-card-meta { display:flex; gap:16px; font-size:.8rem; color:var(--muted); flex-wrap:wrap; }
.act-card-meta span { display:flex; align-items:center; gap:4px; }
.act-card-desc { font-size:.85rem; color:#4a5568; line-height:1.5; }

.act-card-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.act-btn-done { background:#f0fff4 !important; border-color:#48bb78 !important; color:#276749 !important; }
.act-btn-done:hover { background:#c6f6d5 !important; }
.act-btn-del { color:#e53e3e !important; border-color:#fed7d7 !important; }
.act-btn-del:hover { background:#fff5f5 !important; border-color:#e53e3e !important; }

.act-linked-badge {
  display:inline-flex; align-items:center; gap:6px;
  background:linear-gradient(135deg,#edf2fb 0%,#e8eef9 100%);
  border:1px solid #c8d6f0; border-radius:8px;
  padding:5px 12px; font-size:.78rem; font-weight:600;
  color:var(--accent,#0d63d6); cursor:pointer; transition:all .15s; text-decoration:none;
  max-width:100%; overflow-wrap:anywhere; line-height:1.25;
}
.act-linked-badge:hover { background:#dce6f8; border-color:var(--accent,#0d63d6); transform:translateY(-1px); }

.act-empty { text-align:center; padding:40px 20px; color:var(--muted); font-size:.9rem; }

/* Quick templates in activity modal */
.act-template-row { margin-bottom:2px; }
.act-template-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.act-template-btn {
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid var(--border-light,#e2e7f2);
  border-radius:10px;
  background:var(--card,#fff);
  color:var(--text,#1a202c);
  font:inherit;
  font-size:.82rem;
  font-weight:700;
  cursor:pointer;
  transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease;
}
.act-template-btn:hover {
  border-color:var(--accent,#0d63d6);
  background:var(--accent-bg,#edf2fb);
  transform:translateY(-1px);
}
.act-template-btn.active {
  border-color:var(--accent,#0d63d6);
  background:var(--accent-bg,#edf2fb);
  color:var(--accent,#0d63d6);
  box-shadow:0 0 0 2px rgba(13,99,214,.18);
}
.act-template-icon { flex:0 0 auto; }
.act-template-label {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Activity badge on board cards */
.task-activity-badge {
  display:inline-flex; align-items:center; gap:4px;
  background:linear-gradient(135deg,#ebf8ff 0%,#e1f0ff 100%);
  border:1px solid #90cdf4; border-radius:6px;
  padding:2px 8px; font-size:.65rem; font-weight:700;
  color:#2b6cb0; cursor:pointer; transition:all .12s;
}
.task-activity-badge:hover { background:#bee3f8; border-color:#63b3ed; }
.task-activity-badge.has-urgent { border-color:#fc8181; color:#c53030; background:#fff5f5; }
.task-calendar-badge {
  display:inline-flex; align-items:center; gap:4px;
  background:#f0fdf4; border:1px solid #86efac; border-radius:6px;
  padding:2px 8px; font-size:.65rem; font-weight:700;
  color:#166534; cursor:default; transition:all .12s;
}
.card-calendar-section { display:flex; flex-direction:column; gap:10px; }
.card-calendar-actions { display:flex; gap:8px; flex-wrap:wrap; }
.card-calendar-list,
.card-calendar-search-results { display:flex; flex-direction:column; gap:8px; }
.card-calendar-link {
  display:flex; align-items:center; gap:10px; justify-content:space-between;
  background:var(--card,#fff); border:1px solid var(--border-light,#e2e7f2);
  border-radius:8px; padding:10px 12px;
}
.card-calendar-link-main { min-width:0; flex:1; }
.card-calendar-link-title { font-weight:700; font-size:.85rem; line-height:1.3; }
.card-calendar-link-meta { color:var(--muted); font-size:.76rem; margin-top:2px; }
.card-calendar-empty,
.card-calendar-error {
  border:1px dashed var(--border-light,#e2e7f2); border-radius:8px;
  padding:14px 12px; color:var(--muted); font-size:.82rem; text-align:center;
}
.card-calendar-error { color:#b91c1c; border-color:#fecaca; background:#fff5f5; }
.card-calendar-modal { max-width:620px!important; width:92vw; }
.card-calendar-search-controls { display:flex; gap:8px; align-items:center; }
.card-calendar-search-controls .input { flex:1; }

/* Activities in card edit modal */
.act-modal-item {
  display:flex; align-items:center; gap:12px; padding:12px 14px;
  background:#f8fafd; border:1px solid var(--border-light,#e2e7f2); border-radius:10px;
  margin-bottom:8px; transition:all .12s;
}
.act-modal-item:hover { background:var(--accent-bg,#edf2fb); }
.act-modal-item.done { opacity:.55; }
.act-modal-item-info { flex:1; }
.act-modal-item-title { font-weight:600; font-size:.85rem; }
.act-modal-item-title.strike { text-decoration:line-through; }
.act-modal-item-meta { font-size:.75rem; color:var(--muted); margin-top:2px; }
.act-status-tag {
  font-size:.7rem; font-weight:600; padding:3px 10px; border-radius:6px; white-space:nowrap;
}
.act-status-tag.open { background:#fef3c7; color:#92400e; }
.act-status-tag.done { background:#c6f6d5; color:#276749; }
.act-add-btn {
  display:flex; align-items:center; gap:6px; padding:10px 16px;
  background:var(--accent-bg,#edf2fb); border:1px dashed var(--accent,#0d63d6); border-radius:10px;
  color:var(--accent,#0d63d6); font-size:.82rem; font-weight:600; cursor:pointer;
  transition:all .12s; width:100%; justify-content:center; margin-top:4px;
}
.act-add-btn:hover { background:#dce6f8; }

/* Highlight animation for navigated-to cards */
@keyframes actHighlight {
  0%, 100% { box-shadow: 0 0 0 0 rgba(13,99,214,0); }
  50% { box-shadow: 0 0 0 6px rgba(13,99,214,.3); }
}
.act-highlight { animation: actHighlight .6s ease 3; }

/* Dark mode */
[data-theme="dark"] .act-tabs { background:var(--card); }
[data-theme="dark"] .act-tab { color:var(--muted); }
[data-theme="dark"] .act-tab.active { background:var(--accent,#0d63d6); color:#fff; box-shadow:0 2px 8px rgba(0,0,0,.3); }
[data-theme="dark"] .act-tab:hover:not(.active) { color:var(--text); }
[data-theme="dark"] .act-card { background:var(--card); border-color:var(--border-light); }
[data-theme="dark"] .act-card.overdue { background:rgba(229,62,62,.1); }
[data-theme="dark"] .act-card-desc { color:var(--muted); }
[data-theme="dark"] .act-card-actions .btn { background:var(--card); border-color:var(--border-light); color:var(--text); }
[data-theme="dark"] .act-card-actions .btn:hover { border-color:var(--accent,#0d63d6); background:#252e42; }
[data-theme="dark"] .act-btn-done { background:rgba(72,187,120,.1) !important; border-color:rgba(72,187,120,.4) !important; color:#68d391 !important; }
[data-theme="dark"] .act-btn-done:hover { background:rgba(72,187,120,.2) !important; }
[data-theme="dark"] .act-btn-del { color:#fc8181 !important; border-color:rgba(229,62,62,.3) !important; background:transparent !important; }
[data-theme="dark"] .act-btn-del:hover { background:rgba(229,62,62,.1) !important; border-color:#e53e3e !important; }
[data-theme="dark"] .act-btn-reopen { background:rgba(13,99,214,.1) !important; border-color:rgba(13,99,214,.4) !important; color:#63b3ed !important; }
[data-theme="dark"] .act-btn-reopen:hover { background:rgba(13,99,214,.2) !important; }
[data-theme="dark"] .act-summary-card { background:var(--card); border-color:var(--border-light); }
[data-theme="dark"] .act-template-btn { background:var(--card); border-color:var(--border-light); color:var(--text); }
[data-theme="dark"] .act-template-btn:hover,
[data-theme="dark"] .act-template-btn.active { background:rgba(13,99,214,.16); border-color:rgba(13,99,214,.55); color:#63b3ed; }
[data-theme="dark"] .act-linked-badge { background:rgba(13,99,214,.15); border-color:rgba(13,99,214,.3); color:#63b3ed; }
[data-theme="dark"] .act-linked-badge:hover { background:rgba(13,99,214,.25); border-color:rgba(13,99,214,.5); }
[data-theme="dark"] .act-modal-item { background:var(--card); border-color:var(--border-light); }
[data-theme="dark"] .task-activity-badge { background:rgba(43,108,176,.15); border-color:rgba(43,108,176,.3); }
[data-theme="dark"] .task-calendar-badge { background:rgba(22,101,52,.2); border-color:rgba(34,197,94,.35); color:#86efac; }
[data-theme="dark"] .card-calendar-link { background:var(--card); border-color:var(--border-light); }
[data-theme="dark"] .card-calendar-empty { border-color:var(--border-light); }
[data-theme="dark"] .act-add-btn { background:rgba(13,99,214,.1); border-color:rgba(13,99,214,.4); }
[data-theme="dark"] .act-done-tag { background:rgba(72,187,120,.15); color:#68d391; }
[data-theme="dark"] .act-status-tag.open { background:rgba(254,243,199,.1); color:#fbd38d; }
[data-theme="dark"] .act-status-tag.done { background:rgba(72,187,120,.1); color:#68d391; }

@media (max-width:520px) {
  .act-template-list { grid-template-columns:1fr; }
  .act-template-btn { justify-content:flex-start; }
  .act-template-label { white-space:normal; }
}
