/* ===== Villa Rosa – Admin-Bereich ===== */
:root{
  --petrol:#2f6f76; --petrol-deep:#245961; --rose:#b56576;
  --blush:#fdecef; --ink:#33312f; --line:#e7e3e0; --muted:#7a736f;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);background:#f6f3f1;line-height:1.5}
a{color:var(--petrol)}

/* Topbar */
.adm-top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.adm-top-inner{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;max-width:1000px;margin:0 auto;padding:.7rem 1.2rem}
.adm-brand{font-weight:700;font-size:1.05rem;color:var(--rose)}
.adm-brand span{color:var(--muted);font-weight:600}
.adm-nav{display:flex;gap:.4rem;flex:1;flex-wrap:wrap}
.adm-nav a{padding:.45rem .8rem;border-radius:8px;text-decoration:none;color:var(--ink);font-size:.92rem}
.adm-nav a:hover{background:var(--blush)}
.adm-nav a.active{background:var(--petrol);color:#fff}
/* Unter-Navigation (Reiter eines Hubs, z. B. Kurs-Vorlagen / Einstellungen) */
.adm-subnav{background:var(--blush);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:9}
.adm-subnav-inner{display:flex;gap:.3rem;flex-wrap:wrap;max-width:1000px;margin:0 auto;padding:.5rem 1.2rem}
.adm-subnav a{padding:.35rem .8rem;border-radius:7px;text-decoration:none;color:var(--ink);font-size:.86rem}
.adm-subnav a:hover{background:#fff}
.adm-subnav a.active{background:#fff;color:var(--petrol);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
/* roter Zähler-Kreis in der Navigation (offene Anfragen) */
.nav-badge{display:inline-block;min-width:1.3em;height:1.3em;line-height:1.3em;text-align:center;
  background:#c0392b;color:#fff;border-radius:999px;font-size:.7rem;font-weight:700;padding:0 .35em;margin-left:.4em;vertical-align:middle}
/* Benutzer-Menü (Icon + Name, rechtsbündig) mit Aufklapp-Liste */
.adm-usermenu{position:relative;margin-left:auto}
.adm-usermenu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;
  padding:.4rem .7rem;border-radius:8px;color:var(--ink);font-size:.92rem;font-weight:600}
.adm-usermenu>summary::-webkit-details-marker{display:none}
.adm-usermenu>summary:hover,.adm-usermenu[open]>summary{background:var(--blush)}
.adm-usermenu>summary svg{color:var(--petrol)}
.adm-user-caret{font-size:.7rem;color:var(--muted)}
.adm-usermenu-list{position:absolute;right:0;top:calc(100% + .35rem);min-width:190px;background:#fff;
  border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px -12px rgba(0,0,0,.3);
  padding:.3rem;z-index:20;display:flex;flex-direction:column}
.adm-usermenu-list a{padding:.5rem .7rem;border-radius:7px;text-decoration:none;color:var(--ink);font-size:.9rem}
.adm-usermenu-list a:hover{background:var(--blush)}
/* Breite Schirme: Logo ganz links, Menü beginnt bündig mit dem Inhalt (1000er-Spalte) */
@media(min-width:1360px){
  .adm-brand{position:absolute;left:1.5rem;top:50%;transform:translateY(-50%);margin:0}
}

.adm-main{max-width:1000px;margin:1.6rem auto;padding:0 1.2rem}
.adm-foot{text-align:center;color:var(--muted);font-size:.8rem;padding:2rem 1rem}

h1{font-size:1.5rem;margin:0 0 1.2rem}
h2{font-size:1.15rem;margin:1.6rem 0 .8rem}

/* Cards / tables */
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.3rem;margin-bottom:1.3rem}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:top}
th{background:#faf7f6;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
tr:last-child td{border-bottom:none}
/* Aktions-Buttons in Tabellenzeilen: umbrechen statt die Tabelle zu sprengen */
.row-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;align-items:center}
.row-actions form.inline-form{margin:0}
/* 3-Punkt-Menü (kebab) für weitere Zeilen-Aktionen */
.rowmenu{position:relative;display:inline-block}
.rowmenu>summary{list-style:none;min-width:34px;font-size:1.15rem;line-height:1;cursor:pointer;text-align:center}
.rowmenu>summary::-webkit-details-marker{display:none}
.rowmenu[open]>summary{background:var(--petrol);color:#fff;border-color:var(--petrol)}
.rowmenu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:170px;background:#fff;
  border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 36px -12px rgba(0,0,0,.3);
  padding:.3rem;display:flex;flex-direction:column;gap:.1rem;text-align:left}
.rowmenu-list a,.rowmenu-list button{display:block;width:100%;text-align:left;background:none;border:0;
  padding:.55rem .7rem;border-radius:7px;font:inherit;font-size:.9rem;color:#3a3a3a;cursor:pointer;
  text-decoration:none;white-space:nowrap}
.rowmenu-list a:hover,.rowmenu-list button:hover{background:#f7eef0}
.rowmenu-list button.danger{color:#9a2c2c}
.rowmenu-list form{margin:0}
/* Tabelle mit Kebab-Menüs darf das Dropdown nicht abschneiden (sonst letzte Zeile abgeschnitten) */
table.tbl-menus{overflow:visible}

/* Badges */
.badge{display:inline-block;padding:.18em .65em;border-radius:999px;font-size:.74rem;font-weight:700}
.badge.pending{background:#fff3d6;color:#8a6d1a}
.badge.accepted{background:#dcf3e4;color:#1f6b3b}
.badge.rejected{background:#fde0e0;color:#9a2c2c}
.badge.cancelled{background:#eee;color:#666}
.badge.waitlist{background:#e4eefb;color:#1f4f8a}
.badge.open{background:#dcf3e4;color:#1f6b3b}
.badge.closed{background:#eee;color:#666}
.badge.full{background:#fde0e0;color:#9a2c2c}

/* Forms */
label{display:block;font-weight:600;font-size:.86rem;margin:.9rem 0 .3rem}
input,select,textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;
  font:inherit;background:#fff}
textarea{min-height:90px;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}
@media(max-width:560px){.row{grid-template-columns:1fr}}

/* Dashboard-Statistikkacheln (klickbare Shortcuts) */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.3rem}
.stat-card{display:block;margin-bottom:0;text-decoration:none;color:inherit;min-height:116px;
  transition:box-shadow .15s ease,transform .15s ease}
.stat-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px)}
.stat-num{font-size:2rem;font-weight:700}
/* Aktions-Kacheln im selben Grid: gleiche Größe wie die Statistik-Kacheln */
.stat-action{display:flex;align-items:center;justify-content:center;gap:.5rem;
  font-size:1.1rem;font-weight:600}

/* Rechnungsstatus-Kachel: Titel + Ampel-Legende (Handlungsbedarf auf einen Blick) */
.stat-status{display:flex;flex-direction:column;justify-content:center;gap:.55rem}
.stat-status-title{font-size:1.1rem;font-weight:600}
.stat-status.has-todo{border-color:#e3b4ab;box-shadow:inset 0 0 0 1px #e3b4ab}
.inv-legend{display:flex;flex-wrap:wrap;gap:.35rem .9rem}
.inv-pill{display:inline-flex;align-items:center;font-size:.92rem;color:var(--ink);white-space:nowrap}
.inv-pill strong{margin-right:.25rem}
.inv-dot.red{background:#c0392b}
.inv-dot.yellow{background:#d8a200}
.inv-dot.green{background:#2e7d4f}

/* Anfrage-Daten bearbeiten: eingeklapptes, kompaktes Formular-Grid */
.edit-contact>summary{list-style:none;cursor:pointer}
.edit-contact>summary::-webkit-details-marker{display:none}
.ec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem .7rem}
.ec-f{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted);gap:.2rem}
.ec-f input,.ec-f select{font-size:.95rem;color:var(--ink);padding:.4rem .5rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.ec-wide{grid-column:span 2}
@media(max-width:560px){.ec-grid{grid-template-columns:1fr}.ec-wide{grid-column:span 1}}

/* Warteliste: Kurs-Zwischenüberschrift (nach Kursen geordnet) */
.inbox-subh{font-weight:700;font-size:.9rem;color:var(--petrol-deep,#1f5f63);margin:.8rem 0 .35rem}
.inbox-subh:first-of-type{margin-top:.3rem}

/* Burger-Button: nur in der mobilen Ansicht sichtbar */
.adm-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;
  border:1px solid var(--line);background:#fff;border-radius:8px;font-size:1.3rem;line-height:1;
  cursor:pointer;color:var(--ink)}

@media(max-width:820px){
  .adm-burger{display:inline-flex}
  .adm-brand{flex:1}
  .adm-nav,.adm-usermenu{display:none;flex-basis:100%;width:100%}
  .adm-top.nav-open .adm-nav{display:flex;flex-direction:column;gap:.2rem;margin-top:.6rem}
  .adm-top.nav-open .adm-usermenu{display:block;margin-top:.6rem}
  .adm-usermenu-list{position:static;box-shadow:none;border:none;padding:0;min-width:0}
  .adm-nav a{padding:.6rem .8rem;font-size:1rem}
}
@media(max-width:560px){.stat-grid{grid-template-columns:repeat(2,1fr)}}

.btn{display:inline-block;border:none;border-radius:8px;padding:.55rem 1.1rem;font:inherit;font-weight:600;
  cursor:pointer;text-decoration:none;text-align:center}
.btn-primary{background:var(--petrol);color:#fff}
.btn-primary:hover{background:var(--petrol-deep)}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{background:#f3eeec}
.btn-danger{background:#fff;border:1px solid #e3a3a3;color:#9a2c2c}
.btn-danger:hover{background:#fde0e0}
.btn-danger-solid{background:#c0392b;color:#fff;border:none}
.btn-danger-solid:hover{background:#a5281b;color:#fff}
.btn-sm{padding:.35rem .7rem;font-size:.84rem}
.btn-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.inline-form{display:inline}

/* Einklappbare Anfrage-Karten */
details.booking{padding:0;overflow:hidden}
details.booking>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.7rem;
  padding:.9rem 1.2rem;flex-wrap:wrap}
details.booking>summary::-webkit-details-marker{display:none}
details.booking>summary::after{content:"\203A";margin-left:auto;font-size:1.3rem;color:var(--muted);
  transition:transform .2s;line-height:1}
details.booking[open]>summary::after{transform:rotate(90deg)}
details.booking[open]>summary{border-bottom:1px solid var(--line)}
details.booking>summary:hover{background:#faf7f6}
.booking .b-name{font-weight:700;font-size:1.02rem}
.booking .b-course{color:var(--muted);font-size:.9rem}
.booking-body{padding:1rem 1.2rem}

.adm-alert{padding:.8rem 1rem;border-radius:10px;margin-bottom:1.1rem;font-size:.92rem}
.adm-alert.ok{background:#dcf3e4;color:#1f6b3b}
.adm-alert.err{background:#fde0e0;color:#9a2c2c}
.adm-alert.warn{background:#fff3d6;color:#7a5d00}

.muted{color:var(--muted)}
.right{text-align:right}
.nowrap{white-space:nowrap}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}
/* Segmented-Control (z. B. Aktive/Archiv) – ausgewählter Tab = weiße Pille,
   damit er sich klar vom Petrol-„+ Neue Karte"-Button unterscheidet. */
.seg{display:inline-flex;background:#efe9e6;border:1px solid var(--line);border-radius:10px;padding:3px;gap:3px}
.seg-item{padding:.4rem .85rem;font-size:.86rem;font-weight:600;text-decoration:none;color:var(--muted);
  border-radius:7px;white-space:nowrap}
.seg-item:hover{color:var(--ink)}
.seg-item.is-active{background:#fff;color:var(--petrol);box-shadow:0 1px 3px rgba(0,0,0,.12)}

/* Login */
.login-wrap{max-width:360px;margin:8vh auto;padding:0 1.2rem}
.login-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:2rem 1.8rem}
.login-card h1{text-align:center;color:var(--rose);font-size:1.3rem}

/* Betreuungsanfragen – Status-Badges (Neu / In Bearbeitung / Erledigt) */
.badge.cr-new{background:#fff3d6;color:#8a6d1a}
.badge.cr-in_progress{background:#e4eefb;color:#1f4f8a}
.badge.cr-accepted{background:#dcf3e4;color:#1f6b3b}
.badge.cr-declined{background:#fde0e0;color:#9a2c2c}
.badge.cr-arch{background:#e9e9ee;color:#555}
/* Weiterleiten-Aufklapper im Anfrage-Detail */
.cr-forward>summary{cursor:pointer;list-style:none}
.cr-forward>summary::-webkit-details-marker{display:none}
.cr-forward[open]>summary.cr-forward-btn{margin-bottom:.5rem}

/* ============================================================
   Kurse-Ansicht (termine.php) – aufklappbare Kurs-Kacheln
   ============================================================ */
details.course-card{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:.9rem;overflow:hidden}
details.course-card.is-past{opacity:.62}
details.course-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.9rem;
  padding:.85rem 1.1rem;flex-wrap:wrap}
details.course-card>summary::-webkit-details-marker{display:none}
details.course-card>summary::after{content:"\203A";font-size:1.3rem;color:var(--muted);transition:transform .2s;line-height:1;order:3}
details.course-card[open]>summary::after{transform:rotate(90deg)}
details.course-card[open]>summary{border-bottom:1px solid var(--line)}
details.course-card>summary:hover{background:#faf7f6}
.cc-main{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1 1 14rem}
.cc-title{font-weight:700;font-size:1.04rem}
.cc-meta{color:var(--muted);font-size:.86rem}
.cc-tags{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;order:2}
.cc-occ{font-size:.82rem;font-weight:700;color:var(--petrol);background:var(--blush);border-radius:999px;padding:.18em .65em}
.cc-occ.is-full{color:#9a2c2c;background:#fde0e0}
.cc-body{padding:1rem 1.15rem}
.cc-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem}
.cc-actions form{margin:0}

.cc-pending{background:#fff8e8;border:1px solid #e9d49a;border-radius:10px;padding:.7rem .85rem;margin-bottom:1rem}
.cc-pending-head{font-size:.9rem;margin-bottom:.3rem}

.cc-sec{margin-bottom:1rem}
.cc-sec-h{margin:0 0 .35rem;font-size:.92rem;color:var(--ink);display:flex;align-items:center;gap:.45rem}
.cc-count{display:inline-flex;min-width:1.4em;justify-content:center;background:var(--petrol);color:#fff;border-radius:999px;font-size:.74rem;font-weight:700;padding:.05em .5em}
.cc-count-today{background:#2e7d4f}
.cc-sec-muted .cc-count{background:#8aa9c9}
.cc-empty{font-size:.86rem;margin:.2rem 0}
.cc-hint{font-size:.8rem;margin:.4rem 0 0}

.roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}
ol.roster{counter-reset:wl}
ol.roster>li{counter-increment:wl}
ol.roster>li::before{content:counter(wl) ".";color:var(--muted);font-weight:700;min-width:1.4em;font-size:.85rem}
.roster>li{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.25rem 0;border-bottom:1px dashed var(--line)}
.roster>li:last-child{border-bottom:none}
.r-name{font-weight:600;font-size:.92rem}
.r-contact{color:var(--muted);font-size:.83rem}
.r-act{margin-left:auto;font-size:.82rem}
.roster-hist .r-name{font-weight:500;color:var(--muted)}

details.cc-hist{margin-top:.4rem}
details.cc-hist>summary{cursor:pointer;color:var(--muted);font-size:.85rem;list-style:none}
details.cc-hist>summary::-webkit-details-marker{display:none}
details.cc-hist>summary::before{content:"▸ ";font-size:.8rem}
details.cc-hist[open]>summary::before{content:"▾ "}
details.cc-hist>summary:hover{color:var(--ink)}
.roster-hist{margin-top:.5rem}

/* ============================================================
   Anfragen-Eingang (bewerbungen.php) – Typ-Labels + Verweise
   ============================================================ */
.inbox-h{font-size:1.02rem;margin:1.6rem 0 .7rem;display:flex;align-items:center;gap:.55rem}
.inbox-h:first-of-type{margin-top:.4rem}
.inbox-c{display:inline-flex;min-width:1.5em;justify-content:center;background:var(--muted);color:#fff;border-radius:999px;font-size:.76rem;font-weight:700;padding:.05em .55em}
.lbl{display:inline-block;padding:.2em .7em;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.02em}
.lbl-kurs{background:var(--petrol);color:#fff}
.lbl-betreuung{background:var(--rose);color:#fff}
.lbl-karte{background:#1f4f8a;color:#fff}
.inbox-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.inbox-link .b-name{font-weight:700}
/* Ganze Zeile anklickbar (wie Kurs-Anfragen): Link-Karte mit Chevron rechts */
a.inbox-row{text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease;flex-wrap:nowrap}
a.inbox-row:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-1px)}
.inbox-chevron{margin-left:auto;font-size:1.4rem;color:var(--muted);line-height:1;flex:0 0 auto}

/* Rechnungs-Archiv: klappbare Aussteller-Gruppen (Björn, lea, Praxis …) */
details.inv-group{margin-bottom:1rem}
details.inv-group>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:.6rem;
  flex-wrap:wrap;padding:.6rem .2rem}
details.inv-group>summary::-webkit-details-marker{display:none}
details.inv-group>summary::before{content:"\203A";color:var(--muted);font-size:1.2rem;line-height:1;
  align-self:center;transition:transform .2s}
details.inv-group[open]>summary::before{transform:rotate(90deg)}
details.inv-group>summary:hover .inv-group-name{color:var(--petrol-deep)}
.inv-group-name{font-size:1.02rem;font-weight:700;color:var(--ink)}

/* ============================================================
   Kurs-Kachel: aufklappbare Teilnehmer/Warteliste mit Aktionen
   ============================================================ */
.r-item{border-bottom:1px dashed var(--line)}
.r-item:last-child{border-bottom:none}
.r-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.4rem 0}
.r-item>summary::-webkit-details-marker{display:none}
.r-item>summary::after{content:"\203A";margin-left:auto;color:var(--muted);font-size:1.2rem;line-height:1;transition:transform .2s}
.r-item[open]>summary::after{transform:rotate(90deg)}
.r-item>summary:hover{color:var(--petrol-deep)}
.r-form{padding:.3rem 0 .85rem}
.r-form .btn-row{margin-top:.6rem}
.cc-overbook{background:#fbf2d6;border:1px solid #e6cf8a;color:#7a5a12;padding:.55rem .75rem;border-radius:8px;font-size:.82rem;margin:0 0 .6rem}
.wl-pos{color:var(--muted);font-weight:700;font-size:.85rem;min-width:1.4em;text-align:right}
.wl-handle{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;cursor:grab;color:var(--muted);font-size:1.15rem;line-height:1;user-select:none;-webkit-user-select:none;touch-action:none}
.wl-handle:active{cursor:grabbing}
.wl-card.vr-dragging{background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);position:relative;z-index:5;border-radius:8px}

/* Warteliste-Übersicht: Untergruppen je Termin */
.wl-sub{margin-bottom:1rem}
.wl-sub-h{font-size:.9rem;margin:.4rem 0 .4rem;color:var(--petrol-deep)}
.wl-static{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.45rem 1.1rem;border-bottom:1px dashed var(--line)}
.wl-static:last-child{border-bottom:none}
.wl-jump{margin-left:auto;font-size:.82rem;white-space:nowrap}

/* Dauerhafte Kurse (Karten-Kurse) in der Kurse-Ansicht */
.rc-section-h{font-size:1.05rem;margin:.6rem 0 .7rem;color:var(--ink)}
.rc-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.42rem 0;border-bottom:1px dashed var(--line)}
.rc-row:last-child{border-bottom:none}
.rc-credit{font-size:.86rem;color:var(--ink)}
.rc-acts{margin-left:auto;display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}
.rc-acts form{margin:0}
/* „Nimmt heute teil"-Markierung in Dauerkursen */
.rc-dot{color:#2e7d4f;font-size:.7rem;vertical-align:middle}
/* Ampel-Punkt für den Rechnungsstatus vor dem Teilnehmernamen */
.inv-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.45rem;vertical-align:middle;flex:0 0 auto}
.rc-row.rc-here{background:#f0f9f2;border-radius:8px;padding-left:.4rem;padding-right:.4rem}

/* ============================================================
   Mobile (≤640px): kompaktere Abstände + Tabellen als gestapelte Karten
   ============================================================ */
@media(max-width:640px){
  .adm-main{margin:1rem auto;padding:0 .8rem}
  h1{font-size:1.3rem;margin-bottom:.9rem}
  h2{font-size:1.08rem}
  .card{padding:1rem .9rem}

  /* Tabellen: Kopfzeile aus, jede Zeile wird eine Karte, Zellen untereinander.
     Vermeidet horizontales Überlaufen UND klappt Zeilen-Menüs nicht ab. */
  table{display:block;border:none;background:transparent;border-radius:0;overflow:visible}
  table thead{display:none}
  table tbody{display:block}
  table tr{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;
    margin-bottom:.7rem;padding:.25rem .2rem}
  table td{display:block;border:none;border-bottom:1px solid var(--line);padding:.5rem .85rem;font-size:.92rem;text-align:left}
  table tr td:last-child{border-bottom:none}
  /* Beschriftung pro Zelle – nur wo data-label gesetzt ist */
  table td[data-label]::before{content:attr(data-label);display:block;font-weight:700;color:var(--muted);
    font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}
  table td:empty{display:none}
  .row-actions{justify-content:flex-start;margin-top:.2rem}

  /* Zeilen-Menüs (Popover) nicht breiter als der Schirm */
  .rowmenu-list{min-width:auto;width:min(86vw,320px)}

  /* Buttons in Zeilen etwas fingerfreundlicher */
  .btn-sm{padding:.45rem .8rem;font-size:.88rem}

  /* Mehrspaltige Inline-Raster (z. B. Bearbeiten-Formular) auf 1 Spalte */
  .bk-grid{grid-template-columns:1fr !important}

  /* Zuklappbare Tabellen (Karten, Rechnungen): eingeklappt nur Zusammenfassung,
     Tap klappt die ganze Kachel auf (Akkordeon via JS). */
  table.tbl-collapse td{display:none}
  table.tbl-collapse td.tr-sum{display:block}
  table.tbl-collapse tr.is-open td{display:block}
  table.tbl-collapse tr{position:relative;cursor:pointer}
  table.tbl-collapse td.tr-sum{padding-right:2.2rem}
  table.tbl-collapse tr::after{content:"\203A";position:absolute;top:.6rem;right:.95rem;
    color:var(--muted);font-size:1.3rem;line-height:1;transition:transform .2s}
  table.tbl-collapse tr.is-open::after{transform:rotate(90deg)}
}
