/**
 * Borderflow Theme – Markenfarben Schwarz / Rot (#E1000E)
 * Nur aktiv mit html.theme-borderflow oder body.portal-body-bf
 */
html.theme-borderflow {
  --bg: #f4f4f5;
  --bg-accent: none;
  --bg-light: #fafafa;
  --surface: #ffffff;
  --surface-2: #f4f4f5;
  --text: #141414;
  --muted: #5c5c5c;
  --accent: #e1000e;
  --accent-hover: #b8000b;
  --accent-soft: rgba(225, 0, 14, 0.1);
  --accent-border: rgba(225, 0, 14, 0.32);
  --success: #059669;
  --success-soft: #ecfdf5;
  --warning: #d97706;
  --warning-soft: #fffbeb;
  --danger: #dc2626;
  --danger-soft: #fef2f2;
  --korridor: #e1000e;
  --korridor-soft: rgba(225, 0, 14, 0.08);
  --transit: #141414;
  --transit-soft: #f1f5f9;
  --border: #e4e4e7;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.12);
  --radius: 12px;
  --radius-sm: 8px;
  --font: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
  --bf-primary: #e1000e;
  --bf-primary-dark: #b8000b;
  --bf-ink: #141414;
}

html.theme-borderflow body {
  background: var(--bg);
  background-image: none;
  font-family: var(--font);
  color: var(--text);
}

html.theme-borderflow a {
  color: var(--accent);
}

html.theme-borderflow a:hover {
  color: var(--accent-hover);
}

/* Header */
html.theme-borderflow .app-header {
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(8px);
  box-shadow: none;
}

html.theme-borderflow .nav-home,
html.theme-borderflow .nav-link.active,
html.theme-borderflow .btn-nav-notify {
  background: var(--accent-soft);
  border-color: var(--accent-border);
  color: var(--accent);
}

html.theme-borderflow .nav-link:hover {
  color: var(--accent);
}

html.theme-borderflow .brand-text strong,
html.theme-borderflow .page-head h1 {
  color: var(--bf-ink);
}

html.theme-borderflow .brand-logo {
  border-radius: 8px;
  box-shadow: none;
  object-fit: contain;
  background: #fff;
}

/* Buttons */
html.theme-borderflow .btn-primary,
html.theme-borderflow .btn.btn-primary {
  background: var(--bf-primary);
  border-color: var(--bf-primary);
  color: #fff;
  border-radius: 8px;
  box-shadow: none;
}

html.theme-borderflow .btn-primary:hover,
html.theme-borderflow .btn.btn-primary:hover {
  background: var(--bf-primary-dark);
  border-color: var(--bf-primary-dark);
}

html.theme-borderflow .btn-secondary,
html.theme-borderflow .btn.btn-secondary {
  border-radius: 8px;
  border-color: var(--border);
  color: var(--bf-ink);
  background: #fff;
}

html.theme-borderflow .btn-secondary:hover {
  border-color: var(--bf-primary);
  color: var(--bf-primary);
}

/* Cards / tiles */
html.theme-borderflow .card,
html.theme-borderflow .tile,
html.theme-borderflow .korridor-list-card,
html.theme-borderflow .dash-stat {
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: none;
}

html.theme-borderflow .card:hover,
html.theme-borderflow .tile:hover {
  border-color: var(--bf-primary);
  box-shadow: var(--shadow);
}

html.theme-borderflow .tile-icon.purple,
html.theme-borderflow .tile-icon.indigo,
html.theme-borderflow .tile-icon.blue,
html.theme-borderflow .card-icon.purple,
html.theme-borderflow .card-icon.indigo {
  background: var(--accent-soft);
  color: var(--bf-primary);
}

html.theme-borderflow .portal-home-brand-title {
  color: var(--bf-ink);
}

html.theme-borderflow .badge.gzes,
html.theme-borderflow .badge.korridor {
  background: var(--accent-soft);
  color: var(--bf-primary-dark);
  border-color: var(--accent-border);
}

html.theme-borderflow .badge.live {
  background: #ecfdf5;
  color: #047857;
}

/* Korridor / Dashboard */
html.theme-borderflow .dash-stat strong {
  color: var(--bf-primary);
}

html.theme-borderflow .report-stat {
  background: var(--card, #fff);
  border-color: var(--border, #e4e4e7);
  color: var(--bf-ink, #141414);
}

html.theme-borderflow .report-stat strong {
  color: var(--bf-primary);
}

html.theme-borderflow .report-list table td {
  color: var(--bf-ink, #141414);
  border-bottom-color: var(--border, #e4e4e7);
}

html.theme-borderflow .korridor-filters {
  background: var(--bg-light);
}

html.theme-borderflow .qr-thumb:hover {
  border-color: var(--bf-primary);
}

html.theme-borderflow .stat strong {
  color: var(--bf-primary);
}

html.theme-borderflow .app-footer {
  border-top: 1px solid var(--border);
  color: var(--muted);
}

/* Plan-Picker Registrierung */
html.theme-borderflow .portal-plan-picker,
.portal-body-bf .portal-plan-picker {
  border: 0;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 10px;
}

html.theme-borderflow .portal-plan-picker legend,
.portal-body-bf .portal-plan-picker legend {
  font-weight: 700;
  font-size: 0.82rem;
  color: var(--bf-ink, #141414);
  margin-bottom: 8px;
  padding: 0;
}

html.theme-borderflow .portal-plan-option,
.portal-body-bf .portal-plan-option {
  display: block;
  margin: 0;
  cursor: pointer;
}

html.theme-borderflow .portal-plan-option input,
.portal-body-bf .portal-plan-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

html.theme-borderflow .portal-plan-box,
.portal-body-bf .portal-plan-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border: 1px solid #e4e4e7;
  border-radius: 10px;
  padding: 12px 14px;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
}

html.theme-borderflow .portal-plan-box strong,
.portal-body-bf .portal-plan-box strong {
  color: #141414;
  font-size: 0.95rem;
}

html.theme-borderflow .portal-plan-box span,
.portal-body-bf .portal-plan-box span {
  color: #5c5c5c;
  font-size: 0.82rem;
  line-height: 1.35;
}

html.theme-borderflow .portal-plan-option input:checked + .portal-plan-box,
.portal-body-bf .portal-plan-option input:checked + .portal-plan-box {
  border-color: #e1000e;
  box-shadow: 0 0 0 3px rgba(225, 0, 14, 0.12);
}

html.theme-borderflow .portal-plan-option:hover .portal-plan-box,
.portal-body-bf .portal-plan-option:hover .portal-plan-box {
  border-color: rgba(225, 0, 14, 0.45);
}
