.scheduleList { display:grid; gap:12px; }
.scheduleRow { display:grid; grid-template-columns:120px 1fr 190px 130px; gap:16px; align-items:center; background:white; border:1px solid var(--line); border-radius:12px; padding:16px; }
.scheduleRow h3 { margin:0 0 4px; }
.scheduleRow p { margin:0; color:#69736d; }
.scheduleRow .date { font-weight:700; color:#244c35; }
.scheduleRow.unplanned { border-style:dashed; }
.supplierGroup { border:1px solid var(--line); border-radius:11px; margin:10px 0; overflow:hidden; background:#fafbf9; }
.supplierGroup summary { cursor:pointer; padding:14px 16px; font-weight:750; display:flex; justify-content:space-between; }
.supplierGroup[open] summary { border-bottom:1px solid var(--line); background:#eef3ec; }
.photoGrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; margin-top:14px; }
.photoCard { background:white; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.photoCard img { width:100%; height:130px; object-fit:cover; display:block; }
.photoCard span { display:block; padding:8px; font-size:12px; overflow:hidden; text-overflow:ellipsis; }
.addressFields { grid-column:1/-1; display:grid; grid-template-columns:2fr 1fr 1.4fr; gap:10px; }
.detailActions { display:flex; align-items:flex-end; flex-direction:column; gap:10px; }
.summary .planningWarning { background:#fff5df; border-color:#e8c87b; }
@media(max-width:700px){.scheduleRow{grid-template-columns:1fr}.addressFields{grid-template-columns:1fr}}

/* Auftragsstatus und Hinweise in der Übersicht */
.card { padding:0; overflow:hidden; display:flex; flex-direction:column; }
.cardOpen { display:block; width:100%; flex:1; border:0; background:transparent; color:inherit; padding:18px; text-align:left; }
.cardOpen:focus-visible { outline:3px solid #85a790; outline-offset:-3px; }
.cardBadges { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.cardBadges:empty { display:none; }
.orderFlag { display:inline-flex; align-items:center; width:max-content; max-width:100%; border-radius:8px; padding:6px 9px; font-size:12px; font-weight:800; }
.orderFlag.allOrdered { color:#17452f; background:#dcefdc; border:1px solid #a9d0ae; }
.orderFlag.extraTaskFlag { color:#6f3d00; background:#fff0c9; border:1px solid #e8c36c; }
.cardCompletion { display:flex; justify-content:flex-end; align-items:center; min-height:53px; padding:10px 18px; border-top:1px solid #edf0ec; background:#fafbf9; }
.completeOrder, .detailCompleteOrder, .extraTaskForm button { border:0; border-radius:9px; padding:10px 14px; background:#1f5138; color:white; font-weight:750; }
.completeOrder:hover, .detailCompleteOrder:hover, .extraTaskForm button:hover { background:#173f2c; }
.completeOrder:disabled, .detailCompleteOrder:disabled, .extraTaskForm button:disabled { opacity:.65; cursor:wait; }
.completedNote { color:#27603f; font-size:13px; font-weight:800; }
.completedNote.large { font-size:15px; }

/* Kalenderwochen und Bestell-Haken je Lieferant */
.supplierGroupHead { display:grid; grid-template-columns:minmax(150px, 1fr) minmax(540px, 2.7fr); gap:18px; align-items:center; padding:14px 16px; background:#eef3ec; border-bottom:1px solid var(--line); }
.supplierIdentity { display:flex; flex-direction:column; gap:4px; min-width:0; }
.supplierIdentity strong { font-size:16px; overflow:hidden; text-overflow:ellipsis; }
.supplierIdentity span { color:#69736d; font-size:12px; }
.supplierPlanning { display:grid; grid-template-columns:1fr 1fr minmax(145px,.8fr); gap:10px; align-items:stretch; }
.supplierWeekField { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:9px 10px; border:1px solid #ccd8ce; border-radius:9px; background:white; color:#506158; font-size:12px; font-weight:700; }
.weekInput { display:flex; align-items:center; gap:5px; color:#1f5138; }
.weekInput b { font-size:12px; }
.supplierWeekInput { width:66px; min-width:66px; padding:7px 6px; text-align:center; font-weight:800; }
.supplierCompleteField { display:flex; gap:9px; align-items:center; justify-content:center; padding:10px 12px; border:1px solid #b9cabb; border-radius:9px; background:#f7faf6; color:#274936; font-size:13px; font-weight:800; cursor:pointer; }
.supplierCompleteField input, .extraTaskToggle input { flex:0 0 auto; width:20px; height:20px; margin:0; padding:0; accent-color:#287247; }
.supplierGroup.supplierDone { border-color:#8db897; box-shadow:0 0 0 1px #cce1ce; }
.supplierGroup.supplierDone .supplierGroupHead { background:#e1f0e1; }
.supplierGroup.supplierDone .supplierCompleteField { background:#d5ead8; border-color:#8db897; }

/* Extraaufgaben */
.extraTaskPanel { transition:border-color .15s, background .15s; }
.extraTaskPanel.marked { border-color:#e0b65d; background:#fffcf3; }
.extraTaskHeading { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:14px; }
.extraTaskHeading h3 { margin:0 0 4px; }
.extraTaskHeading p { margin:0; color:#69736d; }
.extraTaskForm { display:grid; grid-template-columns:minmax(220px,1fr) minmax(260px,auto) auto; gap:10px; align-items:center; }
.extraTaskForm > input { width:100%; }
.extraTaskToggle { display:flex; gap:9px; align-items:center; padding:10px 12px; border-radius:9px; background:#f5f7f3; color:#344c3d; font-size:13px; font-weight:700; cursor:pointer; }
.extraTaskError { grid-column:1 / -1; min-height:0; margin:0; font-size:12px; }

/* Abschlussbereich und Rückmeldungen */
.completeOrderBar { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-top:18px; padding:18px; border:1px solid var(--line); border-radius:13px; background:white; }
.completeOrderBar h3 { margin:0 0 4px; }
.completeOrderBar p { margin:0; color:#69736d; }
.toast { position:fixed; right:22px; bottom:22px; z-index:1000; max-width:min(380px, calc(100vw - 32px)); padding:13px 17px; border-radius:10px; background:#183f2c; color:white; box-shadow:0 10px 35px #0004; font-weight:700; }
.toast[hidden] { display:none; }

/* Übersicht, Warnungen und offene Auftragssumme */
.orderOverview { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }
.orderOverview > div { padding:17px 18px; border:1px solid var(--line); border-radius:13px; background:white; }
.orderOverview span { display:block; margin-bottom:5px; color:#69736d; font-size:13px; }
.orderOverview b { color:#234b35; font-size:22px; }
.orderOverview small { display:block; margin-top:5px; color:#607068; font-size:11px; }
.orderOverview .grossTotal { background:#edf5e7; border-color:#bfd2b7; }
.orderOverview .attentionTotal { background:#fff7e4; border-color:#e4cd91; }
.orderFilters { display:grid; grid-template-columns:minmax(260px,1fr) auto auto; }
.orderFlag.warningFlag { color:#7b2f1c; background:#fde5dc; border:1px solid #e6aa97; }
.card footer > span > small { display:block; margin-top:4px; font-size:11px; font-weight:500; }
.summary { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }

/* Aufmaß, Angebot und Auftragsbestätigung */
.projectDocsHead { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:16px; }
.projectDocsHead h3 { margin:0 0 4px; }
.projectDocsHead p { margin:0; color:#69736d; }
.lexwareDocumentActions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.lexwareOpenPdf { display:inline-block; text-decoration:none; }
.projectUploadForm { margin-bottom:16px; }
.projectUploadFields { display:flex; justify-content:flex-end; gap:10px; margin-top:10px; }
.projectUploadFields select { min-width:190px; }
.projectUploadFields button, .lexwareDocument button { border:0; border-radius:9px; padding:10px 14px; background:#1f5138; color:white; font-weight:750; }
.projectUploadFields button:disabled, .lexwareDocument button:disabled { opacity:.65; cursor:wait; }
.projectDocuments { margin-top:14px; }
.documents article.projectDocument { grid-template-columns:auto 1fr; }
.lexwareDocuments { display:grid; gap:8px; margin:14px 0; }
.lexwareDocument { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 14px; border:1px solid #cdd8ce; border-radius:10px; background:#f7faf6; }
.lexwareDocument div { display:flex; flex-direction:column; gap:4px; }
.lexwareDocument div span { color:#69736d; font-size:12px; }
.importedNote { color:#27603f; font-size:12px; font-weight:800; }

@media(max-width:900px) {
  .supplierGroupHead { grid-template-columns:1fr; }
  .supplierPlanning { grid-template-columns:1fr 1fr; }
  .supplierCompleteField { grid-column:1 / -1; }
  .extraTaskForm { grid-template-columns:1fr auto; }
  .extraTaskToggle { grid-column:1; }
  .orderFilters { grid-template-columns:1fr 1fr; }
  .orderFilters input { grid-column:1 / -1; }
}

@media(max-width:700px) {
  .supplierPlanning, .extraTaskForm { grid-template-columns:1fr; }
  .supplierCompleteField, .extraTaskToggle, .extraTaskForm button { grid-column:1; }
  .extraTaskHeading, .completeOrderBar { flex-direction:column; align-items:stretch; }
  .detailCompleteOrder { width:100%; }
  .toast { right:16px; bottom:16px; }
  .orderOverview, .orderFilters { grid-template-columns:1fr; }
  .orderFilters input { grid-column:1; }
  .projectDocsHead, .lexwareDocument, .projectUploadFields { flex-direction:column; align-items:stretch; }
  .lexwareDocumentActions { justify-content:flex-start; }
  .projectUploadFields select, .projectUploadFields button, .projectDocsHead button { width:100%; }
}
