: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.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}
}

/* === AILENDO DEV 0.3.6 DASHBOARD LAYOUT BEGIN === */

:root{
  --ailendo-ui-control-h:46px;
  --ailendo-ui-action-w:142px;
}

/* Das zusätzliche Logo im Begrüßungsbereich bleibt entfernt. */
.dashboard-welcome-logo{
  display:none !important;
}

/*
 * iPad quer / Desktop:
 * Rechte Dashboardhälfte bekommt eine feste, kontrollierte Gesamtbreite.
 * 368 Kalender + 12 Abstand + 190 Uhr = 570 px.
 * Dadurch kann nichts mehr rechts aus dem Container laufen.
 */
.dashboard-welcome{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 570px !important;
  grid-template-areas:
    "heading heading"
    "agenda datetime" !important;
  column-gap:24px !important;
  row-gap:14px !important;
  align-items:stretch !important;
  min-width:0 !important;
  overflow:hidden !important;
  padding:18px 24px 22px !important;
}

.dashboard-welcome-heading{
  grid-area:heading !important;
}

.dashboard-agenda-card{
  grid-area:agenda !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:100% !important;
}

.dashboard-datetime{
  grid-area:datetime !important;
  display:grid !important;
  grid-template-columns:368px 190px !important;
  gap:12px !important;
  width:570px !important;
  min-width:570px !important;
  max-width:570px !important;
  margin:0 !important;
  align-items:stretch !important;
  justify-content:start !important;
  overflow:hidden !important;
}

.dashboard-datetime-card,
.dashboard-calendar-card,
.dashboard-clock-card{
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
  height:100% !important;
}

.dashboard-calendar-card{
  width:368px !important;
  min-width:368px !important;
  max-width:368px !important;
  overflow:hidden !important;
}

.dashboard-clock-card{
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
  padding-left:14px !important;
  padding-right:14px !important;
  overflow:hidden !important;
}

.dashboard-clock-time{
  font-size:30px !important;
}

.dashboard-clock-date{
  font-size:10px !important;
  white-space:nowrap !important;
}

/* Falls der Kalender intern eine Mindestbreite mitbringt, darf sie den Rahmen nicht sprengen. */
.dashboard-calendar-card *{
  max-width:100%;
  box-sizing:border-box;
}

/* Kleinere Desktop-/Tabletbreiten */
@media(max-width:1180px) and (min-width:981px){
  .dashboard-welcome{
    grid-template-columns:minmax(0,1fr) 530px !important;
    column-gap:18px !important;
  }
  .dashboard-datetime{
    grid-template-columns:338px 180px !important;
    width:530px !important;
    min-width:530px !important;
    max-width:530px !important;
  }
  .dashboard-calendar-card{
    width:338px !important;
    min-width:338px !important;
    max-width:338px !important;
  }
  .dashboard-clock-card{
    width:180px !important;
    min-width:180px !important;
    max-width:180px !important;
  }
}

/* Tablet hoch / schmaler: Aufgaben oben, Datum darunter */
@media(max-width:980px){
  .dashboard-welcome{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "heading"
      "agenda"
      "datetime" !important;
    overflow:visible !important;
  }
  .dashboard-datetime{
    grid-template-columns:minmax(0,1fr) 180px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:visible !important;
  }
  .dashboard-calendar-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
  .dashboard-clock-card{
    width:180px !important;
    min-width:180px !important;
    max-width:180px !important;
  }
}

/* Smartphone */
@media(max-width:520px){
  .dashboard-welcome{
    padding:16px !important;
    gap:13px !important;
  }
  .dashboard-datetime{
    grid-template-columns:1fr !important;
  }
  .dashboard-clock-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
  .dashboard-clock-date{
    white-space:normal !important;
  }
}

/* Bisherige Vereinheitlichung der markierten Formularelemente beibehalten. */
.toolbar{align-items:end !important;}
.toolbar .field input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
.toolbar .field select,
.toolbar > input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.toolbar > select,
input[type="date"]{
  box-sizing:border-box !important;
  height:var(--ailendo-ui-control-h) !important;
  min-height:var(--ailendo-ui-control-h) !important;
}
.toolbar .button,
.toolbar button,
.toolbar a.button{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:var(--ailendo-ui-action-w) !important;
  min-width:var(--ailendo-ui-action-w) !important;
  height:var(--ailendo-ui-control-h) !important;
  min-height:var(--ailendo-ui-control-h) !important;
  padding:0 14px !important;
  white-space:nowrap !important;
}
input[type="color"]{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  height:var(--ailendo-ui-control-h) !important;
  min-height:var(--ailendo-ui-control-h) !important;
  padding:4px 7px !important;
}
input[type="file"]{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:var(--ailendo-ui-control-h) !important;
  min-height:var(--ailendo-ui-control-h) !important;
  padding:5px 8px !important;
}
input[type="file"]::file-selector-button{
  height:32px !important;
  min-height:32px !important;
  padding:0 13px !important;
}

@media(max-width:520px){
  .toolbar .button,
  .toolbar button,
  .toolbar a.button{
    width:100% !important;
    min-width:0 !important;
  }
}

/* === AILENDO DEV 0.3.6 DASHBOARD LAYOUT END === */

/* === AILENDO DEV 0.3.7 GLOBAL HEADER BEGIN === */

/*
 * Verbindlicher AILENDO AH Kopfbereich für ALLE internen Seiten:
 * Original AILENDO Logo -> Trenner -> AH Anhängervermietung.
 * Der jeweilige Seitentitel steht unabhängig davon exakt mittig.
 */
.app-topbar{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
}

.app-brand-cluster{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  flex:0 0 auto !important;
  min-width:0 !important;
  margin-left:0 !important;
}

.app-topbar .ailendo-master-brand{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  text-decoration:none !important;
}

.app-topbar .ailendo-master-brand img{
  display:block !important;
  width:225px !important;
  height:auto !important;
  max-height:66px !important;
  object-fit:contain !important;
}

.app-brand-divider{
  display:block !important;
  width:1px !important;
  height:58px !important;
  flex:0 0 1px !important;
  background:#cbd3dc !important;
}

.app-module-brand{
  display:block !important;
  width:72px !important;
  height:82px !important;
  flex:0 0 72px !important;
  object-fit:cover !important;
  border-radius:8px !important;
}

/* Seitentitel auf jeder Seite exakt in der Mitte des Kopfbereichs. */
.app-page-title{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:auto !important;
  max-width:32vw !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  z-index:1 !important;
}

/* Aktionen bleiben rechts. */
.app-topbar-actions{
  margin-left:auto !important;
  position:relative !important;
  z-index:2 !important;
}

/* Alte Logo-/Marken-Elemente im authentifizierten Kopf dürfen nicht zusätzlich erscheinen. */
.app-brand-mark{
  display:none !important;
}

/* iPad / kleinere Desktopbreiten */
@media(max-width:1180px){
  .app-brand-cluster{
    gap:10px !important;
  }
  .app-topbar .ailendo-master-brand img{
    width:190px !important;
  }
  .app-brand-divider{
    height:52px !important;
  }
  .app-module-brand{
    width:64px !important;
    height:73px !important;
    flex-basis:64px !important;
  }
  .app-page-title{
    max-width:26vw !important;
  }
}

/* Schmale Tablets: Branding kompakter, Reihenfolge bleibt identisch. */
@media(max-width:900px){
  .app-topbar .ailendo-master-brand img{
    width:155px !important;
  }
  .app-brand-divider{
    height:44px !important;
  }
  .app-module-brand{
    width:54px !important;
    height:62px !important;
    flex-basis:54px !important;
  }
  .app-page-title{
    font-size:18px !important;
    max-width:22vw !important;
  }
}

/* Smartphone: Platz sparen, ohne die Markenreihenfolge zu ändern. */
@media(max-width:640px){
  .app-brand-cluster{
    gap:6px !important;
  }
  .app-topbar .ailendo-master-brand img{
    width:118px !important;
  }
  .app-brand-divider{
    height:36px !important;
  }
  .app-module-brand{
    width:42px !important;
    height:48px !important;
    flex-basis:42px !important;
  }
  .app-page-title{
    display:none !important;
  }
}

/* === AILENDO DEV 0.3.7 GLOBAL HEADER END === */

/* === AILENDO DEV 0.3.8 DATE HEIGHT FIX BEGIN === */

/*
 * iPad/Safari stellt type=date teilweise deutlich höher dar als normale
 * Text- und Selectfelder. Im Reservierungsfilter erzwingen wir deshalb
 * exakt die AILENDO-Standardhöhe.
 */
.reservation-filter-panel .toolbar .field input[type="date"],
.reservations-filter-panel .toolbar .field input[type="date"],
.reservation-toolbar .field input[type="date"]{
  box-sizing:border-box !important;
  display:block !important;
  width:150px !important;
  min-width:150px !important;
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  padding:0 12px !important;
  margin:0 !important;
  border:1px solid #bbb !important;
  border-radius:8px !important;
  background:#fff !important;
  font:inherit !important;
  font-size:16px !important;
  line-height:44px !important;
  vertical-align:middle !important;
}

/* Safari/iPad: inneren Datumsbereich ebenfalls auf normale Feldhöhe begrenzen */
.reservation-filter-panel .toolbar input[type="date"]::-webkit-date-and-time-value,
.reservations-filter-panel .toolbar input[type="date"]::-webkit-date-and-time-value,
.reservation-toolbar input[type="date"]::-webkit-date-and-time-value{
  min-height:0 !important;
  height:auto !important;
  line-height:normal !important;
  padding:0 !important;
  margin:0 !important;
  text-align:left !important;
}

.reservation-filter-panel .toolbar input[type="date"]::-webkit-datetime-edit,
.reservations-filter-panel .toolbar input[type="date"]::-webkit-datetime-edit,
.reservation-toolbar input[type="date"]::-webkit-datetime-edit{
  padding:0 !important;
  margin:0 !important;
  line-height:normal !important;
}

/* Suche, Status, Von und Bis sitzen auf derselben Grundlinie. */
.reservation-filter-panel .toolbar,
.reservations-filter-panel .toolbar,
.reservation-toolbar{
  align-items:flex-end !important;
}

/* === AILENDO DEV 0.3.8 DATE HEIGHT FIX END === */

/* === AILENDO DEV 0.3.9 GLOBAL DATE FIELD FIX BEGIN === */

/*
 * Einheitliche Datumsfeldhöhe in der gesamten AILENDO-Anwendung.
 * Behebt insbesondere Safari/iPad-Darstellung bei Eigenbedarf,
 * Reservierungen und Archiv-/Filterseiten.
 */
.app-main input[type="date"],
main input[type="date"],
.content input[type="date"],
.page-content input[type="date"]{
  box-sizing:border-box !important;
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  padding:0 12px !important;
  margin:0 !important;
  border-radius:8px !important;
  font:inherit !important;
  font-size:16px !important;
  line-height:44px !important;
  vertical-align:middle !important;
}

/* Safari / iPad: Browser-internen Datumseditor ebenfalls begrenzen. */
.app-main input[type="date"]::-webkit-date-and-time-value,
main input[type="date"]::-webkit-date-and-time-value,
.content input[type="date"]::-webkit-date-and-time-value,
.page-content input[type="date"]::-webkit-date-and-time-value{
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  line-height:normal !important;
  text-align:left !important;
}

.app-main input[type="date"]::-webkit-datetime-edit,
main input[type="date"]::-webkit-datetime-edit,
.content input[type="date"]::-webkit-datetime-edit,
.page-content input[type="date"]::-webkit-datetime-edit{
  padding:0 !important;
  margin:0 !important;
  line-height:normal !important;
}

/* Von/Bis bleiben gleich breit und sauber innerhalb ihrer Spalten. */
.app-main input[type="date"],
main input[type="date"]{
  width:100% !important;
  max-width:100% !important;
}

/* === AILENDO DEV 0.3.9 GLOBAL DATE FIELD FIX END === */

/* === AILENDO DEV 0.3.10 IPAD DATE FIELD FIX BEGIN === */

/*
 * Safari/iPad:
 * 1. rechten Rahmen innerhalb der Spalte halten
 * 2. Datumswert vertikal mittig ausrichten
 * 3. identische Höhe auf allen Filterseiten
 */
.app-main input[type="date"],
main input[type="date"],
.content input[type="date"],
.page-content input[type="date"]{
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  display:block !important;

  width:calc(100% - 2px) !important;
  max-width:calc(100% - 2px) !important;
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;

  margin:0 2px 0 0 !important;
  padding:0 14px !important;

  border:1px solid #b9bec5 !important;
  border-radius:8px !important;
  background:#fff !important;

  font:inherit !important;
  font-size:16px !important;
  line-height:46px !important;
  color:#17263d !important;
  vertical-align:middle !important;
  overflow:hidden !important;
}

/* Safari rendert den Datumswert in einem eigenen internen Element. */
.app-main input[type="date"]::-webkit-date-and-time-value,
main input[type="date"]::-webkit-date-and-time-value,
.content input[type="date"]::-webkit-date-and-time-value,
.page-content input[type="date"]::-webkit-date-and-time-value{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  box-sizing:border-box !important;
  width:100% !important;
  height:46px !important;
  min-height:46px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:46px !important;
  text-align:left !important;
}

.app-main input[type="date"]::-webkit-datetime-edit,
main input[type="date"]::-webkit-datetime-edit,
.content input[type="date"]::-webkit-datetime-edit,
.page-content input[type="date"]::-webkit-datetime-edit{
  display:flex !important;
  align-items:center !important;
  height:46px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:46px !important;
}

/* Einzelteile dürfen keine eigene vertikale Verschiebung verursachen. */
.app-main input[type="date"]::-webkit-datetime-edit-fields-wrapper,
main input[type="date"]::-webkit-datetime-edit-fields-wrapper{
  display:flex !important;
  align-items:center !important;
  height:46px !important;
  padding:0 !important;
}

/* === AILENDO DEV 0.3.10 IPAD DATE FIELD FIX END === */

/* === AILENDO DEV 0.3.11 SAFARI DATE CENTER BEGIN === */

/*
 * iPadOS/Safari rendert input[type=date] intern mit eigenen WebKit-Boxen.
 * Diese Regeln zentrieren den Datumswert vertikal, ohne die in 0.3.10
 * korrigierte Breite bzw. rechte Rahmenkante wieder zu verändern.
 */
.app-main input[type="date"],
main input[type="date"],
.content input[type="date"],
.page-content input[type="date"]{
    box-sizing:border-box !important;
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:normal !important;
}

/* Safari: sichtbarer Datumswert */
.app-main input[type="date"]::-webkit-date-and-time-value,
main input[type="date"]::-webkit-date-and-time-value,
.content input[type="date"]::-webkit-date-and-time-value,
.page-content input[type="date"]::-webkit-date-and-time-value{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    box-sizing:border-box !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:normal !important;
    text-align:left !important;
}

/* Safari: Editor und dessen Wrapper ebenfalls exakt mittig halten */
.app-main input[type="date"]::-webkit-datetime-edit,
main input[type="date"]::-webkit-datetime-edit,
.content input[type="date"]::-webkit-datetime-edit,
.page-content input[type="date"]::-webkit-datetime-edit,
.app-main input[type="date"]::-webkit-datetime-edit-fields-wrapper,
main input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.content input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.page-content input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    display:flex !important;
    align-items:center !important;
    box-sizing:border-box !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:normal !important;
}

/* Einzelne Datumsbestandteile dürfen Safari nicht nach oben verschieben. */
.app-main input[type="date"]::-webkit-datetime-edit-day-field,
.app-main input[type="date"]::-webkit-datetime-edit-month-field,
.app-main input[type="date"]::-webkit-datetime-edit-year-field,
main input[type="date"]::-webkit-datetime-edit-day-field,
main input[type="date"]::-webkit-datetime-edit-month-field,
main input[type="date"]::-webkit-datetime-edit-year-field,
.content input[type="date"]::-webkit-datetime-edit-day-field,
.content input[type="date"]::-webkit-datetime-edit-month-field,
.content input[type="date"]::-webkit-datetime-edit-year-field,
.page-content input[type="date"]::-webkit-datetime-edit-day-field,
.page-content input[type="date"]::-webkit-datetime-edit-month-field,
.page-content input[type="date"]::-webkit-datetime-edit-year-field{
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:normal !important;
}

/* === AILENDO DEV 0.3.11 SAFARI DATE CENTER END === */

/* === AILENDO DEV 0.3.12 SAFARI DATE FINE CENTER BEGIN === */

/*
 * iPad/Safari ignoriert bei input[type=date] teilweise die Flex-Zentrierung
 * der internen WebKit-Datumsbox. Deshalb wird ausschließlich der sichtbare
 * Datumsinhalt fein nach unten versetzt. Feldgröße und Rahmen bleiben
 * unverändert.
 */
@supports (-webkit-touch-callout: none) {
  .app-main input[type="date"]::-webkit-date-and-time-value,
  main input[type="date"]::-webkit-date-and-time-value,
  .content input[type="date"]::-webkit-date-and-time-value,
  .page-content input[type="date"]::-webkit-date-and-time-value {
      transform: translateY(7px) !important;
  }

  .app-main input[type="date"]::-webkit-datetime-edit,
  main input[type="date"]::-webkit-datetime-edit,
  .content input[type="date"]::-webkit-datetime-edit,
  .page-content input[type="date"]::-webkit-datetime-edit {
      transform: translateY(7px) !important;
  }
}

/* === AILENDO DEV 0.3.12 SAFARI DATE FINE CENTER END === */

/* === AILENDO DEV 0.3.13 EIGENBEDARF DATE FIX2 BEGIN === */

/*
 * NUR Eigenbedarf auf Safari/iPad:
 * 0.3.12 verschiebt den äußeren Datumswert UND den inneren Editor.
 * Auf Eigenbedarf kann sich diese Verschiebung addieren.
 *
 * Deshalb wird auf dieser Seite die äußere Verschiebung aufgehoben.
 * Der innere Editor behält die 7px-Feinkorrektur.
 *
 * Alle anderen Seiten behalten unverändert den Stand 0.3.12.
 */
@supports (-webkit-touch-callout: none) {
    body.ailendo-eigenbedarf-page input[type="date"]::-webkit-date-and-time-value {
        transform: translateY(0) !important;
    }

    body.ailendo-eigenbedarf-page input[type="date"]::-webkit-datetime-edit {
        transform: translateY(7px) !important;
    }

    body.ailendo-eigenbedarf-page input[type="date"]::-webkit-datetime-edit-fields-wrapper {
        transform: none !important;
    }
}

/* === AILENDO DEV 0.3.13 EIGENBEDARF DATE FIX2 END === */

/* AILENDO 0.3.15: Header-Abstand global korrigieren START */
/* Der neue Header belegt bereits selbst seine Hoehe im Seitenfluss. */
.app-authenticated .app-main-shell{padding-top:0 !important;}
.app-authenticated .app-main-shell > .container{margin-top:18px !important;}
@media(max-width:980px){.app-authenticated .app-main-shell > .container{margin-top:14px !important;}}
/* AILENDO 0.3.15: Header-Abstand global korrigieren END */

/* AILENDO 0.3.16: Anhaengerbilder START */
.app-authenticated .article-thumb,.app-authenticated .trailer-thumb,.app-authenticated .vehicle-thumb{width:100%;max-width:150px;height:96px;object-fit:contain;object-position:center;display:block;margin:auto;border-radius:10px;background:#fff;}
.app-authenticated img.article-thumb[src=""],.app-authenticated img.trailer-thumb[src=""]{visibility:hidden;}
/* AILENDO 0.3.16: Anhaengerbilder END */

/* === AILENDO DEV 0.3.23 LOGIN HEADER BEGIN === */
/*
 * Login-Kopf:
 * links  = AILENDO Masterlogo + AH Branchenicon
 * mitte  = Kundenname + Version
 * rechts = Kundenlogo aus Firma & Branding
 */
.app-public .ailendo-public-topbar{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  min-height:112px !important;
  width:100% !important;
  padding:10px 4vw !important;
  display:grid !important;
  grid-template-columns:minmax(360px,1fr) auto minmax(360px,1fr) !important;
  align-items:center !important;
  gap:24px !important;
  background:#fff !important;
  border-bottom:4px solid #14B8A6 !important;
}

.ailendo-public-left{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  min-width:0 !important;
}

.ailendo-public-master{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  text-decoration:none !important;
}

.ailendo-public-master img{
  display:block !important;
  width:270px !important;
  height:auto !important;
  max-height:76px !important;
  object-fit:contain !important;
}

.ailendo-public-divider{
  width:1px !important;
  height:72px !important;
  flex:0 0 1px !important;
  background:#cbd3dc !important;
}

/* Das Branchenicon bekommt dieselbe maximale Höhe wie das Masterlogo. */
.ailendo-public-module{
  display:block !important;
  width:auto !important;
  height:76px !important;
  max-width:92px !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
  border-radius:7px !important;
}

.ailendo-public-center{
  justify-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  color:#666 !important;
  font-size:16px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  text-align:center !important;
}

.ailendo-public-customer{
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  min-width:180px !important;
  min-height:76px !important;
}

.ailendo-public-customer img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:240px !important;
  max-height:76px !important;
  object-fit:contain !important;
}

/* iPad quer */
@media(max-width:1180px){
  .app-public .ailendo-public-topbar{
    grid-template-columns:minmax(315px,1fr) auto minmax(220px,1fr) !important;
    gap:16px !important;
    padding-left:2.2vw !important;
    padding-right:2.2vw !important;
  }
  .ailendo-public-master img{width:230px !important;max-height:68px !important}
  .ailendo-public-divider{height:64px !important}
  .ailendo-public-module{height:68px !important;max-width:82px !important}
  .ailendo-public-customer img{max-width:190px !important;max-height:68px !important}
  .ailendo-public-center{font-size:15px !important}
}

/* iPad hoch / schmal */
@media(max-width:900px){
  .app-public .ailendo-public-topbar{
    min-height:96px !important;
    grid-template-columns:auto 1fr auto !important;
    gap:12px !important;
  }
  .ailendo-public-master img{width:185px !important;max-height:58px !important}
  .ailendo-public-divider{height:56px !important}
  .ailendo-public-module{height:58px !important;max-width:70px !important}
  .ailendo-public-center{
    font-size:13px !important;
    flex-direction:column !important;
    gap:1px !important;
  }
  .ailendo-public-center-sep{display:none !important}
  .ailendo-public-customer{min-width:100px !important}
  .ailendo-public-customer img{max-width:130px !important;max-height:58px !important}
}

/* Smartphone */
@media(max-width:640px){
  .app-public .ailendo-public-topbar{
    min-height:82px !important;
    grid-template-columns:auto 1fr !important;
    gap:10px !important;
    padding:8px 12px !important;
  }
  .ailendo-public-master img{width:132px !important;max-height:48px !important}
  .ailendo-public-divider{height:46px !important}
  .ailendo-public-module{height:48px !important;max-width:56px !important}
  .ailendo-public-center{justify-self:end !important;font-size:11px !important}
  .ailendo-public-customer{display:none !important}
}
/* === AILENDO DEV 0.3.23 LOGIN HEADER END === */

/* === AILENDO DEV 0.3.25 INTERNAL MODULE ICON BEGIN === */
/*
 * WICHTIG:
 * Das große AH-Icon aus dem Login-Kopf darf NICHT auf den angemeldeten
 * Verwaltungsbereich / das Dashboard durchschlagen.
 * Login bleibt über .app-public .ailendo-public-module separat geregelt.
 */

/* Angemeldeter Kopf: Branchenicon wieder kompakt. */
body:not(.app-public) header.topbar img[src*="ailendo-ah-header"],
body:not(.app-public) .topbar img[src*="ailendo-ah-header"],
body:not(.app-public) header img[src*="ailendo-ah-header"],
body:not(.app-public) .module-logo img,
body:not(.app-public) .brand-module img,
body:not(.app-public) img.ailendo-module-logo {
    width:auto !important;
    height:58px !important;
    max-width:72px !important;
    max-height:58px !important;
    object-fit:contain !important;
    flex:0 0 auto !important;
}

/* Loginseite: die in 0.3.23 gewünschte größere Darstellung bleibt bestehen. */
.app-public .ailendo-public-module {
    width:auto !important;
    height:76px !important;
    max-width:92px !important;
    max-height:76px !important;
    object-fit:contain !important;
}

@media(max-width:1180px){
    body:not(.app-public) header.topbar img[src*="ailendo-ah-header"],
    body:not(.app-public) .topbar img[src*="ailendo-ah-header"],
    body:not(.app-public) header img[src*="ailendo-ah-header"],
    body:not(.app-public) .module-logo img,
    body:not(.app-public) .brand-module img,
    body:not(.app-public) img.ailendo-module-logo {
        height:54px !important;
        max-height:54px !important;
        max-width:68px !important;
    }
    .app-public .ailendo-public-module {
        height:68px !important;
        max-height:68px !important;
        max-width:82px !important;
    }
}

@media(max-width:900px){
    body:not(.app-public) header.topbar img[src*="ailendo-ah-header"],
    body:not(.app-public) .topbar img[src*="ailendo-ah-header"],
    body:not(.app-public) header img[src*="ailendo-ah-header"],
    body:not(.app-public) .module-logo img,
    body:not(.app-public) .brand-module img,
    body:not(.app-public) img.ailendo-module-logo {
        height:50px !important;
        max-height:50px !important;
        max-width:64px !important;
    }
    .app-public .ailendo-public-module {
        height:58px !important;
        max-height:58px !important;
        max-width:70px !important;
    }
}
/* === AILENDO DEV 0.3.25 INTERNAL MODULE ICON END === */

/* === AILENDO DEV 0.3.32 LOGIN COMPANY BEGIN === */
/* Firmenname auf der Loginseite größer und klar mittig. */
.app-public .ailendo-public-center{
    font-size:24px !important;
    font-weight:600 !important;
    line-height:1.15 !important;
    color:#555 !important;
    text-align:center !important;
    justify-self:center !important;
}

/* Kundenlogo rechts: sauber innerhalb des vorhandenen Bereichs skalieren. */
.app-public .ailendo-public-customer{
    min-width:180px !important;
    min-height:76px !important;
}
.app-public .ailendo-public-customer img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:240px !important;
    max-height:76px !important;
    object-fit:contain !important;
}

@media(max-width:1180px){
    .app-public .ailendo-public-center{font-size:21px !important}
    .app-public .ailendo-public-customer img{max-width:190px !important;max-height:68px !important}
}
@media(max-width:900px){
    .app-public .ailendo-public-center{font-size:18px !important}
    .app-public .ailendo-public-customer img{max-width:130px !important;max-height:58px !important}
}
/* === AILENDO DEV 0.3.32 LOGIN COMPANY END === */

/* === AILENDO DEV 0.3.34 COMPANY LOGO SIZE BEGIN === */
.app-public .ailendo-public-customer{display:flex!important;align-items:center!important;justify-content:center!important;min-height:104px!important}
.app-public .ailendo-public-customer img{display:block!important;width:auto!important;height:auto!important;object-fit:contain!important}
.app-public .ailendo-customer-logo-small img{max-width:160px!important;max-height:58px!important}
.app-public .ailendo-customer-logo-medium img{max-width:240px!important;max-height:82px!important}
.app-public .ailendo-customer-logo-large img{max-width:340px!important;max-height:110px!important}
.dashboard-welcome-logo img{display:block!important;width:auto!important;height:auto!important;object-fit:contain!important}
.dashboard-company-logo-small{width:150px!important;flex:0 0 150px!important}
.dashboard-company-logo-small img{max-width:150px!important;max-height:72px!important}
.dashboard-company-logo-medium{width:220px!important;flex:0 0 220px!important}
.dashboard-company-logo-medium img{max-width:220px!important;max-height:96px!important}
.dashboard-company-logo-large{width:300px!important;flex:0 0 300px!important}
.dashboard-company-logo-large img{max-width:300px!important;max-height:125px!important}
@media(max-width:1180px){
.app-public .ailendo-customer-logo-small img{max-width:140px!important;max-height:52px!important}
.app-public .ailendo-customer-logo-medium img{max-width:195px!important;max-height:70px!important}
.app-public .ailendo-customer-logo-large img{max-width:260px!important;max-height:90px!important}
}
/* === AILENDO DEV 0.3.34 COMPANY LOGO SIZE END === */

/* === AILENDO DEV 0.3.35 MOBILE LOGIN BRANDING BEGIN === */

/* AILENDO-Logo im Footer nur auf dem Smartphone zeigen. */
.ailendo-mobile-footer-brand{display:none}

/* Smartphone: Oben gehört dem Kunden.
   AILENDO Masterlogo wandert nach unten; AH-Modulicon wird oben ausgeblendet. */
@media(max-width:640px){
  body.app-public .ailendo-public-topbar{
    position:relative !important;
    min-height:104px !important;
    height:auto !important;
    padding:12px 16px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) !important;
    grid-template-rows:auto !important;
    align-items:center !important;
    gap:14px !important;
    overflow:hidden !important;
  }

  /* Unsere beiden Logos aus der oberen Leiste entfernen. */
  body.app-public .ailendo-public-left{
    display:none !important;
  }
  body.app-public .ailendo-public-master,
  body.app-public .ailendo-public-module,
  body.app-public .ailendo-public-divider{
    display:none !important;
  }

  /* Kundenlogo links. */
  body.app-public .ailendo-public-customer{
    display:flex !important;
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    align-self:center !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-width:0 !important;
    min-height:76px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body.app-public .ailendo-public-customer img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:88px !important;
    object-fit:contain !important;
    object-position:left center !important;
    margin:0 !important;
  }

  /* Kundenname rechts, ohne Überlappung und ohne Abschneiden. */
  body.app-public .ailendo-public-center{
    display:flex !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:stretch !important;
    align-self:center !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 4px !important;
    color:#333 !important;
    font-size:clamp(17px,5vw,23px) !important;
    line-height:1.12 !important;
    font-weight:700 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    text-align:center !important;
  }
  body.app-public .ailendo-public-center-sep{
    display:none !important;
  }

  /* Masterlogo unten direkt über der vorhandenen Footerzeile. */
  body.app-public footer{
    padding-top:18px !important;
  }
  body.app-public footer .ailendo-mobile-footer-brand{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    margin:0 auto 12px !important;
  }
  body.app-public footer .ailendo-mobile-footer-brand img{
    display:block !important;
    width:min(250px,68vw) !important;
    height:auto !important;
    max-height:72px !important;
    object-fit:contain !important;
  }
}
/* === AILENDO DEV 0.3.35 MOBILE LOGIN BRANDING END === */

/* === AILENDO DEV 0.3.36 MOBILE LOGIN COMPACT BEGIN === */
@media(max-width:640px){
  /* Kundenbereich oben bleibt wie in 0.3.35. */
  body.app-public .ailendo-public-topbar{
    min-height:96px !important;
    padding-top:9px !important;
    padding-bottom:9px !important;
  }

  /* Anmeldekarte sichtbar nach oben ziehen, ohne die Felder zu verkleinern. */
  body.app-public main{
    margin-top:-32px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  /* AH-Branchenicon oben rechts IN der Anmeldekarte. */
  body.app-public .ailendo-mobile-login-card{
    position:relative !important;
  }
  body.app-public .ailendo-mobile-login-module{
    position:absolute !important;
    top:16px !important;
    right:18px !important;
    z-index:4 !important;
    width:64px !important;
    height:64px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }
  body.app-public .ailendo-mobile-login-module > img,
  body.app-public .ailendo-mobile-login-module .ailendo-public-module,
  body.app-public .ailendo-mobile-login-module .ailendo-public-module img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:64px !important;
    max-height:64px !important;
    object-fit:contain !important;
    margin:0 !important;
  }

  /* Genug Platz für das Icon neben "Anmelden". */
  body.app-public .ailendo-mobile-login-card h1,
  body.app-public .ailendo-mobile-login-card h2{
    padding-right:76px !important;
  }

  /* Unteren AILENDO-Bereich ebenfalls hochziehen, damit Logo + Version
     auf dem Handy ohne zusätzliches Scrollen sichtbar werden. */
  body.app-public footer{
    margin-top:-48px !important;
    padding-top:0 !important;
    padding-bottom:8px !important;
  }
  body.app-public footer .ailendo-mobile-footer-brand{
    margin-top:0 !important;
    margin-bottom:4px !important;
  }
  body.app-public footer .ailendo-mobile-footer-brand img{
    width:min(235px,62vw) !important;
    max-height:62px !important;
  }
}
/* === AILENDO DEV 0.3.36 MOBILE LOGIN COMPACT END === */

/* === AILENDO DEV 0.3.37 MOBILE BRANDING BEGIN === */
@media(max-width:640px){
  /* AILENDO-Master und AH-Modul verlassen die obere Leiste. */
  .ailendo-mobile-branding-037 .ailendo-mobile-hide-original-master,
  .ailendo-mobile-branding-037 .ailendo-mobile-hide-original-module{
    display:none !important;
  }

  /* Oben gehört der Platz jetzt dem Kundenbranding. */
  .ailendo-mobile-branding-037 header,
  .ailendo-mobile-branding-037 .topbar,
  .ailendo-mobile-branding-037 .app-header{
    min-height:76px;
  }
  .ailendo-mobile-branding-037 .ailendo-mobile-customer-logo-037{
    display:block !important;
    max-height:58px !important;
    max-width:42vw !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
  }
  .ailendo-mobile-branding-037 .ailendo-mobile-customer-name-037{
    display:block !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.12 !important;
    max-width:43vw !important;
  }

  /* AH-Icon vor der Begrüßung. */
  .ailendo-mobile-branding-037 .ailendo-mobile-greeting-module{
    display:inline-flex !important;
    width:54px !important;
    height:54px !important;
    align-items:center !important;
    justify-content:center !important;
    vertical-align:middle !important;
    margin-right:12px !important;
  }
  .ailendo-mobile-branding-037 .ailendo-mobile-greeting-module img{
    display:block !important;
    max-width:54px !important;
    max-height:54px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
  }
  .ailendo-mobile-branding-037 h1:has(.ailendo-mobile-greeting-module),
  .ailendo-mobile-branding-037 h2:has(.ailendo-mobile-greeting-module),
  .ailendo-mobile-branding-037 h3:has(.ailendo-mobile-greeting-module){
    display:flex !important;
    align-items:center !important;
  }

  /* Masterlogo unten direkt über der vorhandenen Versionsnummer. */
  .ailendo-mobile-branding-037 .ailendo-mobile-master-bottom{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:8px auto 4px !important;
    padding:0 !important;
    width:100% !important;
  }
  .ailendo-mobile-branding-037 .ailendo-mobile-master-bottom img{
    display:block !important;
    width:min(260px,68vw) !important;
    max-height:70px !important;
    height:auto !important;
    object-fit:contain !important;
  }
}
/* === AILENDO DEV 0.3.37 MOBILE BRANDING END === */

/* === AILENDO DEV 0.3.38 MOBILE CUSTOMER HEADER BEGIN === */
.ailendo-mobile-customer-brand{display:none}
@media(max-width:640px){
  /* Oben: NUR Kundenlogo + Kundenname zwischen Menü und Aktionen. */
  .app-topbar .ailendo-master-brand,
  .app-topbar .app-brand-divider,
  .app-topbar .app-module-brand{
    display:none !important;
  }
  .app-topbar .app-brand-cluster{
    display:flex !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 8px !important;
    justify-content:center !important;
  }
  .app-topbar .ailendo-mobile-customer-brand{
    display:grid !important;
    grid-template-columns:minmax(64px,42%) minmax(0,58%) !important;
    align-items:center !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
  }
  .app-topbar .ailendo-mobile-customer-logo{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:58px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
  .app-topbar .ailendo-mobile-customer-name{
    display:block !important;
    min-width:0 !important;
    font-size:clamp(14px,4.2vw,18px) !important;
    line-height:1.08 !important;
    font-weight:700 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    color:#222 !important;
  }

  /* AH-Icon wirklich VOR Hallo Jörg – gleiche Zeile, linksbündig. */
  body.ailendo-mobile-038 h1:has(.ailendo-mobile-greeting-module),
  body.ailendo-mobile-038 h2:has(.ailendo-mobile-greeting-module),
  body.ailendo-mobile-038 h3:has(.ailendo-mobile-greeting-module),
  h1:has(.ailendo-mobile-greeting-module),
  h2:has(.ailendo-mobile-greeting-module),
  h3:has(.ailendo-mobile-greeting-module){
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:left !important;
    gap:12px !important;
  }
  .ailendo-mobile-greeting-module{
    display:inline-flex !important;
    flex:0 0 54px !important;
    width:54px !important;
    height:54px !important;
    margin:0 !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .ailendo-mobile-greeting-module img{
    display:block !important;
    max-width:54px !important;
    max-height:54px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
  }

  /* Masterlogo oben sicher weg. Unten bleibt es direkt über der Versionsnummer. */
  .ailendo-mobile-hide-original-master{display:none !important}
  footer .ailendo-mobile-footer-brand,
  .ailendo-mobile-master-bottom{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }
}
/* === AILENDO DEV 0.3.38 MOBILE CUSTOMER HEADER END === */

/* === AILENDO DEV 0.3.39 SINGLE MOBILE FOOTER BEGIN === */
@media(max-width:640px){
  /* Alte dynamische Kopie aus 0.3.37 niemals anzeigen. */
  .ailendo-mobile-master-bottom{
    display:none !important;
  }

  /* Es bleibt ausschließlich das feste AILENDO-Masterlogo im Footer. */
  footer .ailendo-mobile-footer-brand{
    display:flex !important;
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    margin:8px auto 4px !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  footer .ailendo-mobile-footer-brand img{
    display:block !important;
    width:min(235px,62vw) !important;
    max-width:235px !important;
    height:auto !important;
    max-height:62px !important;
    object-fit:contain !important;
    margin:0 auto !important;
  }
}
/* === AILENDO DEV 0.3.39 SINGLE MOBILE FOOTER END === */

/* === AILENDO DEV 0.3.41 MOBILE ADDRESS HEADER BEGIN === */
.ailendo-mobile-customer-contact{display:none}
@media(max-width:640px){
  /* Der freie Bereich oben wird jetzt für die Kundendaten genutzt. */
  .app-topbar .ailendo-mobile-customer-brand{
    display:grid !important;
    grid-template-columns:minmax(92px,44%) minmax(0,56%) !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
  }
  .app-topbar .ailendo-mobile-customer-logo{
    justify-self:start !important;
    max-width:100% !important;
    max-height:58px !important;
  }
  .app-topbar .ailendo-mobile-customer-name{
    display:none !important;
  }
  .app-topbar .ailendo-mobile-customer-contact{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:0 !important;
    width:100% !important;
    color:#0F2747 !important;
    font-size:clamp(9px,2.55vw,12px) !important;
    line-height:1.22 !important;
    font-weight:600 !important;
    text-align:left !important;
    overflow:hidden !important;
  }
  .app-topbar .ailendo-mobile-contact-line{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 0 2px !important;
    color:#0F2747 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .app-topbar .ailendo-mobile-contact-line:last-child{margin-bottom:0 !important}
  .app-topbar .ailendo-mobile-contact-mail{
    font-size:.94em !important;
  }
}
/* === AILENDO DEV 0.3.41 MOBILE ADDRESS HEADER END === */

/* === AILENDO DEV 0.3.42 MOBILE EMPTY WIDTH FIX BEGIN === */
@media(max-width:640px){
  /* Karten dürfen auf dem iPhone niemals breiter als der sichtbare Inhaltsbereich werden. */
  .app-main,.content,.page-content,main,
  .panel,.card,.table-wrap,.table-responsive,.table-container{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* Nur Tabellen mit einem echten Leerzustand werden auf Handybreite zurückgesetzt. */
  table.ailendo-mobile-empty-table-042{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    table-layout:fixed !important;
  }
  table.ailendo-mobile-empty-table-042 thead{
    display:none !important;
  }
  table.ailendo-mobile-empty-table-042 tbody,
  table.ailendo-mobile-empty-table-042 tr{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  table.ailendo-mobile-empty-table-042 td,
  .ailendo-mobile-empty-state-042{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    text-align:center !important;
  }
  .ailendo-mobile-empty-wrap-042{
    overflow:hidden !important;
    min-width:0 !important;
    max-width:100% !important;
  }
}
/* === AILENDO DEV 0.3.42 MOBILE EMPTY WIDTH FIX END === */

/* AILENDO DEV 0.3.52 MOBILE SCROLL SAFE AREA BEGIN */
/* Zusätzlicher Scrollraum für iPhone/Safari-Bedienelemente. */
@media (max-width:980px){
  html{min-height:100%;overflow-x:hidden;}
  body.app-authenticated{
    min-height:100dvh;
    overflow-x:hidden;
  }
  .app-main-shell{
    min-height:100dvh;
    padding-bottom:calc(132px + env(safe-area-inset-bottom, 0px));
  }
  .app-authenticated footer{
    padding-bottom:calc(132px + env(safe-area-inset-bottom, 0px));
  }
  .app-sidebar{
    bottom:auto;
    height:calc(100dvh - var(--app-topbar-height));
    max-height:calc(100dvh - var(--app-topbar-height));
    overflow:hidden;
  }
  .app-sidebar-scroll{
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    padding-bottom:calc(150px + env(safe-area-inset-bottom, 0px));
    scroll-padding-bottom:calc(150px + env(safe-area-inset-bottom, 0px));
  }
  .sidebar-navigation{
    padding-bottom:8px;
  }
}
@supports not (height:100dvh){
  @media (max-width:980px){
    .app-main-shell{min-height:100vh;}
    .app-sidebar{height:calc(100vh - var(--app-topbar-height));max-height:calc(100vh - var(--app-topbar-height));}
  }
}
/* AILENDO DEV 0.3.52 MOBILE SCROLL SAFE AREA END */

/* AILENDO DEV 0.3.53 BRAND COLOR FINAL SYNC BEGIN */
/* Auch Status-/Typ-Chips und die Sekundenanzeige verwenden die Kunden-Markenfarbe. */
:root{
  --ailendo-customer-accent:var(--pink);
  --ailendo-customer-accent-soft:color-mix(in srgb,var(--pink) 11%,white);
}
.badge.active,
.status-badge.active,
.status-pill.active,
.is-active-badge,
.article-status-active,
.accessory-status-active{
  background:var(--ailendo-customer-accent-soft)!important;
  color:var(--pink)!important;
  border-color:color-mix(in srgb,var(--pink) 25%,white)!important;
}
.dashboard-clock-seconds{
  color:color-mix(in srgb,var(--pink) 68%,white)!important;
}
/* AILENDO DEV 0.3.53 BRAND COLOR FINAL SYNC END */

/* === AILENDO DEV 0.3.55 DESKTOP BRANDING BEGIN === */
@media(min-width:641px){
  /* Im PC-Kopf: kein AILENDO-Masterlogo und kein AH-Modullogo. */
  .ailendo-desktop-branding-055 .app-topbar .ailendo-master-brand,
  .ailendo-desktop-branding-055 .app-topbar .app-brand-divider,
  .ailendo-desktop-branding-055 .app-topbar .app-module-brand{
    display:none !important;
  }

  /* Stattdessen ausschließlich das im Firmenprofil hinterlegte Kundenlogo. */
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-customer-brand,
  .ailendo-desktop-branding-055 .app-topbar .ailendo-desktop-customer-brand-055{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-customer-brand img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:230px !important;
    max-height:70px !important;
    object-fit:contain !important;
  }
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-customer-name{
    display:none !important;
  }

  /* Das Masterlogo steht am Seitenende mittig UNTER der Versionsnummer. */
  .ailendo-desktop-branding-055 footer .ailendo-mobile-footer-brand,
  .ailendo-desktop-branding-055 footer .ailendo-desktop-footer-brand-055,
  .ailendo-desktop-branding-055 .app-footer .ailendo-mobile-footer-brand,
  .ailendo-desktop-branding-055 .app-footer .ailendo-desktop-footer-brand-055{
    display:flex !important;
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    margin:8px auto 0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .ailendo-desktop-branding-055 footer .ailendo-mobile-footer-brand img,
  .ailendo-desktop-branding-055 footer .ailendo-desktop-footer-brand-055 img,
  .ailendo-desktop-branding-055 .app-footer .ailendo-mobile-footer-brand img,
  .ailendo-desktop-branding-055 .app-footer .ailendo-desktop-footer-brand-055 img{
    display:block !important;
    width:220px !important;
    max-width:220px !important;
    max-height:62px !important;
    height:auto !important;
    object-fit:contain !important;
    margin:0 auto !important;
  }
}
/* === AILENDO DEV 0.3.55 DESKTOP BRANDING END === */

/* === AILENDO DEV 0.3.56 DESKTOP CUSTOMER CONTACT BEGIN === */
@media(min-width:641px){
  /* PC-Kopf links: Firmenlogo + Kontaktdaten aus dem Firmenprofil. */
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-customer-brand,
  .ailendo-desktop-branding-055 .app-topbar .ailendo-desktop-customer-brand-055{
    display:grid !important;
    grid-template-columns:minmax(120px,155px) minmax(0,1fr) !important;
    align-items:center !important;
    gap:12px !important;
    width:min(100%,310px) !important;
    max-width:310px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-customer-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-width:0 !important;
    width:100% !important;
  }
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-customer-brand img,
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-customer-logo img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:155px !important;
    max-height:64px !important;
    object-fit:contain !important;
    margin:0 !important;
  }
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-customer-contact{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:0 !important;
    width:100% !important;
    color:#0F2747 !important;
    font-size:11px !important;
    line-height:1.22 !important;
    font-weight:600 !important;
    text-align:left !important;
    overflow:hidden !important;
  }
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-contact-line{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 0 2px !important;
    color:#0F2747 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-contact-line:last-child{
    margin-bottom:0 !important;
  }
  .ailendo-desktop-branding-055 .app-topbar .ailendo-mobile-contact-mail{
    font-size:10.5px !important;
  }
}
/* === AILENDO DEV 0.3.56 DESKTOP CUSTOMER CONTACT END === */

/* === AILENDO DEV 0.3.58 DESKTOP GREETING ICON BEGIN === */
@media(min-width:900px){
 .ailendo-desktop-greeting-row-058{display:flex!important;align-items:center!important;gap:16px!important;width:100%!important;margin:0 0 18px!important;padding:0!important}
 .ailendo-desktop-greeting-row-058>h1,.ailendo-desktop-greeting-row-058>h2{margin:0!important}
 .ailendo-desktop-greeting-icon-058{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 72px!important;width:72px!important;height:72px!important;overflow:hidden!important;border-radius:10px!important}
 .ailendo-desktop-greeting-icon-058 img{display:block!important;width:72px!important;height:72px!important;max-width:72px!important;max-height:72px!important;object-fit:contain!important;margin:0!important}
}
/* === AILENDO DEV 0.3.58 DESKTOP GREETING ICON END === */

/* === AILENDO DEV 0.3.59 DESKTOP LOGIN BRANDING BEGIN === */
@media(min-width:900px){
  /* Login-Kopf: Kunde links, Firmenname mittig; AILENDO Master + AH oben ausblenden. */
  body.app-public .ailendo-public-topbar{
    display:grid!important;
    grid-template-columns:minmax(220px,1fr) minmax(320px,1.6fr) minmax(220px,1fr)!important;
    align-items:center!important;
    min-height:156px!important;
    padding:20px 34px!important;
    position:relative!important;
  }
  body.app-public .ailendo-public-left{display:none!important}
  body.app-public .ailendo-public-master,
  body.app-public .ailendo-public-module,
  body.app-public .ailendo-public-divider{display:none!important}
  body.app-public .ailendo-public-customer{
    display:flex!important;
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  body.app-public .ailendo-public-customer img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:250px!important;
    max-height:100px!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:0!important;
  }
  body.app-public .ailendo-public-center{
    display:flex!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    margin:0!important;
    padding:0 20px!important;
    text-align:center!important;
  }
  body.app-public .ailendo-public-center-sep{display:none!important}

  /* Branchenmodul gehört zur Anmeldung, nicht mehr in den Kopf. */
  body.app-public .ailendo-login-card-059{position:relative!important}
  body.app-public .ailendo-login-module-icon-059{
    position:absolute!important;
    top:26px!important;
    right:28px!important;
    width:78px!important;
    height:78px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border-radius:10px!important;
  }
  body.app-public .ailendo-login-module-icon-059 img{
    display:block!important;
    width:78px!important;
    height:78px!important;
    max-width:78px!important;
    max-height:78px!important;
    object-fit:contain!important;
    margin:0!important;
  }
  body.app-public .ailendo-login-card-059 h1,
  body.app-public .ailendo-login-card-059 h2{padding-right:100px!important}
}
/* === AILENDO DEV 0.3.59 DESKTOP LOGIN BRANDING END === */

/* === AILENDO DEV 0.3.60 DESKTOP LOGIN FEINSCHLIFF BEGIN === */
@media(min-width:900px){
  body.app-public .ailendo-public-topbar{position:relative!important}
  body.app-public .ailendo-public-center{
    font-size:30px!important;
    font-weight:800!important;
    line-height:1.15!important;
  }
  body.app-public .ailendo-public-center *{
    font-size:inherit!important;
    font-weight:inherit!important;
    line-height:inherit!important;
  }
  body.app-public .ailendo-login-datetime-060{
    position:absolute!important;
    right:42px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    text-align:right!important;
    color:#0F2747!important;
    min-width:210px!important;
    z-index:5!important;
  }
  body.app-public .ailendo-login-date{font-size:17px!important;font-weight:600!important;line-height:1.25!important;margin-bottom:4px!important}
  body.app-public .ailendo-login-time{font-size:30px!important;font-weight:800!important;line-height:1!important;letter-spacing:.02em!important}
  body.app-public .ailendo-login-card-060{position:relative!important}
  body.app-public .ailendo-login-module-icon-060{
    position:absolute!important;
    top:28px!important;
    right:28px!important;
    width:92px!important;
    height:92px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border-radius:10px!important;
    z-index:4!important;
  }
  body.app-public .ailendo-login-module-icon-060 img{
    display:block!important;width:92px!important;height:92px!important;max-width:92px!important;max-height:92px!important;object-fit:contain!important;margin:0!important
  }
  body.app-public .ailendo-login-card-060 h1,
  body.app-public .ailendo-login-card-060 h2{padding-right:118px!important}
}
/* === AILENDO DEV 0.3.60 DESKTOP LOGIN FEINSCHLIFF END === */

/* === AILENDO DEV 0.3.61 ZUBEHOER ABRECHNUNG === */
.offer-accessory-positions{margin:16px 0;padding:16px;border:1px solid #dbe4ee;border-radius:14px;background:#f8fafc;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.offer-accessory-positions>div:first-child{display:flex;flex-direction:column;gap:3px}.offer-accessory-picker{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.offer-accessory-picker select{min-width:310px}@media(max-width:700px){.offer-accessory-picker{width:100%}.offer-accessory-picker select,.offer-accessory-picker .button{width:100%;min-width:0}}

/* AILENDO AH 0.3.67 PROCESS */
.reservation-accessories-table select{min-width:260px}.reservation-accessories-table input{min-width:90px}@media(max-width:700px){.reservation-accessories-table select{min-width:0;width:100%}}

/* AILENDO AH 0.3.71 RESERVATION TOTALS FIX */
.reservation-item-actions{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;flex-wrap:wrap!important;overflow:visible!important}
.reservation-item-actions .totals-box{position:static!important;inset:auto!important;transform:none!important;margin:0 0 0 auto!important;max-width:320px!important;width:auto!important;box-sizing:border-box!important;flex:0 1 320px!important}
.reservation-items-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;box-sizing:border-box!important}
@media(max-width:900px){.reservation-item-actions .totals-box{width:100%!important;max-width:100%!important;flex-basis:100%!important;margin-left:0!important}}

/* AILENDO 0.3.72 TABLET-DESKTOP HORIZONTAL LOCK */
/* Nur Tablet/PC: die komplette Seite darf nicht seitlich unter die Sidebar geschoben werden. */
@media (min-width:901px){
 html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none!important}
 body{position:relative!important}
 .app-shell,.app-layout,.admin-layout,.layout,.shell{max-width:100vw!important;overflow-x:hidden!important}
 main,.main,.main-content,.content,.content-area,.page-content{min-width:0!important;box-sizing:border-box!important;overflow-x:hidden!important}
 .page,.panel,.card,fieldset{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
 .reservation-items-wrap,.table-wrap,.table-responsive{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
}
/* Unter 901 px absichtlich keine Änderung: bestehende Handyansicht bleibt erhalten. */

/* AILENDO 0.3.73 RESERVATION ACTION COLUMN */
/* Tablet/PC: Tabellen dürfen intern scrollen, die Seite selbst nicht. */
@media (min-width:901px){
 .table-wrap,.table-responsive,.reservation-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;box-sizing:border-box!important}
 table.ailendo-reservation-table{width:100%!important;min-width:0!important;table-layout:auto!important}
 table.ailendo-reservation-table th,table.ailendo-reservation-table td{padding-left:10px!important;padding-right:10px!important;white-space:normal!important}
 table.ailendo-reservation-table th:last-child,table.ailendo-reservation-table td:last-child{position:sticky!important;right:0!important;z-index:3!important;background:#fff!important;white-space:nowrap!important;min-width:128px!important;text-align:right!important;box-shadow:-8px 0 12px rgba(15,39,71,.06)!important}
 table.ailendo-reservation-table thead th:last-child{z-index:4!important;background:#f8f9fb!important}
}

/* AILENDO 0.3.76 AH ACCESSORY CONTROL HEIGHT */
@media (min-width:769px){
 /* AH: Zubehör-Felder exakt so hoch wie der Entfernen-Button */
 fieldset table td select,
 fieldset table td input[type="text"],
 fieldset table td input[type="number"]{
   min-height:46px!important;
   height:46px!important;
   padding-top:0!important;
   padding-bottom:0!important;
   line-height:44px!important;
   box-sizing:border-box!important;
 }
 fieldset table td button,
 fieldset table td a.btn,
 fieldset table td .btn{
   min-height:46px!important;
   box-sizing:border-box!important;
 }
}

/* AILENDO 0.3.77 AH ACCESSORY CONTROLS FINAL */
@media (min-width:769px){
 /* Tabellenfelder: gleiche sichtbare Höhe und Typografie wie Aktionsbutton */
 fieldset table tbody td select,
 fieldset table tbody td input:not([type="hidden"]){
   height:58px!important;
   min-height:58px!important;
   max-height:58px!important;
   padding:0 14px!important;
   font-size:17px!important;
   font-weight:500!important;
   line-height:1.2!important;
   box-sizing:border-box!important;
   vertical-align:middle!important;
 }
 fieldset table tbody td select{
   padding-right:38px!important;
 }
 fieldset table tbody td button,
 fieldset table tbody td .btn,
 fieldset table tbody td a.btn{
   height:58px!important;
   min-height:58px!important;
   box-sizing:border-box!important;
   display:inline-flex!important;
   align-items:center!important;
   justify-content:center!important;
 }
}

/* AILENDO 0.3.78 AH ADD BUTTON ALIGNMENT */
@media (min-width:769px){
  /* Die beiden Hinzufügen-Buttons entsprechen jetzt der Höhe der übrigen Aktionsbuttons. */
  #add-item,
  #add-accessory{
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:0 18px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    line-height:1.2!important;
  }
  /* Nicht mehr direkt auf der unteren Tabellenlinie. */
  #add-accessory{
    margin-top:16px!important;
  }
}

/* === AILENDO DEV 0.3.85 TABLET LOGIN WIDTH BEGIN === */
/* Tablet-Anmeldung bewusst kompakter als Desktop, ohne Handy oder Desktop zu verändern. */
@media (min-width:700px) and (max-width:1199px){
  body.app-public main.container{
    width:100% !important;
    max-width:860px !important;
    margin:34px auto 28px !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }
  body.app-public main.container > .panel.login,
  body.app-public .panel.login.ailendo-login-card-059,
  body.app-public .panel.login.ailendo-login-card-060{
    width:100% !important;
    max-width:760px !important;
    margin:0 auto 22px !important;
    padding:28px !important;
  }
  body.app-public .panel.login .field input,
  body.app-public .panel.login .field select,
  body.app-public .panel.login .field textarea{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
}
/* === AILENDO DEV 0.3.85 TABLET LOGIN WIDTH END === */

/* === AILENDO DEV 0.3.86 TABLET CONTRACT FIXES BEGIN === */
/* iPad/Tablet: Mietvertragsliste vollständig innerhalb der Inhaltskarte halten. */
@media (min-width:821px) and (max-width:1280px){
  .contract-list-page .contract-list-wrap{overflow-x:hidden !important}
  .contract-list-page .contract-list-table{width:100% !important;min-width:0 !important;table-layout:fixed !important}
  .contract-list-page .contract-list-table th,
  .contract-list-page .contract-list-table td{padding-left:7px !important;padding-right:7px !important;white-space:normal !important;overflow-wrap:anywhere}
  .contract-list-page .contract-list-table th:nth-child(1){width:17%;min-width:0}
  .contract-list-page .contract-list-table th:nth-child(2){width:18%;min-width:0}
  .contract-list-page .contract-list-table th:nth-child(3){width:17%;min-width:0}
  .contract-list-page .contract-list-table th:nth-child(4){width:21%;min-width:0}
  .contract-list-page .contract-list-table th:nth-child(5){width:13%;min-width:0}
  .contract-list-page .contract-list-table th:nth-child(6){width:14%;min-width:0}
  .contract-list-page .contract-row-actions{display:grid;grid-template-columns:1fr;width:100%;gap:6px;margin:0}
  .contract-list-page .contract-row-actions .button{display:flex;width:100%;min-width:0;padding:9px 7px;align-items:center;justify-content:center;text-align:center;white-space:normal;font-size:13px;line-height:1.15}
  .contract-list-page .badge{white-space:normal;text-align:center}

  /* Einzelvertrag: rechter Aktionsblock kompakt und sauber ausgerichtet. */
  .contract-screen-view>.panel-heading{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:20px}
  .contract-screen-view>.panel-heading>.actions.compact-actions{display:grid;grid-template-columns:1fr;width:230px;margin:0;gap:10px;justify-self:end}
  .contract-screen-view>.panel-heading>.actions.compact-actions .button{display:flex;width:100%;min-width:0;min-height:42px;align-items:center;justify-content:center;text-align:center;white-space:normal}
}
/* === AILENDO DEV 0.3.86 TABLET CONTRACT FIXES END === */
