:root {
  color-scheme: light dark;
  --bg: #f5f6fa;
  --card-bg: #ffffff;
  --text: #12141c;
  --muted: #6b7280;
  --border: #e8eaf0;
  --accent: #3762f6;
  --accent-hover: #2a4fd6;
  --accent-soft: #eaefff;
  --error: #dc2626;
  --error-soft: #fdeaea;
  --ok: #16a34a;
  --ok-soft: #e7f8ed;
  --warn: #b45309;
  --warn-soft: #fdf1de;
  --shadow-card: 0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06);

  /* Chart-Palette (validiert via dataviz-Skill validate_palette.js) */
  --chart-surface: #ffffff;
  --chart-ink: #12141c;
  --chart-secondary: #6b7280;
  --chart-muted: #9aa1b1;
  --chart-grid: #eef0f5;
  --chart-baseline: #d7dae3;
  --series-1: #3762f6; /* fristen */
  --series-2: #f0883e; /* telegram */
  --series-3: #17b28b; /* ideabrowser */
  --status-good: #16a34a;
  --status-warning: #e0a015;
  --status-critical: #dc2626;

  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.ai-controlling-section { margin-bottom: 22px; }
.ai-controlling-section .management-section-head { align-items: center; }
.ai-controlling-section .management-section-head select { width: 150px; }
.ai-controlling-section .technical-metric-grid { margin: 0 0 14px; }
.ai-cost-note { margin-top: 10px; }
.data-table td small { display: block; margin-top: 3px; color: var(--muted); }
.integrations-section { margin-bottom: 22px; }
.integrations-section .management-section-head { align-items: center; }
.integrations-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.integration-card { padding: 13px; border: 1px solid var(--border); border-left: 4px solid #94a3b8; border-radius: 10px; background: var(--bg); }
.integration-card.operational { border-left-color: #16a34a; }.integration-card.configured { border-left-color: #3762f6; }.integration-card.error { border-left-color: #dc2626; }.integration-card.missing { border-left-color: #94a3b8; opacity: .82; }
.integration-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: .62rem; text-transform: uppercase; }.integration-card-head b { font-size: .6rem; }.integration-card.operational .integration-card-head b { color: #166534; }.integration-card.configured .integration-card-head b { color: #1d4ed8; }.integration-card.error .integration-card-head b { color: #991b1b; }
.integration-card h3 { margin: 10px 0 5px; font-size: .82rem; }.integration-card p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.4; }.integration-note { margin-top: 12px; }
.management-assistant-section { margin-bottom: 20px; }.management-assistant-section .management-section-head { align-items: center; }.assistant-mode { padding: 5px 9px; border-radius: 999px; color: #166534; background: #dcfce7; font-size: .65rem; font-weight: 700; }
.assistant-question-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }.assistant-question-row input { margin: 0; }.assistant-suggestions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }.assistant-suggestions button { padding: 7px 9px; color: var(--muted); background: var(--bg); border: 1px solid var(--border); box-shadow: none; font-size: .66rem; }.assistant-answer { margin-top: 13px; padding: 15px; border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 10px; background: var(--bg); }.assistant-answer-head { display: flex; justify-content: space-between; gap: 10px; }.assistant-answer-head small { color: var(--muted); }.assistant-answer pre { margin: 12px 0; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .78rem; line-height: 1.5; }.assistant-answer ul { margin: 8px 0 0; padding-left: 18px; color: var(--muted); font-size: .72rem; }

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0e1015;
    --card-bg: #171a22;
    --text: #f2f3f7;
    --muted: #9199ac;
    --border: #262a35;
    --accent: #5b82ff;
    --accent-hover: #7597ff;
    --accent-soft: rgba(91, 130, 255, 0.14);
    --error: #f36767;
    --error-soft: rgba(243, 103, 103, 0.12);
    --ok: #33cc76;
    --ok-soft: rgba(51, 204, 118, 0.12);
    --warn: #e6a13a;
    --warn-soft: rgba(230, 161, 58, 0.12);
    --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.25);

    --chart-surface: #171a22;
    --chart-ink: #f2f3f7;
    --chart-secondary: #9199ac;
    --chart-muted: #6d7386;
    --chart-grid: #262a35;
    --chart-baseline: #383e4d;
    --series-1: #5b82ff;
    --series-2: #f0975a;
    --series-3: #2fcda0;
    --status-good: #33cc76;
    --status-warning: #e6a13a;
    --status-critical: #f36767;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

.view { max-width: 480px; margin: 0 auto; padding: 24px 16px 64px; }
/* !important ist hier bewusst: .hidden ist eine Utility-Klasse, die JEDE andere display-Regel
   ueberstimmen muss (z.B. .app-shell { display:grid }), unabhaengig von der Reihenfolge im
   Stylesheet - sonst gewinnt bei gleicher Spezifitaet die zuletzt definierte Regel und das
   Dashboard bleibt trotz "hidden" sichtbar (genau dieser Bug trat live auf). */
.hidden { display: none !important; }

.card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 22px 24px;
  margin-bottom: 20px;
  box-shadow: var(--shadow-card);
}

/* Bewusst fester Marken-Look (Creme/Gold), unabhaengig vom Dark Mode - das Wappen-Bild hat
   einen weissen Hintergrund ohne Transparenz, der auf einer dunklen Karte hart abgesetzt
   wirken wuerde. Einmaliger Branding-Moment, kein UI-Element, das mitschalten muss. */
.login-card {
  margin-top: 12vh;
  background: #fbf7ee !important;
  color: #1a1a1a !important;
  border-color: #ece3d1 !important;
  border-radius: 24px;
  padding: 40px 36px;
  text-align: center;
}
.login-card .subtitle, .login-card label { color: #6b6553 !important; }
.login-card input {
  background: #fff !important;
  border-color: #ece3d1 !important;
  color: #1a1a1a !important;
}
.login-crest { width: 130px; height: auto; margin: 0 auto 24px; display: block; }
.login-card h1 { font-size: 1.4rem; text-align: left; }
.login-card .subtitle { text-align: left; }
.login-card label { text-align: left; }
.login-card button[type="submit"] {
  width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px;
  background: #a1802f; margin-top: 6px;
}
.login-card button[type="submit"]:hover { background: #8a6c26; }

h1 { margin: 0 0 4px; font-size: 1.6rem; font-weight: 700; letter-spacing: -0.01em; }
h2 { margin-top: 0; font-size: 1.02rem; font-weight: 600; letter-spacing: -0.005em; }
.subtitle { color: var(--muted); margin-top: 0; margin-bottom: 20px; }

/* ── App-Shell: Sidebar + Content ── */
.app-shell { display: grid; grid-template-columns: 252px 1fr; min-height: 100vh; align-items: start; }

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  background: var(--card-bg);
  border-right: 1px solid var(--border);
  padding: 22px 14px;
}
.brand { display: flex; align-items: center; gap: 10px; padding: 4px 6px 24px; font-weight: 700; font-size: 1.1rem; }
.brand svg { flex-shrink: 0; }
.brand-logo {
  width: 100%; height: auto; object-fit: contain;
  background: #ffffff; padding: 8px 10px; border-radius: 10px; box-sizing: border-box;
}
.nav-group-label { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.07em; font-weight: 600; color: var(--chart-muted); padding: 16px 10px 8px; }
.nav-list { display: flex; flex-direction: column; gap: 2px; }
.nav-section-label { margin: 14px 10px 4px; color: var(--chart-muted); font-size: .6rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.nav-section-label:first-child { margin-top: 2px; }
.nav-list button {
  display: flex; align-items: center; gap: 10px;
  background: transparent; color: var(--muted); border: none;
  padding: 9px 12px; border-radius: 10px; font-size: 0.89rem; font-weight: 500; text-align: left; width: 100%;
  cursor: pointer; transition: background 0.12s, color 0.12s;
}
.nav-list button:hover { background: var(--bg); color: var(--text); }
.nav-list button.active { background: var(--accent-soft); color: var(--accent); font-weight: 600; }
.nav-list button svg { flex-shrink: 0; opacity: 0.9; }
.nav-list button > svg:first-child,
.nav-symbol {
  width: 18px;
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
  font-size: 15px;
  line-height: 1;
  font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
  opacity: .9;
}
.nav-badge {
  margin-left: auto; background: var(--status-critical); color: #fff;
  font-size: 0.68rem; font-weight: 600; padding: 1px 7px; border-radius: 999px;
}
.nav-list button.active .nav-badge { background: var(--accent); }

.nav-group-toggle {
  display: flex; align-items: center; gap: 10px;
  background: transparent; color: var(--muted); border: none;
  padding: 9px 12px; border-radius: 10px; font-size: 0.89rem; font-weight: 500; text-align: left; width: 100%;
  cursor: pointer; transition: background 0.12s, color 0.12s;
}
.nav-group-toggle:hover { background: var(--bg); color: var(--text); }
.nav-group-toggle svg:first-child { flex-shrink: 0; opacity: 0.9; }
.nav-chevron { margin-left: auto; transition: transform 0.15s; }
.nav-group.open .nav-chevron { transform: rotate(180deg); }
.nav-group.has-active .nav-group-toggle { color: var(--accent); font-weight: 600; }

.nav-subgroup { display: none; flex-direction: column; gap: 2px; padding: 2px 0 4px 14px; }
.nav-group.open .nav-subgroup { display: flex; }
.nav-subgroup button {
  display: flex; align-items: center; gap: 9px;
  background: transparent; color: var(--muted); border: none;
  padding: 8px 12px; border-radius: 9px; font-size: 0.85rem; font-weight: 500; text-align: left; width: 100%;
  cursor: pointer;
}
.nav-subgroup button:hover { background: var(--bg); color: var(--text); }
.nav-subgroup button.active { background: var(--accent-soft); color: var(--accent); font-weight: 600; }
.nav-project-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.nav-project-dot.provitra { background: #0f9488; }
.nav-project-dot.getjarvis { background: #7c3aed; }
.nav-project-dot.findbar { background: #2563eb; }
.nav-project-dot.dino1club { background: #ea580c; }
.nav-project-dot.dino1o2 { background: #0ea5e9; }
.nav-project-dot.vintedboost { background: #007782; }

.main-content { min-width: 0; padding: 0 32px 48px; }

.topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 20px 0; position: sticky; top: 0; background: var(--bg); z-index: 5;
}
.search-box {
  flex: 1; max-width: 420px; display: flex; align-items: center; gap: 8px;
  border: 1px solid var(--border); border-radius: 999px; padding: 9px 16px; background: var(--card-bg);
}
.search-box svg { color: var(--muted); flex-shrink: 0; }
.search-box input { border: none; padding: 0; margin: 0; background: transparent; flex: 1; font-family: inherit; }
.search-box input:focus { outline: none; }
.topbar-icons { display: flex; align-items: center; gap: 16px; }
.topbar-icons svg { color: var(--muted); cursor: pointer; }
.topbar-icons svg:hover { color: var(--text); }
.avatar-dot {
  width: 34px; height: 34px; border-radius: 50%; background: var(--accent); color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; cursor: pointer;
}

label {
  display: block;
  margin-bottom: 14px;
  font-size: 0.87rem;
  font-weight: 500;
  color: var(--muted);
}

input, select, textarea {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 10px 13px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--card-bg);
  color: var(--text);
  font-size: 0.95rem;
  font-family: inherit;
  transition: border-color 0.12s, box-shadow 0.12s;
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

button {
  background: var(--accent);
  color: white;
  border: none;
  padding: 10px 18px;
  border-radius: 10px;
  font-size: 0.9rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.12s, box-shadow 0.12s, transform 0.06s;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
}
button:hover { background: var(--accent-hover); }
button:active { transform: translateY(1px); }
button.secondary {
  background: var(--card-bg);
  color: var(--text);
  border: 1px solid var(--border);
  box-shadow: none;
}
button.secondary:hover { background: var(--bg); }
button.danger { background: var(--error); }
button.small { padding: 6px 13px; font-size: 0.82rem; margin-top: 8px; }

.actions { display: flex; gap: 10px; margin: 14px 0; flex-wrap: wrap; }

.error { color: var(--error); min-height: 1.2em; font-size: 0.88rem; }
.msg { color: var(--ok); min-height: 1.2em; font-size: 0.88rem; }
.hint { color: var(--muted); font-size: 0.84rem; margin-top: -8px; }

.badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid var(--border);
  margin-right: 6px;
}
.badge.source-fristen { color: var(--warn); border-color: var(--warn-soft); background: var(--warn-soft); }
.badge.source-finanzen { color: var(--ok); border-color: var(--ok-soft); background: var(--ok-soft); }
.badge.source-reporting { color: var(--accent); border-color: var(--accent-soft); background: var(--accent-soft); }
.badge.source-email { color: var(--muted); }
.badge.source-telegram { color: #1d9bf0; border-color: #1d9bf0; }
.badge.source-ideabrowser { color: #a855f7; border-color: #a855f7; }
.badge.overdue { color: white; background: var(--error); border-color: var(--error); }

.task-card { border: 1px solid var(--border); border-radius: 14px; padding: 18px; margin-bottom: 14px; background: var(--card-bg); }
.task-card h3 { margin: 6px 0; font-size: 1.02rem; font-weight: 600; }
.task-desc { font-size: 0.9rem; color: var(--text); margin: 8px 0; }
.ai-box {
  background: var(--accent-soft);
  border-left: 3px solid var(--accent);
  padding: 9px 13px;
  font-size: 0.87rem;
  margin: 10px 0;
  border-radius: 6px;
}
.draft-box pre {
  white-space: pre-wrap;
  word-break: break-word;
  font-family: inherit;
  margin: 6px 0 0;
  font-size: 0.87rem;
}
.due { font-size: 0.8rem; color: var(--muted); }
.status-tag { font-weight: 600; font-size: 0.85rem; }

.frist-row, .audit-row {
  border-bottom: 1px solid var(--border);
  padding: 12px 0;
  font-size: 0.9rem;
}
.frist-row:last-child, .audit-row:last-child { border-bottom: none; }
.inactive { opacity: 0.5; }

/* Ideenbrowser-Ausarbeitungen */
.idea-project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 14px;
  margin-top: 18px;
}
.idea-project-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card-bg);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.idea-project-card h3 {
  margin: 13px 0 8px;
  font-size: .98rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.idea-project-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: .72rem;
}
.idea-project-badge {
  padding: 4px 8px;
  border-radius: 999px;
  color: #6d28d9;
  background: #f3e8ff;
  font-weight: 700;
}
.idea-project-domain {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: .8rem;
  overflow-wrap: anywhere;
}
.idea-project-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: auto;
  padding-top: 18px;
}
.idea-project-download {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  padding: 9px 10px;
  text-align: left;
  line-height: 1.2;
}
.idea-project-file-icon {
  flex: 0 0 auto;
  padding: 3px 4px;
  border-radius: 4px;
  color: #fff;
  background: #dc2626;
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .02em;
}

/* Allgemeine Dokumente */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.documents-panel { padding: 24px; }
.documents-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.documents-heading h2 { margin-bottom: 4px; }
.documents-heading .hint { margin: 0; }
.documents-count { flex-shrink: 0; padding: 6px 9px; border-radius: 6px; color: var(--muted); background: var(--bg); font-size: .82rem; font-weight: 600; }
.documents-toolbar { display: grid; grid-template-columns: minmax(240px, 1fr) 190px 170px auto; gap: 10px; margin-bottom: 24px; }
.documents-toolbar label { margin: 0; }
.document-search { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 0 12px; border: 1px solid var(--border); border-radius: 8px; color: var(--muted); background: var(--card-bg); }
.document-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.document-search input { min-width: 0; margin: 0; padding: 9px 0; border: 0; border-radius: 0; box-shadow: none; }
.document-search input:focus { box-shadow: none; }
.document-filter select { margin: 0; padding: 9px 12px; border-radius: 8px; }
.document-view-toggle { display: flex; padding: 3px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); }
.document-view-toggle button { min-height: 34px; padding: 5px 10px; border-radius: 5px; color: var(--muted); background: transparent; box-shadow: none; font-size: .8rem; }
.document-view-toggle button:hover { color: var(--text); background: var(--card-bg); }
.document-view-toggle button.active { color: var(--text); background: var(--card-bg); box-shadow: var(--shadow-card); }
.document-group { margin-bottom: 26px; }
.document-group:last-child { margin-bottom: 0; }
.document-group-title { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.document-group-title h3 { margin: 0; font-size: .94rem; }
.document-group-title > span { min-width: 24px; padding: 2px 7px; border-radius: 999px; color: var(--muted); background: var(--bg); text-align: center; font-size: .75rem; font-weight: 700; }
.document-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
  margin-top: 0;
}
.document-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card-bg);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.document-card-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: .72rem;
}
.document-category {
  max-width: 70%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 4px 8px;
  border-radius: 999px;
  color: #1d4ed8;
  background: #dbeafe;
  font-weight: 700;
}
.document-card h3 {
  margin: 13px 0 8px;
  font-size: .98rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.document-summary {
  display: -webkit-box;
  min-height: calc(1.45em * 3);
  margin: 0;
  overflow: hidden;
  color: var(--text);
  font-size: .82rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.document-summary.muted { color: var(--muted); }
.document-card-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; }
.document-card-footer .document-due { margin: 0; }
.document-card-footer .document-download { width: auto; margin: 0 0 0 auto; }
.documents-empty { min-height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: var(--muted); text-align: center; }
.documents-empty strong { color: var(--text); }
.document-due {
  align-self: flex-start;
  margin-top: 12px;
  padding: 5px 8px;
  border-radius: 7px;
  color: #92400e;
  background: #fef3c7;
  font-size: .72rem;
  font-weight: 700;
}
.document-download {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  margin-top: 18px;
  padding: 10px 12px;
}

#log-box, #audit-box {
  background: var(--chart-ink);
  color: var(--chart-surface);
  padding: 14px;
  border-radius: 10px;
  max-height: 400px;
  overflow-y: auto;
  font-size: 0.8rem;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: "SF Mono", "Cascadia Code", Consolas, monospace;
}

/* ══════════════════════════════════════
   Uebersicht (Dashboard-Startseite)
══════════════════════════════════════ */
.management-head, .management-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
#management-decisions-section, #management-summary-section, #management-projects-section, #technical-health-section { scroll-margin-top: 18px; }
#sales-pipeline-section { scroll-margin-top: 18px; }
#ai-controlling-section { scroll-margin-top: 18px; }
#integrations-section { scroll-margin-top: 18px; }
#management-assistant-section { scroll-margin-top: 18px; }
#management-approvals-section { scroll-margin-top: 18px; }
#development-roadmap-section { scroll-margin-top: 18px; }
#compliance-section { scroll-margin-top: 18px; }
.management-head h1 { margin: 5px 0 4px; font-size: 1.65rem; }
.management-page-hidden { display: none !important; }
.management-approvals-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; }
.management-approvals-grid .task-card { margin: 0; height: 100%; }
.management-detail-view .management-head { margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
.management-detail-view > section, .management-detail-view > .management-focus-grid { animation: managementPageIn .18s ease-out; }
@keyframes managementPageIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.management-filter { min-width: 250px; color: var(--muted); font-size: .74rem; font-weight: 600; }
.management-filter select, .management-section-head select { display: block; width: 100%; margin-top: 6px; background: var(--card-bg); }
.management-kpis { display: grid; grid-template-columns: repeat(6, minmax(145px, 1fr)); gap: 12px; margin-bottom: 16px; }
.management-kpi { min-width: 0; padding: 15px; border: 1px solid var(--border); border-radius: 12px; background: var(--card-bg); border-top: 3px solid #94a3b8; }
.management-kpi.good { border-top-color: #16a34a; }.management-kpi.warning { border-top-color: #e0a015; }.management-kpi.critical { border-top-color: #dc2626; }
.management-kpi span { display: block; overflow: hidden; color: var(--muted); font-size: .7rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; text-transform: uppercase; }
.management-kpi strong { display: block; margin: 9px 0 4px; font-size: 1.2rem; overflow-wrap: anywhere; }.management-kpi small { color: var(--muted); font-size: .67rem; }
.management-focus-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }.management-focus-card { margin: 0; }
.management-count { min-width: 27px; padding: 4px 8px; border-radius: 999px; color: #92400e; background: #fef3c7; font-size: .72rem; text-align: center; }.management-count.risk { color: #991b1b; background: #fee2e2; }
.management-card-actions { display: flex; align-items: center; gap: 8px; }
.management-decision-form { margin: 12px 0; padding: 13px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); }
.management-decision-form label { margin-bottom: 9px; color: var(--muted); font-size: .7rem; font-weight: 600; }.management-decision-form input, .management-decision-form select, .management-decision-form textarea { margin-top: 4px; background: var(--card-bg); }
.management-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.management-decision-form .actions { margin-top: 6px; }
.management-list-item { width: 100%; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; color: var(--text); background: transparent; box-shadow: none; text-align: left; }
.management-list-item:last-child { border-bottom: 0; }.management-list-item:hover { transform: none; background: var(--bg); }.management-list-item span { font-size: .8rem; font-weight: 600; }.management-list-item small { flex: 0 0 auto; color: var(--muted); font-size: .68rem; }.management-list-item.static { cursor: default; }
.management-empty { margin: 18px 0 4px; color: var(--muted); font-size: .8rem; }.management-empty.good { color: #166534; }
.management-summary-card { margin-bottom: 20px; }.management-summary-card .management-section-head { align-items: center; margin-bottom: 14px; }
.management-report-actions { display: flex; gap: 8px; }.management-report-history { margin-top: 15px; }.management-report-history summary { color: var(--muted); font-size: .75rem; font-weight: 600; cursor: pointer; }.management-history-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); }.management-history-row strong, .management-history-row span { display: block; }.management-history-row strong { font-size: .75rem; }.management-history-row span, .management-history-row small { margin-top: 3px; color: var(--muted); font-size: .68rem; }
.management-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(170px, 1fr)); gap: 10px; }
.management-summary-block { padding: 13px; border: 1px solid var(--border); border-top: 3px solid #64748b; border-radius: 10px; background: var(--bg); }.management-summary-block.positive { border-top-color: #16a34a; }.management-summary-block.critical { border-top-color: #dc2626; }.management-summary-block.decision { border-top-color: #e0a015; }.management-summary-block.recommendation { border-top-color: #3762f6; }
.management-summary-block h3 { margin: 0 0 9px; font-size: .75rem; }.management-summary-block ul { margin: 0; padding-left: 16px; }.management-summary-block li { margin: 0 0 6px; color: var(--text); font-size: .72rem; line-height: 1.4; }.management-summary-block li:last-child { margin-bottom: 0; }
.management-list-item.decision > div { min-width: 0; }.management-list-item.decision span, .management-list-item.decision small { display: block; }.management-list-item.decision small { margin-top: 4px; }.management-list-item.decision button { flex: 0 0 auto; }
.risk-entry > div { min-width: 0; }.risk-entry span, .risk-entry small { display: block; }.risk-entry small { margin-top: 4px; }.risk-entry button { flex: 0 0 auto; }.risk-entry.critical { border-left: 3px solid #dc2626; padding-left: 9px; }.risk-entry.high { border-left: 3px solid #f97316; padding-left: 9px; }
.management-project-section { margin-bottom: 22px; }.management-section-head h2 { margin: 0 0 4px; }.management-section-head select { width: 220px; }
.management-project-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 14px; }
.management-project-card { min-width: 0; padding: 17px; border: 1px solid var(--border); border-radius: 13px; background: var(--card-bg); }
.management-project-head { display: flex; align-items: center; gap: 10px; }.management-project-head img { width: 40px; height: 40px; object-fit: contain; border-radius: 9px; }.management-project-head div { min-width: 0; flex: 1; }.management-project-head h3 { margin: 0 0 3px; font-size: .95rem; }.management-project-head div span { color: var(--muted); font-size: .68rem; }
.project-light { padding: 4px 7px; border-radius: 999px; font-size: .65rem; }.project-light.status-green { color: #166534; background: #dcfce7; }.project-light.status-yellow { color: #92400e; background: #fef3c7; }.project-light.status-red { color: #991b1b; background: #fee2e2; }
.project-phase { display: flex; justify-content: space-between; margin-top: 15px; color: var(--muted); font-size: .7rem; }.project-progress { height: 6px; margin: 6px 0 15px; overflow: hidden; border-radius: 999px; background: var(--bg); }.project-progress i { display: block; height: 100%; border-radius: inherit; background: var(--primary); }
.project-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin: 0; }.project-facts div { min-width: 0; }.project-facts dt { color: var(--muted); font-size: .65rem; }.project-facts dd { margin: 3px 0 0; font-size: .75rem; font-weight: 600; overflow-wrap: anywhere; }
.project-blocker { margin-top: 13px; padding: 9px; border-radius: 8px; color: #991b1b; background: #fee2e2; font-size: .72rem; }.project-blocker strong { display: block; margin-bottom: 3px; }.project-edit { width: 100%; margin-top: 14px; }
.project-profile-dialog { width: min(820px, calc(100vw - 30px)); max-height: 90vh; padding: 0; overflow: auto; border: 0; border-radius: 15px; color: var(--text); background: var(--card-bg); box-shadow: 0 24px 80px rgba(0,0,0,.32); }.project-profile-dialog::backdrop { background: rgba(15,23,42,.65); }.project-profile-dialog form { padding: 22px; }.dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.dialog-head h2 { margin: 4px 0 18px; }.dialog-close { width: 34px; height: 34px; padding: 0; font-size: 1.3rem; }.profile-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.profile-form-grid label { margin: 0; color: var(--muted); font-size: .72rem; font-weight: 600; }.profile-form-grid input, .profile-form-grid select, .profile-form-grid textarea { margin-top: 5px; background: var(--card-bg); }.profile-span { grid-column: 1 / -1; }.dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }
.technical-health-card { margin-bottom: 22px; }.technical-health-card .management-section-head { align-items: center; margin-bottom: 14px; }
.sales-pipeline-section { margin-bottom: 22px; }.sales-pipeline-board { display: grid; grid-template-columns: repeat(6, minmax(210px, 1fr)); gap: 10px; overflow-x: auto; padding-bottom: 8px; }.sales-stage { min-width: 210px; padding: 9px; border-radius: 11px; background: var(--bg); }.sales-stage > header { display: flex; align-items: center; justify-content: space-between; padding: 3px 3px 9px; font-size: .75rem; }.sales-stage > header span { padding: 2px 6px; border-radius: 999px; background: var(--card-bg); color: var(--muted); }.sales-card { margin-bottom: 8px; padding: 11px; border: 1px solid var(--border); border-radius: 9px; background: var(--card-bg); }.sales-card h3 { margin: 0 0 4px; font-size: .78rem; }.sales-card p, .sales-card small { display: block; margin: 0 0 7px; color: var(--muted); font-size: .65rem; }.sales-card b { display: block; margin-bottom: 8px; font-size: .8rem; }.sales-card select { margin-bottom: 7px; padding: 6px; font-size: .68rem; }.sales-card button { width: 100%; }.sales-empty { margin: 12px 3px; color: var(--muted); font-size: .68rem; text-align: center; }
.technical-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.technical-service { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); }.technical-service i { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: #94a3b8; }.technical-service.online i { background: #16a34a; box-shadow: 0 0 0 4px #dcfce7; }.technical-service.warning i { background: #e0a015; }.technical-service.offline i { background: #dc2626; box-shadow: 0 0 0 4px #fee2e2; }.technical-service strong, .technical-service span { display: block; }.technical-service strong { font-size: .78rem; }.technical-service span { margin-top: 3px; color: var(--muted); font-size: .68rem; }
.technical-metric-grid { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 10px; margin-top: 12px; }.technical-metric-grid .management-kpi { padding: 12px; }.technical-integrations { margin-top: 14px; }.technical-integrations summary { color: var(--muted); font-size: .75rem; font-weight: 600; cursor: pointer; }.technical-integration { display: grid; grid-template-columns: 1fr 2fr auto; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); font-size: .72rem; }.technical-integration small { color: var(--muted); }.technical-integration b { color: #64748b; }
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin-bottom: 20px; }
.stat-card { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.stat-label { font-size: 0.74rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin: 0 0 8px; }
.stat-value { font-size: 1.8rem; font-weight: 700; margin: 0; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.stat-trend { font-size: 0.76rem; font-weight: 600; margin-top: 6px; display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; }
.stat-trend.up { color: var(--ok); background: var(--ok-soft); }
.stat-trend.down { color: var(--error); background: var(--error-soft); }
.stat-trend.flat { color: var(--muted); background: var(--bg); }
.stat-ring { flex-shrink: 0; }
.stat-ring text { fill: var(--chart-ink); font-weight: 700; font-variant-numeric: tabular-nums; }

.overview-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; align-items: start; }
.overview-side .card:last-child { margin-bottom: 0; }

.chart-row { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin-bottom: 20px; align-items: stretch; }
.chart-card-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 4px; }
.chart-headline { font-size: 1.3rem; font-weight: 700; margin: 2px 0 14px; }
.chart-legend { display: flex; gap: 16px; flex-wrap: wrap; font-size: 0.8rem; color: var(--muted); margin-top: 12px; }
.legend-item { display: flex; align-items: center; gap: 6px; }
.legend-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; flex-shrink: 0; }

.svg-tooltip {
  position: absolute; pointer-events: none; background: var(--chart-ink); color: var(--chart-surface);
  font-size: 0.75rem; padding: 5px 9px; border-radius: 6px; white-space: nowrap; transform: translate(-50%, -110%);
  opacity: 0; transition: opacity 0.1s; z-index: 20;
}
.chart-wrap { position: relative; }

.quick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; }
.quick-tile {
  border: 1px solid var(--border); border-radius: 14px; padding: 16px 12px; text-align: center;
  cursor: pointer; background: var(--card-bg); color: var(--text); font-size: 0.82rem; font-weight: 500;
  transition: border-color 0.12s, box-shadow 0.12s;
}
.quick-tile:hover { border-color: var(--accent); box-shadow: var(--shadow-card); }
.quick-tile .quick-icon {
  width: 42px; height: 42px; border-radius: 12px; margin: 0 auto 10px;
  display: flex; align-items: center; justify-content: center;
}

.recent-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.recent-card { border: 1px solid var(--border); border-radius: 14px; padding: 14px; display: flex; gap: 12px; align-items: flex-start; }
.recent-icon { width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--bg); }
.recent-card strong { font-size: 0.88rem; font-weight: 600; display: block; margin-bottom: 2px; }

.mini-feed { display: flex; flex-direction: column; gap: 14px; }
.mini-feed-item { display: flex; gap: 10px; align-items: flex-start; }
.feed-avatar {
  width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0; background: var(--bg);
  display: flex; align-items: center; justify-content: center; font-size: 0.9rem;
}
.mini-feed-item .feed-text { font-size: 0.85rem; }
.mini-feed-item .feed-time { font-size: 0.75rem; color: var(--muted); }

.promo-card {
  background: linear-gradient(135deg, #16224f, #3149a8);
  color: #fff; border-radius: 16px; padding: 22px; margin-top: 20px;
}
.promo-card h3 { margin: 0 0 12px; font-size: 1.05rem; font-weight: 600; }
.promo-card ul { list-style: none; margin: 0 0 16px; padding: 0; font-size: 0.85rem; opacity: 0.9; }
.promo-card li { margin-bottom: 6px; padding-left: 20px; position: relative; }
.promo-card li::before { content: "✓"; position: absolute; left: 0; }
.promo-card button { background: #fff; color: #16224f; }

.data-table { width: 100%; border-collapse: collapse; font-size: 0.86rem; }
.data-table th {
  text-align: left; color: var(--muted); font-weight: 600; font-size: 0.71rem;
  text-transform: uppercase; letter-spacing: 0.05em; padding: 9px 10px; border-bottom: 1px solid var(--border);
}
.data-table td { padding: 11px 10px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.data-table tr:last-child td { border-bottom: none; }
.data-table td small { display: block; color: var(--muted); margin-top: 3px; }
.data-table td code { display: inline-block; max-width: 175px; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.table-scroll { overflow-x: auto; }
.file-type-icon { width: 30px; height: 30px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; margin-right: 8px; vertical-align: middle; }

.pagination { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; font-size: 0.85rem; color: var(--muted); flex-wrap: wrap; gap: 10px; }
.pagination-controls { display: flex; align-items: center; gap: 6px; }
.pagination-controls button {
  background: transparent; color: var(--text); border: 1px solid var(--border);
  padding: 4px 9px; font-size: 0.85rem; box-shadow: none; font-weight: 500;
}
.pagination-controls button:disabled { opacity: 0.4; cursor: default; }
.rows-select { display: inline-block; width: auto; margin: 0 6px; padding: 4px 8px; }

/* ══════════════════════════════════════
   Social Media
══════════════════════════════════════ */
.channel-row { display: flex; gap: 10px; flex-wrap: wrap; margin: 4px 0; }
.channel-chip {
  display: flex; align-items: center; gap: 8px; border: 1px solid var(--border);
  border-radius: 12px; padding: 8px 14px; font-size: 0.84rem; font-weight: 600; background: var(--card-bg);
}
.channel-chip .channel-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ok); flex-shrink: 0; }
.channel-chip .channel-icon { width: 18px; height: 18px; flex-shrink: 0; }

.social-compose-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(300px, 2fr); gap: 16px; align-items: stretch; }
.social-compose-grid > .card { margin-bottom: 16px; }
.social-compose-card { min-width: 0; }
.social-project-header { display: flex; flex-direction: column; align-items: stretch; }
.social-project-summary { display: flex; gap: 18px; align-items: flex-start; }
.social-project-info { flex: 1; min-width: 0; }
.make-account-email { color: var(--muted); font-size: 0.78rem; font-weight: 500; white-space: nowrap; }
.social-project-avatar {
  width: 56px; height: 56px; border-radius: 14px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem; font-weight: 700; color: #fff;
}
.social-project-avatar.provitra { background: #0f9488; }
.social-project-avatar.getjarvis { background: #7c3aed; }
.social-project-avatar.findbar { background: #2563eb; }
.social-project-avatar.dino1club { background: #ea580c; }
.social-project-avatar.dino1o2 { background: #0ea5e9; }
.social-project-avatar.vintedboost, .fb-post-avatar.vintedboost { background: #fff; }
.social-project-avatar.vintedboost img, .fb-post-avatar.vintedboost img { object-fit: contain; }
.channel-chip.pending .channel-dot { background: #b7791f; }
.generation-status { margin: 8px 0 0; padding: 7px 10px; border-radius: 8px; font-size: 12px; line-height: 1.4; max-width: 760px; }
.generation-status.idle { color: #475569; background: #f1f5f9; }
.generation-status.running { color: #854d0e; background: #fef9c3; }
.generation-status.success { color: #166534; background: #dcfce7; }
.generation-status.error { color: #991b1b; background: #fee2e2; white-space: normal; overflow-wrap: anywhere; }
.social-project-avatar.findbar, .fb-post-avatar.findbar { overflow: hidden; }
.social-project-avatar.findbar img, .fb-post-avatar.findbar img { transform: none; object-fit: contain; }
.social-project-avatar img, .fb-post-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

.status-pill { font-size: 0.74rem; font-weight: 600; padding: 3px 10px; border-radius: 999px; display: inline-flex; align-items: center; gap: 5px; }
.status-pill.gesendet { color: var(--ok); background: var(--ok-soft); }
.status-pill.fehlgeschlagen { color: var(--error); background: var(--error-soft); }
.status-pill.wird_gesendet { color: var(--warn); background: var(--warn-soft); }
.status-pill.entwurf { color: #1d4ed8; background: #dbeafe; }

#social-image-preview { max-width: 220px; max-height: 220px; border-radius: 12px; margin: 6px 0; display: block; object-fit: cover; }
.location-picker { width: 100%; border: 1px solid var(--border); border-radius: 10px; padding: 12px; margin: 12px 0 0; }
.location-picker-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.location-picker legend { font-weight: 700; padding: 0; }
.location-picker-head span { display: flex; gap: 10px; }
.link-button { border: 0; background: transparent; box-shadow: none; color: var(--primary); padding: 0; font-size: 0.76rem; }
.location-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 14px; background: var(--bg); border-radius: 8px; padding: 10px; }
.location-option { display: grid; grid-template-columns: auto 1fr; column-gap: 7px; align-items: center; margin: 0; cursor: pointer; }
.location-option input { width: auto; margin: 0; }
.location-option span { font-size: 0.82rem; font-weight: 600; }
.location-option small { grid-column: 2; color: var(--muted); font-size: 0.68rem; }

/* Projektfaehiges Analytics-/Finanzdashboard */
.project-analytics-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 18px; }
.finance-message { min-height: 0; margin: -8px 0 16px; padding: 0; }
.finance-message:empty { display: none; }
.finance-message:not(:empty) { padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--card-bg); }
.finance-message.success { color: var(--ok); border-color: var(--ok); background: var(--ok-soft); }
.finance-message.error { color: var(--error); border-color: var(--error); background: var(--error-soft); }
.project-analytics-head h1 { margin: 2px 0 5px; }
.finance-head-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.finance-toggle { white-space: nowrap; }
.finance-toggle.enabled { color: #166534; background: #dcfce7; border: 1px solid #86efac; box-shadow: none; }
.finance-toggle.disabled { color: #991b1b; background: #fee2e2; border: 1px solid #fca5a5; box-shadow: none; }
.finance-row-actions { display: flex; gap: 6px; align-items: center; }
.eyebrow { margin: 0; color: var(--primary); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.analytics-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 16px; }
.analytics-chart { min-height: 260px; }
.analytics-bars { height: 225px; display: flex; align-items: flex-end; gap: 4px; padding-top: 14px; border-bottom: 1px solid var(--border); }
.analytics-day { position: relative; flex: 1; height: 100%; display: flex; align-items: flex-end; justify-content: center; gap: 1px; }
.analytics-bar { width: 42%; min-width: 2px; border-radius: 3px 3px 0 0; }
.analytics-bar.views, .analytics-legend i.views { background: #3b82f6; }
.analytics-bar.revenue, .analytics-legend i.revenue { background: #10b981; }
.analytics-legend { display: flex; gap: 18px; margin-top: 12px; color: var(--muted); font-size: .78rem; }
.analytics-legend span { display: flex; align-items: center; gap: 6px; }
.analytics-legend i { width: 9px; height: 9px; border-radius: 50%; }
.source-row { margin-bottom: 16px; }
.source-row > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: .82rem; }
.source-row span { color: var(--muted); }
.source-meter { height: 7px; margin-top: 7px; overflow: hidden; border-radius: 999px; background: var(--bg); }
.source-meter i { display: block; height: 100%; border-radius: inherit; background: var(--primary); }
.finance-status { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.finance-status.none { color: #64748b; background: #f1f5f9; }
.finance-status.draft { color: #92400e; background: #fef3c7; }
.finance-status.open { color: #1d4ed8; background: #dbeafe; }
.finance-status.paid, .finance-status.paidoff { color: #166534; background: #dcfce7; }

/* Anzeigen-Grid: mehrere Facebook-Style-Karten nebeneinander */
.social-fb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; align-items: stretch; }

.fb-post-card {
  border: 1px solid var(--border); border-radius: 12px; overflow: hidden; background: var(--card-bg);
  font-family: Helvetica, Arial, sans-serif; width: 100%; height: 100%;
  display: flex; flex-direction: column;
}
.fb-post-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px 8px; }
.fb-post-avatar {
  width: 38px; height: 38px; border-radius: 50%; flex-shrink: 0; color: #fff; font-weight: 700;
  display: flex; align-items: center; justify-content: center; font-size: 0.95rem;
}
.fb-post-avatar.provitra { background: #0f9488; }
.fb-post-avatar.getjarvis { background: #7c3aed; }
.fb-post-avatar.findbar { background: #2563eb; }
.fb-post-avatar.dino1club { background: #ea580c; }
.fb-post-avatar.dino1o2 { background: #0ea5e9; }
.fb-post-headtext { flex: 1; min-width: 0; }
.fb-post-name { font-size: 0.88rem; font-weight: 600; color: #050505; display: flex; align-items: center; gap: 5px; }
.fb-post-time { font-size: 0.76rem; color: #65676b; display: flex; align-items: center; gap: 4px; }
.fb-post-text {
  padding: 2px 14px 12px; font-size: 0.87rem; color: #050505; line-height: 1.4;
  white-space: pre-wrap; height: calc(8 * 1.4em + 14px); overflow: hidden;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 8;
}
.fb-post-image { width: 100%; aspect-ratio: 1.1 / 1; object-fit: cover; background: #f0f2f5; display: block; cursor: zoom-in; }
.fb-post-footer { display: flex; justify-content: space-between; padding: 6px 10px; border-top: 1px solid #eef0f2; margin-top: 2px; }
.fb-post-footer-btn { display: flex; align-items: center; gap: 6px; color: #65676b; font-size: 0.82rem; font-weight: 600; padding: 6px 10px; border-radius: 6px; flex: 1; justify-content: center; }
.fb-post-footer-btn svg { width: 17px; height: 17px; }
.fb-post-status { position: absolute; margin: 10px; }
.fb-post-card-wrap { position: relative; display: flex; min-width: 0; }
.fb-post-card-wrap .status-pill { position: absolute; top: 10px; right: 10px; box-shadow: 0 1px 3px rgba(0,0,0,0.15); }
.fb-post-error { padding: 0 14px 12px; font-size: 0.8rem; color: var(--error); }
.draft-publish-row { padding: 10px 14px; border-top: 1px solid #eef0f2; display: flex; gap: 8px; }
.draft-publish-row button { flex: 1; padding: 10px 12px; }

.social-post-preview {
  position: fixed; inset: 0; z-index: 2000; padding: 24px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(15, 23, 42, 0.78); pointer-events: none;
}
.social-post-preview.locked { pointer-events: auto; }
.social-preview-panel {
  position: relative; width: min(1180px, 96vw); height: min(820px, 92vh);
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  overflow: hidden; border-radius: 16px; background: #fff;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .42);
}
.social-preview-image-wrap { min-width: 0; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 18px; background: #0f172a; }
.social-preview-image-wrap img { width: 100%; height: 100%; object-fit: contain; }
.social-preview-copy { min-width: 0; overflow-y: auto; padding: 34px 30px; }
.social-preview-copy h2 { margin: 14px 0 18px; font-size: 1.25rem; }
#social-preview-text { white-space: pre-wrap; overflow-wrap: anywhere; color: #111827; font-size: .95rem; line-height: 1.55; }
.social-preview-close {
  position: absolute; z-index: 2; top: 10px; right: 12px; width: 34px; height: 34px;
  display: none; align-items: center; justify-content: center; padding: 0; border-radius: 50%;
  background: #e2e8f0; color: #0f172a; box-shadow: none; font-size: 24px; line-height: 1;
}
.social-post-preview.locked .social-preview-close { display: flex; }

.development-roadmap-section { margin-bottom: 22px; }
.development-board { display: grid; grid-template-columns: repeat(4, minmax(230px, 1fr)); gap: 10px; overflow-x: auto; }
.development-column { min-width: 230px; padding: 9px; border-radius: 11px; background: var(--bg); }
.development-column > header { display: flex; justify-content: space-between; padding: 4px 3px 10px; font-size: .75rem; }
.development-column > header span { padding: 2px 6px; border-radius: 999px; background: var(--card-bg); }
.development-card { margin-bottom: 8px; padding: 11px; border: 1px solid var(--border); border-left: 3px solid #94a3b8; border-radius: 9px; background: var(--card-bg); }
.development-card.priority-critical { border-left-color: #dc2626; }.development-card.priority-high { border-left-color: #f97316; }
.development-card > div { display: flex; justify-content: space-between; color: var(--muted); font-size: .62rem; text-transform: uppercase; }
.development-card h3 { margin: 9px 0 7px; font-size: .78rem; }.development-card p { margin: 4px 0; color: var(--muted); font-size: .65rem; }.development-card select { margin-top: 8px; padding: 6px; font-size: .68rem; }
.compliance-section { margin-bottom: 22px; }.compliance-section .management-section-head { align-items: center; }
.liquidity-section { margin-bottom: 22px; scroll-margin-top: 18px; }
.liquidity-kpis { margin: 14px 0; }
.liquidity-amount-income { color: #15803d; font-weight: 700; }
.liquidity-amount-expense { color: #b91c1c; font-weight: 700; }
.customer-health-section { margin-bottom: 22px; scroll-margin-top: 18px; }
.marketing-performance-section { margin-bottom: 22px; scroll-margin-top: 18px; }
.operations-journal-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 24px 0 12px; padding-top: 18px; border-top: 1px solid var(--border); }
.operations-journal-head h3 { margin: 0 0 4px; font-size: .95rem; }
.management-tools { display: flex; align-items: center; gap: 9px; margin: 12px 0; }
.management-tools input { flex: 1 1 260px; min-width: 180px; }
.management-tools select { flex: 0 1 210px; }
.management-tools button { white-space: nowrap; }
.table-action-group { display: flex; gap: 5px; flex-wrap: wrap; }
.management-edit-dialog { width: min(720px, calc(100vw - 28px)); }
.management-edit-dialog #management-edit-fields { margin: 18px 0; }
@media (max-width: 720px) { .management-tools { align-items: stretch; flex-direction: column; }.management-tools input, .management-tools select { width: 100%; flex-basis: auto; } }

@media (max-width: 980px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  .overview-layout, .chart-row { grid-template-columns: 1fr; }
  .main-content { padding: 0 16px 40px; }
  .documents-toolbar { grid-template-columns: minmax(220px, 1fr) 1fr; }
  .document-grid { grid-template-columns: 1fr; }
  .social-post-card { flex-direction: column; }
  .social-post-card .social-thumb-lg { width: 100%; height: 180px; }
  .social-compose-grid { grid-template-columns: 1fr; }
  .location-list { grid-template-columns: 1fr; }
  .analytics-layout { grid-template-columns: 1fr; }
  .management-head, .management-section-head { align-items: stretch; flex-direction: column; }
  .management-filter, .management-section-head select { width: 100%; }
  .management-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-focus-grid { grid-template-columns: 1fr; }
  .management-summary-grid { grid-template-columns: 1fr; }
  .management-report-actions { width: 100%; flex-direction: column; }.management-history-row { align-items: flex-start; flex-direction: column; }
  .profile-form-grid { grid-template-columns: 1fr; }.profile-span { grid-column: auto; }
  .technical-service-grid, .technical-metric-grid { grid-template-columns: 1fr; }.technical-integration { grid-template-columns: 1fr; gap: 3px; }
  .social-post-preview { padding: 10px; pointer-events: auto; }
  .social-preview-panel { width: 100%; height: 94vh; grid-template-columns: 1fr; grid-template-rows: minmax(0, 58%) minmax(0, 42%); }
  .social-preview-copy { padding: 22px 18px; }
  .social-preview-close { display: flex; }
}

@media (max-width: 620px) {
  .documents-panel { padding: 18px 14px; }
  .documents-heading { align-items: center; }
  .documents-heading .hint { display: none; }
  .documents-toolbar { grid-template-columns: 1fr; }
  .document-view-toggle button { flex: 1; }
  .document-card { padding: 14px; }
  .document-card-footer .document-download { width: 40px; min-width: 40px; height: 36px; padding: 0; font-size: 0; }
  .document-card-footer .idea-project-file-icon { font-size: .55rem; }
}

/* Dashboard summaries belong only to the overview, never a sidebar detail page. */
#tab-uebersicht.management-detail-view > .stat-grid,
#tab-uebersicht.management-detail-view > .chart-row,
#tab-uebersicht.management-detail-view > .overview-layout { display: none !important; }

/* Decisions and risks workspace */
.workspace-toolbar { grid-column: 1 / -1; }
.workspace-metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px; }
.workspace-metrics > div {padding:16px;background:var(--bg);border-radius:10px;border:1px solid var(--border);}
.workspace-metrics span {display:block;color:var(--muted);font-size:.75rem;}
.workspace-metrics strong {display:block;font-size:1.65rem;margin-top:6px;}
.workspace-filters {display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;}
.workspace-filters label {flex:1;min-width:140px;}
.workspace-filters label:first-child {flex:2;min-width:220px;}
.workspace-record {border:1px solid var(--border);border-radius:10px;padding:16px;margin-top:12px;background:var(--card-bg);}
.workspace-record.overdue {border-left:3px solid #df3b43;}
.workspace-record-head {display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--muted);}
.workspace-badge {padding:4px 9px;border-radius:20px;background:#edf1ff;color:#304daf;}
.workspace-badge.critical,.workspace-badge.high {background:#fff0ee;color:#ac2938;}
.workspace-record h3 {font-size:1rem;margin:12px 0 8px;overflow-wrap:anywhere;}
.workspace-meta {font-size:.78rem;color:var(--muted);margin:5px 0;}
.workspace-copy,.workspace-result {font-size:.85rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;}
.workspace-result {background:var(--bg);padding:10px;border-radius:8px;}
.deadline-overdue {color:#bd2839;font-weight:600;}
.workspace-record details {margin-top:14px;font-size:.75rem;color:var(--muted);overflow-wrap:anywhere;}
.workspace-record summary {cursor:pointer;}
.workspace-record details p {padding:8px 0;border-top:1px solid var(--border);}
@media(max-width:700px){.workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.workspace-filters label{min-width:100%;}}

/* Collapsible sidebar: labels retain accessible names and native tooltips. */
.sidebar-collapse-toggle {display:block;margin:0 0 10px auto;width:34px;height:32px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:22px;cursor:pointer;}
.sidebar-collapse-toggle:focus-visible {outline:2px solid var(--accent);outline-offset:2px;}
.sidebar-project-icon,.sidebar-brand-mark {display:none;}
.app-shell.sidebar-collapsed {grid-template-columns:68px minmax(0,1fr);}
.sidebar-collapsed .sidebar {padding:12px 8px;position:sticky;height:100vh;top:0;}
.sidebar-collapsed .sidebar-collapse-toggle {margin:0 auto 12px;}
.sidebar-collapsed .brand {padding:4px 0 16px;justify-content:center;}
.sidebar-collapsed .brand-logo {display:none;}
.sidebar-collapsed .sidebar-brand-mark {display:block;color:var(--accent);font-size:15px;}
.sidebar-collapsed .sidebar-item-label,.sidebar-collapsed .nav-section-label,.sidebar-collapsed .nav-group-label,.sidebar-collapsed .nav-chevron,.sidebar-collapsed .nav-badge {display:none;}
.sidebar-collapsed .nav-list button {justify-content:center;gap:0;padding:10px 0;min-height:40px;}
.sidebar-collapsed .nav-subgroup {padding:3px 0;border-left:2px solid var(--border);}
.sidebar-collapsed .nav-subgroup .nav-project-dot {display:none;}
.sidebar-collapsed .sidebar-project-icon {display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--bg);font-size:10px;font-weight:700;}
