/* EnergieForum CRM - Marktpreise */
.bsm-mp { color: #212934; }
.bsm-mp-head { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.bsm-mp-head h2 { margin: 0; flex: 1 1 auto; }
.bsm-mp-link { font-size: 12px; color: #b22125; text-decoration: none; border: 1px solid #f0cccc; border-radius: 6px; padding: 4px 10px; }
.bsm-mp-link:hover { background: #fbeaea; }

.bsm-mp-notice { padding: 10px 14px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
.bsm-mp-ok { background: #e9f2ec; color: #1d4a30; border: 1px solid #cfe2d6; }

.bsm-mp-box { background: #fff; border: 1px solid #e5e8ed; border-radius: 12px; padding: 20px 22px; margin-bottom: 22px; }
.bsm-mp-box h3 { margin: 0 0 6px; font-size: 17px; }
.bsm-mp-hint { color: #8a909a; font-size: 13px; margin: 0 0 14px; }

/* Eingabemaske */
.bsm-mp-row-tag { margin-bottom: 16px; }
.bsm-mp-row-tag label { font-size: 13px; font-weight: 600; }
.bsm-mp-row-tag input { margin-left: 8px; padding: 7px 10px; border: 1px solid #cdd5e0; border-radius: 8px; }
.bsm-mp-grid { display: flex; flex-wrap: wrap; gap: 28px; margin-bottom: 18px; }
.bsm-mp-col { flex: 1 1 260px; min-width: 240px; }
.bsm-mp-col h4 { margin: 0 0 10px; font-size: 14px; color: #212934; border-bottom: 2px solid #e5e8ed; padding-bottom: 5px; }
.bsm-mp-field { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 13px; }
.bsm-mp-field > span:first-child { min-width: 58px; color: #5a626d; font-weight: 600; }
.bsm-mp-field input { flex: 1 1 auto; max-width: 130px; padding: 7px 10px; border: 1px solid #cdd5e0; border-radius: 8px; text-align: right; }
.bsm-mp-unit { color: #8a909a; font-size: 12px; }
.bsm-mp-btn { background: #b22125; color: #fff; border: none; border-radius: 8px; padding: 10px 20px; font-size: 14px; font-weight: 600; cursor: pointer; }
.bsm-mp-btn:hover { background: #971c20; }

/* Chart */
.bsm-mp-chart-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.bsm-mp-filter { display: flex; gap: 8px; }
.bsm-mp-filter select { font-size: 13px; padding: 6px 10px; border: 1px solid #cdd5e0; border-radius: 8px; background: #fff; }
.bsm-mp-ch-title { font-size: 16px; margin: 20px 0 6px; }
.bsm-mp-ch-unit { color: #8a909a; font-weight: 400; font-size: 13px; margin-left: 8px; }
.bsm-mp-chart { width: 100%; height: auto; display: block; }
.bsm-mp-chart-empty { color: #8a909a; font-style: italic; font-size: 13px; margin: 8px 0 18px; }
.bsm-mp-legend { display: flex; flex-wrap: wrap; gap: 14px; margin: 4px 0 6px; }
.bsm-mp-leg { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: #5a626d; font-weight: 500; }
.bsm-mp-leg-dot { display: inline-block; width: 20px; height: 4px; border-radius: 2px; }

/* Tabelle */
.bsm-mp-tablewrap { overflow-x: auto; }
.bsm-mp-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.bsm-mp-table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: 0.03em; color: #8a909a; padding: 6px 10px; border-bottom: 1px solid #e5e8ed; white-space: nowrap; }
.bsm-mp-table td { padding: 7px 10px; border-bottom: 1px solid #f0f1f4; }
.bsm-mp-table tr:hover td { background: #fafbfc; }
.bsm-mp-num { text-align: right; }
.bsm-mp-erf { color: #8a909a; }
.bsm-mp-act form { margin: 0; }
.bsm-mp-del { background: none; border: none; color: #b22125; font-size: 16px; line-height: 1; cursor: pointer; padding: 0 4px; opacity: 0.55; }
.bsm-mp-del:hover { opacity: 1; }

/* Durchschnittsrechner */
.bsm-mp-calc { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-bottom: 16px; }
.bsm-mp-calc label { font-size: 13px; color: #5a626d; display: flex; flex-direction: column; gap: 4px; }
.bsm-mp-calc select { font-size: 13px; padding: 7px 10px; border: 1px solid #cdd5e0; border-radius: 8px; background: #fff; }
.bsm-mp-btn-sm { padding: 8px 16px; font-size: 13px; }
.bsm-mp-calc-none { color: #8a909a; font-style: italic; font-size: 13px; }
.bsm-mp-calc-result { border-top: 1px solid #e5e8ed; padding-top: 16px; }
.bsm-mp-calc-big { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin-bottom: 14px; }
.bsm-mp-calc-num { font-size: 26px; font-weight: 700; color: #b22125; }
.bsm-mp-calc-unit { font-size: 13px; color: #8a909a; margin-right: 8px; }
.bsm-mp-calc-sep { font-size: 18px; color: #cdd5e0; margin: 0 6px; }
.bsm-mp-calc-table { border-collapse: collapse; font-size: 13px; min-width: 380px; }
.bsm-mp-calc-table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: 0.03em; color: #8a909a; padding: 5px 12px 5px 0; border-bottom: 1px solid #e5e8ed; }
.bsm-mp-calc-table td { padding: 6px 12px 6px 0; border-bottom: 1px solid #f0f1f4; }
.bsm-mp-calc-warn { font-size: 12px; color: #f39200; margin: 10px 0 0; }

/* Tabs */
.bsm-mp-tabs { display: flex; gap: 4px; border-bottom: 2px solid #e5e8ed; margin-bottom: 20px; }
.bsm-mp-tab { background: none; border: none; border-bottom: 3px solid transparent; margin-bottom: -2px; padding: 10px 20px; font-size: 14px; font-weight: 600; color: #8a909a; cursor: pointer; border-radius: 8px 8px 0 0; }
.bsm-mp-tab:hover { color: #212934; background: #f7f8fa; }
.bsm-mp-tab-active { color: #b22125; border-bottom-color: #b22125; }
.bsm-mp-panel { display: none; }
.bsm-mp-panel-active { display: block; }

/* Vergleich im Durchschnittsrechner */
.bsm-mp-vgl-wrap { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; width: 100%; margin-top: 12px; padding-top: 12px; border-top: 1px dashed #e5e8ed; }
.bsm-mp-vgl-mode, .bsm-mp-vgl-feld { font-size: 13px; color: #5a626d; display: flex; flex-direction: column; gap: 4px; }
.bsm-mp-vgl-wrap select, .bsm-mp-vgl-wrap input { font-size: 13px; padding: 7px 10px; border: 1px solid #cdd5e0; border-radius: 8px; background: #fff; }
.bsm-mp-vgl-feld { display: none; }
.bsm-mp-vgl-feld.bsm-mp-vgl-on { display: flex; }

.bsm-mp-vgl-box { margin: 4px 0 16px; padding: 12px 14px; background: #f7f8fa; border: 1px solid #e5e8ed; border-radius: 10px; }
.bsm-mp-vgl-zeile { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; font-size: 13px; }
.bsm-mp-vgl-label { color: #8a909a; min-width: 170px; }
.bsm-mp-vgl-wert { font-weight: 700; color: #212934; }
.bsm-mp-vgl-wert2 { color: #8a909a; }
.bsm-mp-vgl-diff { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin-top: 8px; font-size: 14px; font-weight: 700; }
.bsm-mp-vgl-arrow { font-size: 12px; }
.bsm-mp-vgl-pct, .bsm-mp-vgl-ct { font-weight: 600; font-size: 13px; opacity: 0.85; }
.bsm-mp-vgl-up { color: #b22125; }
.bsm-mp-vgl-down { color: #1d4a30; }
.bsm-mp-vgl-flat { color: #8a909a; }

/* Import */
.bsm-mp-import { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.bsm-mp-import label { font-size: 13px; color: #5a626d; display: flex; flex-direction: column; gap: 4px; }
.bsm-mp-import select, .bsm-mp-import input[type="file"] { font-size: 13px; padding: 7px 10px; border: 1px solid #cdd5e0; border-radius: 8px; background: #fff; }
.bsm-mp-err { background: #fbeaea; color: #b22125; border: 1px solid #f0cccc; }
.bsm-mp-notice-sub { font-size: 12px; opacity: 0.85; }
.bsm-mp-hint code { background: #f3f4f6; padding: 1px 5px; border-radius: 4px; font-size: 12px; }

/* Loeschbereich */
.bsm-mp-box-danger { border-color: #f0cccc; }
.bsm-mp-box-danger h3 { color: #b22125; }
.bsm-mp-btn-danger { background: #b22125; }
.bsm-mp-btn-danger:hover { background: #8f1a1e; }
.bsm-mp-confirm { flex-direction: row !important; align-items: center; gap: 6px !important; font-size: 13px; color: #b22125; font-weight: 600; }
.bsm-mp-confirm input { accent-color: #b22125; margin: 0; }

/* Chart-Tooltip */
.bsm-mp-chartwrap { position: relative; }
.bsm-mp-hoverzone { cursor: crosshair; }
.bsm-mp-tooltip { position: absolute; top: 8px; transform: translateX(10px); background: #212934; color: #fff; border-radius: 8px; padding: 10px 13px; font-size: 14px; line-height: 1.5; pointer-events: none; z-index: 5; min-width: 140px; box-shadow: 0 4px 16px rgba(0,0,0,0.22); }
.bsm-mp-tooltip.bsm-mp-tip-links { transform: translateX(-100%) translateX(-8px); }
.bsm-mp-tip-datum { font-weight: 700; font-size: 14px; margin-bottom: 6px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,0.2); }
.bsm-mp-tip-zeile { display: flex; align-items: center; gap: 8px; line-height: 1.8; white-space: nowrap; font-size: 13px; }
.bsm-mp-tip-zeile strong { margin-left: auto; padding-left: 10px; }
.bsm-mp-tip-dot { width: 14px; height: 4px; border-radius: 2px; flex: 0 0 auto; }

/* Inline-Rechner */
.bsm-mp-calc-zeile { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-bottom: 12px; }
.bsm-mp-calc-zeile label { font-size: 13px; color: #5a626d; display: flex; flex-direction: column; gap: 4px; }
.bsm-mp-calc-zeile select, .bsm-mp-calc-zeile input { font-size: 13px; padding: 7px 10px; border: 1px solid #cdd5e0; border-radius: 8px; background: #fff; }
.bsm-mp-vgl-toggle { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: #212934; cursor: pointer; margin: 4px 0 12px; user-select: none; }
.bsm-mp-vgl-toggle input { accent-color: #b22125; margin: 0; }
.bsm-mp-vgl-zeile-form { padding-top: 12px; border-top: 1px dashed #e5e8ed; }
.bsm-mp-vgl-jahre-hint { font-size: 12px; color: #8a909a; font-style: italic; padding-bottom: 8px; }

.bsm-mp-res-grid { display: flex; flex-wrap: wrap; gap: 18px; }
.bsm-mp-res { flex: 1 1 300px; min-width: 280px; border: 1px solid #e5e8ed; border-radius: 10px; padding: 14px 16px; }
.bsm-mp-res-haupt { border-color: #f0cccc; background: #fffafa; }
.bsm-mp-res-vgl { background: #f7f8fa; }
.bsm-mp-res-kopf { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 13px; font-weight: 700; color: #212934; margin-bottom: 8px; }
.bsm-mp-res-stand { font-weight: 400; font-size: 12px; color: #8a909a; }
.bsm-mp-res .bsm-mp-calc-big { margin-bottom: 10px; }
.bsm-mp-res .bsm-mp-calc-num { font-size: 22px; }
.bsm-mp-res-vgl .bsm-mp-calc-num { color: #5a626d; }
.bsm-mp-calc-out .bsm-mp-vgl-diff { margin-top: 14px; padding: 10px 14px; background: #f7f8fa; border-radius: 8px; }


/* Reine Chart-Ansicht (Shortcode bsm_marktpreis_chart) */
.bsm-mp-chartonly { margin: 0 0 20px; }
.bsm-mp-ch-haupttitel { font-size: 18px; margin: 0 0 12px; }
.bsm-mp-chartonly .bsm-mp-ch-title:first-of-type { margin-top: 4px; }
