/* S-Change UI – Sparkassen CD (Basis)
   Quellen: vom Auftraggeber bereitgestellte Farbwerte/Buttons/Fonds.
*/
:root {
  --sparkasse-red: #EE0000;
  --darkgray: #666666;
  --silvergray: #D9D9D9;
  --black: #000000;
  --white: #FFFFFF;
  --gray-0: #F0F0F0;
  --gray-1: #E9E9E9;
  --gray-2: #E3E3E3;
  --gray-3: #D6D6D6;
  --gray-4: #CCCCCC;
  --gray-5: #BBBBBB;
  --gray-6: #999999;
  --darkgray-2: #444444;

  --radius: 18px;
  --shadow: 0 6px 18px rgba(0,0,0,.08);
}

@font-face {
	font-family: 'SparkasseSymbol_Rg';
	font-weight: 400;
	src: url('https://immosummit.info/wp-content/uploads/2019/07/SparkasseSymbol_Rg.ttf') format('truetype');
}
@font-face {
	font-family: 'SparkasseHeadRegular';
	font-weight: 400;
	src: url('https://immosummit.info/wp-content/uploads/2019/07/SparkasseHead_web_Rg.woff') format('woff');
}
@font-face {
	font-family: 'SparkasseHeadRegular';
	font-weight: 400;
	src: url('https://immosummit.info/wp-content/uploads/2019/07/SparkasseHead_web_Rg.woff') format('woff');
}
@font-face {
	font-family: 'SparkasseMedium';
	font-weight: 400;
	src: url('https://immosummit.info/wp-content/uploads/2019/07/Sparkasse_web_Md.woff') format('woff');
}
@font-face {
	font-family: 'SparkasseRegular';
	font-weight: 400;
	src: url('https://immosummit.info/wp-content/uploads/2019/07/Sparkasse_web_Rg.woff') format('woff');
}
@font-face {
	font-family: 'SparkasseLight';
	font-weight: 400;
	src: url('https://immosummit.info/wp-content/uploads/2019/07/Sparkasse_web_Lt.woff') format('woff');
}

.btn-mini{padding:6px 10px;font-size:12px;border-radius:999px}
.btn-icon{display:inline-flex;align-items:center;gap:6px}
.btn-icon .ico{font-size:14px;line-height:1}
.notice{border:1px solid #e5e5e5;border-left:4px solid var(--sparkasse-red, #e2001a);padding:10px 12px;border-radius:12px;background:#fff}
.textlink{color:var(--sparkasse-red, #e2001a);text-decoration:none}
.textlink:hover{text-decoration:underline}

.export-link{display:inline-flex;align-items:center;gap:6px;padding:2px 0;border:0;background:transparent;color:inherit;text-decoration:none;font-size:13px}
.export-link:hover{text-decoration:underline}
.export-link .ico{font-size:14px;line-height:1}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  background: #fff;
  color: var(--black);
  font-family: SparkasseRegular, SparkasseHeadRegular, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

a { color: var(--sparkasse-red); text-decoration: none; }
a:hover { text-decoration: underline; }

.container {
  width: min(1100px, calc(100% - 32px));
  margin: 0 auto;
  padding: 22px 0 44px;
}

.topbar {
  background: var(--white);
  box-shadow: var(--shadow);
  border-bottom: 1px solid var(--gray-2);
}

.topbar-inner {
  width: min(1100px, calc(100% - 32px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: SparkasseHeadRegular, SparkasseRegular, Arial, sans-serif;
  font-size: 20px;
}
.badge {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--gray-1);
  color: var(--darkgray-2);
  font-size: 12px;
}
.badge-danger {
  background: rgba(238,0,0,.10);
  color: var(--sparkasse-red);
}
.badge-green {
  background: rgba(28,107,56,.10);
  color: #1c6b38;
}
.badge-yellow {
  background: rgba(196,146,0,.12);
  color: #7a5a00;
}
.badge-question-open {
  background: #fff7cc;
  color: #7a5a00;
}
.badge-question-done {
  background: #e7f6ea;
  color: #1c6b38;
}


.card {
  background: var(--white);
  border: 1px solid var(--gray-2);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 22px;
}

.h1 {
  font-family: SparkasseHeadRegular, SparkasseRegular, Arial, sans-serif;
  font-size: 26px;
  margin: 0 0 10px;
}

.muted { color: var(--darkgray); }

.grid {
  display: grid;
  gap: 16px;
}

.grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 860px) {
  .grid-2 { grid-template-columns: 1fr; }
}

label {
  display: block;
  font-size: 13px;
  color: var(--darkgray-2);
  margin: 0 0 6px;
}

input[type="email"], input[type="password"], input[type="text"] {
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--gray-4);
  outline: none;
  background: var(--white);
}
input:focus {
  border-color: var(--sparkasse-red);
  box-shadow: 0 0 0 3px rgba(238,0,0,.12);
}

.btn {
  font-size: 14px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: var(--radius);
  font-weight: 600;
  border: 2px solid var(--sparkasse-red);
  background: var(--white);
  color: var(--sparkasse-red);
  cursor: pointer;
  transition: all .12s ease;
  user-select: none;
}

.btn:hover {
  background: var(--sparkasse-red);
  color: var(--white);
}

.btn-secondary {
  border-color: var(--darkgray);
  color: var(--darkgray);
}
.btn-secondary:hover {
  background: var(--darkgray);
  color: var(--white);
}


/* v2.1 – kleine UI-Ergänzungen (Login / Navigation) */
.topnav { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.brand-logo { display:block; max-width:200px; max-height:60px; object-fit:contain; }
.brand-logo--sm { width:98px; max-width:98px; max-height:29px; }
.btn-icon { padding: 12px 12px; width: 44px; justify-content:center; }
.input-with-icon { position: relative; }
.input-with-icon input { padding-right: 44px; }
.icon-btn {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  cursor: pointer;
  color: var(--darkgray);
  padding: 6px;
  border-radius: 10px;
}
.icon-btn:hover { background: var(--gray-1); }

/* v2.2 form ux */
*, *::before, *::after { box-sizing: border-box; }

/* Inputs */
input[type="email"], input[type="password"], input[type="text"], input[type="number"], input[type="tel"], input[type="url"], textarea, select {
  width: 100%;
  max-width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--gray-4);
  outline: none;
  background: var(--white);
  font: inherit;
  line-height: 1.2;
}
textarea { min-height: 120px; resize: vertical; }
select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--darkgray) 50%),
                    linear-gradient(135deg, var(--darkgray) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px),
                       calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 34px;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--sparkasse-red);
  box-shadow: 0 0 0 3px rgba(238,0,0,.12);
}

input[type="file"]{
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--gray-3);
  background: #fff;
}

/* Form sections */
.form-section{
  border: 1px solid var(--gray-2);
  background: #fff;
  border-radius: var(--radius);
  padding: 14px;
  margin-top: 14px;
}
.section-title{
  font-size: 18px;
  margin: 0 0 10px;
  font-family: SparkasseHeadRegular, Arial, sans-serif;
}
.hint{
  font-size: 12px;
  color: var(--darkgray);
  margin-top: 6px;
}
.checkline{
  display:flex;
  gap:10px;
  align-items:center;
  margin: 10px 0 2px;
}
.checkline--tight{ margin:4px 0 0; }
.checkline input{ width:auto; }

/* Dashboard v2.3 */
.kpi-row{ display:flex; gap:14px; }
.kpi{ flex:1; padding:14px; border:1px solid var(--gray-2); border-radius:16px; background:#fff; }
.kpi-label{ font-size:13px; color: var(--darkgray-2); margin-bottom:6px; }
.kpi-value{ font-size:28px; font-weight:700; letter-spacing:-.3px; margin:4px 0 2px; }
.dash-metrics{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.dash-metric{ padding:12px; border:1px solid var(--gray-2); border-radius:16px; }
.dash-metric-label{ font-size:13px; color: var(--darkgray-2); }
.dash-metric-value{ font-size:26px; font-weight:700; margin-top:6px; }
.dash-metric-value a{ color: inherit; text-decoration:none; }
.dash-metric-value a:hover{ text-decoration:underline; }
.link{ color: var(--sparkasse-red); text-decoration:none; font-weight:600; }
.link:hover{ text-decoration:underline; }
@media (max-width: 860px){
  .kpi-row{ flex-direction:column; }
  .dash-metrics{ grid-template-columns: 1fr; }
}

/* Dashboard v2.3.1 */
.kpi-label{
  font-size:16px;
  font-weight:700;
}
.kpi .muted{
  font-size:12px;
}
.kpi-value.kpi-green{
  color:#009864;
}
.stat-red{
  color: var(--sparkasse-red);
}

/* Dashboard v2.3.2 */
.link-black{
  color:#000;
  text-decoration:none;
  font-weight:600;
}
.link-black:hover{ text-decoration:underline; }

.topnav__link.is-active{ color: var(--sparkasse-red); }
.topnav__link.is-active svg{ stroke: var(--sparkasse-red); }
.topnav-logout-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--gray-2);
  background:#fff;
  color:var(--darkgray);
  box-shadow:0 6px 16px rgba(0,0,0,.05);
  cursor:pointer;
}
.topnav-logout-btn:hover{
  color:var(--brand-red);
  border-color:rgba(238,0,0,.24);
}
.topnav-logout-btn__icon{ width:20px; height:20px; display:block; }

.status-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
  font-weight:700;
  border:1px solid transparent;
}
.status-badge--ok{ background:#edf7ef; border-color:#cfe4d4; color:#1c6b38; }
.status-badge--warn{ background:#fff6d8; border-color:#f2d36f; color:#8a6700; }
.status-badge--bad{ background:#faefef; border-color:#edd0d0; color:#9a1f1f; }

.stat-red{
  color: var(--sparkasse-red);
  text-decoration: underline !important;
}

/* Dashboard v2.3.3 */
.has-footer-link{
  position: relative;
  padding-bottom: 44px; /* Platz für Footer-Link */
}
.box-footer-left{
  position: absolute;
  left: 16px;
  bottom: 16px;
}

/* v2.3.4: Statistik-Zahlen rot erzwingen (überschreibt .dash-metric-value a { color: inherit; }) */
.dash-metric-value a.stat-red{
  color: var(--sparkasse-red) !important;
  text-decoration: underline !important;
}

.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:14px;
}
.table thead th{
  text-align:left;
  font-size:12px;
  color:var(--darkgray);
  font-weight:700;
  padding:0 12px 10px;
  border-bottom:1px solid var(--gray-2);
  white-space:nowrap;
}
.table tbody td{
  padding:12px;
  border-bottom:1px solid #ececec;
  vertical-align:top;
}
.table tbody tr:last-child td{ border-bottom:0; }
.table--structured tbody tr:nth-child(even){ background:#fcfcfc; }
.table--structured tbody tr:hover{ background:#f7f7f7; }
.table--compact tbody td{ padding-top:10px; padding-bottom:10px; }
.table--hover tbody tr{ transition: background-color .12s ease; }
.report-table-card .table tbody td:first-child,
.report-table-card .table thead th:first-child,
.inbox-results-card .table tbody td:first-child,
.inbox-results-card .table thead th:first-child{ padding-left:14px; }
.report-table-card .table tbody td:last-child,
.report-table-card .table thead th:last-child,
.inbox-results-card .table tbody td:last-child,
.inbox-results-card .table thead th:last-child{ padding-right:14px; }
.reporting-overview-card .grid > div{
  background:#fcfcfc;
}
.reporting-table-card{
  border-color:#e7e7e7;
}
.reporting-kpi-grid{
  align-items:stretch;
}
.reporting-mini-card{
  border:1px solid var(--gray-2);
  border-radius:16px;
  padding:12px;
  background:#fcfcfc;
  align-self:stretch;
  height:100%;
}
.reporting-mini-card--highlight{
  background:linear-gradient(180deg,#fcfcfc 0%, #f7f7f7 100%);
}
.reporting-mini-card--performance{
  display:flex;
  flex-direction:column;
}
.reporting-performance-value{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  font-weight:700;
  white-space:nowrap;
  text-align:right;
}
.reporting-stat-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.reporting-stat-row--total{
  border-top:1px solid var(--gray-2);
  padding-top:8px;
  margin-top:4px;
}
.reporting-stat-stack{
  border-top:1px solid var(--gray-2);
  padding-top:10px;
  margin-top:6px;
  display:grid;
  gap:6px;
}
.report-dot{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  margin-right:8px;
}
.report-dot--red{ background:#d9534f; }
.report-dot--orange{ background:#f0ad4e; }
.report-dot--green{ background:#5cb85c; }
.reporting-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.reporting-trend-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.reporting-chart-card{
  padding:18px;
  min-width:0;
  overflow:hidden;
}
.reporting-chart-total{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  white-space:nowrap;
}
.reporting-chart-total strong{
  font-size:24px;
  line-height:1;
}
.reporting-chart-stage{
  position:relative;
}
.reporting-chart-bars{
  display:flex;
  align-items:flex-end;
  gap:6px;
  min-height:210px;
  padding:14px 4px 12px;
  border-bottom:1px solid var(--gray-2);
  overflow:hidden;
  position:relative;
  z-index:1;
}
.reporting-chart-bars--dense{
  gap:4px;
}
.reporting-chart-bars--ultra-dense{
  gap:2px;
  padding-left:0;
  padding-right:0;
}
.reporting-chart-bar-wrap{
  flex:1 1 0;
  min-width:8px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height:180px;
}
.reporting-chart-bar{
  width:min(100%, 22px);
  border-radius:8px 8px 0 0;
}
.reporting-chart-bars--dense .reporting-chart-bar{
  width:min(100%, 18px);
}
.reporting-chart-bars--ultra-dense .reporting-chart-bar{
  width:min(100%, 14px);
  border-radius:6px 6px 0 0;
}
.reporting-chart-bar--count{
  background:linear-gradient(180deg,#4c7dff 0%, #2f63ff 100%);
}
.reporting-chart-bar--growth{
  background:linear-gradient(180deg,#7ed7d0 0%, #4eb4ad 100%);
}
.reporting-chart-line{
  position:absolute;
  inset:14px 4px 13px;
  width:calc(100% - 8px);
  height:calc(100% - 27px);
  pointer-events:none;
  overflow:visible;
  z-index:2;
}
.reporting-chart-line polyline{
  fill:none;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.reporting-chart-line--count polyline{
  stroke:#1f46c7;
}
.reporting-chart-line--growth polyline{
  stroke:#1f8d87;
}
.reporting-chart-labels{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  color:#7a7a7a;
  font-size:12px;
}
.reporting-count{
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1.5px;
}
.reporting-inline-percent{
  color:#7b7b7b;
  font-size:12px;
  font-weight:500;
  white-space:nowrap;
  text-decoration:none !important;
}
.num-link .reporting-inline-percent,
a .reporting-inline-percent{
  text-decoration:none !important;
}
.reporting-mini-card .num-link{
  display:inline-flex;
  align-items:baseline;
  justify-content:flex-start;
  text-align:left;
  gap:4px;
  min-width:112px;
  padding-right:10px;
  text-decoration:none;
}
.reporting-mini-card .num-link:hover .reporting-count{
  text-decoration:underline;
}
.reporting-summary-card .num-link{
  display:inline-flex;
  align-items:baseline;
  justify-content:flex-start;
  text-align:left;
  gap:4px;
  min-width:112px;
  text-decoration:none;
}
.reporting-summary-card .num-link:hover .reporting-count{
  text-decoration:underline;
}
.reporting-answer-rate-value{
  display:inline-flex;
  align-items:baseline;
  justify-content:flex-start;
  text-align:left;
  min-width:112px;
  font-weight:700;
}
.reporting-mini-card .reporting-performance-value.num-link,
.reporting-performance-value--link{
  justify-content:flex-end;
  text-align:right;
  min-width:112px;
  padding-right:0;
}

.reporting-wall-card{overflow:hidden;background:linear-gradient(180deg,#fff 0%, #fafafa 100%)}
.reporting-wall-grid{align-items:stretch}
.reporting-wall-grid--three{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.reporting-wall-panel{border:1px solid var(--gray-2);border-radius:18px;padding:16px;background:linear-gradient(180deg,#fdfdfd 0%, #f6f6f6 100%);display:flex;flex-direction:column;min-width:0;position:relative;overflow:hidden}
.reporting-wall-panel::before{content:'';position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--sparkasse-red) 0%, #ff6b6b 100%);opacity:.92}
.reporting-wall-panel__header{display:flex;align-items:center;gap:10px;margin-bottom:12px;min-width:0}
.reporting-wall-panel__icon{width:40px;height:40px;border-radius:12px;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--darkgray-2);border:1px solid var(--gray-2);box-shadow:0 4px 10px rgba(0,0,0,.05);flex:0 0 auto}
.reporting-wall-panel__svg{width:22px;height:22px;display:block}
.reporting-wall-panel__title{margin:0;font-size:18px;min-width:0}
.reporting-wall-list{display:grid;gap:10px}
.reporting-wall-item{border:1px solid var(--gray-2);border-radius:14px;padding:12px;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.03)}
.reporting-wall-item__head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.reporting-wall-item__title{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}
.reporting-wall-rank{flex:0 0 auto;padding:3px 9px;background:#f3f3f3;color:var(--darkgray-2)}
.reporting-wall-link{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
.reporting-wall-value{font-weight:700;white-space:nowrap;text-decoration:underline}
.reporting-wall-meta{margin-top:6px;font-size:12px}
.reporting-inline-comparison{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 16px;
  color:var(--darkgray-2);
  font-size:13px;
}
.reporting-inline-comparison__label{
  font-weight:700;
  color:#111;
}
.reporting-inline-comparison__item{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.reporting-inline-comparison__item strong{
  font-size:15px;
}
.reporting-inline-comparison--muted{
  color:var(--darkgray);
}
.reporting-delta--positive{ color:#1c6b38; }
.reporting-delta--negative{ color:#b42318; }
.reporting-delta--neutral{ color:#1f2937; }
.report-table-card .table thead th{
  background:#fafafa;
  position:sticky;
  top:0;
  z-index:1;
}
.report-table-card .table tbody tr td{
  border-bottom:1px solid #efefef;
}
.report-link{
  font-weight:600;
  text-decoration:underline;
}
.report-status{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--gray-3);
  font-size:12px;
  font-weight:600;
}
.report-status--done{
  background:#edf7ef;
  border-color:#cfe4d4;
  color:#1c6b38;
}
.report-status--pending{
  background:#fff7e6;
  border-color:#efd8aa;
  color:#805b00;
}
.report-sort-head{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
.report-sort-head::after{
  content:'↕';
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  font-size:11px;
  color:#9a9a9a;
}
.report-sort-head[data-sort-dir="asc"]::after{ content:'↑'; color:var(--sparkasse-red); }
.report-sort-head[data-sort-dir="desc"]::after{ content:'↓'; color:var(--sparkasse-red); }
.report-sort-head:focus-visible{
  outline:2px solid rgba(238,0,0,.22);
  outline-offset:2px;
  border-radius:8px;
}
.report-rating{ display:inline-flex; align-items:center; gap:10px; min-width:0; }
.report-rating__value{ font-weight:700; color:#111; min-width:34px; }
.report-rating__stars{
  position:relative;
  display:inline-block;
  line-height:1;
  letter-spacing:2px;
  font-size:15px;
}
.report-rating__stars-base{ color:#d7d7d7; }
.report-rating__stars-fill{
  position:absolute;
  inset:0 auto 0 0;
  overflow:hidden;
  white-space:nowrap;
  color:#fbbc04;
}
.report-tone{ display:grid; gap:7px; min-width:180px; }
.report-tone__bar{
  display:flex;
  overflow:hidden;
  min-height:18px;
  border-radius:999px;
  background:#f2f2f2;
  border:1px solid #ececec;
}
.report-tone__segment{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  font-size:11px;
  font-weight:700;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
}
.report-tone__segment--positive{ background:linear-gradient(180deg,#5dd39e 0%, #41ba86 100%); }
.report-tone__segment--neutral{ background:linear-gradient(180deg,#ffd86a 0%, #f5bc2e 100%); color:#6b4d00; }
.report-tone__segment--negative{ background:linear-gradient(180deg,#ff9aa3 0%, #ea5a6b 100%); }
.report-tone__legend{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  font-size:11px;
}
.report-tone__item{ display:inline-flex; align-items:center; gap:4px; color:#555; font-variant-numeric:tabular-nums; }
.report-tone__item::before{
  content:'';
  width:8px;
  height:8px;
  border-radius:999px;
  display:inline-block;
}
.report-tone__item--positive::before{ background:#41ba86; }
.report-tone__item--neutral::before{ background:#f5bc2e; }
.report-tone__item--negative::before{ background:#ea5a6b; }
.reporting-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:120;
  width:58px;
  height:58px;
  border:0;
  border-radius:18px;
  padding:0;
  background:rgba(238,0,0,.96);
  color:#fff;
  font-size:34px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .18s ease, transform .18s ease, filter .18s ease, visibility .18s ease;
}
.reporting-to-top:hover{ filter:brightness(.97); }
.reporting-to-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

.inbox-results-card .table,
.report-table-card .table{
  border-collapse:separate;
  border-spacing:0 10px;
}
.inbox-results-card .table thead th,
.report-table-card .table thead th{
  border-bottom:0;
  padding-bottom:6px;
}
.inbox-results-card .table tbody td,
.report-table-card .table tbody td{
  background:#fff;
  border-top:1px solid #ececec;
  border-bottom:1px solid #ececec;
}
.inbox-results-card .table tbody tr td:first-child,
.report-table-card .table tbody tr td:first-child{
  border-left:1px solid #ececec;
  border-radius:14px 0 0 14px;
}
.inbox-results-card .table tbody tr td:last-child,
.report-table-card .table tbody tr td:last-child{
  border-right:1px solid #ececec;
  border-radius:0 14px 14px 0;
}
.inbox-results-card .table tbody tr:hover td,
.report-table-card .table tbody tr:hover td{
  background:#fafafa;
}
.inbox-row-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.inbox-row-link:hover{
  text-decoration:none;
}
.inbox-row-link--badge{
  display:inline-flex;
  align-items:center;
}
.inbox-clickable-row{
  cursor:pointer;
}
.inbox-results-card .table tbody td,
.report-table-card .table tbody td{
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
@media (max-width: 900px){
  .reporting-kpi-grid{ grid-template-columns:1fr; }
  .reporting-trend-grid{ grid-template-columns:1fr; }
  .reporting-inline-comparison{ flex-direction:column; align-items:flex-start; }
  .reporting-chart-bars{ min-height:180px; }
  .report-tone{ min-width:140px; }
  .reporting-to-top{ right:14px; bottom:14px; }
}
.email-suffix-field{
  display:flex;
  align-items:stretch;
  width:100%;
}
.email-suffix-field input{
  border-top-right-radius:0;
  border-bottom-right-radius:0;
  border-right:0;
}
.email-suffix-field__suffix{
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  border:1px solid var(--gray-4);
  border-left:1px solid var(--gray-3);
  border-top-right-radius:14px;
  border-bottom-right-radius:14px;
  background:#f4f4f4;
  color:var(--darkgray);
  white-space:nowrap;
}

.flash {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--gray-2);
  background: #f3faf4;
  color:#165b2f;
  margin-bottom: 14px;
}
.flash::before{
  flex:0 0 auto;
  font-weight:700;
  line-height:1.2;
  margin-top:1px;
}
.flash.success{ border-color: rgba(26,127,55,.28); background: rgba(26,127,55,.10); color:#165b2f; }
.flash.success::before{ content:"✓"; }
.flash.error{ border-color: rgba(176,0,32,.28); background: rgba(176,0,32,.08); color:#8a1028; }
.flash.error::before{ content:"✕"; }
.flash.warning{ border-color: rgba(184,118,0,.24); background: rgba(255,243,205,.85); color:#775400; }
.flash.warning::before{ content:"!"; }
.flash__text{ min-width:0; }

.api-pill{
  display:inline-flex;
  align-items:flex-start;
  gap:0;
  padding:6px 10px;
  border-radius:14px;
  border:1px solid transparent;
  font-size:12px;
  line-height:1.15;
  text-decoration:none;
  box-shadow:none;
}
.api-pill__text{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.api-pill__title{ font-weight:700; white-space:nowrap; }
.api-pill__meta{ font-size:11px; color:inherit; opacity:.82; font-weight:400; white-space:nowrap; }
.api-pill--ok{ background:#edf7ef; border-color:#cfe4d4; color:#1c6b38; }
.api-pill--bad{ background:#faefef; border-color:#edd0d0; color:#9a1f1f; }
.api-pill--warn{ background:#fff7e9; border-color:#efd8a6; color:#8a6110; }
.api-pill--clickable{ cursor:pointer; }
.api-pill--clickable:hover{ text-decoration:none; filter:brightness(.98); }

.dashboard-review-snippet{
  color:#111;
  font-size:14px;
  line-height:1.38;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.review-detail-grid{ align-items:stretch; }
@media (max-width: 860px){
  .review-detail-grid{ grid-template-columns:1fr; }
}

/* v2.5 – Footer */
.site-footer{margin-top:18px;border-top:1px solid var(--gray-2);padding:10px 0;color:#666;font-size:13px;}
.site-footer a{color:inherit;text-decoration:none;}
.site-footer a:hover{text-decoration:underline;}
.footer-inner{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;}
.footer-sep{opacity:0.6;}

/* v2.5 – Ampel: Rot blinkt (neu/unbeantwortet) */
@keyframes ampel-blink{0%,55%{opacity:1}60%,100%{opacity:.25}}
.ampel-red{animation:ampel-blink 1s infinite;}

/* v2.9.1: Ampel-Filter Icons */
.traffic-icon{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  text-decoration:none;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-size:18px;
  line-height:1;
}
.traffic-icon:hover{ text-decoration:underline; }
.traffic-icon.active{
  border-color:#d4002a;
  box-shadow: 0 0 0 2px rgba(212,0,42,.12);
}

/* Tooltip boxes */
.tooltip-link{
  color: var(--red);
  text-decoration: underline;
  font-weight: 700;
}
.tooltip-box{
  background: #fff;
  border: 1px solid var(--gray-3);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.35;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
}

.sreview-tooltip{
  position:fixed;
  z-index:9999;
  max-width:min(280px, calc(100vw - 24px));
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  color:var(--darkgray);
  font-size:13px;
  line-height:1.45;
  box-shadow:0 14px 32px rgba(0,0,0,.16);
  white-space:normal;
  pointer-events:none;
}
.sreview-tooltip[hidden]{display:none !important;}
.sreview-tooltip__inner{display:block;}


/* v2.9.5: File upload field wrapper to keep hint inside frame */
.file-field{
  border: 1px solid var(--gray-3);
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
}
.file-field input[type="file"]{
  border: 0;
  padding: 0;
  background: transparent;
  width: 100%;
}
.file-field .hint{
  margin-top: 6px;
}

/* v2.10: file input button corners / consistent look */
.file-field input[type="file"]{
  font: inherit;
  width: 100%;
}
.file-field input[type="file"]::file-selector-button{
  border: 1px solid var(--gray-3);
  background: #f6f6f6;
  color: var(--darkgray);
  border-radius: 10px;
  padding: 10px 12px;
  margin-right: 10px;
  cursor: pointer;
}
.file-field input[type="file"]::file-selector-button:hover{
  text-decoration: underline;
}
.file-field input[type="file"]::-webkit-file-upload-button{
  border: 1px solid var(--gray-3);
  background: #f6f6f6;
  color: var(--darkgray);
  border-radius: 10px;
  padding: 10px 12px;
  margin-right: 10px;
  cursor: pointer;
}
.file-field input[type="file"]::-webkit-file-upload-button:hover{
  text-decoration: underline;
}

/* v2.10: spacing in lead detail file upload */
.file-upload-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.file-upload-row input[type="file"]{
  max-width: 520px;
}

/* KPI-Links (Statistik): rot + unterstrichen */
a.stat-link{color:var(--sparkasse-red, #e2001a);text-decoration:underline}
a.stat-link:hover{text-decoration:underline}

/* Button-Loading-Spinner */
.btn.is-loading{cursor:wait;opacity:.85}
.btn .btn-spinner{display:inline-block;width:14px;height:14px;margin-left:8px;border:2px solid currentColor;border-top-color:transparent;border-radius:999px;animation:spin .8s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}

/* v2.19.0 – OTP resend link disabled state */
.link.is-disabled{ color:#888; cursor:default; pointer-events:none; text-decoration:none; }

/* v2.20.0 – password rules UI */
.pw-rule-list{ list-style: none; margin:0; padding:0; }
.pw-rule{ display:flex; align-items:flex-start; gap:8px; margin: 4px 0; }
.pw-icon{ display:inline-block; width: 18px; line-height: 18px; text-align:center; font-weight: bold; color:#b00020; }
.pw-rule.ok .pw-icon{ color:#1a7f37; }
.pw-rule.ok{ color:#1a7f37; }
.pw-rule.bad{ color:#666; }
.btn[disabled], .btn:disabled{ opacity: .6; cursor: not-allowed; }

/* Contact form readonly fields */
.readonly-field{background:#f4f4f4;color:#666;border-color:#e0e0e0;}

/* Inline validation icons (leads/new) */
.vwrap{position:relative;}
.vwrap > input,
.vwrap > select{padding-right:48px;}
.vmark{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  font-size:28px;
  line-height:1;
  font-weight:800;
  pointer-events:none;
  opacity:0;
}
.vmark.is-valid{color:#1a8f3a; opacity:1;}
.vmark.is-invalid{color:#b00020; opacity:1;}

/* v2.29.1 – Lead Detail UX (restored) */
.lead-meta-box{
  background:#f3f3f3;
  border:1px solid #e2e2e2;
  border-radius:16px;
  padding:14px 16px;
}
.lead-meta-box .meta-row{
  display:grid;
  grid-template-columns: 180px 1fr;
  gap:10px;
  padding:4px 0;
}
.lead-meta-box .meta-label{ color:#666; }
.lead-meta-box .meta-val{ color:#111; }
.export-pills{ display:flex; gap:10px; flex-wrap:wrap; }
.export-pill{
  display:inline-block;
  padding:8px 10px;
  border:1px solid #dcdcdc;
  border-radius:10px;
  text-decoration:none;
  color:#111;
  background:#fff;
  font-weight:600;
  font-size:13px;
}
.export-pill:hover{ border-color:#bfbfbf; }
@media (max-width: 720px){
  .lead-meta-box .meta-row{ grid-template-columns: 1fr; gap:2px; }
}

/* v2.28.0 – Responsive (Mobile/Tablet) – ohne Desktop zu verändern */
.nav-toggle{
  display:none;
  border:1px solid var(--gray-3);
  background:#fff;
  color: var(--darkgray-2);
  border-radius: 14px;
  padding: 10px 12px;
  cursor: pointer;
  align-items:center;
  justify-content:center;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.nav-toggle:hover{ background: var(--gray-1); }

.nav-backdrop{ display:none; }

.table-scroll{ overflow: visible; }

@media (max-width: 900px){
  /* Layout spacing */
  .container{ width: calc(100% - 20px); padding: 16px 0 32px; }
  .card{ padding: 16px; border-radius: 18px; }

  /* Header / Navigation */
  .topbar-inner{ flex-wrap: wrap; gap: 10px; padding: 12px 0; }
  .brand{ gap: 8px; }
  .brand-logo{ max-width: 160px; max-height: 48px; }
  .brand-logo--sm{ width:84px; max-width:84px; max-height:25px; }
  .badge{ font-size: 11px; padding: 4px 9px; }

  .nav-toggle{ display:inline-flex; margin-left:auto; }
  .topnav{
    width: 100%;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding-top: 8px;
  }
  body.nav-open .topnav{ display:flex; }

  .topnav .btn,
  .topnav a.btn,
  .topnav button.btn{ width: 100%; justify-content: center; }
  .topnav .btn-icon{ width: 100%; }
  .topnav form{ width: 100%; }

  /* Backdrop for open mobile menu */
  .nav-backdrop{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.28);
    display:none;
    z-index: 10;
  }
  body.nav-open .nav-backdrop{ display:block; }
  .topbar{ position: relative; z-index: 11; }

  /* Tables: horizontal scroll instead of broken layout */
  .table-scroll{ overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .table-scroll .table{ width: max-content; min-width: 100%; }
  .table-scroll .table th, .table-scroll .table td{ white-space: nowrap; }

  /* Footer link in dashboard boxes should not overlap content */
  .has-footer-link{ padding-bottom: 18px; }
  .box-footer-left{ position: static; margin-top: 12px; }

  /* Forms with inline flex styles: stack nicely */
  form[style*="display:flex"]{ align-items: stretch !important; }
  form[style*="display:flex"] > div{ min-width: 100% !important; }
}


/* Checkbox pills (Inbox Sternfilter) */
.checkbox-group{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.checkbox-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid var(--gray-3);
  border-radius:999px;
  background: var(--white);
  font-size:13px;
  color: var(--darkgray-2);
  cursor:pointer;
  user-select:none;
}
.checkbox-pill input{
  margin:0;
  accent-color: var(--sparkasse-red);
}
.checkbox-pill:hover{
  border-color: var(--sparkasse-red);
  box-shadow: 0 0 0 3px rgba(238,0,0,.10);
}


/* v1.3.0: Saved filters bar */
select{max-width: 100%;}

/* v1.8.3 dashboard layout */
.grid-span-2 { grid-column: 1 / -1; }
@media (max-width: 860px) {
  .grid-span-2 { grid-column: auto; }
}

/* v1.9.1 – Inbox UX refresh */
.btn-inline-icon{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  padding:10px 14px;
}
.btn-inline-icon .ico{font-size:14px;line-height:1;}

.inbox-sync-card{
  border-color:#d7eadb;
  background:#f3faf4;
}
.inbox-sync-card__row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.inbox-sync-card__meta{margin-top:4px;}
.inbox-sync-card__error{margin-top:8px;color:#8a1028;}

.inbox-saved-card__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.inbox-saved-card__group,
.inbox-saved-card__save{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.inbox-saved-card__title{margin:0; white-space:nowrap;}
.inbox-saved-card__select{min-width:220px; width:auto;}
.inbox-saved-card__name{min-width:180px; width:auto;}
.inbox-saved-card__hint{margin-top:8px; font-size:13px;}

.inbox-filter-card__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.inbox-filter-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:14px;
}
.inbox-filter-grid__full{grid-column:1 / -1;}
.inbox-filter-help{font-size:13px;}
.inbox-star-pill{
  color:#f2b01e;
  letter-spacing:.08em;
  font-size:16px;
  line-height:1;
}
.checkbox-pill.is-active{
  border-color: var(--sparkasse-red);
  box-shadow: 0 0 0 3px rgba(238,0,0,.08);
}
.traffic-dot{
  display:inline-block;
  width:12px;
  height:12px;
  border-radius:999px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
.dot-red{background:#e2001a;}
.dot-yellow{background:#f59e0b;}
.dot-green{background:#2e7d32;}
.inbox-filter-actions{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.inbox-filter-actions__left,
.inbox-filter-actions__right{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.inbox-filter-actions__per-page{
  width:auto;
  min-width:92px;
}
.inbox-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
}
.inbox-pagination__buttons{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width: 860px){
  .inbox-filter-grid{grid-template-columns:1fr;}
  .inbox-saved-card__select,
  .inbox-saved-card__name,
  .inbox-filter-actions__per-page{width:100%;}
  .email-suffix-field{flex-direction:column;}
  .email-suffix-field input{border-right:1px solid var(--gray-4); border-radius:14px 14px 0 0;}
  .email-suffix-field__suffix{border-left:1px solid var(--gray-4); border-top:0; border-radius:0 0 14px 14px; justify-content:flex-start; padding:10px 14px;}
}

/* v1.9.13 – News-Seite final */
.news-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.news-item{
  padding:18px 20px;
}
.news-meta{
  color:var(--darkgray);
  font-size:13px;
  margin-bottom:8px;
}
.news-title{
  margin:0 0 8px;
  font-size:16px;
  line-height:1.45;
  font-weight:700;
  font-family:inherit;
}
.news-body{
  font-size:16px;
  line-height:1.6;
  white-space:pre-wrap;
}
.news-body br{
  content:"";
}

/* v1.9.14 – Review-Detail / interne Rückfragen final */
.review-card-primary,
.review-card-answer,
.review-card-ib,
.review-card-question{ min-width:0; display:flex; flex-direction:column; height:100%; }
.review-meta-stack{ display:grid; gap:14px; }
.review-meta-row{ display:flex; gap:14px; flex-wrap:wrap; }
.review-meta-row--top{ align-items:flex-start; justify-content:space-between; }
.review-meta-row--split > div{ flex:1 1 220px; }
.review-meta-label{ font-size:13px; }
.review-location-line{ font-size:18px; font-weight:700; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.review-kreis-badge{ padding:4px 10px; }
.review-reviewer-box{ display:flex; align-items:center; gap:12px; min-height:44px; }
.review-reviewer-avatar{ width:44px; height:44px; border-radius:999px; overflow:hidden; background:#f3f4f6; border:1px solid var(--gray-2); display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--gray-7); flex:0 0 44px; }
.review-reviewer-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.review-reviewer-name{ min-width:0; word-break:break-word; }
.review-stars-box{ text-align:right; }
.review-stars-value{ font-size:18px; font-weight:700; }
.review-text-box{ white-space:pre-wrap; }
.review-api-details summary{ cursor:pointer; font-weight:600; }
.review-api-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
  margin-top:10px;
  padding:14px;
  border:1px solid var(--gray-2);
  border-radius:14px;
  background:#fafafa;
}
.review-api-item{ min-width:0; }
.review-api-value{ word-break:break-word; white-space:pre-wrap; }
.review-meta-actions{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:center; margin-top:12px; }
.review-meta-actions__links{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.review-appeal-inline-form{ margin-left:auto; }
.review-appeal-toggle{ border:1px solid var(--gray-3); border-radius:999px; background:#fff; padding:8px 12px; display:inline-flex; align-items:center; gap:10px; font:inherit; color:var(--darkgray-2); cursor:pointer; text-align:left; min-height:48px; }
.review-appeal-toggle:hover:not(:disabled){ border-color:rgba(238,0,0,.35); background:rgba(238,0,0,.04); }
.review-appeal-toggle:disabled{ opacity:.55; cursor:not-allowed; }
.review-appeal-toggle.is-active{ border-color:rgba(238,0,0,.35); background:rgba(238,0,0,.06); }
.review-appeal-toggle__switch{ position:relative; display:inline-block; width:40px; height:22px; border-radius:999px; background:#d9dde5; flex:0 0 auto; transition:.2s ease; }
.review-appeal-toggle__switch::after{ content:''; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.12); transition:.2s ease; }
.review-appeal-toggle.is-active .review-appeal-toggle__switch{ background:#ee0000; }
.review-appeal-toggle.is-active .review-appeal-toggle__switch::after{ transform:translateX(18px); }
.review-appeal-toggle__copy{ display:grid; gap:2px; }
.review-appeal-toggle__copy strong{ font-size:13px; line-height:1.2; }
.review-appeal-toggle__copy small{ font-size:12px; color:var(--darkgray); }
.review-scroll-list{ max-height:220px; overflow:auto; border:1px solid var(--gray-2); border-radius:12px; padding:10px; }
.question-stats{ display:flex; gap:8px; flex-wrap:wrap; }
.question-stat-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:700;
  border:1px solid transparent;
}
.question-stat-pill--open{ background:#fff3cd; color:#7a5600; border-color:#f2d694; }
.question-stat-pill--done{ background:#edf7ef; color:#1c6b38; border-color:#cfe4d4; }
.recipient-picks{ display:flex; gap:8px; flex-wrap:wrap; }
.recipient-pick{
  border:1px solid var(--gray-3);
  background:#fff;
  color:var(--darkgray-2);
  border-radius:999px;
  padding:8px 12px;
  cursor:pointer;
  font:inherit;
}
.recipient-pick:hover{ text-decoration:underline; }
.question-history-list{ display:grid; gap:12px; }
.question-history-item{
  border:1px solid var(--gray-2);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.question-history-summary{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  cursor:pointer;
  list-style:none;
  padding:14px 16px;
  background:#fafafa;
}
.question-history-summary::-webkit-details-marker{ display:none; }
.question-history-summary::after{
  content:'▾';
  color:var(--darkgray);
  margin-left:auto;
}
.question-history-item[open] .question-history-summary::after{ transform:rotate(180deg); }
.question-history-main{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.question-history-meta{ display:flex; gap:8px; align-items:center; }
.question-history-body{ padding:14px 16px 16px; display:grid; gap:10px; }
.question-history-dates{ font-size:12px; color:var(--darkgray); }
.question-history-block{ display:grid; gap:4px; }
.question-attachment-list{ display:flex; gap:8px; flex-wrap:wrap; }
.attachment-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid var(--gray-3);
  background:#fff;
  color:var(--darkgray-2);
  text-decoration:none;
}
.attachment-pill:hover{ text-decoration:underline; }
.question-recipient-list{ display:grid; gap:12px; }
.question-recipient-card{
  border:1px solid var(--gray-2);
  border-radius:16px;
  padding:14px;
  background:#fff;
}
.question-recipient-card__head{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:flex-start; }
.public-question-grid .card{ min-width:0; }

@media (max-width: 860px){
  .review-api-grid{ grid-template-columns:1fr; }
  .question-history-summary{ align-items:flex-start; }
  .question-history-summary::after{ order:3; margin-left:0; }
  .review-stars-box{ text-align:left; }
}


/* v2.9.16 – Admin Google */
.admin-google-grid{
  display:grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, .9fr);
  gap:16px;
  align-items:start;
}
.admin-google-card{ min-width:0; }
.admin-google-status-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-bottom:14px;
}
.admin-google-meta-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.admin-google-meta-item{
  border:1px solid var(--gray-2);
  border-radius:16px;
  padding:12px 14px;
  background:#fff;
}
.admin-google-meta-label{
  font-size:12px;
  color:var(--darkgray);
  margin-bottom:6px;
}
.admin-google-meta-value{
  font-size:15px;
  font-weight:700;
  line-height:1.35;
}
.admin-google-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
@media (max-width: 860px){
  .admin-google-grid{ grid-template-columns:1fr; }
  .admin-google-meta-grid{ grid-template-columns:1fr; }
}

/* v1.9.17 – clearer locked domain suffix for internal question recipients */
.email-suffix-field__suffix{ font-weight:600; }


.admin-subnav-card{
  padding:18px 20px 22px;
  border-radius:28px;
}
.admin-subnav-title{
  font-size:20px;
  font-weight:700;
  margin:0 0 14px;
  font-family: SparkasseHeadRegular, SparkasseRegular, Arial, sans-serif;
}
.admin-subnav-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.admin-subnav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:2px solid rgba(68,68,68,.75);
  border-radius:999px;
  background:#fff;
  color:var(--darkgray-2);
  font-family: SparkasseMedium, SparkasseRegular, Arial, sans-serif;
  font-size:15px;
  line-height:1.1;
  text-decoration:none;
  transition:all .12s ease;
  white-space:nowrap;
}
.admin-subnav-link:hover{
  text-decoration:none;
  border-color:var(--sparkasse-red);
  color:var(--sparkasse-red);
  transform:translateY(-1px);
}
.admin-subnav-link.is-active{
  color:var(--darkgray-2);
  border-color:rgba(68,68,68,.9);
  box-shadow:0 8px 20px rgba(0,0,0,.06);
  font-weight:700;
}
.admin-page-hero{
  display:grid;
  gap:16px;
  margin-bottom:16px;
}
.admin-page-hero__content{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.admin-page-hero__title{
  margin:0;
  font-size:28px;
  line-height:1.1;
  font-family: SparkasseHeadRegular, SparkasseRegular, Arial, sans-serif;
}
.admin-page-hero__subtitle{
  margin:10px 0 0;
  color:var(--darkgray);
  font-size:18px;
  line-height:1.45;
}
.admin-page-stats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.admin-page-stat{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--gray-3);
  background:var(--gray-0);
  color:var(--darkgray-2);
}
.admin-page-stat strong{
  font-family: SparkasseMedium, SparkasseRegular, Arial, sans-serif;
  font-size:16px;
}
.admin-page-stat span{
  font-size:14px;
}
.admin-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
@media (max-width: 860px){
  .admin-page-hero__content{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-subnav-link{
    min-height:46px;
    padding:0 18px;
    font-size:15px;
  }
}
.template-star-filter{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.template-star-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid var(--gray-3);
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  user-select:none;
}
.template-star-chip input{ margin:0; }
.template-star-tags{ display:flex; gap:6px; flex-wrap:wrap; }

.btn-danger{
  background:#fff5f5;
  color:var(--sparkasse-red);
  border:1px solid rgba(238,0,0,.22);
}
.btn-danger:hover{
  background:#feecec;
}

/* v1.9.24 – Profile access overview */
.access-list{
  display:grid;
  gap:10px;
}
.access-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  border:1px solid var(--gray-2);
  border-radius:16px;
  padding:12px 14px;
  background:#fff;
}
.access-item.is-allowed{
  border-color:rgba(26,127,55,.18);
  background:rgba(26,127,55,.05);
}
.access-item.is-denied{
  border-color:rgba(176,0,32,.18);
  background:rgba(176,0,32,.04);
}
.access-item__icon{
  width:28px;
  height:28px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  flex:0 0 28px;
}
.access-item.is-allowed .access-item__icon{
  background:rgba(26,127,55,.14);
  color:#165b2f;
}
.access-item.is-denied .access-item__icon{
  background:rgba(176,0,32,.12);
  color:#8a1028;
}
.access-item__title{
  font-weight:700;
  margin-bottom:2px;
}
.access-item__desc{
  color:var(--darkgray-2);
  line-height:1.45;
}
@media (max-width: 860px) {
  .grid[style*="1.08fr .92fr"]{grid-template-columns:1fr !important;}
}

/* v2.0.1 – Inbox Hotfixes */
.inbox-sync-card--compact{
  padding: 14px 18px;
}
.inbox-sync-card__row--center{
  align-items:center;
}
.inbox-sync-card__line{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:14px;
  line-height:1.3;
}
.inbox-sync-card__line strong{
  color:var(--black);
  font-weight:700;
}
.btn-icon-only{
  padding:10px 12px;
  min-width:44px;
  width:44px;
}
.btn-icon-only .icon-svg{
  display:block;
  width:18px;
  height:18px;
}
.inbox-review-snippet{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  white-space:normal;
  line-height:1.45;
  max-width:420px;
}
.rating-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:13px;
  font-weight:700;
}
.rating-badge--red{
  background:#faefef;
  border-color:#edd0d0;
  color:#9a1f1f;
}
.rating-badge--yellow{
  background:#fff5e8;
  border-color:#f1d3a6;
  color:#a35a00;
}
.rating-badge--green{
  background:#edf7ef;
  border-color:#cfe4d4;
  color:#1c6b38;
}


/* v2.2.0 – Reporting + Inbox UX */
.reporting-period-card{
  padding-top:18px;
  padding-bottom:18px;
}
.reporting-period-compact-row{
  display:grid;
  grid-template-columns:minmax(240px,1.35fr) minmax(180px,.9fr) minmax(180px,.9fr) minmax(170px,.75fr);
  gap:16px;
  align-items:end;
}
.rpf-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.rpf-field--wide{min-width:0;}
.rpf-field--button{justify-content:flex-end;}
.rpf-label-strong{font-weight:700;}
.rpf-field--active input,
.rpf-field--active select,
.inbox-period-field.is-active input,
#inbox-period-preset.is-interactive,
.reporting-period-card .is-interactive{
  border-color:rgba(226,0,26,.45);
  box-shadow:0 0 0 3px rgba(226,0,26,.08);
  background:#fff;
}
.reporting-export-card .section-title strong{font-weight:800;}
.num-link{
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1.5px;
}

.inbox-filter-card label{
  font-weight:600;
}
.inbox-star-group{
  align-items:center;
  flex-wrap:wrap;
}

.inbox-filter-grid--compact{
  gap:16px 14px;
}
.inbox-filter-grid__row--top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.inbox-saved-filter-wrap{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.inbox-filter-inline-row--compact{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.inbox-preset-select--compact{
  width:min(360px, 100%);
}
.btn-icon-only--danger{
  color:#c21f32;
  border-color:#e6c8ce;
}
.btn-icon-only--danger:hover{
  border-color:#c21f32;
  background:#fff5f6;
}
.inbox-period-grid--single-row{
  display:grid;
  grid-template-columns:minmax(240px,1.15fr) minmax(170px,.9fr) minmax(170px,.9fr);
  gap:12px;
  align-items:end;
}
.inbox-period-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.inbox-sub-label--strong{font-weight:700;}
.inbox-page-select{
  min-width:140px;
  width:auto;
}
.inbox-pagination__buttons{
  justify-content:flex-end;
}

@media (max-width: 980px){
  .reporting-period-compact-row,
  .inbox-period-grid--single-row,
  .hot-topics-period-card .inbox-period-grid{
    grid-template-columns:1fr;
  }
}


/* v2.5.1 – Inbox / Admin / Login polish */
.inbox-period-card{
  padding-top:18px;
  padding-bottom:18px;
}
.inbox-filter-card__header--stacked{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.inbox-saved-filter-wrap,
.inbox-period-field,
.inbox-period-grid__quick{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.inbox-filter-inline-row--compact{
  flex-wrap:nowrap;
  width:100%;
}
.inbox-preset-select--compact{
  width:min(300px, 100%);
}
.inbox-period-card .inbox-period-grid--single-row{
  grid-template-columns:minmax(260px,1.15fr) minmax(190px,.9fr) minmax(190px,.9fr);
  gap:16px;
}
.inbox-status-badge{
  min-width:112px;
  text-transform:none;
}
.review-stars-flag-row{
  margin-top:8px;
  display:flex;
  justify-content:flex-end;
}
.review-appeal-badge{
  min-width:auto;
}
.admin-page-headline{
  margin:10px 0 14px;
}
.admin-subnav-card{
  margin-top:0 !important;
  margin-bottom:16px;
}
.admin-subnav-list{
  padding-top:4px;
}
.admin-subnav-title{
  display:none;
}
.admin-section-body > h1.h1:first-of-type,
.admin-section-body > .admin-page-hero{
  display:none;
}
@media (max-width: 760px){
  .inbox-filter-inline-row--compact{
    flex-wrap:wrap;
  }
}
@media (max-width: 980px){
  .inbox-period-card .inbox-period-grid--single-row{
    grid-template-columns:1fr;
  }
}


/* v2.7.1 – Zeitraum UX */
.inbox-period-card select,
.inbox-period-card input,
.reporting-period-card select,
.reporting-period-card input{
  font-weight:700;
}
.inbox-preset-select--field-width{
  width:100%;
  max-width:100%;
  flex:1 1 auto;
}
.inbox-saved-filter-wrap{
  max-width:none;
  width:100%;
}
.reporting-period-card .rpf-field label,
.inbox-period-card .inbox-sub-label,
.inbox-filter-card label{
  margin-bottom:0;
}


/* v2.11.0 – Admin users */
.admin-user-create__hint{ margin-top:6px; }
.admin-user-create__fields{ margin-top:24px; }
.admin-user-create__location-grid{ gap:16px; align-items:start; }
.admin-user-actions{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.admin-toggle-btn{ appearance:none; border:0; background:transparent; padding:0; margin:0; cursor:pointer; }
.admin-toggle-btn:focus-visible{ outline:2px solid rgba(230,0,0,.35); outline-offset:3px; border-radius:999px; }
.admin-toggle{ display:inline-flex; align-items:center; gap:8px; user-select:none; }
.admin-toggle__track{ position:relative; width:42px; height:24px; border-radius:999px; background:#d7dbe0; border:1px solid #c5cad1; transition:.18s ease; display:inline-flex; align-items:center; }
.admin-toggle__knob{ position:absolute; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:.18s ease; }
.admin-toggle.is-active .admin-toggle__track{ background:#1c6b38; border-color:#1c6b38; }
.admin-toggle.is-active .admin-toggle__knob{ transform:translateX(18px); }
.admin-toggle.is-active .admin-toggle__label{ color:#1c6b38; }
.admin-toggle.is-inactive .admin-toggle__track{ background:#f3d9d9; border-color:#e1b5b5; }
.admin-toggle.is-inactive .admin-toggle__label{ color:#9a1f1f; }
.admin-toggle__label{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.02em; color:var(--text-muted); }

/* v2.17.0 – Google-Standorte */
.google-locations-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:18px;align-items:start}
.google-locations-list{display:flex;flex-direction:column;gap:10px}
.google-location-card{display:block;border:1px solid var(--line);border-radius:16px;padding:14px 16px;text-decoration:none;color:inherit;background:#fff;transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease}
.google-location-card:hover{border-color:rgba(230,0,0,.35);box-shadow:0 8px 22px rgba(0,0,0,.06);transform:translateY(-1px)}
.google-location-card.is-active{border-color:rgba(230,0,0,.45);box-shadow:0 10px 24px rgba(230,0,0,.08)}
.google-location-card__title{font-weight:700;margin-bottom:4px}
.google-location-card__meta{font-size:13px;color:var(--text-muted);display:flex;flex-direction:column;gap:4px}
.google-location-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.google-location-toolbar__meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--text-muted);font-size:13px}
.google-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

.google-location-search{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.google-location-search input[type=search]{flex:1 1 220px}
.google-location-hours-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.google-location-hours-form label{display:block;margin-bottom:6px}
.google-location-panel .hint{margin-top:6px}
.google-location-hours{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.google-location-hours li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px 14px;align-items:start;border-bottom:1px dashed var(--line);padding-bottom:8px}
.google-location-hours strong{font-size:14px;line-height:1.35}
.google-location-hours__times{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left}
.google-location-hours__slot{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.1px;white-space:nowrap}
.google-location-hours__closed{color:var(--text-muted)}
@media (max-width: 980px){
  .google-locations-layout{grid-template-columns:1fr}
  .google-location-grid,.google-location-hours,.google-location-hours-form{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .google-location-hours li{grid-template-columns:1fr}
}

/* v2.18.0 – KI-Antwortvorschläge */
.review-answer-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ai-hint-box{border:1px solid rgba(238,0,0,.18);background:rgba(238,0,0,.05);border-radius:14px;padding:12px 14px}
.ai-hint-box__title{font-size:13px;font-weight:700;margin-bottom:6px;color:var(--darkgray-2)}
.template-select-row{display:flex;align-items:center;gap:12px}
.template-select-row select{flex:1 1 auto;min-width:0}
.ai-icon-btn-wrap{display:inline-flex;flex:0 0 56px}
.ai-icon-btn{position:relative;flex:0 0 56px;width:56px;height:56px;border:1px solid #d7dbe4;border-radius:14px;background:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:0 4px 12px rgba(15,23,42,.06)}
.ai-icon-btn:hover:not(:disabled){border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.10)}
.ai-icon-btn:disabled{opacity:.45;cursor:not-allowed}
.ai-icon-btn__img{display:block;width:34px;height:34px;object-fit:contain}
@media (max-width: 900px){
  .template-select-row{align-items:stretch}
  .template-select-row select{min-width:0}
  .review-answer-actions .btn{width:100%;justify-content:center}
  .reporting-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width: 640px){
  .reporting-wall-grid{grid-template-columns:1fr !important}
  .reporting-wall-item__head{align-items:center}
}

/* v2.19.1 – Rollenrechte-Dialog in Admin/Nutzer */
.admin-role-badge{
  appearance:none;
  border:1px solid var(--gray-2);
  cursor:pointer;
  background:#fff;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.admin-role-badge::after{
  content:'i';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  border-radius:999px;
  background:#f0f0f0;
  color:#555;
  font-size:11px;
  font-weight:700;
  line-height:1;
}
.admin-role-badge:hover{
  border-color:rgba(230,0,0,.32);
  box-shadow:0 0 0 3px rgba(238,0,0,.08);
}
.admin-role-badge:focus-visible{
  outline:2px solid rgba(238,0,0,.28);
  outline-offset:3px;
}
.admin-role-dialog{
  width:min(760px, calc(100vw - 32px));
  border:0;
  padding:0;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(0,0,0,.2);
  background:transparent;
}
.admin-role-dialog::backdrop{
  background:rgba(16,24,40,.45);
}
.admin-role-dialog__shell{
  background:#fff;
  border:1px solid var(--gray-2);
  border-radius:22px;
  padding:22px;
}
.admin-role-dialog__head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}
.admin-role-dialog__eyebrow{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}
.admin-role-dialog__title{
  margin:0;
}
.admin-role-dialog__intro{
  display:grid;
  gap:6px;
  margin-bottom:16px;
  padding:14px 16px;
  border:1px solid rgba(238,0,0,.12);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(238,0,0,.04), rgba(238,0,0,.015));
}
#adminRoleInfoSummary{
  font-weight:700;
  color:var(--darkgray);
}
@media (max-width:640px){
  .admin-role-dialog{ width:min(100vw - 18px, 760px); }
  .admin-role-dialog__shell{ padding:18px; }
  .admin-role-dialog__head{ flex-direction:column; align-items:stretch; }
}

/* v2.20.1 – Design Refresh Phase 1 */
:root{
  --cd-yellow:#FFC900;
  --cd-blue:#2C57D2;
  --cd-cyan:#00ACD3;
}

.ui-heading{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.ui-heading--page{
  margin:0 0 14px;
}
.ui-heading--section{
  margin:0 0 10px;
}
.ui-heading__icon{
  width:40px;
  height:40px;
  border-radius:14px;
  border:1px solid var(--gray-2);
  background:linear-gradient(180deg,#fff 0%, #f5f5f5 100%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--darkgray-2);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  flex:0 0 auto;
  position:relative;
  overflow:hidden;
}
.ui-heading__icon::after{
  content:'';
  position:absolute;
  right:-12px;
  bottom:-14px;
  width:28px;
  height:28px;
  border-radius:999px;
  background:rgba(238,0,0,.08);
}
.ui-heading__icon-svg{
  width:20px;
  height:20px;
  display:block;
  position:relative;
  z-index:1;
}
.ui-heading--page .ui-heading__icon{
  width:46px;
  height:46px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(238,0,0,.12) 0%, rgba(255,255,255,.96) 100%);
  color:#111;
}
.ui-heading--page .ui-heading__icon::after{
  width:34px;
  height:34px;
  right:-10px;
  bottom:-12px;
}
.ui-heading--page .h1,
.ui-heading--section .section-title{
  margin:0;
}
.ui-heading--page .h1{
  font-size:32px;
  line-height:1.08;
}
.ui-heading--section .section-title{
  font-size:19px;
  line-height:1.2;
}

.dashboard-card,
.reporting-overview-card,
.reporting-mini-card,
.reporting-wall-card,
.reporting-chart-card,
.inbox-sync-card,
.inbox-period-card,
.inbox-filter-card,
.review-card-primary,
.review-card-answer,
.review-card-ib,
.review-card-question,
.admin-page-hero,
.admin-subnav-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%, #fbfbfb 100%);
}
.dashboard-card::before,
.reporting-overview-card::before,
.reporting-wall-card::before,
.reporting-chart-card::before,
.inbox-sync-card::before,
.inbox-period-card::before,
.inbox-filter-card::before,
.review-card-primary::before,
.review-card-answer::before,
.review-card-ib::before,
.review-card-question::before,
.admin-page-hero::before,
.admin-subnav-card::before{
  content:'';
  position:absolute;
  top:0;
  left:22px;
  right:22px;
  height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg, rgba(238,0,0,.92) 0%, rgba(102,102,102,.34) 100%);
  opacity:.9;
}
.dashboard-card--stats::after,
.reporting-mini-card--stars::after{
  content:'★';
  position:absolute;
  right:-6px;
  bottom:-22px;
  font-size:144px;
  line-height:1;
  color:rgba(255,201,0,.16);
  pointer-events:none;
}
.dashboard-card .ui-heading,
.inbox-filter-card .ui-heading,
.reporting-overview-card .ui-heading,
.reporting-wall-card .ui-heading,
.reporting-chart-card .ui-heading,
.review-card-answer .ui-heading,
.review-card-ib .ui-heading,
.review-card-question .ui-heading{
  margin-bottom:12px;
}
.dashboard-card .ui-heading__icon{
  background:linear-gradient(180deg,#fff 0%, #f6f6f6 100%);
}
.dashboard-card--appeals .ui-heading__icon,
.review-card-primary .review-location-line__icon{
  color:var(--sparkasse-red);
}
.dashboard-card--stats .ui-heading__icon,
.reporting-mini-card--stars .reporting-mini-card__icon{
  color:#9a7a00;
  background:rgba(255,201,0,.18);
  border-color:rgba(255,201,0,.28);
}
.dashboard-card--top .ui-heading__icon,
.reporting-wall-card .ui-heading__icon,
.reporting-wall-panel--competition .reporting-wall-panel__icon{
  color:var(--sparkasse-red);
}
.dashboard-card .muted,
.reporting-chart-card .muted,
.review-card-answer .muted,
.review-card-ib .muted,
.review-card-question .muted{
  position:relative;
  z-index:1;
}
.dashboard-card > *:not(.dashboard-card__bg),
.reporting-overview-card > *,
.reporting-mini-card > *,
.reporting-wall-card > *,
.reporting-chart-card > *,
.inbox-sync-card > *,
.inbox-period-card > *,
.inbox-filter-card > *,
.review-card-primary > *,
.review-card-answer > *,
.review-card-ib > *,
.review-card-question > *,
.admin-page-hero > *,
.admin-subnav-card > *{
  position:relative;
  z-index:1;
}

.reporting-mini-card{
  position:relative;
  padding:18px;
}
.reporting-mini-card__label{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  font-size:15px;
  font-weight:700;
  color:var(--darkgray-2);
}
.reporting-mini-card__icon{
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid var(--gray-2);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
  flex:0 0 auto;
  color:var(--darkgray-2);
}
.reporting-mini-card__svg{
  width:18px;
  height:18px;
  display:block;
}
.reporting-mini-card--ampel .reporting-mini-card__icon{
  color:#b42318;
  background:rgba(238,0,0,.08);
  border-color:rgba(238,0,0,.14);
}
.reporting-mini-card--status .reporting-mini-card__icon,
.review-card-answer .ui-heading__icon{
  color:var(--sparkasse-red);
  background:rgba(238,0,0,.08);
  border-color:rgba(238,0,0,.16);
}
.reporting-mini-card--response .reporting-mini-card__icon,
.review-card-question .ui-heading__icon{
  color:var(--cd-blue);
  background:rgba(44,87,210,.08);
  border-color:rgba(44,87,210,.16);
}
.review-card-ib .ui-heading__icon,
.reporting-wall-panel--ibs .reporting-wall-panel__icon{
  color:var(--cd-cyan);
  background:rgba(0,172,211,.08);
  border-color:rgba(0,172,211,.16);
}
.reporting-wall-panel--locations .reporting-wall-panel__icon,
.review-location-line__icon{
  color:var(--cd-blue);
  background:rgba(44,87,210,.08);
  border-color:rgba(44,87,210,.16);
}
.reporting-wall-panel--districts .reporting-wall-panel__icon{
  color:var(--darkgray-2);
  background:rgba(102,102,102,.08);
  border-color:rgba(102,102,102,.16);
}
.reporting-wall-panel__icon{
  width:42px;
  height:42px;
}
.reporting-wall-card .reporting-card-head{
  align-items:flex-start;
}
.reporting-wall-card .ui-heading,
.reporting-overview-card .ui-heading,
.reporting-chart-card .ui-heading{
  margin-bottom:0;
}
.reporting-overview-card .ui-heading__icon,
.reporting-chart-card .ui-heading__icon,
.inbox-filter-card .ui-heading__icon,
.inbox-period-card .ui-heading__icon,
.inbox-sync-card .ui-heading__icon{
  color:var(--sparkasse-red);
}
.reporting-chart-card--growth .ui-heading__icon{
  color:var(--cd-cyan);
  background:rgba(0,172,211,.08);
  border-color:rgba(0,172,211,.16);
}
.reporting-chart-total strong{
  letter-spacing:-.02em;
}

.review-location-line{
  gap:12px;
}
.review-location-line__icon{
  width:38px;
  height:38px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.04);
  flex:0 0 auto;
}
.review-location-icon{
  width:18px;
  height:18px;
  display:block;
}
.review-card-primary .review-text-box{
  background:linear-gradient(180deg,#fff 0%, #fcfcfc 100%);
}
.review-card-primary .review-stars-box{
  min-width:160px;
}

.inbox-filter-card .ui-heading,
.inbox-period-card .ui-heading,
.inbox-sync-card .ui-heading{
  margin-bottom:0;
}
.inbox-filter-card__header--stacked{
  gap:8px;
}
.admin-page-hero{
  background:linear-gradient(135deg,#fff 0%, #fafafa 56%, rgba(238,0,0,.04) 100%);
}
.admin-page-stats{
  gap:12px;
}
.admin-page-stat{
  background:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.04);
}
.admin-subnav-link{
  background:linear-gradient(180deg,#fff 0%, #f7f7f7 100%);
}
.h1{
  letter-spacing:-.02em;
}

@media (max-width: 860px){
  .ui-heading--page .h1{
    font-size:28px;
  }
  .ui-heading__icon{
    width:36px;
    height:36px;
    border-radius:12px;
  }
  .ui-heading--page .ui-heading__icon{
    width:40px;
    height:40px;
    border-radius:14px;
  }
  .dashboard-card::before,
  .reporting-overview-card::before,
  .reporting-wall-card::before,
  .reporting-chart-card::before,
  .inbox-sync-card::before,
  .inbox-period-card::before,
  .inbox-filter-card::before,
  .review-card-primary::before,
  .review-card-answer::before,
  .review-card-ib::before,
  .review-card-question::before,
  .admin-page-hero::before,
  .admin-subnav-card::before{
    left:18px;
    right:18px;
  }
}

/* v2.20.2 – UI polish */
.dashboard-card::before,
.reporting-overview-card::before,
.reporting-wall-card::before,
.reporting-chart-card::before,
.inbox-sync-card::before,
.inbox-period-card::before,
.inbox-filter-card::before,
.admin-subnav-card::before{
  display:none;
}
.dashboard-card--stats .ui-heading__icon{
  color:var(--darkgray-2);
  background:linear-gradient(180deg,#fff 0%, #f6f6f6 100%);
  border-color:var(--gray-2);
}
.dashboard-card--stats::after{
  display:none;
}
.reporting-overview-card .reporting-mini-card__icon,
.reporting-wall-panel__icon,
.reporting-chart-card .ui-heading__icon,
.reporting-summary-card .ui-heading__icon,
.review-location-line__icon,
.review-card-answer .ui-heading__icon,
.review-card-question .ui-heading__icon,
.review-card-ib .ui-heading__icon{
  color:var(--darkgray-2);
  background:#fff;
  border-color:var(--gray-2);
}
.reporting-mini-card--ampel .reporting-mini-card__icon,
.reporting-mini-card--status .reporting-mini-card__icon,
.reporting-mini-card--response .reporting-mini-card__icon,
.reporting-mini-card--stars .reporting-mini-card__icon,
.reporting-wall-panel--ibs .reporting-wall-panel__icon,
.reporting-wall-panel--locations .reporting-wall-panel__icon,
.reporting-wall-panel--districts .reporting-wall-panel__icon,
.reporting-wall-panel--competition .reporting-wall-panel__icon,
.reporting-chart-card--growth .ui-heading__icon{
  color:var(--darkgray-2);
  background:#fff;
  border-color:var(--gray-2);
}
.reporting-period-label{
  font-weight:700;
  color:var(--darkgray-2);
  white-space:nowrap;
}
.inline-help-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  border:1px solid rgba(238,0,0,.18);
  background:#fff7f7;
  color:var(--brand-red);
  font-size:11px;
  font-weight:800;
  line-height:1;
  vertical-align:middle;
  margin-left:6px;
  cursor:help;
  box-shadow:0 4px 10px rgba(238,0,0,.08);
}
.admin-google-section-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
}
.admin-google-section-head__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid var(--gray-2);
  background:#fff;
  color:var(--darkgray-2);
}
.admin-google-section-head__svg{
  width:18px;
  height:18px;
  display:block;
}
.admin-google-actions .btn,
.admin-google-actions a.btn,
.admin-google-action-link{
  font-weight:600;
}
.btn.is-loading .ico{
  display:inline-block;
  animation:spin .8s linear infinite;
}
.search-field-wrap{
  position:relative;
  flex:1 1 250px;
  max-width:280px;
}
.google-location-search input[type=search]{
  width:100%;
  padding-right:42px;
}
.search-icon-btn{
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:var(--darkgray-2);
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  cursor:pointer;
}
.search-icon-btn:hover{
  background:rgba(0,0,0,.04);
}
.google-location-hours__times{
  display:grid;
  gap:4px;
  justify-items:end;
}
.google-location-hours__slot{
  display:block;
}
.audit-table__meta{
  min-width:260px;
  max-width:560px;
}
.audit-meta-code{
  display:block;
  white-space:pre-wrap;
  word-break:break-word;
  overflow-wrap:anywhere;
  max-width:560px;
}

/* v2.20.3 – Reporting/Dashboard hotfix + Live-Suche Standorte */
.google-location-search-live{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.google-location-search-live input[type=search]{
  flex:1 1 240px;
  max-width:320px;
}


/* v2.30.0 – Feedback Tool */
.feedback-sticky-trigger{
  position:fixed;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:1200;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 16px 14px 14px;
  border:0;
  border-radius:16px 0 0 16px;
  background:#ee0000;
  color:#fff;
  box-shadow:0 16px 34px rgba(238,0,0,.24);
  cursor:pointer;
}
.feedback-sticky-trigger:hover{ background:#c80000; }
.feedback-sticky-trigger__icon{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.feedback-sticky-trigger__icon svg{ width:22px; height:22px; }
.feedback-sticky-trigger__label{
  font-weight:700;
  letter-spacing:.01em;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}
.feedback-dialog{
  width:min(640px, calc(100vw - 26px));
  border:0;
  padding:0;
  border-radius:24px;
  box-shadow:0 30px 70px rgba(16,24,40,.22);
  background:transparent;
}
.feedback-dialog::backdrop{ background:rgba(15,23,42,.45); }
.feedback-dialog__shell{
  background:#fff;
  border:1px solid var(--gray-2);
  border-radius:24px;
  padding:22px;
}
.feedback-dialog__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.feedback-dialog__intro{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-bottom:14px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(238,0,0,.1);
  background:linear-gradient(180deg, rgba(238,0,0,.05), rgba(238,0,0,.02));
}
.feedback-dialog__actions{ margin-top:16px; display:flex; justify-content:flex-start; }
.feedback-toast{
  position:fixed;
  right:18px;
  top:50%;
  z-index:1300;
  width:min(420px, calc(100vw - 36px));
  display:grid;
  gap:6px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid #dce8de;
  background:#fff;
  color:#1d2b1f;
  box-shadow:0 18px 42px rgba(17,24,39,.18);
  opacity:0;
  transform:translateY(calc(-50% + 12px));
  transition:opacity .24s ease, transform .24s ease;
}
.feedback-toast.is-visible{ opacity:1; transform:translateY(-50%); }
.feedback-toast strong{ color:#1c6b38; }
.feedback-admin-card{ overflow:hidden; }
.feedback-admin-card__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}
.feedback-switch-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--gray-2);
  border-radius:16px;
  background:#fff;
  margin-bottom:12px;
}
.feedback-toggle-form{ margin:0; }
.feedback-toggle-inline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--gray-2);
  border-radius:16px;
  background:#fff;
}
.feedback-toggle-inline__label{
  display:grid;
  gap:4px;
}
.feedback-status-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  border:1px solid var(--gray-2);
  background:#f6f7f8;
  color:#5b6672;
}
.feedback-status-chip.is-success{ background:#eef8f0; color:#226b31; border-color:#d6ead8; }
.feedback-status-chip.is-warning{ background:#fff6dc; color:#805c00; border-color:#efd792; }
.feedback-status-chip.is-danger{ background:#fff0f0; color:#9b1c1c; border-color:#f2caca; }
.feedback-status-chip.is-muted,
.feedback-status-chip.is-neutral{ background:#f5f6f8; color:#606d79; border-color:#dfe3e8; }
.feedback-entry-list{ display:grid; gap:14px; }
.feedback-entry-card{
  border:1px solid var(--gray-2);
  border-radius:18px;
  padding:16px;
  background:#fff;
}
.feedback-entry-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}
.feedback-entry-card__grid{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(300px, .92fr);
  gap:16px;
}
.feedback-entry-card__title{
  font-size:19px;
  font-family:SparkasseHeadRegular, SparkasseRegular, Arial, sans-serif;
}
.feedback-entry-card__message{
  margin-top:14px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid var(--gray-2);
  background:#fafafa;
  white-space:pre-wrap;
  line-height:1.6;
}
@media (max-width: 900px){
  .feedback-entry-card__grid{ grid-template-columns:1fr; }
}
@media (max-width: 720px){
  .feedback-sticky-trigger{ padding:12px 12px 12px 10px; }
  .feedback-sticky-trigger__label{ font-size:12px; }
  .feedback-dialog__head{ flex-direction:column; align-items:stretch; }
}


.feedback-recipient-stack{ display:grid; gap:16px; }
.feedback-hint-box{ padding:14px 16px; border:1px dashed var(--gray-2); border-radius:16px; background:#fcfcfc; }
.feedback-entry-table .table td,
.feedback-entry-table .table th{ vertical-align:top; }
.feedback-entry-table .table th:last-child,
.feedback-entry-table .table td:last-child{ text-align:right; }
.feedback-entry-table__page-link{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
.feedback-entry-table__page-link:hover{ color:var(--sparkasse-red); }
.feedback-entry-message{ white-space:pre-wrap; line-height:1.55; }
.feedback-entry-edit-row td{ background:#fafafa; }
.feedback-entry-edit-box{ padding:4px 0 2px; }
.feedback-entry-actions{ display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.feedback-entry-meta-text{ display:grid; gap:3px; }
.feedback-recipient-form-grid{ display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:end; margin-bottom:16px; }
.feedback-recipient-form-grid > .feedback-recipient-form-grid__wide{ grid-column:span 3; }
.feedback-table-note{ margin:0 0 12px; }
.feedback-edit-actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
@media (max-width: 980px){
  .feedback-recipient-form-grid{ grid-template-columns:1fr; }
  .feedback-recipient-form-grid > .feedback-recipient-form-grid__wide{ grid-column:auto; }
}
@media (max-width: 720px){
  .feedback-toast{ right:10px; width:min(360px, calc(100vw - 20px)); }
}

/* v2.30.2 – Feedback admin refinements */
.feedback-admin-card__head--compact{
  margin-bottom:0;
  align-items:center;
}
.feedback-toggle-form--compact .admin-toggle-btn{
  margin-left:auto;
}
.feedback-recipient-toolbar{
  margin:0 0 14px;
}
.feedback-link-button{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--sparkasse-red);
  font:inherit;
  font-weight:600;
  padding:0;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.feedback-link-button:hover{
  color:#b70000;
}
.feedback-recipient-table .table th:last-child,
.feedback-recipient-table .table td:last-child{
  text-align:left;
}
.feedback-entry-actions--left{
  justify-content:flex-start;
}
.feedback-status-chip{
  white-space:nowrap;
}
.feedback-entry-date{
  display:grid;
  gap:3px;
  white-space:nowrap;
}
.feedback-recipient-dialog{
  width:min(640px, calc(100vw - 24px));
}
.feedback-recipient-dialog__shell{
  gap:0;
}
.feedback-recipient-dialog .email-suffix-field{
  margin-top:4px;
}
@media (max-width:720px){
  .feedback-entry-date{ white-space:normal; }
}
.feedback-entry-table .table th:nth-child(6),
.feedback-entry-table .table td:nth-child(6),
.feedback-entry-table .table th:nth-child(7),
.feedback-entry-table .table td:nth-child(7){
  white-space:nowrap;
}
.feedback-admin-card__badges{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.feedback-entry-dialog,
.feedback-delete-dialog{
  width:min(760px, calc(100vw - 24px));
}
.feedback-entry-dialog__shell,
.feedback-delete-dialog__shell{
  gap:0;
}
.feedback-entry-dialog__grid{
  gap:12px;
}
.feedback-entry-dialog__grid-span{
  grid-column:1 / -1;
}
.feedback-entry-dialog__notify{
  margin-top:-2px;
}
.btn-icon-danger{
  color:#a32a2a;
  border-color:#efcaca;
  background:#fff6f6;
}
.btn-icon-danger:hover{
  background:#ffeaea;
  border-color:#e4b3b3;
}
@media (max-width:720px){
  .feedback-admin-card__badges{ justify-content:flex-start; }
}

/* v2.21.0 – Dashboard Umbau */
.dashboard-open-alert{
  background:#fff6f6;
  border-color:rgba(238,0,0,.28);
}
.dashboard-open-alert__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.dashboard-open-alert__lead{
  font-size:20px;
  font-weight:700;
  margin-bottom:6px;
}
.dashboard-open-alert .btn{
  white-space:nowrap;
}
.dashboard-card--questions .ui-heading__icon{
  color:#9a7a00;
  background:rgba(255,201,0,.14);
  border-color:rgba(255,201,0,.24);
}
@media (max-width: 860px){
  .dashboard-open-alert__inner{
    flex-direction:column;
    align-items:flex-start;
  }
}


.table-info-trigger{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;border:0;background:transparent;color:var(--gray-6);padding:0;cursor:pointer;vertical-align:middle;}
.table-info-trigger:hover{color:var(--darkgray-2);}
.table-info-trigger .icon-svg{width:16px;height:16px;}


/* v2.43.0 – Hot Topics */
.dashboard-card--topics .ui-heading__icon{
  color:var(--brand-red);
}
.dashboard-hot-topics-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:10px;
}
.dashboard-hot-topics-group{
  border:1px solid var(--gray-2);
  border-radius:18px;
  padding:14px;
  background:#fff;
}
.dashboard-hot-topics-group__title{
  font-weight:700;
  margin-bottom:10px;
}
.dashboard-hot-topics-list{
  display:grid;
  gap:10px;
}
.dashboard-hot-topic-row{
  display:block;
  text-decoration:none;
  border:1px solid var(--gray-2);
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
}
.dashboard-hot-topic-row:hover{
  border-color:rgba(238,0,0,.28);
  box-shadow:0 10px 22px rgba(25,35,52,.08);
}
.dashboard-hot-topic-row__head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:baseline;
}
.dashboard-hot-topic-row__title{
  font-weight:700;
}
.dashboard-hot-topic-row__stat{
  font-weight:700;
  color:var(--brand-red);
  white-space:nowrap;
}
.dashboard-hot-topic-row__stat small{
  font-size:12px;
  color:var(--gray-6);
  margin-left:4px;
}
.dashboard-hot-topic-row__meta{
  font-size:12px;
  margin-top:5px;
}
.hot-topics-grid{
  align-items:start;
}
.hot-topics-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.hot-topics-card--positive::before,
.hot-topics-card--critical::before{
  opacity:.9;
}
.hot-topics-card--positive::before{
  background:linear-gradient(135deg, rgba(26,115,71,.16), rgba(26,115,71,0));
}
.hot-topics-card--critical::before{
  background:linear-gradient(135deg, rgba(238,0,0,.16), rgba(238,0,0,0));
}
.hot-topics-card__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.hot-topics-card__title{
  font-size:18px;
  font-weight:800;
}
.hot-topics-card__meta{
  font-size:13px;
}
.hot-topics-empty{
  border:1px dashed var(--gray-3);
  border-radius:16px;
  padding:16px;
  color:var(--gray-6);
  background:rgba(255,255,255,.7);
}
.hot-topic-list{
  display:grid;
  gap:14px;
}
.hot-topic-item{
  border:1px solid var(--gray-2);
  border-radius:18px;
  padding:14px;
  background:#fff;
}
.hot-topic-item__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.hot-topic-item__title-wrap{
  min-width:0;
}
.hot-topic-item__title{
  display:inline-block;
  font-weight:800;
  font-size:16px;
  text-decoration:none;
}
.hot-topic-stat{
  text-align:right;
  white-space:nowrap;
  color:var(--brand-red);
  font-weight:800;
}
.hot-topic-stat small{
  display:block;
  font-size:12px;
  color:var(--gray-6);
  font-weight:600;
}
.hot-topic-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.hot-topic-tag,
.hot-topic-sample__badge{
  background:#fff6f6;
  border:1px solid rgba(238,0,0,.12);
}
.hot-topic-sample{
  display:block;
  text-decoration:none;
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  background:#fafbfc;
  border:1px solid var(--gray-2);
}
.hot-topic-sample:hover{
  border-color:rgba(238,0,0,.24);
}
.hot-topic-sample__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-size:12px;
  color:var(--gray-6);
  margin-bottom:6px;
}
.hot-topic-sample__snippet{
  font-size:14px;
  line-height:1.45;
}
.hot-topic-item__actions{
  margin-top:10px;
  text-align:right;
}
@media (max-width: 900px){
  .dashboard-hot-topics-grid,
  .hot-topics-grid{
    grid-template-columns:1fr;
  }
}

/* v2.44.0 – Hot Topics Musterseite / Visualisierung */
.hot-topics-hero-card{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px;
}
.hot-topics-hero-card__badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 10px;
  background:#fff3f3;
  color:var(--brand-red);
  border:1px solid rgba(238,0,0,.14);
  font-size:12px;
  font-weight:700;
  margin-bottom:10px;
}
.hot-topics-hero-card__title{
  font-family:SparkasseHeadRegular, SparkasseRegular, Arial, sans-serif;
  font-size:28px;
  line-height:1.1;
  margin-bottom:8px;
}
.hot-topics-hero-card__copy{
  max-width:760px;
  font-size:14px;
  line-height:1.5;
}
.hot-topics-filter-card .ui-heading{
  margin-bottom:0;
}
.hot-topics-filter-grid-v258{
  align-items:end;
}
.hot-topics-period-card .inbox-period-grid{
  align-items:end;
  grid-template-columns:minmax(260px,1.1fr) minmax(190px,.9fr) minmax(190px,.9fr) minmax(150px,.72fr);
}
.hot-topics-period-card__actions{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.hot-topics-period-card__actions .btn[disabled]{
  opacity:.55;
  cursor:not-allowed;
}
.hot-topics-filter-field.is-active input,
.hot-topics-filter-field.is-active select,
.hot-topics-filter-field .is-interactive{
  border-color:rgba(238,0,0,.28);
  box-shadow:0 0 0 3px rgba(238,0,0,.08);
}
.hot-topics-scope-card__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  align-items:flex-start;
}
.hot-topics-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.hot-topics-chip{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:700;
  background:#f4f4f4;
  color:#444;
  border:1px solid var(--gray-2);
}
.hot-topics-chip--positive{
  background:rgba(26,115,71,.08);
  border-color:rgba(26,115,71,.15);
  color:#1a7347;
}
.hot-topics-chip--critical{
  background:rgba(238,0,0,.08);
  border-color:rgba(238,0,0,.15);
  color:#b10021;
}
.hot-topics-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:16px;
}
.hot-topics-metric-card{
  position:relative;
  overflow:hidden;
}
.hot-topics-metric-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:#d8d8d8;
}
.hot-topics-metric-card.is-positive::before{ background:#1a7347; }
.hot-topics-metric-card.is-critical::before{ background:#ee0000; }
.hot-topics-metric-card__label{
  font-size:13px;
  color:var(--gray-6);
  margin-bottom:10px;
  font-weight:700;
}
.hot-topics-metric-card__value{
  font-family:SparkasseHeadRegular, SparkasseRegular, Arial, sans-serif;
  font-size:32px;
  line-height:1.08;
  margin-bottom:8px;
}
.hot-topics-metric-card__meta{
  font-size:13px;
  line-height:1.4;
}
.hot-topics-visual-grid,
.hot-topics-bottom-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  align-items:start;
  margin-bottom:16px;
}
.hot-topics-chart-card{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.hot-topics-chart-card--positive::before,
.hot-topics-chart-card--critical::before{
  opacity:1;
}
.hot-topics-chart-card--positive::before{
  background:linear-gradient(135deg, rgba(127,174,178,.18), rgba(127,174,178,0));
}
.hot-topics-chart-card--critical::before{
  background:linear-gradient(135deg, rgba(238,0,0,.12), rgba(238,0,0,0));
}
.hot-topics-legend{
  display:flex;
  gap:8px 14px;
  flex-wrap:wrap;
}
.hot-topics-legend__item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:#444;
  font-weight:700;
}
.hot-topics-legend__dot{
  width:12px;
  height:12px;
  border-radius:999px;
  box-shadow:0 0 0 2px rgba(255,255,255,.9), 0 0 0 3px rgba(0,0,0,.06);
}
.hot-topics-chart{
  width:100%;
  overflow:hidden;
  border:1px solid var(--gray-2);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,248,248,.98));
  padding:12px;
}
.hot-topics-chart svg{
  width:100%;
  height:auto;
  display:block;
}
.hot-topics-chart__grid{
  stroke:#e5e5e5;
  stroke-width:1;
}
.hot-topics-chart__ylabel,
.hot-topics-chart__xlabel{
  fill:#6f7682;
  font-size:13px;
  font-weight:700;
  font-family:inherit;
}
.hot-topics-chart__xlabel tspan{
  dominant-baseline:hanging;
}
.hot-topics-chart-footer{
  margin-top:-4px;
}
.hot-topics-chart-empty{
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
  border:1px dashed #d6dde2;
  border-radius:18px;
  color:#6f7b82;
  background:#fafcfd;
}
.hot-topics-tagcloud{
  display:block;
  text-align:center;
  min-height:220px;
  padding:14px 10px 8px;
  line-height:2.6;
}
.hot-topics-card--wide,
.hot-topics-chart-card--wide{
  width:100%;
}
.hot-topics-filter-actions{
  margin-top:6px;
}
.hot-topics-filter-actions__meta{
  font-size:13px;
}
.hot-topics-filter-card .inbox-filter-grid{
  align-items:end;
}
.hot-topics-nowrap{ white-space:nowrap; }
.hot-topics-hero-card__meta{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  font-size:14px;
  color:#4f5f68;
}
.hot-topics-hero-card__meta strong{
  color:#23323a;
}
.hot-topics-tag{
  display:inline-block;
  vertical-align:middle;
  line-height:1;
  color:#90a9ac;
  transform-origin:center;
}
.hot-topics-tag--critical{ color:#c95a5f; }
.hot-topics-tag--positive{ color:#6f97a0; }
.hot-topics-tag--w1{ font-size:14px; opacity:.82; }
.hot-topics-tag--w2{ font-size:18px; opacity:.86; }
.hot-topics-tag--w3{ font-size:24px; opacity:.92; }
.hot-topics-tag--w4{ font-size:34px; opacity:.96; }
.hot-topics-tag--w5{ font-size:42px; line-height:1.05; }
.hot-topics-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.hot-topics-summary-grid__title{
  font-weight:800;
  margin-bottom:10px;
}
.hot-topics-management-card__lead{
  margin-bottom:14px;
  color:#36454f;
  line-height:1.55;
}
.hot-topics-management-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.hot-topics-management-panel{
  border:1px solid var(--gray-2);
  border-radius:18px;
  background:#fff;
  padding:14px 16px;
}
.hot-topics-management-panel--positive{
  border-color:rgba(26,115,71,.16);
  background:rgba(26,115,71,.03);
}
.hot-topics-management-panel--critical{
  border-color:rgba(238,0,0,.14);
  background:rgba(238,0,0,.03);
}
.hot-topics-management-panel__title{
  font-weight:800;
  margin-bottom:10px;
}
.hot-topics-management-list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:8px;
  color:#36454f;
}
.hot-topics-score-list{
  display:grid;
  gap:10px;
}
.hot-topics-score-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  border:1px solid var(--gray-2);
  border-radius:16px;
  background:#fff;
  padding:12px 14px;
}
.hot-topics-score-row.is-positive{
  border-color:rgba(26,115,71,.16);
  background:rgba(26,115,71,.03);
}
.hot-topics-score-row.is-critical{
  border-color:rgba(238,0,0,.14);
  background:rgba(238,0,0,.03);
}
.hot-topics-score-row__label{
  font-weight:800;
  margin-bottom:2px;
}
.hot-topics-score-row__meta{
  font-size:12px;
}
.hot-topics-score-row__value-wrap{
  text-align:right;
  white-space:nowrap;
}
.hot-topics-score-row__value{
  font-family:SparkasseHeadRegular, SparkasseRegular, Arial, sans-serif;
  font-size:28px;
  line-height:1;
}
.hot-topics-score-row__delta{
  font-size:12px;
  margin-top:4px;
  font-weight:700;
}
.hot-topics-score-row__delta.is-up{ color:#1a7347; }
.hot-topics-score-row__delta.is-down{ color:#b10021; }
.hot-topics-score-row__delta.is-flat{ color:#888; }
@media (max-width: 1100px){
  .hot-topics-metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 900px){
  .hot-topics-hero-card{
    flex-direction:column;
    align-items:stretch;
  }
  .hot-topics-metric-grid,
  .hot-topics-summary-grid,
  .hot-topics-management-grid{
    grid-template-columns:1fr;
  }
  .hot-topics-tagcloud{
    min-height:0;
  }
  .hot-topics-tag--w5{ font-size:34px; }
  .hot-topics-tag--w4{ font-size:28px; }
}
/* v2.49.0 - Feedback trash + attachments */
.feedback-entry-message-wrap{
  display:block;
}
.feedback-attachment-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:600;
  color:var(--sparkasse-red);
  text-decoration:none;
}
.feedback-attachment-link:hover{
  text-decoration:underline;
  text-underline-offset:2px;
}
.feedback-attachment-link .icon-svg{
  width:16px;
  height:16px;
}
.feedback-attachment-link--icon{
  justify-self:start;
  width:32px;
  height:32px;
  justify-content:center;
  border:1px solid var(--gray-3);
  border-radius:999px;
  background:#fff;
}
.feedback-attachment-link--icon:hover{
  border-color:rgba(238,0,0,.26);
  background:#fff7f7;
  text-decoration:none;
}
.feedback-attachment-link--inline{
  display:inline-flex;
  vertical-align:middle;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  margin-left:6px;
  color:var(--sparkasse-red);
}
.feedback-attachment-link--inline .icon-svg{
  width:14px;
  height:14px;
}
.feedback-attachment-link--inline:hover{
  text-decoration:none;
  color:#b10021;
}
.feedback-status-chip--button{
  cursor:pointer;
  border:0;
}
.feedback-status-chip__linkword{
  text-decoration:underline;
  text-underline-offset:2px;
}
.feedback-trash-dialog{
  width:min(1080px, calc(100vw - 24px));
}
.admin-user-delete-disabled{
  color:#98a0ab;
  border-color:#d8dde5;
  background:#f3f5f7;
  cursor:not-allowed;
}
.admin-user-delete-disabled:hover{
  color:#98a0ab;
  border-color:#d8dde5;
  background:#f3f5f7;
}
.admin-user-delete-disabled .icon-svg{
  opacity:.92;
}
.feedback-trash-dialog__shell{
  gap:0;
}
.feedback-trash-table .table td,
.feedback-trash-table .table th{
  vertical-align:top;
}
.feedback-trash-table .table th:last-child,
.feedback-trash-table .table td:last-child{
  text-align:right;
}
.feedback-trash-message{
  white-space:pre-wrap;
  line-height:1.5;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
  overflow:hidden;
}
@media (max-width: 720px){
  .feedback-trash-dialog{
    width:min(100vw - 14px, 1080px);
  }
}

/* v2.51.0 – Review-Einzelansicht / IB-Matching */
/* v2.52.0 – Benachrichtigungen / Dashboard-Rückfragen */
.review-detail-grid--v251{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.review-card-primary--v251{
  grid-column:1 / -1;
}
.review-meta-stack--v251{
  gap:18px;
}
.review-meta-row--primary-v251{
  align-items:center;
}
.review-location-wrap{
  min-width:0;
}
.review-location-line--v251{
  gap:14px;
  align-items:center;
}
.review-location-link{
  color:#111827;
  font-size:23px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
  min-width:0;
}
.review-location-link--static{
  text-decoration:none;
}
.review-kreis-badge--v251{
  padding:8px 12px;
  border-radius:999px;
  font-weight:700;
  background:#efefef;
  color:#475467;
}
.review-stars-box--v251{
  min-width:auto;
}
.review-stars-value--v251{
  font-size:30px;
  line-height:1;
}
.review-meta-row--identity-v251{
  align-items:center;
}
.review-reviewer-box--v251{
  gap:16px;
  min-height:64px;
}
.review-reviewer-avatar--v251{
  width:58px;
  height:58px;
  flex-basis:58px;
  border:none;
  background:#b04cc2;
  color:#fff;
  font-size:28px;
  box-shadow:0 10px 22px rgba(176,76,194,.18);
}
.review-reviewer-name--v251{
  font-size:22px;
  font-weight:500;
  color:#111827;
}
.review-created-at-v251{
  margin-left:auto;
  text-align:right;
  font-size:18px;
  font-weight:500;
  color:#344054;
}
.review-text-box--v251{
  padding:18px 20px;
  border-radius:20px;
  font-size:17px;
  line-height:1.5;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
}
.review-inline-footer-v251{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  flex-wrap:wrap;
}
.review-advisor-inline-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  align-items:center;
}
.review-advisor-inline-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.review-advisor-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 14px;
  border-radius:999px;
  background:#ececec;
  color:#3f3f46;
  font-weight:500;
}
.review-advisor-pill--auto{
  background:#ececec;
}
.review-advisor-pill__check{
  color:#1f9d47;
  font-weight:800;
}
.review-advisor-remove-form{
  margin:0;
}
.review-advisor-remove{
  border:none;
  background:transparent;
  color:#ee0000;
  font-size:18px;
  line-height:1;
  padding:0 2px;
  cursor:pointer;
}
.review-advisor-remove:hover{
  text-decoration:underline;
}
.review-advisor-add-link{
  margin-top:10px;
  display:inline-block;
  border:none;
  background:none;
  padding:0;
  color:#4b5563;
  text-decoration:underline;
  text-underline-offset:3px;
  font:inherit;
  cursor:pointer;
}
.review-appeal-inline-form--v251{
  margin-left:0;
}
.review-appeal-inline-form--v251 .review-appeal-toggle{
  min-width:190px;
  justify-content:center;
  padding:10px 18px;
}
.review-appeal-inline-form--v251 .review-appeal-toggle__copy{
  display:flex;
  align-items:center;
}
.review-card-head-v251{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.review-updated-meta-v251{
  max-width:340px;
  text-align:right;
  font-size:12px;
}
.review-advisor-dialog{
  width:min(100vw - 20px, 760px);
  border:none;
  border-radius:24px;
  padding:0;
  overflow:hidden;
  box-shadow:0 32px 70px rgba(15,23,42,.2);
}
.review-advisor-dialog::backdrop{
  background:rgba(15,23,42,.45);
}
.review-advisor-dialog__shell{
  background:#fff;
  padding:22px;
}
.review-advisor-dialog__head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.review-advisor-dialog__eyebrow{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
  font-weight:700;
}
.review-advisor-dialog__title{
  margin:4px 0 0;
  font-size:26px;
}
.review-advisor-dialog__intro{
  margin:12px 0 16px;
  color:#475467;
}
.review-advisor-dialog__search-wrap{
  margin-bottom:12px;
}
.review-advisor-dialog__list{
  display:grid;
  gap:10px;
  max-height:52vh;
  overflow:auto;
  padding-right:4px;
}
.review-advisor-dialog__item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border:1px solid var(--gray-2);
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%, #fbfbfb 100%);
}
.review-advisor-dialog__main{
  min-width:0;
}
.review-advisor-dialog__name{
  font-weight:700;
  color:#111827;
}
.review-advisor-dialog__meta{
  margin-top:4px;
  font-size:13px;
}
@media (max-width: 980px){
  .review-detail-grid--v251{
    grid-template-columns:1fr;
  }
  .review-card-primary--v251{
    grid-column:auto;
  }
}
@media (max-width: 720px){
  .review-location-link{
    font-size:20px;
  }
  .review-stars-value--v251{
    font-size:25px;
  }
  .review-reviewer-avatar--v251{
    width:50px;
    height:50px;
    flex-basis:50px;
    font-size:23px;
  }
  .review-reviewer-name--v251,
  .review-created-at-v251{
    font-size:18px;
  }
  .review-created-at-v251{
    text-align:left;
    margin-left:0;
  }
  .review-card-head-v251,
  .review-meta-row--primary-v251,
  .review-inline-footer-v251,
  .review-advisor-dialog__head,
  .review-advisor-dialog__item{
    flex-direction:column;
    align-items:stretch;
  }
  .review-updated-meta-v251{
    text-align:left;
    max-width:none;
  }
  .review-appeal-inline-form--v251 .review-appeal-toggle{
    width:100%;
  }
  .review-advisor-dialog{
    width:min(100vw - 14px, 760px);
  }
  .review-advisor-dialog__shell{
    padding:18px;
  }
}


/* v2.54.0 – Review-Einzelansicht Feinschliff */
.review-card-primary--v251{
  grid-column:1;
}
.review-card-answer--aligned{
  grid-column:2;
}
.review-card-question--wide{
  grid-column:1 / -1;
}
.review-card-head-v254{
  align-items:flex-start;
}
.review-answer-status-v254{
  margin-left:auto;
  text-align:right;
  color:#344054;
  font-size:12px;
  line-height:1.35;
}
.review-answer-status-v254__line + .review-answer-status-v254__line{
  margin-top:2px;
}
.review-answer-status-v254--empty{
  margin:6px 0 16px;
}
.review-reply-readonly{
  margin:10px 0 14px;
  border:none;
  border-radius:0;
  background:transparent;
  padding:4px 0 4px 18px;
  position:relative;
}
.review-reply-readonly::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:#8a8f98;
}
.review-reply-readonly__body{
  white-space:pre-wrap;
  font-size:17px;
  line-height:1.48;
  color:#1f2937;
}
.review-answer-actions--readonly{
  justify-content:flex-start;
  margin-top:0;
  margin-bottom:8px;
}
.review-reply-editor.is-hidden{
  display:none;
}
.review-question-submit{
  background:var(--sparkasse-red);
  color:#fff;
}
.review-question-submit:hover{
  background:#c80000;
  border-color:#c80000;
  color:#fff;
}
.question-recipient-picker{
  position:relative;
}
.question-recipient-picker__toggle{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--gray-3);
  border-radius:16px;
  background:#fff;
  color:#1f2937;
  cursor:pointer;
  font:inherit;
}
.question-recipient-picker__toggle:hover{
  border-color:#c9d0da;
}
.question-recipient-picker__panel{
  position:absolute;
  z-index:30;
  inset:calc(100% + 8px) 0 auto 0;
  padding:12px;
  border:1px solid var(--gray-2);
  border-radius:18px;
  background:#fff;
  box-shadow:0 20px 46px rgba(15,23,42,.14);
}
.question-recipient-picker__search-wrap{
  margin-bottom:10px;
}
.question-recipient-picker__list{
  display:grid;
  gap:8px;
  max-height:260px;
  overflow:auto;
}
.question-recipient-option{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:10px 12px;
  border:1px solid var(--gray-2);
  border-radius:14px;
  cursor:pointer;
  background:#fff;
}
.question-recipient-option:hover{
  border-color:#d0d5dd;
  background:#fcfcfd;
}
.question-recipient-option__checkbox{
  margin-top:3px;
}
.question-recipient-option__main{
  display:grid;
  gap:2px;
}
.question-recipient-option__name{
  font-weight:700;
  color:#111827;
}
.question-recipient-option__mail{
  font-size:12px;
  color:#667085;
}
.question-recipient-picker__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.question-recipient-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#f2f4f7;
  color:#344054;
  font-size:12px;
  font-weight:600;
}
@media (max-width: 980px){
  .review-card-primary--v251,
  .review-card-answer--aligned,
  .review-card-question--wide{
    grid-column:auto;
  }
}
@media (max-width: 720px){
  .review-answer-status-v254{
    width:100%;
    text-align:left;
    margin-left:0;
  }
  .question-recipient-picker__panel{
    position:static;
    margin-top:8px;
    box-shadow:none;
  }
}

/* v2.55.0 – Interne Rückfragen / Log-Box */
.review-log-list{margin:0;padding-left:20px;display:grid;gap:8px}
.review-log-item{line-height:1.45}
.question-history-actions .btn-mini{padding:8px 12px}
.question-history-actions textarea,
.question-history-actions input[type="text"]{width:100%}


.google-fetch-warning{
  border:1px solid #eadfc4;
  background:linear-gradient(180deg,#fffdfa 0%,#fff 100%);
}
.google-fetch-warning__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.google-fetch-warning__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  background:#f4ebcf;
  color:#8a6500;
}
.google-fetch-warning__badge.is-danger{
  background:#fbe8e8;
  color:#9d1f1f;
}
.google-fetch-warning__text{
  font-size:16px;
  line-height:1.55;
  margin-bottom:10px;
}
.google-fetch-warning__details{
  border-top:1px solid #eee3d2;
  padding-top:10px;
}
.google-fetch-warning__details summary{
  cursor:pointer;
  color:#7b5a00;
  font-weight:600;
}
.google-fetch-warning__details pre{
  margin:10px 0 0;
  padding:12px 14px;
  border-radius:14px;
  background:#f7f7f7;
  color:#3f3f3f;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:13px;
  line-height:1.5;
  white-space:pre-wrap;
  word-break:break-word;
}


/* v2.72.0 - System / ISB overview */
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.system-kpi-grid{gap:12px;}
.system-kpi-card{border:1px solid var(--gray-2);border-radius:16px;background:#fff;padding:14px;min-height:118px;}
.system-kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
.system-kpi-value{font-size:20px;font-weight:700;letter-spacing:-.2px;margin-bottom:8px;line-height:1.18;}
.status-badge--warn{background:#fff3cd;color:#664d03;border-color:#ffecb5;}
@media (max-width: 1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 720px){.grid-4{grid-template-columns:1fr;}.system-kpi-card{min-height:0;}}

.system-summary-card{border:1px solid var(--gray-2);border-radius:16px;background:#fff;padding:14px;}
.system-check-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid var(--gray-2);}
.system-check-item:first-child{border-top:0;padding-top:0;}
.system-check-item .status-badge{min-width:58px;justify-content:center;text-align:center;}
