/* Business Portal – helles Design im Kleinanzeigen-Stil.
   Tailwind-Utilities kommen über die Play-CDN (Layout); hier nur Theme-Tokens
   + wiederverwendbare Komponentenklassen (.bp-*) in stabilem Plain-CSS. */

:root {
  --bp-bg:        #f6f7f4;   /* App-Hintergrund (warmes Hellgrau) */
  --bp-surface:   #ffffff;   /* Karten */
  --bp-border:    #e7e8e4;   /* feine Rahmen */
  --bp-text:      #1f2630;   /* Haupttext */
  --bp-muted:     #6b7280;   /* Sekundärtext */
  --bp-faint:     #9aa1ac;   /* sehr leise */
  --bp-green:     #4d8c2f;   /* Marken-/Linkgrün */
  --bp-green-dk:  #2f6b1e;   /* dunkles Grün (Brand-Titel) */
  --bp-lime:      #bfe85b;   /* Primär-Button / Akzent */
  --bp-lime-dk:   #aede3f;   /* Hover */
  --bp-lime-soft: #e9f6cf;   /* aktiver Nav-Hintergrund */
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Inter", system-ui, sans-serif;
  background: var(--bp-bg);
  color: var(--bp-text);
}

/* ---------- Flächen ---------- */
.bp-card {
  background: var(--bp-surface);
  border: 1px solid var(--bp-border);
  border-radius: 1rem;
  box-shadow: 0 1px 2px rgba(16,24,40,.04);
}

/* ---------- Buttons ---------- */
.bp-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--bp-lime); color: #1c2b07;
  font-weight: 600; font-size: .875rem;
  padding: .55rem 1.05rem; border-radius: .7rem;
  border: 1px solid transparent; cursor: pointer;
  transition: background .15s ease;
}
.bp-btn:hover { background: var(--bp-lime-dk); }
.bp-btn-ghost {
  display: inline-flex; align-items: center; gap: .4rem;
  background: #fff; color: var(--bp-text);
  font-weight: 500; font-size: .875rem;
  padding: .5rem .9rem; border-radius: .7rem;
  border: 1px solid var(--bp-border); cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.bp-btn-ghost:hover { background: #f3f4f0; border-color: #d6d8d2; }

/* ---------- Inputs ---------- */
.bp-input, .bp-select, .bp-textarea {
  width: 100%; background: #fff; color: var(--bp-text);
  border: 1px solid var(--bp-border); border-radius: .65rem;
  padding: .55rem .7rem; font-size: .9rem;
}
.bp-input:focus, .bp-select:focus, .bp-textarea:focus {
  outline: none; border-color: var(--bp-green);
  box-shadow: 0 0 0 3px rgba(77,140,47,.12);
}
.bp-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--bp-muted); }

/* ---------- Sidebar / Nav ---------- */
.bp-nav-item {
  display: flex; align-items: center; gap: .7rem;
  padding: .6rem .75rem; border-radius: .7rem;
  color: #4b5563; font-size: .92rem; font-weight: 500;
  transition: background .12s ease, color .12s ease;
}
.bp-nav-item:hover { background: #f1f3ee; color: var(--bp-text); }
.bp-nav-item svg { width: 20px; height: 20px; stroke-width: 1.8; flex: none; }
.bp-nav-active { background: var(--bp-lime-soft); color: #33510f; font-weight: 600; }
.bp-nav-active:hover { background: var(--bp-lime-soft); }

/* ---------- Badges ---------- */
.bp-badge {
  display: inline-flex; align-items: center; gap: .3rem;
  font-size: .72rem; font-weight: 600;
  padding: .15rem .55rem; border-radius: 999px;
  border: 1px solid transparent; white-space: nowrap;
}

/* ---------- Tabellen ---------- */
.bp-table { width: 100%; font-size: .875rem; border-collapse: collapse; }
.bp-table thead th {
  text-align: left; font-size: .7rem; text-transform: uppercase; letter-spacing: .03em;
  color: var(--bp-faint); padding: .6rem .75rem; border-bottom: 1px solid var(--bp-border);
}
.bp-table tbody td { padding: .65rem .75rem; border-bottom: 1px solid var(--bp-border); }
.bp-table tbody tr:hover { background: #fafbf8; }

a.bp-link { color: var(--bp-green); }
a.bp-link:hover { color: var(--bp-green-dk); }

/* ---------- Chat-Bubbles ---------- */
.bp-bubble { max-width: 78%; padding: .55rem .8rem; border-radius: 1rem; font-size: .9rem; line-height: 1.4; }
.bp-bubble-me   { background: var(--bp-lime-soft); border:1px solid #d5ebac; border-bottom-right-radius:.3rem; }
.bp-bubble-them { background: #fff; border:1px solid var(--bp-border); border-bottom-left-radius:.3rem; }
