:root{--pink:#d10078;--black:#151515;--grey:#f3f4f6;--line:#dedede;--green:#218739;--red:#b42318;--orange:#b76000}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f7f7f8;color:#202124}.topbar{background:#fff;border-bottom:4px solid var(--pink);display:flex;align-items:center;justify-content:space-between;padding:14px 4vw;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px}.brand-star{font-size:36px;color:var(--pink)}.brand strong{font-size:20px}.brand small{display:block;color:#666;margin-top:2px}.topbar nav{display:flex;gap:9px;flex-wrap:wrap}.topbar-logged-in{justify-content:flex-start;padding:11px 3vw}.topbar-logged-in nav{width:100%;align-items:center}.topbar nav a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border-radius:9px;background:var(--pink);color:#fff;text-decoration:none;font-size:14px;font-weight:800;line-height:1.1;white-space:nowrap;box-shadow:0 2px 5px rgba(209,0,120,.18);transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.topbar nav a:hover{background:#b80069;color:#fff;transform:translateY(-1px);box-shadow:0 4px 9px rgba(209,0,120,.24)}.topbar nav a:focus-visible{outline:3px solid rgba(209,0,120,.25);outline-offset:2px}.topbar nav a.nav-active,.topbar nav a.nav-selected,.topbar nav a:active{background:var(--black);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.28);transform:none}.topbar .disabled{opacity:.35;pointer-events:none}.container{max-width:1200px;margin:28px auto;padding:0 18px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 4px 14px rgba(0,0,0,.04);margin-bottom:22px}.hero h1{margin:0 0 6px}.muted{color:#666}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.card .number{font-size:32px;font-weight:800;color:var(--pink);margin-top:8px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{padding:11px;border:1px solid #bbb;border-radius:8px;font:inherit;min-width:180px}.button{display:inline-block;background:var(--pink);color:#fff;border:0;border-radius:8px;padding:11px 16px;font-weight:700;text-decoration:none;cursor:pointer}.button.secondary{background:#333}.button.light{background:#ececef;color:#222}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 10px;border-bottom:1px solid #e7e7e7;text-align:left;white-space:nowrap}th{background:#fafafa;font-size:13px;text-transform:uppercase;letter-spacing:.02em}.badge{display:inline-block;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:700}.badge.active{background:#e7f6ea;color:var(--green)}.badge.blocked{background:#fde8e7;color:var(--red)}.notice{padding:12px 14px;border-radius:8px;margin:12px 0}.notice.ok{background:#e7f6ea;color:#145c27}.notice.error{background:#fde8e7;color:#8d1c14}.login{max-width:440px;margin:60px auto}.login .field{margin-bottom:14px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.actions{display:flex;gap:10px;margin-top:18px}footer{text-align:center;color:#777;padding:30px 16px}@media(max-width:850px){.topbar{align-items:flex-start;gap:14px;flex-direction:column}.cards{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}}@media(max-width:520px){.cards{grid-template-columns:1fr}.topbar nav{gap:7px}.topbar nav a{padding:8px 10px;font-size:13px;min-height:38px}.field input,.field select{min-width:100%}}
.thumb{display:block;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px}.article-thumb{width:78px;height:58px}.symbol-thumb{width:48px;height:48px;padding:4px}.media-preview-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:20px 0}.media-card{background:var(--grey);border:1px solid var(--line);border-radius:12px;padding:16px;text-align:center}.media-card h2{margin-top:0}.media-card.compact{max-width:260px;margin:18px 0}.preview-image{width:100%;max-width:560px;height:340px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px}.preview-symbol{width:160px;height:160px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}.check-field{justify-content:end}.small-check{font-weight:400!important;margin-top:6px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.category-card{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:16px}.category-card img{width:92px;height:92px;object-fit:contain}.category-card h2{font-size:18px;margin:0 0 6px}.login-wide{max-width:720px;margin:36px auto}.notice.warning{background:#fff4db;color:#6d4700}.notice code{background:rgba(0,0,0,.07);padding:2px 5px;border-radius:4px}@media(max-width:900px){.category-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.media-preview-grid,.category-grid{grid-template-columns:1fr}.preview-image{height:260px}.article-thumb{width:64px;height:48px}}


/* Version 0.2.1: Aktionsspalte der Artikelliste immer vollständig sichtbar */
.article-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  padding-bottom:8px;
  scrollbar-gutter:stable;
}
.article-table{
  min-width:1120px;
}
.article-table th:last-child,
.article-table td:last-child{
  position:sticky;
  right:0;
  min-width:132px;
  width:132px;
  text-align:center;
  background:#fff;
  box-shadow:-8px 0 12px -12px rgba(0,0,0,.55);
  z-index:2;
}
.article-table th:last-child{
  background:#fafafa;
  z-index:3;
}
.article-table td:last-child .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:104px;
  padding:10px 12px;
  white-space:nowrap;
}
@media(max-width:700px){
  .article-table{min-width:1020px}
  .article-table th:last-child,
  .article-table td:last-child{min-width:118px;width:118px}
  .article-table td:last-child .button{min-width:92px;padding:9px 10px;font-size:14px}
}

/* Version 0.2.2: Checkbox-Texte im Bearbeitungsformular sauber ausrichten */
.field input[type="checkbox"],
.field input[type="radio"]{
  width:18px;
  height:18px;
  min-width:18px;
  padding:0;
  margin:0;
  flex:0 0 18px;
  accent-color:var(--pink);
}
.small-check,
.check-field > label{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:8px;
  width:100%;
  margin-top:6px;
  font-weight:400!important;
  line-height:1.35;
  white-space:normal;
}
.check-field > label{
  align-items:center;
  margin-top:0;
}

/* Version 0.3: Beschreibungen, Detailfelder und Anlage neuer Artikel */
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.panel-heading h1{margin:0 0 6px}
.compact-stats{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.compact-stats span{background:var(--grey);border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:13px}
.form-section{border:1px solid var(--line);border-radius:12px;padding:18px;margin:0 0 20px;background:#fff}
.form-section legend{font-weight:800;font-size:18px;color:var(--pink);padding:0 8px}
.form-section .field{margin-bottom:0}
.field small{color:#666;line-height:1.35}
.field-wide{grid-column:1/-1}
.grid-details{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field textarea{width:100%;resize:vertical;line-height:1.5;min-width:0}
.textarea-short{min-height:88px}
.textarea-detail{min-height:82px}
.textarea-long{min-height:145px}
.section-note{margin-top:0}
.sticky-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);border-top:1px solid var(--line);padding:14px 0 4px;z-index:4;backdrop-filter:blur(5px)}
.article-name-cell{white-space:normal;min-width:320px;max-width:440px;line-height:1.35}
.article-short{margin-top:5px;color:#666;font-size:13px;line-height:1.4}
.article-short.missing{color:var(--orange);font-style:italic}
.article-table{min-width:1320px}
@media(max-width:850px){.panel-heading{flex-direction:column}.grid-details{grid-template-columns:1fr}.field-wide{grid-column:auto}.sticky-actions{position:static}.article-table{min-width:1180px}}

/* Version 0.3.1: Kompakte Artikelübersicht ohne unnötiges seitliches Scrollen */
.article-table{
  width:100%;
  min-width:1080px;
  table-layout:fixed;
}
.article-table th,
.article-table td{
  padding:10px 8px;
  vertical-align:middle;
}
.article-table th{
  white-space:normal;
  line-height:1.2;
}
.article-table th:nth-child(1),
.article-table td:nth-child(1){width:86px}
.article-table th:nth-child(2),
.article-table td:nth-child(2){width:62px}
.article-table th:nth-child(3),
.article-table td:nth-child(3){width:102px}
.article-table th:nth-child(4),
.article-table td:nth-child(4){width:248px}
.article-table th:nth-child(5),
.article-table td:nth-child(5){width:112px;white-space:normal}
.article-table th:nth-child(6),
.article-table td:nth-child(6){width:82px}
.article-table th:nth-child(7),
.article-table td:nth-child(7){width:82px}
.article-table th:nth-child(8),
.article-table td:nth-child(8){width:62px;text-align:center}
.article-table th:nth-child(9),
.article-table td:nth-child(9){width:86px}
.article-table th:nth-child(10),
.article-table td:nth-child(10){width:112px;min-width:112px}
.article-name-cell{
  min-width:0;
  max-width:none;
  width:248px;
  white-space:normal;
  overflow-wrap:anywhere;
}
.article-name-cell > strong{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  line-height:1.3;
}
.article-short{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  max-width:100%;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.article-table td:nth-child(6),
.article-table td:nth-child(7),
.article-table td:nth-child(8),
.article-table td:nth-child(9){white-space:nowrap}
.article-table td:last-child .button{
  min-width:92px;
  padding:9px 10px;
}
@media(max-width:1100px){
  .article-table{min-width:1080px}
}
@media(max-width:700px){
  .article-table{min-width:1040px}
  .article-table th:nth-child(4),
  .article-table td:nth-child(4),
  .article-name-cell{width:220px}
}

/* Version 0.4: Kunden- und Reservierungsverwaltung */
.grow{flex:1 1 320px}.center{text-align:center}.small-button{padding:8px 11px;font-size:14px}.compact-actions{margin:0;flex-wrap:wrap;justify-content:flex-end}.inline-field{display:flex;gap:10px;align-items:center}.inline-field select{flex:1;min-width:240px}.customer-table,.reservation-table{min-width:980px}.customer-table td,.reservation-table td{vertical-align:middle}.dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card-link{text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.card-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.badge.info{background:#e7f1ff;color:#1559a5}.badge.warning{background:#fff4db;color:#7a4b00}.badge.orange{background:#ffead7;color:#9a4800}.badge.purple{background:#f0e7ff;color:#6633a3}.badge.neutral{background:#ececef;color:#555}
.reservation-items-wrap{overflow-x:auto}.reservation-items-table{min-width:1160px;table-layout:fixed}.reservation-items-table th:nth-child(1),.reservation-items-table td:nth-child(1){width:330px}.reservation-items-table th:nth-child(2),.reservation-items-table td:nth-child(2){width:82px}.reservation-items-table th:nth-child(3),.reservation-items-table td:nth-child(3){width:145px}.reservation-items-table th:nth-child(4),.reservation-items-table td:nth-child(4),.reservation-items-table th:nth-child(5),.reservation-items-table td:nth-child(5),.reservation-items-table th:nth-child(6),.reservation-items-table td:nth-child(6){width:130px}.reservation-items-table th:nth-child(7),.reservation-items-table td:nth-child(7){width:110px}.reservation-items-table select,.reservation-items-table input{width:100%;min-width:0;padding:9px;border:1px solid #bbb;border-radius:8px;font:inherit}.reservation-items-table td{white-space:normal}.availability{display:inline-block;padding:6px 8px;border-radius:8px;font-size:12px;font-weight:700}.availability.available{background:#e7f6ea;color:var(--green)}.availability.unavailable{background:#fde8e7;color:var(--red)}.reservation-item-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:16px}.totals-box{display:grid;gap:8px;min-width:280px;background:var(--grey);border:1px solid var(--line);border-radius:10px;padding:14px}.totals-box div{display:flex;justify-content:space-between;gap:20px}.totals-box strong{color:var(--pink)}.timeline{border-left:3px solid var(--pink);margin-left:8px;padding-left:20px}.timeline-entry{position:relative;display:grid;gap:4px;padding:0 0 20px}.timeline-entry:before{content:"";position:absolute;left:-28px;top:4px;width:13px;height:13px;border-radius:50%;background:var(--pink);border:3px solid #fff;box-shadow:0 0 0 1px var(--pink)}.timeline-entry strong{font-size:13px}.timeline-entry span{font-weight:700}.timeline-entry small{color:#666}.delivery-section{transition:opacity .15s ease}
@media(max-width:900px){.dashboard-cards{grid-template-columns:1fr 1fr}.inline-field{align-items:stretch;flex-direction:column}.inline-field select{min-width:0;width:100%}.reservation-item-actions{flex-direction:column}.totals-box{width:100%;min-width:0}}
@media(max-width:520px){.dashboard-cards{grid-template-columns:1fr}.compact-actions{justify-content:flex-start}.customer-table,.reservation-table{min-width:880px}}

/* Version 0.5: Webseitenanfragen */
.code-copy{background:#171717;color:#fff;border-radius:10px;padding:15px 17px;overflow:auto;margin:12px 0 18px}.code-copy code{white-space:nowrap;font-size:14px}.integration-steps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 24px}.integration-steps>div{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px;background:#fafafa}.integration-steps strong{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;background:var(--pink);color:#fff}.integration-steps span{line-height:1.45}.website-request-summary{border:1px solid #d8c4d0;background:#fff8fc;border-radius:12px;padding:16px;margin:0 0 20px}.website-request-summary h3{margin:0 0 12px;color:var(--pink)}.website-request-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.website-request-grid div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px}.website-request-grid small{display:block;color:#666;margin-bottom:4px}.raw-items-table{min-width:720px}.raw-items-table td{white-space:normal}.raw-match{font-size:12px;font-weight:700}.raw-match.ok{color:var(--green)}.raw-match.open{color:var(--orange)}
@media(max-width:800px){.integration-steps,.website-request-grid{grid-template-columns:1fr}}

/* Version 0.6.4: Anfragen archivieren, wiederherstellen und sicher löschen */
.reservation-view-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.reservation-view-tabs a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#222;text-decoration:none;font-weight:700}
.reservation-view-tabs a:hover,.reservation-view-tabs a.active{background:var(--pink);border-color:var(--pink);color:#fff}
.reservation-view-tabs span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:rgba(0,0,0,.08);font-size:12px}
.reservation-view-tabs a.active span{background:rgba(255,255,255,.22)}
.archived-row{background:#fafafa;color:#555}
.archive-reason{display:block;max-width:210px;margin-top:6px;color:#666;white-space:normal;line-height:1.3}
.reservation-management-panel h2{margin:0 0 6px}
.archive-action-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.archive-action-form .field{min-width:300px;flex:1}
.archive-action-form select{width:100%}
.button.archive-button{background:#7a4b00}
.button.danger{background:var(--red)}
.archive-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.archive-management-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fafafa}
.archive-management-card h3{margin:0 0 8px}
.archive-management-card p{line-height:1.5;color:#555}
.archive-management-card.danger-card{border-color:#efb4ae;background:#fff8f7}
.delete-confirm{display:flex;align-items:flex-start;gap:9px;margin:0 0 14px;font-weight:700;line-height:1.4}
.delete-confirm input{width:18px;height:18px;min-width:18px;margin:1px 0 0;accent-color:var(--red)}
@media(max-width:800px){.archive-management-grid{grid-template-columns:1fr}.archive-action-form{align-items:stretch}.archive-action-form .field{min-width:0;width:100%}.archive-action-form .button{width:100%}}

/* Version 0.7.0: Automatische Angebotserstellung */
.offer-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px}
.offer-context-card{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafafa;min-width:0}
.offer-context-card small{color:#666;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.04em}
.offer-context-card strong{font-size:17px;overflow-wrap:anywhere}
.offer-context-card>span:not(.badge){color:#666;font-size:13px;line-height:1.4}
.offer-context-card .badge{align-self:flex-start}
.offer-date-grid{align-items:end}
.offer-intro-field{margin-top:18px!important}
.offer-intro-field textarea{min-height:88px}
.offer-items-wrap{overflow-x:auto;padding-bottom:8px}
.offer-items-table{min-width:980px;table-layout:fixed}
.offer-items-table th,.offer-items-table td{white-space:normal;vertical-align:top}
.offer-items-table th:nth-child(1),.offer-items-table td:nth-child(1){width:310px}
.offer-items-table th:nth-child(2),.offer-items-table td:nth-child(2){width:78px}
.offer-items-table th:nth-child(3),.offer-items-table td:nth-child(3){width:112px}
.offer-items-table th:nth-child(4),.offer-items-table td:nth-child(4){width:105px}
.offer-items-table th:nth-child(5),.offer-items-table td:nth-child(5){width:125px}
.offer-items-table th:nth-child(6),.offer-items-table td:nth-child(6){width:112px;text-align:right}
.offer-items-table th:nth-child(7),.offer-items-table td:nth-child(7){width:105px}
.offer-items-table select,.offer-items-table input{width:100%;min-width:0;padding:9px;border:1px solid #bbb;border-radius:8px;font:inherit;background:#fff}
.offer-items-table .offer-article-number{margin-top:7px;font-weight:700}
.offer-description-field{margin-top:7px}
.offer-description-field[hidden]{display:none!important}
.offer-description-field small{display:block;margin:0 0 5px;color:#666;font-size:11px;font-weight:700}
.offer-items-table .offer-line-total{font-weight:800;color:var(--pink);padding-top:20px;white-space:nowrap}
.offer-items-table .offer-remove-row{width:100%;padding:9px 8px;font-size:13px}
.offer-position-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-top:16px}
.offer-live-totals{display:grid;gap:8px;min-width:360px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafafa}
.offer-live-totals>div{display:flex;justify-content:space-between;gap:24px}
.offer-live-totals strong{color:var(--pink)}
.offer-live-totals .grand{border-top:1px solid #bbb;padding-top:9px;font-size:17px}
.offer-form-actions{flex-wrap:wrap}
.offer-stat-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.offer-stat-card{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:11px;padding:13px 14px;background:#fafafa;text-decoration:none;color:#222;font-weight:700}
.offer-stat-card:hover{border-color:var(--pink);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.offer-stat-card strong{font-size:23px;color:var(--pink)}
.offer-toolbar{margin-bottom:18px}
.offer-toolbar .field:first-child{flex:1 1 360px}
.offer-toolbar .field:first-child input{width:100%}
.offer-list-wrap{overflow-x:auto}
.offer-list-table{min-width:1260px}
.offer-list-table td{vertical-align:middle}
.table-subline{display:block;color:#666;margin-top:4px}
.offer-row-actions{flex-wrap:nowrap}
.offer-row-actions .button{padding:8px 10px;font-size:13px}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:110px;padding:18px;color:#666;text-align:center}
.empty-state strong{font-size:17px;color:#333}
.reservation-offers-table{min-width:1050px}
.reservation-offers-table td{vertical-align:middle}
@media(max-width:980px){.offer-context-grid{grid-template-columns:1fr 1fr}.offer-stat-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.offer-position-actions{flex-direction:column}.offer-live-totals{width:100%;min-width:0}}
@media(max-width:650px){.offer-context-grid,.offer-stat-cards{grid-template-columns:1fr}.offer-form-actions .button{width:100%;text-align:center}.offer-date-grid{grid-template-columns:1fr}.offer-stat-card{padding:11px 13px}}


/* Version 0.7.1: kompakte Angebotspositionen ohne doppelte Bezeichnung */
@media(max-width:1050px){.offer-items-table{min-width:920px}.offer-items-table th:nth-child(1),.offer-items-table td:nth-child(1){width:275px}}


/* Version 0.7.2: kompakte Angebotsübersicht und individuelle Gesamtkaution */
.offer-list-wrap{position:relative;overflow-x:auto;padding-bottom:6px}
.offer-list-table{width:100%;min-width:1040px;table-layout:fixed}
.offer-list-table th,.offer-list-table td{padding:10px 8px;white-space:normal;vertical-align:middle}
.offer-list-table th:nth-child(1),.offer-list-table td:nth-child(1){width:130px}
.offer-list-table th:nth-child(2),.offer-list-table td:nth-child(2){width:215px;overflow-wrap:anywhere}
.offer-list-table th:nth-child(3),.offer-list-table td:nth-child(3){width:120px}
.offer-list-table th:nth-child(4),.offer-list-table td:nth-child(4){width:145px}
.offer-list-table th:nth-child(5),.offer-list-table td:nth-child(5){width:110px}
.offer-list-table th:nth-child(6),.offer-list-table td:nth-child(6){width:165px}
.offer-list-table th:nth-child(7),.offer-list-table td:nth-child(7){width:155px;position:sticky;right:0;background:#fff;box-shadow:-8px 0 12px -12px rgba(0,0,0,.55);z-index:2}
.offer-list-table th:nth-child(7){background:#fafafa;z-index:3}
.offer-date-cell,.offer-sums-cell{display:table-cell}
.offer-date-cell span,.offer-sums-cell span{display:flex;justify-content:space-between;gap:9px;line-height:1.35}
.offer-date-cell span+span,.offer-sums-cell span+span{margin-top:5px}
.offer-date-cell small,.offer-sums-cell small{color:#666;font-size:11px;font-weight:700}
.offer-sums-cell .grand{padding-top:5px;border-top:1px solid var(--line);color:var(--pink)}
.offer-row-actions{display:grid;grid-template-columns:1fr;gap:6px}
.offer-row-actions .button{width:100%;padding:8px 6px;text-align:center}
.offer-custom-deposit-row{display:block!important;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.offer-custom-deposit-row>label{display:block;margin:0 0 7px;font-size:13px;font-weight:800}
.offer-custom-deposit-control{display:flex;gap:8px;align-items:stretch}
.offer-custom-deposit-control input{width:135px;min-width:0;padding:9px;border:1px solid #999;border-radius:8px;font:inherit;font-weight:800;text-align:right;background:#fff}
.offer-custom-deposit-control .button{padding:9px 11px;font-size:12px;white-space:nowrap}
.offer-custom-deposit-row>small{display:block;margin-top:6px;color:#666;line-height:1.35}
@media(max-width:1100px){.offer-list-table{min-width:990px}.offer-list-table th:nth-child(2),.offer-list-table td:nth-child(2){width:190px}.offer-list-table th:nth-child(7),.offer-list-table td:nth-child(7){width:145px}}
@media(max-width:650px){.offer-custom-deposit-control{flex-direction:column}.offer-custom-deposit-control input{width:100%}.offer-custom-deposit-control .button{width:100%}}


/* Version 0.7.3: eindeutige Auswahl zwischen individueller und Artikelkaution */
.offer-custom-deposit-control{flex-wrap:wrap}
.offer-custom-deposit-control .button.deposit-active{background:var(--pink);border-color:var(--pink);color:#fff}
.offer-individual-deposit-summary{display:flex!important;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid var(--line)}
.offer-individual-deposit-summary strong{color:var(--pink)}
@media(max-width:760px){.offer-custom-deposit-control input{width:100%}.offer-custom-deposit-control .button{flex:1 1 180px}}


/* Version 0.8.2: Angebotsarchiv */
.offer-view-tabs{margin-top:2px}
.offer-archived-row{background:#fafafa;color:#555}
.offer-archived-row td:nth-child(7){background:#fafafa}
.offer-archive-label{font-weight:800;color:#8b1d2c}
.offer-original-status{display:inline-flex;margin:5px 0 0 5px;opacity:.78}
.offer-archive-reason{display:block;max-width:190px;margin-top:7px;color:#6a4c00;white-space:normal;line-height:1.35;font-size:11px;font-weight:700}
.offer-archive-notice{border-left:5px solid #7a4b00}
.offer-context-card .badge+.badge{margin-left:6px}
@media(max-width:650px){.offer-original-status{margin-left:0}.offer-archive-reason{max-width:none}}


/* Version 0.8.4: Navigation als magenta Buttons mit schwarzer aktiver Seite */

/* Version 0.8.5: dokumentierte Angebotsannahme */
.acceptance-open-button{background:var(--pink)}
.offer-acceptance-summary{margin:16px 0 22px;padding:18px;border:1px solid #b9dfc1;border-left:6px solid var(--green);border-radius:12px;background:#f7fcf8}
.offer-acceptance-summary h2{margin:0 0 4px;font-size:20px}
.acceptance-heading{align-items:center;margin-bottom:14px}
.acceptance-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.acceptance-summary-grid>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #d8e7da;border-radius:10px;background:#fff}
.acceptance-summary-grid span:first-child{font-weight:800}
.acceptance-changes{margin-top:14px;padding:14px 16px;border-radius:10px;background:#fff4db;border:1px solid #edd79f}
.acceptance-changes strong{display:block;margin-bottom:6px;color:#6d4700}
.acceptance-changes p{margin:0;line-height:1.5;white-space:normal}
.offer-acceptance-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:auto}
.offer-acceptance-dialog::backdrop{background:rgba(15,15,18,.68);backdrop-filter:blur(2px)}
.offer-acceptance-modal{padding:24px}
.offer-acceptance-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.offer-acceptance-modal-head h2{margin:3px 0 0;font-size:25px;line-height:1.2}
.offer-acceptance-modal-head small{color:var(--pink);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.acceptance-close{width:40px;height:40px;flex:0 0 40px;border:0;border-radius:50%;background:#ececef;color:#222;font-size:28px;line-height:1;cursor:pointer}
.acceptance-confirmation-list{display:grid;gap:11px;margin:19px 0}
.acceptance-confirmation-row{display:grid;grid-template-columns:minmax(220px,1fr) 104px 104px;align-items:center;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fafafa}
.acceptance-confirmation-row legend{display:contents;font-weight:800}
.acceptance-confirmation-row label{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer}
.acceptance-confirmation-row input{position:absolute;opacity:0;pointer-events:none}
.acceptance-confirmation-row span{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;border:2px solid #c7c7cb;border-radius:9px;background:#fff;font-weight:800;transition:.15s ease}
.acceptance-confirmation-row input[value="yes"]:checked+span{border-color:var(--green);background:#e7f6ea;color:#145c27;box-shadow:0 0 0 3px rgba(33,135,57,.12)}
.acceptance-confirmation-row input[value="no"]:checked+span{border-color:var(--red);background:#fde8e7;color:#8d1c14;box-shadow:0 0 0 3px rgba(180,35,24,.1)}
.acceptance-confirmation-row input:focus-visible+span{outline:3px solid rgba(209,0,120,.22);outline-offset:2px}
.acceptance-changes-field{margin-top:16px;padding:15px;border:1px solid #edc464;border-radius:11px;background:#fff9e9}
.acceptance-changes-field[hidden]{display:none!important}
.acceptance-changes-field textarea{width:100%;min-width:0;resize:vertical;background:#fff}
.acceptance-result-hint{margin-top:16px}
.acceptance-modal-actions{justify-content:flex-end;flex-wrap:wrap}
@media(max-width:720px){.acceptance-summary-grid{grid-template-columns:1fr}.acceptance-confirmation-row{grid-template-columns:1fr 1fr}.acceptance-confirmation-row legend{display:block;grid-column:1/-1;margin-bottom:2px}.offer-acceptance-modal{padding:18px}.offer-acceptance-modal-head h2{font-size:21px}.acceptance-modal-actions .button{flex:1 1 220px;text-align:center}}


/* Version 0.8.6: Archivierung direkt bei Angeboten rückgängig machen */
.inline-action-form{display:inline-flex;margin:0}
.offer-row-actions .inline-action-form .button{white-space:nowrap}
@media(max-width:720px){.offer-row-actions{flex-wrap:wrap}.offer-row-actions .inline-action-form{width:100%}.offer-row-actions .inline-action-form .button{width:100%}}


/* Version 0.8.8: kompakte Aktionen im Angebotsarchiv */
.archived-offer-actions{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:5px;
  min-width:0;
}
.archived-offer-actions>*{min-width:0}
.archived-offer-actions .inline-action-form{
  grid-column:1/-1;
  display:block;
  width:100%;
  min-width:0;
}
.archived-offer-actions .button{
  width:100%;
  min-width:0;
  padding:6px 5px;
  font-size:11px;
  line-height:1.15;
  white-space:normal;
}
.archived-offer-actions .inline-action-form .button{white-space:normal}

/* Version 0.8.9: dynamische Mietvertragsseite 1 */
.contract-form .grid-span-2{grid-column:1/-1}
.contract-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:4px 0 18px}
.contract-check-grid label{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #ead2db;border-radius:10px;background:#fff8fb;font-weight:700}
.contract-check-grid input{width:18px;height:18px;accent-color:var(--pink)}
.contract-id-fields{margin-top:8px}
.notice.info{background:#edf5ff;border-color:#9ec4ed;color:#174d7a}
@media(max-width:900px){.contract-check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.contract-check-grid{grid-template-columns:1fr}.contract-form .grid-span-2{grid-column:auto}}

.contract-form .grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:850px){.contract-form .grid-3{grid-template-columns:1fr}}

/* v0.8.13: finaler Mietvertrag und einmalige Druckfreigabe */
.contract-lock-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.contract-final-hint{margin:14px 0;padding:11px 13px;border:1px solid #dedee3;border-radius:9px;background:#f7f7f8;color:#454545;font-weight:700}
.contract-form fieldset:disabled{opacity:.78}
.contract-form fieldset:disabled input,.contract-form fieldset:disabled select,.contract-form fieldset:disabled textarea{background:#f4f4f5;color:#444;cursor:not-allowed}


/* Update 0.8.14 – sichtbarer Mietvertragsstatus und Bildschirmansicht */
.offer-process-status{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:168px}
.offer-status-step{display:flex;align-items:center;gap:6px}
.offer-status-step>b,.status-index{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:#202124;color:#fff;font-size:11px;line-height:1;font-weight:800;flex:0 0 auto}
.offer-contract-number{display:block;margin-left:27px;color:#666;font-size:11px;font-weight:700}
.offer-contract-status-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 16px;padding:13px 15px;border:1px solid #d7d7dc;border-radius:11px;background:#fafafa}
.offer-contract-status-card>div{display:flex;align-items:center;gap:7px}
.contract-screen-view{max-width:1100px;margin:0 auto}
.contract-screen-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 18px;padding:14px 16px;border:1px solid #e2c4d1;border-radius:11px;background:#fff7fb}
.contract-screen-banner strong{color:var(--pink);font-size:16px}
.contract-screen-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.contract-screen-card{border:1px solid #dedee3;border-radius:11px;padding:14px;background:#fff}
.contract-screen-card span{display:block;color:#666;font-size:12px;margin-bottom:5px}
.contract-screen-card strong{font-size:15px;overflow-wrap:anywhere}
.contract-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.contract-view-section{border:1px solid #e0e0e4;border-radius:12px;padding:16px;background:#fff}
.contract-view-section h2{margin:0 0 13px;color:var(--pink);font-size:18px}
.contract-detail-list{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.4fr);gap:9px 14px;margin:0}
.contract-detail-list dt{font-weight:800;color:#555}
.contract-detail-list dd{margin:0;overflow-wrap:anywhere}
.contract-items-table th,.contract-items-table td{white-space:normal}
.contract-check-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.contract-check-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;background:#f6f6f7}
.contract-check-symbol{font-weight:900;color:var(--pink)}
.contract-screen-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media print{body>*{display:none!important}body:before{content:'Diese Mietvertragsansicht ist ausschließlich für die Bildschirmansicht vorgesehen.';display:block!important;padding:40px;font:700 18px Arial;color:#111}}
@media(max-width:850px){.contract-screen-meta{grid-template-columns:1fr 1fr}.contract-view-grid{grid-template-columns:1fr}}
@media(max-width:520px){.contract-screen-meta{grid-template-columns:1fr}.contract-detail-list{grid-template-columns:1fr}.contract-check-list{grid-template-columns:1fr}}

/* Update 0.8.15 – kompaktere Kundenspalte und breitere Statusspalte */
.offer-list-table th:nth-child(2),.offer-list-table td:nth-child(2){width:calc(215px - 1cm)}
.offer-list-table th:nth-child(5),.offer-list-table td:nth-child(5){width:calc(110px + 1cm)}
.offer-status-step{gap:0}
.offer-contract-number{margin-left:0}
@media(max-width:1100px){
  .offer-list-table th:nth-child(2),.offer-list-table td:nth-child(2){width:calc(190px - 1cm)}
  .offer-list-table th:nth-child(5),.offer-list-table td:nth-child(5){width:calc(110px + 1cm)}
}

/* Update 0.8.16 – mehr Abstand zwischen Summen und Aktionen */
.offer-list-table{min-width:1060px}
.offer-list-table th:nth-child(7),
.offer-list-table td:nth-child(7){
  width:calc(124px - 5mm);
  padding-left:10px;
}
.offer-list-table th:nth-child(7){text-align:center}
.offer-row-actions{column-gap:0;row-gap:6px}
@media(max-width:1100px){
  .offer-list-table{min-width:1020px}
  .offer-list-table th:nth-child(7),
  .offer-list-table td:nth-child(7){width:calc(118px - 5mm);padding-left:8px}
}

/* Version 0.8.37: Summenblock mit Abstand zur Aktionsspalte */
.offer-sums-cell>span{transform:translateX(-1cm)}

/* Version 0.8.38: Aktionsspalte exakt 5 mm schmaler */
.offer-list-table th:nth-child(6),
.offer-list-table td:nth-child(6){width:calc(165px + 5mm)}


/* Version 0.8.17: Dauerrabatt und feste Servicepositionen */
.offer-customer-discount{display:inline-flex;margin-top:7px;padding:5px 8px;border-radius:999px;background:#fff0f7;color:var(--pink);font-size:12px;font-weight:800}
.offer-service-positions{margin:14px 0 16px;padding:14px;border:1px solid #ead2df;border-radius:12px;background:#fffafd;display:grid;gap:10px}
.offer-service-positions>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.offer-service-positions>div:first-child small{color:#666}
.offer-service-buttons{display:flex;gap:8px;flex-wrap:wrap}
.offer-service-buttons .button{padding:8px 10px;font-size:13px}
.offer-discount-number-note{color:#555}
.offer-item-row[data-service-position="1"] .offer-article-number,
.offer-item-row[data-service-position="1"] .offer-description{background:#f4f4f6;color:#333;font-weight:700}
.customer-table th:nth-child(6),.customer-table td:nth-child(6){text-align:center}
@media(max-width:700px){.offer-service-positions>div:first-child{align-items:flex-start;flex-direction:column;gap:4px}}

/* Version 0.8.18: Masterlogo im Dashboard-Begrüßungsfeld */
.dashboard-welcome{
  display:flex;
  align-items:center;
  gap:32px;
  min-height:150px;
  padding:18px 28px;
}
.dashboard-welcome-logo{
  flex:0 0 210px;
  width:210px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dashboard-welcome-logo img{
  display:block;
  width:100%;
  max-width:210px;
  height:auto;
  max-height:118px;
  object-fit:contain;
}
.dashboard-welcome-copy{
  min-width:0;
  padding-left:4px;
}
.dashboard-welcome-copy h1{margin:0 0 7px}
.dashboard-welcome-copy p{margin:0;line-height:1.45}
@media(max-width:700px){
  .dashboard-welcome{gap:20px;padding:18px 20px}
  .dashboard-welcome-logo{flex-basis:150px;width:150px}
  .dashboard-welcome-logo img{max-width:150px;max-height:90px}
}
@media(max-width:520px){
  .dashboard-welcome{align-items:flex-start;gap:14px;padding:16px}
  .dashboard-welcome-logo{flex-basis:105px;width:105px}
  .dashboard-welcome-logo img{max-width:105px;max-height:70px}
  .dashboard-welcome-copy h1{font-size:24px}
}



/* Version 0.8.19: Galerieverwaltung */
.gallery-admin-heading{align-items:center}
.gallery-upload-form{margin-top:18px;padding:18px;border:1px solid #ead1df;border-radius:12px;background:#fffafd}
.gallery-upload-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:14px;align-items:end}
.gallery-upload-file{grid-row:span 2}
.gallery-upload-file input[type="file"],.gallery-admin-form input[type="file"]{padding:9px;background:#fff;min-width:0;width:100%}
.gallery-active-check{display:flex;align-items:center;gap:8px;font-weight:800;line-height:1.3}
.gallery-active-check input{width:18px;height:18px;min-width:18px;accent-color:var(--pink)}
.gallery-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gallery-admin-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.04)}
.gallery-admin-card-hidden{opacity:.78;background:#f5f5f6}
.gallery-admin-preview{position:relative;background:#ececef;aspect-ratio:16/9;overflow:hidden}
.gallery-admin-preview img{width:100%;height:100%;display:block;object-fit:cover}
.gallery-origin-badge,.gallery-hidden-badge{position:absolute;bottom:10px;padding:6px 9px;border-radius:999px;color:#fff;font-size:11px;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.22)}
.gallery-origin-badge{left:10px;background:rgba(15,15,15,.78)}
.gallery-hidden-badge{right:10px;background:#8b1d2c}
.gallery-admin-form{display:grid;gap:12px;padding:16px}
.gallery-admin-form .field input,.gallery-admin-form .field select{width:100%;min-width:0}
.gallery-admin-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px}
.gallery-sort-field input{text-align:center}
.gallery-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 16px}
.gallery-card-actions form{margin:0}
.gallery-card-actions .button{width:100%;padding:9px 8px;font-size:12px}
.gallery-card-actions .button:disabled{opacity:.35;cursor:not-allowed}
.gallery-delete-button{background:var(--red)}
.gallery-upload-form .button:active,
.gallery-admin-form>.button:active{
  background:var(--black);
  border-color:var(--black);
  color:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.28);
}
@media(max-width:980px){.gallery-upload-grid{grid-template-columns:1fr 1fr}.gallery-upload-file{grid-row:auto}.gallery-admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){.gallery-upload-grid,.gallery-admin-row{grid-template-columns:1fr}.gallery-card-actions{grid-template-columns:1fr}.gallery-admin-heading .button{width:100%;text-align:center}}

/* Version 0.8.21: Systemcheck, Abnahme und sichere Backups */
.system-check-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}
.system-check-hero h1{margin-bottom:6px}
.system-status-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}
.system-status-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-radius:13px;border:1px solid var(--line);background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.04)}
.system-status-card span{font-size:13px;font-weight:800;color:#555}
.system-status-card strong{font-size:28px;line-height:1}
.system-status-card.status-ok{border-left:5px solid #16834f}
.system-status-card.status-warning{border-left:5px solid #d88600}
.system-status-card.status-error{border-left:5px solid #b42738}
.system-status-card.status-info{border-left:5px solid #2377b8}
.system-data-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.system-data-cards>div{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:10px;background:#f6f6f7;text-align:center}
.system-data-cards span{font-size:12px;font-weight:800;color:#666}
.system-data-cards strong{font-size:25px}
.system-check-group h2{margin-bottom:14px}
.system-check-list{display:grid;gap:10px}
.system-check-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}
.system-check-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:17px;font-weight:900;color:#fff}
.system-check-item strong{display:block;margin:1px 0 4px}
.system-check-item p{margin:0;color:#5f5f64;line-height:1.45;overflow-wrap:anywhere}
.system-check-ok .system-check-icon{background:#16834f}
.system-check-warning .system-check-icon{background:#d88600}
.system-check-error .system-check-icon{background:#b42738}
.system-check-info .system-check-icon{background:#2377b8}
.system-backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.system-backup-actions form{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:17px;border:1px solid var(--line);border-radius:12px;background:#fafafa}
.system-backup-actions small{color:#666;line-height:1.4}
.system-backup-actions button:disabled{opacity:.45;cursor:not-allowed}
.system-manual-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:15px}
.system-manual-checks label{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-radius:9px;background:#f6f6f7;font-weight:700;line-height:1.35}
.system-manual-checks input{width:18px;height:18px;min-width:18px;accent-color:var(--pink)}
@media(max-width:950px){.system-status-cards{grid-template-columns:1fr 1fr}.system-data-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.system-check-hero{align-items:flex-start;flex-direction:column}.system-backup-actions,.system-manual-checks{grid-template-columns:1fr}.system-data-cards{grid-template-columns:1fr 1fr}}
@media(max-width:470px){.system-status-cards,.system-data-cards{grid-template-columns:1fr}.system-status-card{padding:14px}.system-check-item{grid-template-columns:30px minmax(0,1fr);padding:11px}.system-check-icon{width:27px;height:27px}}

/* Version 0.8.22: Kalender und Live-Uhr im Dashboard */
.dashboard-welcome{
  display:grid;
  grid-template-columns:210px minmax(250px,1fr) auto;
  align-items:center;
  column-gap:32px;
  row-gap:16px;
}
.dashboard-datetime{
  display:grid;
  grid-template-columns:224px 184px;
  gap:12px;
  justify-content:end;
  align-items:stretch;
  margin-left:auto;
}
.dashboard-datetime-card{
  min-width:0;
  border:1px solid #e2e2e2;
  border-radius:13px;
  padding:12px 13px;
  background:#fff;
  box-shadow:0 3px 10px rgba(0,0,0,.045);
}
.dashboard-widget-heading{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:26px;
  margin-bottom:9px;
  font-size:13px;
}
.dashboard-widget-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:8px;
  background:#fff0f7;
  color:var(--pink);
}
.dashboard-widget-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dashboard-calendar-weekdays,
.dashboard-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:3px;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.dashboard-calendar-weekdays{
  margin-bottom:4px;
  color:#777;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}
.dashboard-calendar-grid span{
  display:flex;
  align-items:center;
  justify-content:center;
  height:20px;
  border-radius:6px;
  font-size:10px;
  font-weight:700;
  color:#444;
}
.dashboard-calendar-grid .is-empty{visibility:hidden}
.dashboard-calendar-grid .is-today{
  background:var(--pink);
  color:#fff;
  box-shadow:0 2px 5px rgba(209,0,120,.25);
}
.dashboard-clock-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(145deg,#171717,#2b2b2b);
  border-color:#171717;
  color:#fff;
}
.dashboard-clock-card .dashboard-widget-heading{margin-bottom:7px;color:#fff}
.dashboard-clock-card .dashboard-widget-icon{background:rgba(255,255,255,.12);color:#fff}
.dashboard-clock-time{
  display:flex;
  align-items:baseline;
  gap:1px;
  font-size:31px;
  line-height:1;
  font-weight:800;
  letter-spacing:-1px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.dashboard-clock-colon{color:var(--pink);animation:lpr-clock-pulse 1s steps(1,end) infinite}
.dashboard-clock-seconds{
  margin-left:5px;
  color:#f0a6cb;
  font-size:15px;
  letter-spacing:0;
}
.dashboard-clock-date{
  margin-top:9px;
  color:#dedede;
  font-size:11px;
  line-height:1.35;
}
@keyframes lpr-clock-pulse{50%{opacity:.42}}
@media(prefers-reduced-motion:reduce){.dashboard-clock-colon{animation:none}}
@media(max-width:1080px){
  .dashboard-welcome{grid-template-columns:180px minmax(0,1fr)}
  .dashboard-welcome-logo{width:180px;flex-basis:180px}
  .dashboard-welcome-logo img{max-width:180px}
  .dashboard-datetime{grid-column:2;margin-left:0;justify-content:start}
}
@media(max-width:760px){
  .dashboard-welcome{grid-template-columns:145px minmax(0,1fr);column-gap:20px}
  .dashboard-welcome-logo{width:145px;flex-basis:145px}
  .dashboard-welcome-logo img{max-width:145px}
  .dashboard-datetime{grid-column:1/-1;width:100%;grid-template-columns:minmax(210px,1.2fr) minmax(170px,.8fr)}
}
@media(max-width:520px){
  .dashboard-welcome{display:grid;grid-template-columns:105px minmax(0,1fr);gap:14px;padding:16px}
  .dashboard-welcome-logo{width:105px;flex-basis:105px}
  .dashboard-welcome-copy{padding-left:0}
  .dashboard-datetime{grid-column:1/-1;grid-template-columns:1fr}
  .dashboard-calendar-card{padding:13px 15px}
  .dashboard-calendar-grid span{height:25px;font-size:12px}
  .dashboard-clock-time{font-size:35px}
}

/* Version 0.8.24: Mitarbeiterverwaltung und Berechtigungen */
.employee-heading{align-items:center}
.employee-stats strong{color:var(--pink);margin-right:3px}
.employee-table{min-width:1080px;table-layout:fixed}
.employee-table th,.employee-table td{white-space:normal;vertical-align:middle}
.employee-table th:nth-child(1),.employee-table td:nth-child(1){width:190px}
.employee-table th:nth-child(2),.employee-table td:nth-child(2){width:135px}
.employee-table th:nth-child(3),.employee-table td:nth-child(3){width:125px}
.employee-table th:nth-child(4),.employee-table td:nth-child(4){width:300px}
.employee-table th:nth-child(5),.employee-table td:nth-child(5){width:95px}
.employee-table th:nth-child(6),.employee-table td:nth-child(6){width:150px}
.employee-table th:nth-child(7),.employee-table td:nth-child(7){width:115px;text-align:center}
.employee-table code{background:#f1f1f3;border-radius:6px;padding:4px 6px;font-size:13px}
.employee-permission-summary{font-size:13px;line-height:1.45;color:#4b4b4b}
.employee-inactive-row{opacity:.68;background:#fafafa}
.employee-account-grid{align-items:start}
.employee-active-field{justify-content:flex-start;padding-top:28px}
.employee-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.employee-permission-card{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
.employee-permission-card:hover{border-color:#c18aad;box-shadow:0 3px 10px rgba(209,0,120,.08)}
.employee-permission-card:has(input:checked){border-color:var(--pink);background:#fff7fb;box-shadow:0 0 0 2px rgba(209,0,120,.08)}
.employee-permission-card input{margin-top:2px!important}
.employee-permission-card span{display:flex;flex-direction:column;gap:4px;min-width:0}
.employee-permission-card strong{font-size:15px}
.employee-permission-card small{color:#666;line-height:1.4}
.employee-permission-card em{font-size:11px;color:var(--pink);font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.employee-permission-card.is-mandatory{cursor:default;background:#f7f7f8}
.employee-permission-section.is-admin-role .employee-permission-grid{opacity:.55}
.employee-admin-notice[hidden]{display:none}
.employee-account-meta{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 18px;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#fafafa;color:#555;font-size:13px}
@media(max-width:760px){.employee-permission-grid{grid-template-columns:1fr}.employee-heading .button{width:100%;text-align:center}.employee-active-field{padding-top:0}.employee-account-meta{flex-direction:column;gap:7px}}
.system-data-cards{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1100px){.system-data-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.system-data-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){.system-data-cards{grid-template-columns:1fr}}

/* Grundlage des Begrüßungsfelds: Logo, Aufgabenkarte, Kalender und Uhr */
.dashboard-welcome{
  grid-template-columns:210px minmax(320px,1fr) 420px;
  grid-template-areas:
    "heading heading heading"
    "logo agenda datetime";
  align-items:stretch;
  column-gap:24px;
  row-gap:14px;
  min-height:0;
  padding:18px 24px 22px;
}
.dashboard-welcome-heading{
  grid-area:heading;
  margin:0;
  padding:0 0 12px;
  border-bottom:1px solid #ececef;
  font-size:27px;
  line-height:1.22;
}
.dashboard-welcome-logo{
  grid-area:logo;
  align-self:center;
  width:210px;
  min-width:0;
}
.dashboard-agenda-card{
  grid-area:agenda;
  min-width:0;
  display:flex;
  flex-direction:column;
  border:1px solid #e2e2e2;
  border-radius:13px;
  background:#fff;
  box-shadow:0 3px 10px rgba(0,0,0,.045);
  overflow:hidden;
}
.dashboard-agenda-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px 8px;
  border-bottom:1px solid #f0f0f2;
}
.dashboard-agenda-heading .dashboard-widget-heading{margin:0}
.dashboard-agenda-settings{
  color:var(--pink);
  font-size:11px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.dashboard-agenda-settings:hover{text-decoration:underline}
.dashboard-agenda-list{
  min-height:116px;
  max-height:178px;
  padding:5px 9px;
  overflow:auto;
  scrollbar-width:thin;
}
.dashboard-agenda-item{
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:7px 4px;
  border-bottom:1px solid #f0f0f2;
}
.dashboard-agenda-item:last-child{border-bottom:0}
.dashboard-agenda-type{
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  margin-top:1px;
  border-radius:8px;
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.dashboard-agenda-type.is-calendar{background:var(--pink)}
.dashboard-agenda-type.is-reminder{background:#262626}
.dashboard-agenda-item.is-overdue .dashboard-agenda-type{background:#b42738}
.dashboard-agenda-content{min-width:0}
.dashboard-agenda-content>div{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:7px;
  align-items:baseline;
}
.dashboard-agenda-content time{
  color:#666;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.dashboard-agenda-item.is-overdue time{color:#b42738}
.dashboard-agenda-content strong{
  min-width:0;
  overflow:hidden;
  color:#29292c;
  font-size:12px;
  line-height:1.28;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dashboard-agenda-content small{
  display:block;
  margin:3px 0 0 79px;
  overflow:hidden;
  color:#777;
  font-size:10px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dashboard-agenda-empty{
  display:flex;
  min-height:105px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:14px;
  text-align:center;
}
.dashboard-agenda-empty strong{font-size:13px}
.dashboard-agenda-empty span{max-width:330px;color:#777;font-size:11px;line-height:1.4}
.dashboard-agenda-sync{
  margin-top:auto;
  padding:7px 12px;
  border-top:1px solid #f0f0f2;
  background:#fafafa;
  color:#777;
  font-size:9px;
  line-height:1.3;
}
.dashboard-datetime{grid-area:datetime;margin-left:0}

.iphone-sync-token-box{
  display:grid;
  gap:12px;
  margin:18px 0;
  padding:18px;
  border:1px solid #ead1df;
  border-radius:12px;
  background:#fffafd;
}
.iphone-sync-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.iphone-sync-copy-row input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
.iphone-sync-copy-row .button{min-height:42px}
.iphone-sync-steps{counter-reset:iphone-steps;display:grid;gap:11px;margin:18px 0 0;padding:0;list-style:none}
.iphone-sync-steps li{counter-increment:iphone-steps;display:grid;grid-template-columns:32px minmax(0,1fr);gap:11px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.iphone-sync-steps li::before{content:counter(iphone-steps);display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--pink);color:#fff;font-weight:900}
.iphone-sync-steps strong{display:block;margin:1px 0 4px}
.iphone-sync-steps p{margin:0;color:#666;line-height:1.45}
.iphone-sync-code{display:block;margin-top:8px;padding:10px;border-radius:8px;background:#202124;color:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.45;overflow:auto;white-space:pre-wrap}
.iphone-sync-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.iphone-sync-status-grid>div{padding:13px;border-radius:10px;background:#f6f6f7}
.iphone-sync-status-grid span{display:block;margin-bottom:4px;color:#777;font-size:11px;font-weight:800}
.iphone-sync-status-grid strong{font-size:14px}

@media(max-width:1180px){
  .dashboard-welcome{grid-template-columns:180px minmax(285px,1fr) 390px;column-gap:18px}
  .dashboard-welcome-logo{width:180px}
  .dashboard-welcome-logo img{max-width:180px}
  .dashboard-datetime{grid-template-columns:210px 168px;gap:10px}
}
@media(max-width:980px){
  .dashboard-welcome{
    grid-template-columns:170px minmax(0,1fr);
    grid-template-areas:"heading heading" "logo agenda" "datetime datetime";
  }
  .dashboard-welcome-logo{width:170px}
  .dashboard-welcome-logo img{max-width:170px}
  .dashboard-datetime{width:100%;grid-template-columns:minmax(220px,1.15fr) minmax(175px,.85fr)}
}
@media(max-width:700px){
  .dashboard-welcome{
    grid-template-columns:130px minmax(0,1fr);
    grid-template-areas:"heading heading" "logo agenda" "datetime datetime";
    padding:16px;
  }
  .dashboard-welcome-heading{font-size:23px}
  .dashboard-welcome-logo{width:130px}
  .dashboard-welcome-logo img{max-width:130px}
  .dashboard-agenda-content>div{grid-template-columns:65px minmax(0,1fr)}
  .dashboard-agenda-content small{margin-left:72px}
  .iphone-sync-status-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .dashboard-welcome{
    grid-template-columns:1fr;
    grid-template-areas:"heading" "logo" "agenda" "datetime";
    gap:13px;
  }
  .dashboard-welcome-heading{font-size:21px}
  .dashboard-welcome-logo{width:145px;justify-self:center}
  .dashboard-welcome-logo img{max-width:145px;max-height:82px}
  .dashboard-datetime{grid-template-columns:1fr}
  .dashboard-agenda-list{max-height:205px}
  .iphone-sync-copy-row{grid-template-columns:1fr}
  .iphone-sync-copy-row .button{width:100%}
}


/* Version 0.8.26: Aufgaben heute, Lieferungen und Abholungen */
.dashboard-agenda-item{
  color:inherit;
  text-decoration:none;
  transition:background-color .15s ease;
}
.dashboard-agenda-item:hover{background:#fff7fb}
.dashboard-agenda-type.is-task{background:#252525}
.dashboard-agenda-type.is-delivery{background:var(--pink)}
.dashboard-agenda-type.is-pickup{background:#5f397d}
.dashboard-agenda-content small{display:block}
.task-heading{align-items:flex-start}
.task-filter-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.task-filter-actions .button.is-active{background:var(--pink);color:#fff;border-color:var(--pink)}
.task-table th:nth-child(1),.task-table td:nth-child(1){width:155px}
.task-table th:nth-child(3),.task-table td:nth-child(3){width:160px}
.task-table th:nth-child(4),.task-table td:nth-child(4){width:145px}
.task-table th:nth-child(5),.task-table td:nth-child(5){width:100px;text-align:center}
.task-table th:nth-child(6),.task-table td:nth-child(6){width:95px;text-align:center}
.task-table th:nth-child(7),.task-table td:nth-child(7){width:105px;text-align:center}
.task-title-cell strong{display:block}
.task-title-cell small{display:block;margin-top:4px;color:#707070;line-height:1.35}
.task-overdue-row{background:#fff8f8}
.task-overdue-label{color:#b42738;font-weight:800}
.task-priority-high{color:#b42738;font-weight:800}
.task-form-grid{align-items:start}
.task-description-field textarea{min-height:125px}
.task-status-actions{display:flex;gap:10px;flex-wrap:wrap;padding:14px 0 4px}
.task-status-actions form{margin:0}
@media(max-width:850px){
  .task-filter-actions{width:100%}
  .task-filter-actions .button{flex:1;text-align:center;min-width:120px}
}

/* Version 0.8.27: Wetterzeile und bereinigtes Masterlogo im Dashboard */
.dashboard-welcome-heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.dashboard-weather-source{
  flex:0 0 auto;
  color:#888;
  font-size:9px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}
.dashboard-weather-source:hover{color:var(--pink);text-decoration:underline}
.dashboard-welcome-logo{position:relative;overflow:hidden;isolation:isolate}
.dashboard-welcome-logo img{position:relative;z-index:1}
.dashboard-welcome-logo::after{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  bottom:0;
  width:20%;
  height:17%;
  background:#fff;
  clip-path:polygon(0 0,100% 100%,0 100%);
  pointer-events:none;
}
@media(max-width:700px){
  .dashboard-welcome-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .dashboard-weather-source{font-size:8px}
}

/* Version 0.8.28: ruhige Kopfleiste und einklappbare Seitennavigation */
:root{
  --app-topbar-height:72px;
  --app-sidebar-width:252px;
  --app-sidebar-collapsed-width:76px;
}
body.app-authenticated{min-height:100vh;background:#f6f6f8;overflow-x:hidden}
.app-topbar{
  position:fixed;
  z-index:60;
  inset:0 0 auto 0;
  height:var(--app-topbar-height);
  display:grid;
  grid-template-columns:var(--app-sidebar-width) minmax(150px,1fr) auto;
  align-items:center;
  gap:18px;
  padding:0 22px 0 18px;
  background:#fff;
  border-bottom:1px solid #e4e4e7;
  box-shadow:0 2px 12px rgba(20,20,24,.055);
}
.app-mobile-menu{display:none}
.app-topbar-brand{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  color:#1d1d20;
  text-decoration:none;
}
.app-brand-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  width:39px;
  height:39px;
  flex:0 0 39px;
  border-radius:12px;
  background:linear-gradient(145deg,#ed1687,var(--pink));
  color:#fff;
  font-size:21px;
  box-shadow:0 5px 13px rgba(209,0,120,.22);
}
.app-topbar-brand strong{display:block;overflow:hidden;font-size:16px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.app-topbar-brand small{display:block;margin-top:2px;color:#777;font-size:10px;font-weight:700;letter-spacing:.02em}
.app-page-title{overflow:hidden;color:#1d1d20;font-size:21px;font-weight:850;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.app-topbar-actions{display:flex;align-items:center;gap:10px}
.quick-create{position:relative}
.quick-create summary{list-style:none}
.quick-create summary::-webkit-details-marker{display:none}
.quick-create-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  padding:9px 15px;
  border:0;
  border-radius:10px;
  background:var(--pink);
  color:#fff;
  font-size:14px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 4px 11px rgba(209,0,120,.2);
  transition:background-color .15s ease,transform .15s ease;
}
.quick-create-button:hover{background:#b80069;transform:translateY(-1px)}
.quick-create-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.quick-create-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:235px;
  padding:9px;
  border:1px solid #e2e2e5;
  border-radius:13px;
  background:#fff;
  box-shadow:0 18px 45px rgba(20,20,24,.18);
}
.quick-create-menu::before{content:"";position:absolute;top:-6px;right:21px;width:11px;height:11px;background:#fff;border-left:1px solid #e2e2e5;border-top:1px solid #e2e2e5;transform:rotate(45deg)}
.quick-create-menu>strong{display:block;padding:7px 9px 8px;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.quick-create-menu a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px;color:#252529;text-decoration:none;font-size:13px;font-weight:800}
.quick-create-menu a:hover{background:#fff1f8;color:var(--pink)}
.quick-create-menu a span{display:flex;align-items:center;justify-content:center;width:29px;height:29px;flex:0 0 29px;border-radius:8px;background:#f5f5f7;color:var(--pink)}
.quick-create-menu a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-user-chip{display:flex;align-items:center;gap:9px;min-height:42px;padding:5px 10px 5px 6px;border:1px solid #e3e3e6;border-radius:11px;background:#fafafa}
.app-user-icon{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:9px;background:#ededf0;color:#333}
.app-user-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-user-copy strong,.app-user-copy small{display:block;white-space:nowrap}
.app-user-copy strong{font-size:12px;line-height:1.15}
.app-user-copy small{margin-top:2px;color:#777;font-size:9px;font-weight:700}
.app-logout{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 12px;border-radius:10px;background:#28282b;color:#fff;text-decoration:none;font-size:12px;font-weight:800;transition:background-color .15s ease}
.app-logout:hover{background:#000}
.app-logout svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.app-sidebar{
  position:fixed;
  z-index:50;
  top:var(--app-topbar-height);
  bottom:0;
  left:0;
  width:var(--app-sidebar-width);
  display:flex;
  flex-direction:column;
  background:#fff;
  border-right:1px solid #e2e2e5;
  box-shadow:4px 0 18px rgba(30,30,35,.035);
  transition:width .22s ease,transform .22s ease;
}
.app-sidebar-scroll{flex:1;overflow-x:hidden;overflow-y:auto;padding:15px 11px 12px;scrollbar-width:thin}
.sidebar-navigation{display:grid;gap:7px}
.sidebar-group{padding:5px 0 10px;border-bottom:1px solid #eeeeef}
.sidebar-group:last-child{border-bottom:0}
.sidebar-group-title{padding:7px 12px 6px;color:#999;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.sidebar-link,.sidebar-collapse{
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  min-height:43px;
  margin:2px 0;
  padding:8px 11px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#4a4a50;
  text-decoration:none;
  font:inherit;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  text-align:left;
  cursor:pointer;
  transition:background-color .14s ease,color .14s ease,box-shadow .14s ease;
}
.sidebar-link:hover{background:#f4f4f6;color:#17171a}
.sidebar-link.nav-active{background:var(--pink);color:#fff;box-shadow:0 5px 13px rgba(209,0,120,.2)}
.sidebar-link.nav-active::before{content:"";position:absolute;left:-11px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:#1b1b1d}
.sidebar-icon{display:flex;align-items:center;justify-content:center;width:23px;height:23px;flex:0 0 23px}
.sidebar-icon svg,.sidebar-external svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.sidebar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-external{display:flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:auto;opacity:.5}
.sidebar-external svg{width:13px;height:13px}
.sidebar-update{background:#fff8df;color:#775300}
.sidebar-collapse{flex:0 0 auto;margin:0;padding:13px 22px;border-top:1px solid #e8e8eb;border-radius:0;background:#fafafa;color:#666}
.sidebar-collapse:hover{background:#f0f0f2;color:#222}
.sidebar-collapse .sidebar-icon{transition:transform .2s ease}
.app-sidebar-overlay{display:none}
.app-main-shell{min-height:100vh;margin-left:var(--app-sidebar-width);padding-top:var(--app-topbar-height);transition:margin-left .22s ease}
.app-authenticated .container{width:100%;max-width:1440px;margin:25px auto;padding:0 24px}
.app-authenticated footer{padding:20px 16px 28px}

body.sidebar-collapsed .app-sidebar{width:var(--app-sidebar-collapsed-width)}
body.sidebar-collapsed .app-main-shell{margin-left:var(--app-sidebar-collapsed-width)}
body.sidebar-collapsed .sidebar-group-title,body.sidebar-collapsed .sidebar-label,body.sidebar-collapsed .sidebar-external{display:none}
body.sidebar-collapsed .app-sidebar-scroll{padding-left:10px;padding-right:10px}
body.sidebar-collapsed .sidebar-link{justify-content:center;padding-left:10px;padding-right:10px}
body.sidebar-collapsed .sidebar-link.nav-active::before{left:-10px}
body.sidebar-collapsed .sidebar-collapse{justify-content:center;padding-left:10px;padding-right:10px}
body.sidebar-collapsed .sidebar-collapse .sidebar-icon{transform:rotate(180deg)}

@media(max-width:1180px){
  .app-topbar{grid-template-columns:215px minmax(120px,1fr) auto;gap:12px;padding-right:14px}
  .app-user-copy small{display:none}
  .app-authenticated .container{padding-left:20px;padding-right:20px}
}
@media(max-width:980px){
  :root{--app-topbar-height:64px}
  .app-topbar{grid-template-columns:auto minmax(140px,1fr) auto;height:var(--app-topbar-height);padding:0 12px;gap:10px}
  .app-mobile-menu{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:10px;background:#f0f0f2;color:#222;cursor:pointer}
  .app-mobile-menu svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .app-topbar-brand{display:none}
  .app-page-title{font-size:18px}
  .app-sidebar{top:var(--app-topbar-height);width:min(290px,86vw);transform:translateX(-105%);box-shadow:14px 0 35px rgba(20,20,24,.2)}
  .app-main-shell,body.sidebar-collapsed .app-main-shell{margin-left:0}
  .sidebar-collapse{display:none}
  .app-sidebar-overlay{position:fixed;z-index:45;inset:var(--app-topbar-height) 0 0;background:rgba(20,20,24,.42);backdrop-filter:blur(1px)}
  body.sidebar-mobile-open{overflow:hidden}
  body.sidebar-mobile-open .app-sidebar{transform:translateX(0)}
  body.sidebar-mobile-open .app-sidebar-overlay{display:block}
  body.sidebar-collapsed .app-sidebar{width:min(290px,86vw)}
  body.sidebar-collapsed .sidebar-group-title,body.sidebar-collapsed .sidebar-label,body.sidebar-collapsed .sidebar-external{display:block}
  body.sidebar-collapsed .sidebar-link{justify-content:flex-start;padding-left:11px;padding-right:11px}
  .app-authenticated .container{margin-top:20px;padding-left:16px;padding-right:16px}
}
@media(max-width:720px){
  .app-user-chip{display:none}
  .app-logout span{display:none}
  .app-logout{width:40px;padding:8px}
  .app-topbar-actions{gap:7px}
}
@media(max-width:520px){
  .app-page-title{font-size:16px}
  .quick-create-button{min-height:40px;padding:8px 11px}
  .quick-create-button span{display:none}
  .quick-create-menu{position:fixed;top:58px;right:10px;width:min(280px,calc(100vw - 20px))}
  .quick-create-menu::before{right:65px}
  .app-authenticated .container{padding-left:11px;padding-right:11px}
}

/* Version 0.8.30 – Rechnungs-, Zahlungs- und Kautionsverwaltung */
.invoice-stat-cards{grid-template-columns:repeat(6,minmax(120px,1fr))}
.invoice-list-table th:nth-child(1){min-width:150px}.invoice-list-table th:nth-child(2){min-width:170px}.invoice-list-table th:nth-child(3){min-width:190px}.invoice-list-table th:nth-child(4){min-width:145px}.invoice-list-table th:nth-child(6){min-width:150px}.invoice-list-table th:last-child{min-width:185px}
.invoice-date-pair,.invoice-amount-cell span{display:block}.invoice-date-pair+ .invoice-date-pair{margin-top:7px}.invoice-date-pair small,.invoice-amount-cell small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.invoice-amount-cell span+span{margin-top:5px}
.invoice-source-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.invoice-source-summary>div,.invoice-summary-card{border:1px solid #e0e0e4;border-radius:12px;padding:16px;background:#fafafa}.invoice-source-summary span,.invoice-summary-card>span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.045em;margin-bottom:5px}.invoice-source-summary strong,.invoice-summary-card strong{display:block;font-size:1.05rem}.invoice-source-summary small{display:block;margin-top:5px;color:var(--muted)}
.invoice-item-editor{min-width:1020px}.invoice-item-editor th:nth-child(1){width:115px}.invoice-item-editor th:nth-child(2){min-width:290px}.invoice-item-editor th:nth-child(3),.invoice-item-editor th:nth-child(4),.invoice-item-editor th:nth-child(5){width:115px}.invoice-item-editor input{min-width:0;width:100%}.invoice-item-editor tfoot td{background:#f5f5f7;border-top:2px solid var(--pink)}
.invoice-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.invoice-summary-card strong{font-size:1.3rem}.invoice-detail-grid{margin-bottom:18px}
.invoice-items-table tfoot td{background:#f6f6f8;border-top:2px solid var(--pink)}.invoice-items-table tfoot small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.invoice-payment-terms{margin:14px 0 0;padding:12px 14px;border-left:4px solid var(--pink);background:#faf5f8;border-radius:0 8px 8px 0}
.invoice-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;align-items:start}.invoice-management-grid>.contract-view-section{margin:0}.invoice-booking-form{padding:14px;border:1px solid #e4e4e7;border-radius:12px;background:#fafafa;margin:12px 0 16px}.invoice-booking-form .grid-2{gap:10px}.invoice-booking-table{min-width:680px}.invoice-booking-table tr.is-voided{opacity:.55;text-decoration:line-through}.invoice-booking-table .inline-action-form{margin:0}
.invoice-deposit-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.invoice-deposit-cards>div{padding:10px;border-radius:9px;background:#f5f5f7}.invoice-deposit-cards span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase}.invoice-deposit-cards strong{display:block;margin-top:4px}
.invoice-danger-zone{margin-top:22px;border:1px solid #e2a5a5;border-left:5px solid #b32020;background:#fff7f7;border-radius:12px;padding:18px}.invoice-danger-zone h2{margin-top:0}.invoice-danger-zone form{display:flex;gap:12px;align-items:flex-end}.invoice-danger-zone .field{flex:1}.button.danger{background:#a51c1c;border-color:#a51c1c;color:#fff}.button.danger:hover{background:#861616}
.dashboard-money-number{font-size:1.25rem!important}
@media(max-width:1180px){.invoice-stat-cards{grid-template-columns:repeat(3,minmax(120px,1fr))}.invoice-management-grid{grid-template-columns:1fr}.invoice-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.invoice-stat-cards,.invoice-source-summary,.invoice-summary-grid{grid-template-columns:1fr 1fr}.invoice-deposit-cards{grid-template-columns:1fr 1fr}.invoice-danger-zone form{display:block}.invoice-danger-zone .button{margin-top:10px}}
@media(max-width:480px){.invoice-stat-cards,.invoice-source-summary,.invoice-summary-grid{grid-template-columns:1fr}}

/* Version 0.8.31 – Kautionsverrechnung und robuste Rechnungsansicht */
.invoice-view-panel,.invoice-management-grid,.invoice-management-grid>.contract-view-section{min-width:0}
.invoice-management-grid{grid-template-columns:minmax(0,1fr)}
.invoice-deposit-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.invoice-booking-form-title{margin:0 0 13px;padding-bottom:11px;border-bottom:1px solid #e2e2e6}
.invoice-booking-form-title strong,.invoice-booking-form-title small{display:block}
.invoice-booking-form-title strong{color:var(--pink);font-size:1rem}
.invoice-booking-form-title small{margin-top:5px;color:var(--muted);line-height:1.45}
.invoice-offset-form{border-color:rgba(209,0,120,.32);background:#fff7fb}
.invoice-management-grid .table-wrap{max-width:100%}
.invoice-management-grid .field input,.invoice-management-grid .field select{width:100%;min-width:0}
@media(max-width:720px){.invoice-management-grid{display:block}.invoice-management-grid>.contract-view-section+.contract-view-section{margin-top:18px}.invoice-booking-table{min-width:620px}.invoice-deposit-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.invoice-deposit-cards{grid-template-columns:1fr}}

/* Version 0.8.32 – eigenes Mietvertragsverzeichnis */
.contract-stat-cards{grid-template-columns:repeat(6,minmax(125px,1fr))}
.contract-list-table{min-width:960px}
.contract-list-table th:nth-child(1){min-width:145px}
.contract-list-table th:nth-child(2){min-width:165px}
.contract-list-table th:nth-child(3){min-width:150px}
.contract-list-table th:nth-child(4){min-width:180px}
.contract-list-table th:nth-child(5){min-width:145px}
.contract-list-table th:last-child{min-width:175px}
.contract-date-pair{display:block}
.contract-date-pair+.contract-date-pair{margin-top:7px}
.contract-date-pair small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.contract-row-actions{margin-top:0;flex-wrap:wrap;gap:7px}
@media(max-width:1180px){.contract-stat-cards{grid-template-columns:repeat(3,minmax(125px,1fr))}}
@media(max-width:720px){.contract-stat-cards{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.contract-stat-cards{grid-template-columns:1fr}}

/* Version 0.8.48 – sichtbare Bestätigung der Kautionszahlung */
.invoice-deposit-status-card small{display:block;margin-top:7px;color:var(--muted);font-size:.78rem}
.invoice-deposit-status-card .badge{display:inline-flex;font-size:.78rem}
.invoice-deposit-section,.invoice-deposit-confirm-form{scroll-margin-top:90px}
.invoice-deposit-confirm-form{border:2px solid rgba(209,0,120,.42);background:#fff7fb;box-shadow:0 5px 18px rgba(209,0,120,.08)}
.invoice-deposit-confirm-form .invoice-booking-form-title strong{font-size:1.08rem}

/* Version 0.8.44 – einheitliche Magenta-Buttons in Kunden, Reservierungen, Angeboten und Rechnungen */
.module-magenta-buttons .button,
.module-magenta-buttons .button.light,
.module-magenta-buttons .button.secondary,
.module-magenta-buttons .button.danger{
  background:var(--pink);
  border-color:var(--pink);
  color:#fff;
  box-shadow:0 2px 5px rgba(209,0,120,.18);
}
.module-magenta-buttons .button:hover,
.module-magenta-buttons .button.light:hover,
.module-magenta-buttons .button.secondary:hover,
.module-magenta-buttons .button.danger:hover{
  background:#b80069;
  border-color:#b80069;
  color:#fff;
}
.module-magenta-buttons .button:active,
.module-magenta-buttons .button.light:active,
.module-magenta-buttons .button.secondary:active,
.module-magenta-buttons .button.danger:active,
.module-magenta-buttons .button.is-active,
.module-magenta-buttons .button[aria-current="page"]{
  background:var(--black);
  border-color:var(--black);
  color:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.28);
}
.module-magenta-buttons .reservation-view-tabs a{
  background:var(--pink);
  border-color:var(--pink);
  color:#fff;
}
.module-magenta-buttons .reservation-view-tabs a:hover{
  background:#b80069;
  border-color:#b80069;
  color:#fff;
}
.module-magenta-buttons .reservation-view-tabs a.active,
.module-magenta-buttons .reservation-view-tabs a:active{
  background:var(--black);
  border-color:var(--black);
  color:#fff;
}
.module-magenta-buttons .reservation-view-tabs span{
  background:rgba(255,255,255,.22);
}
.module-magenta-buttons .offer-stat-card{
  background:var(--pink);
  border-color:var(--pink);
  color:#fff;
  box-shadow:0 2px 5px rgba(209,0,120,.14);
}
.module-magenta-buttons .offer-stat-card strong{
  color:#fff;
}
.module-magenta-buttons .offer-stat-card:hover{
  background:#b80069;
  border-color:#b80069;
  color:#fff;
}
.module-magenta-buttons .offer-stat-card.active,
.module-magenta-buttons .offer-stat-card:active{
  background:var(--black);
  border-color:var(--black);
  color:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.24);
}

/* Version 0.8.45 – Rechnungsaktionen untereinander und gleich groß */
.invoice-list-table th:last-child,
.invoice-list-table td:last-child{
  width:126px;
  min-width:126px;
}
.invoice-row-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  width:104px;
  margin:0 auto;
}
.invoice-row-actions .button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:38px;
  padding:8px 7px;
  text-align:center;
}

/* Version 0.8.46 – eindeutiger Druckstatus der Mietverträge */
.contract-stat-cards{
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
}
.badge.contract-printed{
  background:var(--red);
  color:#fff;
}
.badge.contract-not-printed{
  background:var(--green);
  color:#fff;
}

/* Version 0.8.54 – mobile Mietvertragsübersicht ohne seitliches Scrollen */
@media(max-width:720px){
  .contract-list-page{padding:16px}
  .contract-list-page .panel-heading{align-items:flex-start;gap:12px}
  .contract-list-page .panel-heading>.button{width:100%;text-align:center}
  .contract-list-page .offer-toolbar{display:grid;grid-template-columns:1fr;gap:12px}
  .contract-list-page .offer-toolbar .field,
  .contract-list-page .offer-toolbar .button{width:100%;min-width:0}
  .contract-list-page .offer-toolbar .field input,
  .contract-list-page .offer-toolbar .field select{width:100%;min-width:0}
  .contract-list-wrap{overflow:visible;padding:0}
  .contract-list-table{display:block;width:100%;min-width:0;table-layout:auto}
  .contract-list-table thead{display:none}
  .contract-list-table tbody{display:grid;gap:12px}
  .contract-list-table tbody tr:not(.contract-empty-row){
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px 10px;
    padding:14px;
    border:1px solid #e3e3e6;
    border-left:4px solid var(--pink);
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.045);
  }
  .contract-list-table tbody tr.archived-row{
    border-left-color:var(--red);
    background:#fafafa;
  }
  .contract-list-table tbody tr:not(.contract-empty-row)>td{
    display:block;
    width:auto;
    min-width:0;
    padding:0;
    border:0;
    white-space:normal;
  }
  .contract-list-table tbody tr:not(.contract-empty-row)>td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#777;
    font-size:10px;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(1){grid-column:1;grid-row:1}
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(1)::before,
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(5)::before,
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(6)::before{display:none}
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(1)>strong{
    display:block;
    font-size:16px;
    overflow-wrap:anywhere;
  }
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(2){
    grid-column:1/-1;
    grid-row:2;
    padding-top:11px;
    border-top:1px solid #eeeeef;
  }
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(3){grid-column:1/-1;grid-row:3}
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(4){
    display:grid;
    grid-column:1/-1;
    grid-row:4;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(4)::before{grid-column:1/-1;margin-bottom:-3px}
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(5){
    grid-column:2;
    grid-row:1;
    text-align:right;
  }
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(6){grid-column:1/-1;grid-row:5}
  .contract-date-pair{
    min-width:0;
    padding:9px 10px;
    border-radius:8px;
    background:#f6f6f8;
    overflow-wrap:anywhere;
  }
  .contract-date-pair+.contract-date-pair{margin-top:0}
  .contract-row-actions{display:grid;grid-template-columns:1fr;width:100%;margin:0}
  .contract-row-actions .button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    min-height:42px;
    padding:8px 7px;
    text-align:center;
  }
  .contract-list-table tbody tr.contract-empty-row{display:block;border:1px solid #e3e3e6;border-radius:12px}
  .contract-list-table tbody tr.contract-empty-row td{display:block;width:100%;padding:0;border:0}
}

@media(max-width:400px){
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(4){grid-template-columns:1fr}
  .contract-list-table tbody tr:not(.contract-empty-row)>td:nth-child(4)::before{grid-column:1}
}

/* Version 0.8.55/0.8.64 – Kartenansichten für Handy und Tablet */
@media(max-width:1180px){
  .offer-list-page,
  .invoice-list-page{padding:16px}
  .offer-list-page .panel-heading,
  .invoice-list-page .panel-heading{align-items:flex-start;gap:12px}
  .offer-list-page .panel-heading>.button,
  .invoice-list-page .panel-heading>.button{width:100%;text-align:center}
  .offer-list-page .offer-toolbar,
  .invoice-list-page .offer-toolbar{display:grid;grid-template-columns:1fr;gap:12px}
  .offer-list-page .offer-toolbar .field,
  .offer-list-page .offer-toolbar .button,
  .invoice-list-page .offer-toolbar .field,
  .invoice-list-page .offer-toolbar .button{width:100%;min-width:0}
  .offer-list-page .offer-toolbar .field input,
  .offer-list-page .offer-toolbar .field select,
  .invoice-list-page .offer-toolbar .field input,
  .invoice-list-page .offer-toolbar .field select{width:100%;min-width:0}
  .offer-list-page .offer-list-wrap,
  .invoice-list-page .invoice-list-wrap{overflow:visible;padding:0}
  .offer-list-page .offer-list-table,
  .invoice-list-page .invoice-list-table{display:block;width:100%;min-width:0;table-layout:auto}
  .offer-list-page .offer-list-table thead,
  .invoice-list-page .invoice-list-table thead{display:none}
  .offer-list-page .offer-list-table tbody,
  .invoice-list-page .invoice-list-table tbody{display:grid;gap:12px}
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row),
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row){
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px 10px;
    padding:14px;
    border:1px solid #e3e3e6;
    border-left:4px solid var(--pink);
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.045);
  }
  .offer-list-page .offer-list-table tbody tr.offer-archived-row,
  .invoice-list-page .invoice-list-table tbody tr.archived-row{
    border-left-color:var(--red);
    background:#fafafa;
  }
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td,
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td{
    position:static;
    right:auto;
    z-index:auto;
    display:block;
    width:auto;
    min-width:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    white-space:normal;
  }
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td::before,
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#777;
    font-size:10px;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(1),
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(1){grid-column:1;grid-row:1}
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(1)::before,
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(5)::before,
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(7)::before,
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(1)::before,
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(5)::before,
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(7)::before{display:none}
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(1)>strong,
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(1)>strong{
    display:block;
    font-size:16px;
    overflow-wrap:anywhere;
  }
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(2),
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(2){
    grid-column:1/-1;
    grid-row:2;
    padding-top:11px;
    border-top:1px solid #eeeeef;
  }
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(3),
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(3){grid-column:1/-1;grid-row:3}
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(4),
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(4){
    display:grid;
    grid-column:1/-1;
    grid-row:4;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(4)::before,
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(4)::before{grid-column:1/-1;margin-bottom:-3px}
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(5),
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(5){
    grid-column:2;
    grid-row:1;
    text-align:right;
  }
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(6),
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(6){
    display:grid;
    grid-column:1/-1;
    grid-row:5;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(6)::before,
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(6)::before{grid-column:1/-1;margin-bottom:-3px}
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(7),
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(7){grid-column:1/-1;grid-row:6}
  .offer-list-page .offer-date-cell>span,
  .invoice-list-page .invoice-date-pair{
    display:block;
    min-width:0;
    padding:9px 10px;
    border-radius:8px;
    background:#f6f6f8;
    overflow-wrap:anywhere;
  }
  .offer-list-page .offer-date-cell>span+span,
  .invoice-list-page .invoice-date-pair+.invoice-date-pair{margin-top:0}
  .offer-list-page .offer-sums-cell>span,
  .invoice-list-page .invoice-amount-cell>span{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    min-height:58px;
    margin:0;
    padding:9px 10px;
    border-radius:8px;
    background:#f6f6f8;
    transform:none;
    overflow-wrap:anywhere;
  }
  .offer-list-page .offer-sums-cell>span.grand,
  .invoice-list-page .invoice-amount-cell>span:first-of-type{
    grid-column:1/-1;
    min-height:62px;
    border:1px solid rgba(209,0,120,.2);
    background:#fff1f8;
    color:var(--pink);
    font-size:16px;
  }
  .offer-list-page .offer-sums-cell>span.grand small,
  .invoice-list-page .invoice-amount-cell>span:first-of-type small{color:#8d165d}
  .offer-list-page .offer-row-actions,
  .invoice-list-page .invoice-row-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    width:100%;
    margin:0;
  }
  .offer-list-page .offer-row-actions .button,
  .invoice-list-page .invoice-row-actions .button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    min-height:42px;
    padding:8px 7px;
    text-align:center;
  }
  .offer-list-page .offer-list-table tbody tr.offer-empty-row,
  .invoice-list-page .invoice-list-table tbody tr.invoice-empty-row{display:block;border:1px solid #e3e3e6;border-radius:12px}
  .offer-list-page .offer-list-table tbody tr.offer-empty-row td,
  .invoice-list-page .invoice-list-table tbody tr.invoice-empty-row td{display:block;width:100%;padding:0;border:0}
}

@media(max-width:400px){
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(4),
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(4){grid-template-columns:1fr}
  .offer-list-page .offer-list-table tbody tr:not(.offer-empty-row)>td:nth-child(4)::before,
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>td:nth-child(4)::before{grid-column:1}
}

/* Version 0.8.33 – gebündelte Archivnavigation */
.sidebar-archive-group{
  margin:4px 0 8px;
  padding:7px 5px 10px;
  border:1px solid #f0dce8;
  border-radius:13px;
  background:linear-gradient(180deg,#fffafd 0%,#fff 100%);
}
.sidebar-folder-title{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 10px 8px;
  color:#8d165d;
}
.sidebar-folder-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
}
.sidebar-folder-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sidebar-sub-link{
  width:calc(100% - 12px);
  margin-left:6px;
  padding-left:14px;
  min-height:39px;
  font-size:13px;
}
.sidebar-sub-link .sidebar-icon{
  width:20px;
  height:20px;
  flex-basis:20px;
}
.sidebar-sub-link .sidebar-icon svg{width:18px;height:18px}
body.sidebar-collapsed .sidebar-archive-group{
  padding:5px 0 8px;
  border-color:#eeeeef;
  background:#fff;
}
body.sidebar-collapsed .sidebar-sub-link{
  width:auto;
  margin-left:0;
  padding-left:10px;
  padding-right:10px;
}
@media(max-width:900px){
  .sidebar-archive-group{margin-left:0;margin-right:0}
  .sidebar-sub-link{width:calc(100% - 12px)}
}

/* Version 0.8.56 – mobile Kartenansicht für Reservierungen */
@media(max-width:720px){
  .reservation-filter-panel,
  .reservation-list-page{padding:16px}
  .reservation-filter-panel .panel-heading{align-items:flex-start;gap:12px}
  .reservation-filter-panel .panel-heading>.button{width:100%;text-align:center}
  .reservation-filter-panel .toolbar{display:grid;grid-template-columns:1fr;gap:12px}
  .reservation-filter-panel .toolbar .field,
  .reservation-filter-panel .toolbar .button{width:100%;min-width:0}
  .reservation-filter-panel .toolbar .field input,
  .reservation-filter-panel .toolbar .field select{width:100%;min-width:0}
  .reservation-list-wrap{overflow:visible;padding:0}
  .reservation-list-page .reservation-table{display:block;width:100%;min-width:0;table-layout:auto}
  .reservation-list-page .reservation-table thead{display:none}
  .reservation-list-page .reservation-table tbody{display:grid;gap:12px}
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row){
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(110px,45%);
    gap:12px 10px;
    padding:14px;
    border:1px solid #e3e3e6;
    border-left:4px solid var(--pink);
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.045);
  }
  .reservation-list-page .reservation-table tbody tr.archived-row{
    border-left-color:var(--red);
    background:#fafafa;
  }
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td{
    display:block;
    width:auto;
    min-width:0;
    padding:0;
    border:0;
    background:transparent;
    white-space:normal;
  }
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#777;
    font-size:10px;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(1){grid-column:1;grid-row:1}
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(1)::before,
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(6)::before,
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(7)::before{display:none}
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(1)>strong{
    display:block;
    font-size:16px;
    overflow-wrap:anywhere;
  }
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(2){
    grid-column:1/-1;
    grid-row:2;
    padding-top:11px;
    border-top:1px solid #eeeeef;
  }
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(3){
    grid-column:1/-1;
    grid-row:3;
    padding:10px 11px;
    border-radius:8px;
    background:#f6f6f8;
    overflow-wrap:anywhere;
  }
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(4){
    grid-column:1;
    grid-row:4;
    padding:9px 10px;
    border-radius:8px;
    background:#f6f6f8;
    text-align:left;
  }
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(5){
    grid-column:2;
    grid-row:4;
    min-width:120px;
    padding:9px 10px;
    border-radius:8px;
    background:#f6f6f8;
  }
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(6){
    grid-column:2;
    grid-row:1;
    text-align:right;
  }
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(7){grid-column:1/-1;grid-row:5}
  .reservation-list-page .reservation-table .archive-reason{
    display:block;
    max-width:100%;
    margin-top:7px;
    text-align:right;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(7) .button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    min-height:42px;
    padding:8px 7px;
    text-align:center;
  }
  .reservation-list-page .reservation-table tbody tr.reservation-empty-row{display:block;border:1px solid #e3e3e6;border-radius:12px}
  .reservation-list-page .reservation-table tbody tr.reservation-empty-row td{display:block;width:100%;padding:0;border:0}
}

@media(max-width:400px){
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(4),
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(5){grid-column:1/-1;min-width:0}
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(4){grid-row:4}
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(5){grid-row:5}
  .reservation-list-page .reservation-table tbody tr:not(.reservation-empty-row)>td:nth-child(7){grid-row:6}
}

/* Version 0.8.57 – sicherer Reset der Betriebs- und Testdaten */
.system-reset-panel{scroll-margin-top:24px;border:2px solid rgba(209,0,120,.22)}
.system-reset-warning{display:grid;gap:7px;line-height:1.5}
.system-reset-warning span{display:block}
.system-reset-step{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin-top:16px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fafafa;
}
.system-reset-step-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--pink);
  color:#fff;
  font-size:18px;
  font-weight:900;
}
.system-reset-step strong,.system-reset-step small{display:block}
.system-reset-step small{margin-top:4px;color:var(--muted);line-height:1.4}
.system-reset-backup{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:16px;
  padding:16px;
  border:1px solid rgba(22,131,79,.3);
  border-left:5px solid #16834f;
  border-radius:12px;
  background:#f7fff9;
}
.system-reset-backup span,.system-reset-backup strong,.system-reset-backup small{display:block}
.system-reset-backup span{font-size:12px;font-weight:850;color:#42604f;text-transform:uppercase;letter-spacing:.04em}
.system-reset-backup strong{margin:5px 0;overflow-wrap:anywhere}
.system-reset-backup small{color:var(--muted)}
.system-reset-confirm-form{margin-top:16px;padding:16px;border:1px solid #e2c1d4;border-radius:12px;background:#fffafd}
.system-reset-confirm-form .system-reset-step{grid-template-columns:42px minmax(0,1fr);margin:0 0 15px;padding:0;border:0;background:transparent}
.system-reset-confirm-form .field{max-width:560px}
.system-reset-checkbox{display:flex;align-items:flex-start;gap:9px;margin:14px 0;font-weight:750;line-height:1.4}
.system-reset-checkbox input{width:18px;height:18px;min-width:18px;margin-top:1px;accent-color:var(--pink)}
.system-reset-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.system-reset-result>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-radius:9px;background:#f6f6f7}
.system-reset-result span{font-size:12px;font-weight:800;color:#666}
.system-reset-result strong{font-size:21px}
.system-reset-restart-form{margin-top:12px}
@media(max-width:720px){
  .system-reset-step{grid-template-columns:38px minmax(0,1fr)}
  .system-reset-step form,.system-reset-step .button{grid-column:1/-1;width:100%}
  .system-reset-backup{align-items:stretch;flex-direction:column}
  .system-reset-backup .button{width:100%}
  .system-reset-result{grid-template-columns:1fr 1fr}
  .system-reset-confirm-form>.button{width:100%}
}
@media(max-width:430px){.system-reset-result{grid-template-columns:1fr}}

/* Version 0.8.59/0.8.60 – Mietvertragswege und einheitliche Auswahlbuttons */
.contract-create-actions{
  width:310px;
  margin-top:0;
  align-items:stretch;
  flex-direction:column;
  flex-wrap:nowrap;
}
.contract-create-actions .button{display:flex;width:100%;min-height:42px;align-items:center;justify-content:center;text-align:center}
.contract-offer-search{align-items:end}
.contract-offer-select-table{min-width:980px}
.contract-offer-select-table td{vertical-align:middle}
.contract-offer-sum{display:block;white-space:nowrap}
.contract-offer-sum+ .contract-offer-sum{margin-top:5px}
.contract-offer-sum small{display:inline-block;min-width:54px;color:var(--muted)}
.direct-rental-page .notice.warning{margin:14px 0 18px}
.direct-rental-page .inline-field select{flex:1;min-width:240px}
.direct-items-table{min-width:920px}
.direct-items-table th:first-child,.direct-items-table td:first-child{min-width:330px}
.direct-items-table th:nth-child(2),.direct-items-table td:nth-child(2){width:82px}
.direct-items-table th:nth-child(3),.direct-items-table td:nth-child(3),
.direct-items-table th:nth-child(4),.direct-items-table td:nth-child(4),
.direct-items-table th:nth-child(5),.direct-items-table td:nth-child(5){width:128px}
.direct-items-table input,.direct-items-table select{width:100%}
.direct-item-remove{width:108px}

@media(max-width:820px){
  .contract-list-page>.panel-heading{align-items:stretch}
  .contract-create-actions{width:100%}
  .contract-create-actions .button{flex:0 0 auto;width:100%;text-align:center}
  .contract-offer-select-wrap,.direct-items-wrap{overflow:visible}
  .contract-offer-select-table,.direct-items-table{display:block;min-width:0;width:100%}
  .contract-offer-select-table thead,.direct-items-table thead{display:none}
  .contract-offer-select-table tbody,.direct-items-table tbody{display:grid;gap:12px}
  .contract-offer-select-table tr:not(.contract-offer-empty),.direct-items-table .direct-item-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px 14px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
  }
  .contract-offer-select-table td,.direct-items-table td{
    display:block;
    width:auto!important;
    min-width:0!important;
    padding:0;
    border:0;
  }
  .contract-offer-select-table td::before,.direct-items-table td[data-label]::before{
    content:attr(data-label);
    display:block;
    margin-bottom:5px;
    color:var(--muted);
    font-size:11px;
    font-weight:850;
    letter-spacing:.025em;
    text-transform:uppercase;
  }
  .contract-offer-select-table td:first-child,.contract-offer-select-table td:nth-child(2),
  .direct-items-table td:first-child{grid-column:1/-1}
  .contract-offer-select-table td:last-child{grid-column:1/-1}
  .contract-offer-select-table td:last-child .button{width:100%;text-align:center}
  .contract-offer-empty{display:block;border:0}
  .contract-offer-empty td{display:block!important}
  .direct-item-remove{grid-column:1/-1}
  .direct-item-remove .button{width:100%}
  .direct-rental-page .inline-field{align-items:stretch;flex-direction:column}
  .direct-rental-page .inline-field select,.direct-rental-page .inline-field .button{width:100%;min-width:0}
}

@media(max-width:480px){
  .contract-offer-select-table tr:not(.contract-offer-empty),.direct-items-table .direct-item-row{grid-template-columns:1fr}
  .contract-offer-select-table td,.direct-items-table td{grid-column:1!important}
}

/* Version 0.8.63/0.8.64 – Rechnungsaktionen auf Handy und Tablet vollständig sichtbar */
.invoice-actions-cell{overflow:visible}

@media(max-width:1180px){
  .invoice-list-page .invoice-list-table tbody tr:not(.invoice-empty-row)>.invoice-actions-cell{
    display:block;
    grid-column:1/-1;
    grid-row:6;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    overflow:visible;
  }
  .invoice-list-page .invoice-actions-cell .invoice-row-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    width:100%!important;
    min-width:0;
    max-width:none;
    margin:0;
    overflow:visible;
  }
  .invoice-list-page .invoice-actions-cell .invoice-row-actions .button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%!important;
    min-width:0;
    max-width:none;
    min-height:44px;
    padding:9px 12px;
    text-align:center;
  }
}

/* Version 0.8.65 – Status einer Reservierung direkt speichern */
.reservation-status-field .reservation-status-save{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:42px;
  margin-top:4px;
  text-align:center;
}

/* Version 0.8.70 – mehrere Artikelbilder und Hauptbildauswahl */
.article-image-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:14px;
  margin:14px 0 20px;
}
.article-image-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:9px;
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 14px rgba(48,34,42,.06);
}
.article-image-card.is-selected-main{border:2px solid var(--pink);padding:9px;box-shadow:0 4px 16px rgba(209,0,120,.16)}
.article-image-card.is-new{border-style:dashed;background:#fffafd}
.article-image-card img{
  display:block;
  width:100%;
  height:150px;
  border-radius:9px;
  background:#f5f1f3;
  object-fit:contain;
}
.article-main-badge,.article-new-badge{
  position:absolute;
  z-index:1;
  top:17px;
  left:17px;
  padding:4px 8px;
  border-radius:99px;
  background:var(--pink);
  color:#fff;
  font-size:11px;
  font-weight:850;
  box-shadow:0 3px 10px rgba(0,0,0,.16);
}
.article-new-badge{background:#403740}
.article-main-choice,.article-remove-choice{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin:0;
  font-size:13px;
  line-height:1.35;
  cursor:pointer;
}
.article-main-choice{font-weight:800;color:var(--pink)}
.article-remove-choice{color:#8a3333}
.article-main-choice input,.article-remove-choice input{flex:0 0 auto;margin-top:2px}
.article-upload-preview:empty{display:none}
.article-upload-preview{grid-column:1/-1;margin-bottom:0}

@media(max-width:680px){
  .article-image-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .article-image-card img{height:125px}
}
@media(max-width:420px){
  .article-image-gallery{grid-template-columns:1fr}
  .article-image-card img{height:190px}
}

/* Version 0.8.71 – einheitliche Rechnungsabschlussfelder auf iPad und Desktop */
.invoice-booking-form .grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:16px;
  row-gap:13px;
  align-items:start;
}
.invoice-booking-form .grid-2>.field{
  width:100%;
  min-width:0;
  max-width:100%;
}
.invoice-booking-form .field input:not([type="checkbox"]):not([type="radio"]),
.invoice-booking-form .field select{
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  height:46px;
  min-height:46px;
  margin:0;
  padding:10px 12px;
  overflow:hidden;
  border:1px solid #bbb;
  border-radius:8px;
  background-color:#fff;
  font:inherit;
  font-size:16px;
  line-height:24px;
}
.invoice-booking-form .field input[type="date"]{
  min-width:0;
  text-align:left;
}
.invoice-booking-form .field input[type="date"]::-webkit-date-and-time-value{
  min-width:0;
  margin:0;
  text-align:left;
}
.invoice-booking-form>.button{margin-top:14px}

@media(max-width:850px){
  .invoice-booking-form .grid-2{grid-template-columns:minmax(0,1fr)}
  .invoice-booking-form .field-wide{grid-column:auto}
}

/* Mobile Korrektur – Mietartikel in neuen und bestehenden Reservierungen */
@media(max-width:1100px), (max-width:1400px) and (pointer:coarse){
  #reservation-form .reservation-items-wrap{
    width:100%;
    max-width:100%;
    padding:0;
    overflow:visible;
  }
  #reservation-form .reservation-items-table{
    display:block;
    width:100%;
    min-width:0;
    table-layout:auto;
  }
  #reservation-form .reservation-items-table thead{display:none}
  #reservation-form .reservation-items-table tbody{
    display:grid;
    gap:14px;
    width:100%;
  }
  #reservation-form .reservation-items-table .item-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px 14px;
    width:100%;
    padding:14px;
    border:1px solid #e1e1e5;
    border-left:4px solid var(--pink);
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.045);
  }
  #reservation-form .reservation-items-table .item-row>td{
    display:block;
    width:auto!important;
    min-width:0;
    padding:0;
    border:0;
    white-space:normal;
  }
  #reservation-form .reservation-items-table .item-row>td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:5px;
    color:#666;
    font-size:11px;
    font-weight:850;
    letter-spacing:.035em;
    text-transform:uppercase;
  }
  #reservation-form .reservation-items-table .item-row>td:first-child,
  #reservation-form .reservation-items-table .item-row>.availability-cell,
  #reservation-form .reservation-items-table .item-row>td:last-child{
    grid-column:1/-1;
  }
  #reservation-form .reservation-items-table select,
  #reservation-form .reservation-items-table input{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
  }
  #reservation-form .reservation-items-table .remove-row{width:100%}
  #reservation-form .reservation-item-actions{width:100%}
  #reservation-form #add-item{width:100%;text-align:center}
}

@media(max-width:600px){
  #reservation-form .reservation-items-table .item-row{grid-template-columns:minmax(0,1fr)}
  #reservation-form .reservation-items-table .item-row>td{grid-column:1!important}
}

/* Mobile Korrektur – Kundenverwaltung vollständig im Sichtbereich */
@media(max-width:1100px), (max-width:1400px) and (pointer:coarse){
  .customer-list-wrap{
    width:100%;
    max-width:100%;
    overflow:visible;
  }
  .customer-list-wrap .customer-table{
    display:block;
    width:100%;
    min-width:0;
    table-layout:auto;
  }
  .customer-list-wrap .customer-table thead{display:none}
  .customer-list-wrap .customer-table tbody{
    display:grid;
    gap:14px;
    width:100%;
  }
  .customer-list-wrap .customer-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px 14px;
    width:100%;
    padding:14px;
    border:1px solid #e1e1e5;
    border-left:4px solid var(--pink);
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.045);
  }
  .customer-list-wrap .customer-row>td{
    display:block;
    width:auto!important;
    min-width:0;
    padding:0;
    border:0;
    text-align:left;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .customer-list-wrap .customer-row>td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:5px;
    color:#666;
    font-size:11px;
    font-weight:850;
    letter-spacing:.035em;
    text-transform:uppercase;
  }
  .customer-list-wrap .customer-row>td:nth-child(2),
  .customer-list-wrap .customer-row>td:nth-child(5),
  .customer-list-wrap .customer-row>td:last-child{
    grid-column:1/-1;
  }
  .customer-list-wrap .customer-row .button{width:100%;text-align:center}
  .customer-list-wrap .customer-empty-row{display:block}
  .customer-list-wrap .customer-empty-row>td{display:block;white-space:normal}
}

@media(max-width:600px){
  .customer-list-wrap .customer-row{grid-template-columns:minmax(0,1fr)}
  .customer-list-wrap .customer-row>td{grid-column:1!important}
}

/* Mobile Korrektur – Angebote in der Reservierungsansicht */
@media(max-width:1100px), (max-width:1400px) and (pointer:coarse){
  .reservation-offers-panel .reservation-offers-wrap{
    width:100%;
    max-width:100%;
    overflow:visible;
  }
  .reservation-offers-panel .reservation-offers-table{
    display:block;
    width:100%;
    min-width:0;
    table-layout:auto;
  }
  .reservation-offers-panel .reservation-offers-table thead{display:none}
  .reservation-offers-panel .reservation-offers-table tbody{
    display:grid;
    gap:14px;
    width:100%;
  }
  .reservation-offers-panel .reservation-offer-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px 14px;
    width:100%;
    padding:14px;
    border:1px solid #e1e1e5;
    border-left:4px solid var(--pink);
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.045);
  }
  .reservation-offers-panel .reservation-offer-row.offer-archived-row{
    border-left-color:var(--red);
    background:#fafafa;
  }
  .reservation-offers-panel .reservation-offer-row>td{
    display:block;
    position:static!important;
    width:auto!important;
    min-width:0;
    padding:0;
    border:0;
    background:transparent!important;
    box-shadow:none!important;
    text-align:left;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .reservation-offers-panel .reservation-offer-row>td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:5px;
    color:#666;
    font-size:11px;
    font-weight:850;
    letter-spacing:.035em;
    text-transform:uppercase;
  }
  .reservation-offers-panel .reservation-offer-row>td:nth-child(1),
  .reservation-offers-panel .reservation-offer-row>td:nth-child(4),
  .reservation-offers-panel .reservation-offer-row>td:nth-child(8){grid-column:1/-1}
  .reservation-offers-panel .reservation-offer-row .offer-archive-reason{max-width:100%}
  .reservation-offers-panel .reservation-offer-row .offer-row-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    width:100%;
    margin:0;
  }
  .reservation-offers-panel .reservation-offer-row .offer-row-actions .button{
    width:100%;
    min-width:0;
    text-align:center;
  }
}

@media(max-width:600px){
  .reservation-offers-panel .reservation-offer-row{grid-template-columns:minmax(0,1fr)}
  .reservation-offers-panel .reservation-offer-row>td{grid-column:1!important}
}

/* Mobile Korrektur – kompakte Artikelverwaltung */
@media(max-width:1100px), (max-width:1400px) and (pointer:coarse){
  .article-list-panel .article-table-wrap{
    width:100%;
    max-width:100%;
    padding:0;
    overflow:visible;
  }
  .article-list-panel .article-table{
    display:block;
    width:100%;
    min-width:0;
    table-layout:auto;
  }
  .article-list-panel .article-table thead{display:none}
  .article-list-panel .article-table tbody{
    display:grid;
    gap:12px;
    width:100%;
  }
  .article-list-panel .article-row{
    display:grid;
    grid-template-columns:104px minmax(220px,1fr) minmax(105px,130px) minmax(105px,130px);
    grid-template-rows:auto auto auto;
    column-gap:16px;
    row-gap:10px;
    align-items:start;
    width:100%;
    padding:14px 16px;
    border:1px solid #e1e1e5;
    border-left:4px solid var(--pink);
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.045);
  }
  .article-list-panel .article-row>td{
    display:block;
    position:static!important;
    width:auto!important;
    min-width:0!important;
    max-width:none;
    padding:0;
    border:0;
    background:transparent!important;
    box-shadow:none!important;
    text-align:left!important;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .article-list-panel .article-row>td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:3px;
    color:#6b6b70;
    font-size:10px;
    font-weight:850;
    letter-spacing:.045em;
    text-transform:uppercase;
  }
  .article-list-panel .article-row>td:nth-child(1){grid-column:1;grid-row:1/3}
  .article-list-panel .article-row>td:nth-child(2){grid-column:1;grid-row:3}
  .article-list-panel .article-row>td:nth-child(3){grid-column:2;grid-row:1}
  .article-list-panel .article-row>td:nth-child(4){grid-column:2;grid-row:2}
  .article-list-panel .article-row>td:nth-child(5){grid-column:2;grid-row:3}
  .article-list-panel .article-row>td:nth-child(6){grid-column:3;grid-row:1}
  .article-list-panel .article-row>td:nth-child(7){grid-column:4;grid-row:1}
  .article-list-panel .article-row>td:nth-child(8){grid-column:3;grid-row:2}
  .article-list-panel .article-row>td:nth-child(9){grid-column:4;grid-row:2}
  .article-list-panel .article-row>td:nth-child(10){grid-column:3/5;grid-row:3;align-self:end}
  .article-list-panel .article-row>td:nth-child(6),
  .article-list-panel .article-row>td:nth-child(7),
  .article-list-panel .article-row>td:nth-child(8),
  .article-list-panel .article-row>td:nth-child(9){
    min-height:56px!important;
    padding:8px 10px;
    border-radius:8px;
    background:#f6f6f8!important;
  }
  .article-list-panel .article-row .article-thumb{width:96px;height:76px}
  .article-list-panel .article-row .symbol-thumb{width:48px;height:48px}
  .article-list-panel .article-row .article-name-cell>strong{
    display:block;
    width:100%;
    overflow:visible;
    font-size:16px;
    line-height:1.3;
    -webkit-line-clamp:unset;
  }
  .article-list-panel .article-row .article-short{
    display:-webkit-box;
    width:100%;
    margin-top:4px;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .article-list-panel .article-row .button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:40px;
    padding:8px 12px;
    text-align:center;
  }
  .article-list-panel .article-empty-row{display:block}
  .article-list-panel .article-empty-row>td{display:block;width:100%;white-space:normal}
}

@media(max-width:680px){
  .article-list-panel{padding:16px}
  .article-list-panel .article-row{
    grid-template-columns:90px minmax(0,1fr);
    grid-template-rows:auto;
    column-gap:12px;
    row-gap:10px;
    padding:13px;
  }
  .article-list-panel .article-row>td:nth-child(1){grid-column:1;grid-row:1/3}
  .article-list-panel .article-row>td:nth-child(2){grid-column:1;grid-row:3}
  .article-list-panel .article-row>td:nth-child(3){grid-column:2;grid-row:1}
  .article-list-panel .article-row>td:nth-child(4){grid-column:2;grid-row:2}
  .article-list-panel .article-row>td:nth-child(5){grid-column:2;grid-row:3}
  .article-list-panel .article-row>td:nth-child(6){grid-column:1;grid-row:4}
  .article-list-panel .article-row>td:nth-child(7){grid-column:2;grid-row:4}
  .article-list-panel .article-row>td:nth-child(8){grid-column:1;grid-row:5}
  .article-list-panel .article-row>td:nth-child(9){grid-column:2;grid-row:5}
  .article-list-panel .article-row>td:nth-child(10){grid-column:1/3;grid-row:6}
  .article-list-panel .article-row .article-thumb{width:82px;height:64px}
  .article-list-panel .article-row .article-name-cell>strong{font-size:15px}
}

/* Version 0.8.73 – WhatsApp-Benachrichtigung */
.whatsapp-settings-panel{border-top:5px solid #25d366}
.whatsapp-number-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-bottom:20px;background:#eefbf3;color:#174d2b}
.whatsapp-number-route div{display:grid;gap:4px}
.whatsapp-number-route small{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.whatsapp-number-route strong{font-size:18px}
.whatsapp-number-route>span{font-size:24px;font-weight:900;color:#128c4e}
.whatsapp-template-preview{margin-top:16px;padding:15px 16px;border:1px solid #cfe8d8;border-radius:10px;background:#f5fcf7}
.whatsapp-template-preview>strong,.whatsapp-template-preview>small{display:block}
.whatsapp-template-preview p{margin:10px 0;line-height:1.55}
.whatsapp-template-preview small{color:#52635a}
.whatsapp-test-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.whatsapp-log-table td{white-space:normal;vertical-align:middle}
.whatsapp-log-table td:last-child{overflow-wrap:anywhere}
@media(max-width:650px){
  .whatsapp-number-route{grid-template-columns:1fr;gap:10px}
  .whatsapp-number-route>span{transform:rotate(90deg);justify-self:start}
  .whatsapp-settings-form .actions,.whatsapp-settings-form .actions .button,.whatsapp-test-form .button{width:100%}
  .whatsapp-log-table{min-width:660px}
}

/* Version 0.8.74 – interne Zubehörverwaltung */
.accessory-overview-panel,.accessory-form-panel,.accessory-upgrade-panel{border-top:5px solid var(--pink)}
.accessory-internal-notice{margin:16px 0}
.accessory-toolbar{align-items:end}
.accessory-toolbar .field:first-child{min-width:250px;flex:1.2}
.accessory-toolbar .field:nth-child(2){min-width:270px;flex:1.5}
.accessory-toolbar .field:nth-child(3){min-width:150px}
.accessory-card-grid{display:grid;gap:14px}
.accessory-card{display:grid;grid-template-columns:140px minmax(0,1fr) 122px;gap:18px;align-items:start;margin:0;padding:16px;border-left:4px solid var(--pink)}
.accessory-card-image{display:flex;align-items:center;justify-content:center;width:140px;height:112px;overflow:hidden;border:1px solid #e4e4e8;border-radius:10px;background:#f7f7f9}
.accessory-card-image img{display:block;width:100%;height:100%;object-fit:contain}
.accessory-card-main{min-width:0}
.accessory-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.accessory-card-heading h2{margin:2px 0 0;font-size:18px;line-height:1.25}
.accessory-number{color:var(--pink);font-size:13px;letter-spacing:.035em}
.accessory-description{margin:8px 0;color:#4f4f54;line-height:1.45}
.accessory-facts{display:flex;gap:22px;flex-wrap:wrap;margin:10px 0 0}
.accessory-facts div{display:grid;gap:2px}
.accessory-facts dt{color:#6b6b70;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.accessory-facts dd{margin:0;font-weight:750}
.accessory-assignments{margin-top:12px;padding-top:10px;border-top:1px solid #e4e4e8}
.accessory-assignments>strong{display:block;margin-bottom:5px;font-size:12px;text-transform:uppercase;letter-spacing:.035em}
.accessory-assignments ul{display:flex;gap:6px 14px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.accessory-assignments li{position:relative;padding-left:13px;color:#444;font-size:13px}
.accessory-assignments li::before{content:'•';position:absolute;left:0;color:var(--pink);font-weight:900}
.accessory-card-action{align-self:end}
.accessory-card-action .button{width:100%;text-align:center}
.accessory-empty{margin:0}

.accessory-image-editor{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;align-items:start}
.accessory-image-editor>img{display:block;width:160px;height:125px;object-fit:contain;border:1px solid #dedee2;border-radius:10px;background:#f7f7f9}
.accessory-remove-image{display:flex!important;align-items:center;gap:8px;margin-top:12px;font-weight:700!important}
.accessory-remove-image input{width:auto}
.accessory-assignment-section>.muted{margin-top:-4px}
.accessory-assignment-list{display:grid;gap:10px;margin:14px 0}
.accessory-assignment-row{display:grid;grid-template-columns:minmax(240px,1.45fr) 125px minmax(220px,1fr) auto;gap:12px;align-items:end;padding:12px;border:1px solid #dedee3;border-radius:10px;background:#fafafd}
.accessory-assignment-row .field{margin:0;min-width:0}
.accessory-assignment-row select,.accessory-assignment-row input{width:100%;min-width:0}
.accessory-remove-assignment{min-height:42px;white-space:nowrap}
.accessory-remove-assignment:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:1050px){
  .accessory-assignment-row{grid-template-columns:minmax(0,1fr) 130px}
  .accessory-assignment-note{grid-column:1}
  .accessory-remove-assignment{grid-column:2}
}

@media(max-width:820px){
  .accessory-card{grid-template-columns:120px minmax(0,1fr);gap:14px}
  .accessory-card-image{width:120px;height:96px}
  .accessory-card-action{grid-column:1/-1}
  .accessory-card-action .button{min-height:42px}
  .accessory-toolbar .field{min-width:100%!important;width:100%}
}

@media(max-width:600px){
  .accessory-overview-panel,.accessory-form-panel{padding:16px}
  .accessory-card{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:13px}
  .accessory-card-image{width:88px;height:76px}
  .accessory-card-heading{display:grid;gap:7px}
  .accessory-card-heading h2{font-size:16px}
  .accessory-description,.accessory-assignments{grid-column:1/-1}
  .accessory-facts{gap:12px}
  .accessory-image-editor{grid-template-columns:1fr}
  .accessory-image-editor>img{width:100%;max-width:220px;height:155px}
  .accessory-assignment-row{grid-template-columns:1fr;padding:11px}
  .accessory-assignment-note,.accessory-remove-assignment{grid-column:1}
  .accessory-assignment-section>.button,.accessory-form-panel .sticky-actions .button{width:100%}
}

/* Version 0.8.76 – persönliche Eigenreservierungen */
.private-reservation-overview-panel,.private-reservation-list-panel,.private-reservation-form-panel,.private-reservation-upgrade-panel{border-top:5px solid var(--pink)}
.private-reservation-notice{border:1px solid #efbad8;background:#fff3fa;color:#5b1740}
.private-reservation-toolbar{margin-top:16px}
.private-reservation-table{min-width:1020px}
.private-reservation-table td{vertical-align:middle}
.private-reservation-items-table{min-width:860px;table-layout:fixed}
.private-reservation-items-table th:nth-child(1),.private-reservation-items-table td:nth-child(1){width:390px}
.private-reservation-items-table th:nth-child(2),.private-reservation-items-table td:nth-child(2){width:90px}
.private-reservation-items-table th:nth-child(3),.private-reservation-items-table td:nth-child(3){width:155px}
.private-reservation-items-table th:nth-child(4),.private-reservation-items-table td:nth-child(4){width:130px}
.private-reservation-items-table th:nth-child(5),.private-reservation-items-table td:nth-child(5){width:120px}
.private-reservation-items-table td{white-space:normal;vertical-align:middle}
.private-reservation-items-table select,.private-reservation-items-table input{width:100%;min-width:0;padding:9px;border:1px solid #bbb;border-radius:8px;font:inherit}
.private-free-label{display:block;color:var(--pink);font-size:16px}
.private-reservation-items-table td small{display:block;margin-top:3px;color:#666}
.private-reservation-item-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:16px}
.private-cost-box{display:grid;grid-template-columns:auto auto;gap:4px 24px;min-width:310px;padding:14px 16px;border:1px solid #efbad8;border-radius:10px;background:#fff3fa}
.private-cost-box>span{font-weight:800}
.private-cost-box>strong{justify-self:end;color:var(--pink);font-size:20px}
.private-cost-box>small{grid-column:1/-1;color:#666;text-align:right}
.private-reservation-delete-panel{border-left:5px solid var(--red)}

@media(max-width:1100px), (max-width:1400px) and (pointer:coarse){
  .private-reservation-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .private-reservation-toolbar .field,.private-reservation-toolbar .button{width:100%;min-width:0}
  .private-reservation-toolbar input,.private-reservation-toolbar select{width:100%;min-width:0}
  .private-reservation-toolbar .private-filter-search{grid-column:1/-1;grid-row:1}
  .private-reservation-toolbar .private-filter-status{grid-column:1/-1;grid-row:2}
  .private-reservation-toolbar .private-filter-from{grid-column:1;grid-row:3}
  .private-reservation-toolbar .private-filter-to{grid-column:2;grid-row:3}
  .private-reservation-toolbar .private-filter-submit{grid-column:1;grid-row:4}
  .private-reservation-toolbar .private-filter-reset{grid-column:2;grid-row:4}
  .private-reservation-toolbar .private-filter-from,.private-reservation-toolbar .private-filter-to,.private-reservation-toolbar .private-filter-submit,.private-reservation-toolbar .private-filter-reset{width:100%;min-width:0;max-width:100%;justify-self:stretch}
  .private-reservation-toolbar .private-filter-from,.private-reservation-toolbar .private-filter-to{min-width:0!important;max-width:100%!important;overflow:hidden}
  .private-reservation-toolbar .private-filter-from input[type="date"],.private-reservation-toolbar .private-filter-to input[type="date"],.private-reservation-toolbar .private-filter-submit,.private-reservation-toolbar .private-filter-reset{width:100%;height:46px;min-height:46px;max-height:46px;margin:0;padding:0 12px;box-sizing:border-box}
  .private-reservation-toolbar .private-filter-from input[type="date"],.private-reservation-toolbar .private-filter-to input[type="date"]{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;inline-size:100%!important;min-inline-size:0!important;max-inline-size:100%!important;-webkit-min-logical-width:0!important;padding:0 7px;font-size:14px;box-sizing:border-box!important}
  .private-reservation-toolbar input[type="date"]::-webkit-date-and-time-value{min-width:0;margin:0;text-align:left}
  .private-reservation-toolbar input[type="date"]::-webkit-calendar-picker-indicator{flex:0 0 18px;width:18px;height:18px;margin:0;padding:0}
  .private-reservation-toolbar .private-filter-submit,.private-reservation-toolbar .private-filter-reset{display:flex;align-items:center;justify-content:center;text-align:center}
  .private-reservation-list-wrap,.private-reservation-items-wrap{overflow:visible}
  .private-reservation-table,.private-reservation-items-table{display:block;width:100%;min-width:0;table-layout:auto}
  .private-reservation-table thead,.private-reservation-items-table thead{display:none}
  .private-reservation-table tbody,.private-reservation-items-table tbody{display:grid;gap:12px}
  .private-reservation-table tbody tr:not(.private-reservation-empty-row),.private-reservation-items-table .private-item-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #e1e1e5;border-left:4px solid var(--pink);border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.045)}
  .private-reservation-table tbody tr.archived-row{border-left-color:#999;background:#fbfbfc}
  .private-reservation-table tbody tr:not(.private-reservation-empty-row)>td,.private-reservation-items-table .private-item-row>td{display:block;width:auto!important;min-width:0;padding:0;border:0;background:transparent;white-space:normal;overflow-wrap:anywhere}
  .private-reservation-table tbody tr:not(.private-reservation-empty-row)>td::before,.private-reservation-items-table .private-item-row>td::before{content:attr(data-label);display:block;margin-bottom:4px;color:#6b6b70;font-size:10px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
  .private-reservation-table tbody tr:not(.private-reservation-empty-row)>td:first-child,.private-reservation-items-table .private-item-row>td:first-child{grid-column:1/-1}
  .private-reservation-table tbody tr:not(.private-reservation-empty-row)>td:last-child,.private-reservation-items-table .private-item-row>td:last-child{grid-column:1/-1}
  .private-reservation-table .button,.private-reservation-items-table .button{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px}
  .private-reservation-empty-row{display:block;border:1px solid #e1e1e5;border-radius:12px}
  .private-reservation-empty-row td{display:block;width:100%;padding:0;border:0}
  .private-reservation-item-actions{flex-direction:column}
  .private-cost-box{width:100%;min-width:0}
}

@media(max-width:650px){
  .private-reservation-overview-panel,.private-reservation-list-panel,.private-reservation-form-panel{padding:16px}
  .private-reservation-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px}
  .private-reservation-toolbar .private-filter-from input[type="date"],.private-reservation-toolbar .private-filter-to input[type="date"]{padding:0 4px;font-size:13px}
  .private-reservation-table tbody tr:not(.private-reservation-empty-row),.private-reservation-items-table .private-item-row{grid-template-columns:1fr;padding:13px}
  .private-reservation-table tbody tr:not(.private-reservation-empty-row)>td,.private-reservation-items-table .private-item-row>td{grid-column:1!important}
  .private-reservation-overview-panel .panel-heading,.private-reservation-form-panel .panel-heading{align-items:stretch}
  .private-reservation-overview-panel .panel-heading .button,.private-reservation-form-panel .panel-heading .button,.private-reservation-form-panel .sticky-actions .button{width:100%;text-align:center}
}
