/* SUV-Tabellen – Frontend-Design */
.suv-table{
  --suv-accent:#FEF510;       /* Akzent (suv.report-Gelb) */
  --suv-accent-ink:#1c1c1c;   /* Text auf Akzentfarbe */
  --suv-bg:#ffffff;
  --suv-bg-soft:#f6f6f4;
  --suv-text:#1c1c1c;
  --suv-muted:#6b6b6b;
  --suv-border:#e6e6e3;
  --suv-hover:#fafaf7;
  --suv-radius:10px;
  font-family:"Montserrat",sans-serif;color:var(--suv-text);
  max-width:1200px;margin:2.5rem auto;padding:0 32px;
}
.suv-table,.suv-table *{font-family:"Montserrat",sans-serif!important}
body[data-scheme="dark"] .suv-table,
.suv-table.suv-dark{
  --suv-bg:#232323;--suv-bg-soft:#2b2b2b;--suv-text:#f2f2f2;--suv-muted:#a3a3a3;
  --suv-border:#3a3a3a;--suv-hover:#2a2a2a;
}
.suv-table *{box-sizing:border-box}
.suv-table .suv-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 12px}
.suv-table .suv-title{margin:0 0 14px;font-size:1.25rem;font-weight:700;line-height:1.3;color:var(--suv-text)}
.suv-table .suv-search{position:relative;flex:1 1 260px;max-width:360px;margin-left:auto}
.suv-table .suv-search input{
  width:100%;margin:0;padding:10px 14px 10px 38px;font:inherit;font-size:.95rem;
  color:var(--suv-text);background:var(--suv-bg);border:1px solid var(--suv-border);
  border-radius:999px;outline:none;box-shadow:none;height:auto;line-height:1.3;
}
.suv-table .suv-search input:focus{border-color:var(--suv-text)}
.suv-table .suv-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--suv-muted);pointer-events:none}
.suv-table .suv-count{font-size:.8rem;color:var(--suv-muted);margin:0 0 8px;min-height:1em}
.suv-table .suv-wrap{border:1px solid var(--suv-border);border-radius:var(--suv-radius);overflow:hidden;background:var(--suv-bg)}
.suv-table table{width:100%;border-collapse:collapse;border:0;margin:0;background:transparent;table-layout:fixed;font-size:.95rem}
.suv-table th,.suv-table td{border:0;padding:14px 18px;text-align:left;vertical-align:middle;background:transparent;color:var(--suv-text);overflow-wrap:break-word;hyphens:auto}
.suv-table thead th{
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--suv-muted);background:var(--suv-bg-soft);border-bottom:1px solid var(--suv-border);
}
.suv-table th.suv-sortable{cursor:pointer;user-select:none}
.suv-table th.suv-sortable:hover{color:var(--suv-text)}
.suv-table .suv-arrow{display:inline-block;margin-left:6px;opacity:.35;font-size:.9em}
.suv-table th[aria-sort="ascending"] .suv-arrow,.suv-table th[aria-sort="descending"] .suv-arrow{opacity:1;color:var(--suv-text)}
.suv-table .suv-center{text-align:center}
.suv-table .suv-right{text-align:right}
.suv-table tr.suv-group th{
  text-align:center;font-size:1rem;font-weight:700;letter-spacing:0;text-transform:none;
  color:var(--suv-text);background:var(--suv-bg-soft);padding:16px 18px;
  border-top:1px solid var(--suv-border);border-bottom:4px solid var(--suv-accent)!important;
}
.suv-table tbody:first-of-type tr.suv-group th{border-top:0}
.suv-table tr.suv-row td{border-bottom:1px solid var(--suv-border)}
.suv-table tr.suv-row:hover td{background:var(--suv-hover)}
.suv-table td.suv-num{font-variant-numeric:tabular-nums}
/* Breite Variante: fast volle Bildschirmbreite, ca. 1 cm Rand */
.suv-table.suv-wide{max-width:none;width:calc(100vw - 2cm);margin-left:calc(50% - 50vw + 1cm);margin-right:0;padding:0}
/* Reiter (Tabellenblätter) */
.suv-table .suv-tabs{display:flex;gap:2px;flex:1 1 320px;min-width:0;overflow-x:auto;border-bottom:1px solid var(--suv-border);scrollbar-width:none}
.suv-table .suv-tabs::-webkit-scrollbar{display:none}
.suv-table .suv-tab{display:inline-flex;align-items:center;gap:8px;margin:0 0 -1px;padding:10px 16px;font:inherit;font-size:.9rem;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;color:var(--suv-muted);background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;box-shadow:none;cursor:pointer;white-space:nowrap}
.suv-table .suv-tab:hover,.suv-table .suv-tab:focus-visible{color:var(--suv-text);background:transparent}
.suv-table .suv-tab[aria-selected="true"]{color:var(--suv-text);border-bottom-color:var(--suv-accent)}
.suv-table .suv-badge{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--suv-bg-soft);color:var(--suv-muted)}
.suv-table .suv-tab[aria-selected="true"] .suv-badge{background:var(--suv-accent);color:var(--suv-accent-ink)}
.suv-table .suv-btn{
  display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 14px;
  font:inherit;font-size:.85rem;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;text-decoration:none;
  color:var(--suv-text);background:var(--suv-bg);border:1px solid var(--suv-border);border-radius:999px;
  cursor:pointer;box-shadow:none;max-width:100%;text-align:center;transition:border-color .15s,background .15s;
}
.suv-table .suv-btn:hover,.suv-table .suv-btn:focus-visible{border-color:var(--suv-text);color:var(--suv-text);background:var(--suv-bg)}
.suv-table .suv-btn[aria-expanded="true"]{background:var(--suv-accent);border-color:var(--suv-accent);color:var(--suv-accent-ink)}
.suv-table .suv-btn .suv-chev{width:12px;height:12px;transition:transform .2s}
.suv-table .suv-btn[aria-expanded="true"] .suv-chev{transform:rotate(180deg)}
.suv-table tr.suv-panel td{background:var(--suv-bg-soft);border-bottom:1px solid var(--suv-border);padding:16px 22px;font-size:.92rem;line-height:1.6}
.suv-table .suv-panel-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--suv-muted);margin-bottom:6px}
.suv-table .suv-details-text{white-space:pre-line}
.suv-table .suv-panel ul{margin:0;padding:0 0 0 18px}
.suv-table .suv-panel li{margin:2px 0}
.suv-table .suv-panel a{color:var(--suv-text);text-decoration:underline;text-decoration-color:var(--suv-accent);text-decoration-thickness:2px;text-underline-offset:3px}
.suv-table .suv-empty{padding:28px;text-align:center;color:var(--suv-muted)}
.suv-table .suv-error{padding:16px;border:1px solid #d33;border-radius:var(--suv-radius);color:#d33;background:transparent;font-size:.9rem}
.suv-table [hidden]{display:none!important}

/* Mobil: Zeilen werden zu Karten */
@media (max-width:640px){
  .suv-table{padding:0 16px}
  .suv-table.suv-wide{width:calc(100vw - 32px);margin-left:calc(50% - 50vw + 16px);padding:0}
  .suv-table .suv-search{max-width:none;margin-left:0;flex-basis:100%}
  .suv-table .suv-tabs{flex-basis:100%}
  .suv-table thead{display:none}
  .suv-table table,.suv-table tbody,.suv-table tr,.suv-table td,.suv-table th{display:block;width:100%}
  .suv-table tr.suv-row{padding:10px 0;border-bottom:1px solid var(--suv-border)}
  .suv-table tr.suv-row td{border:0;padding:5px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right}
  .suv-table tr.suv-row td::before{content:attr(data-label);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--suv-muted);text-align:left}
  .suv-table tr.suv-row td.suv-blank{display:none}
  .suv-table tr.suv-panel td{padding:14px 16px}
  .suv-table tr.suv-group th{font-size:.9rem;padding:14px 12px;overflow-wrap:anywhere;hyphens:auto}
}
