/* Bestehende Angebote dokumentieren, ohne die Original-PDF neu zu erzeugen. */
.offer-head-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.offer-import-button {
  border:1px solid var(--line) !important;
  background:var(--card) !important;
  color:var(--ink) !important;
}
.offer-import-button:hover { background:var(--field) !important; }

.mm-import-quickdrop {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  margin:0 0 14px;
  padding:14px 16px;
  border:1.5px dashed #B8BEAA;
  border-radius:15px;
  background:#FBFCF8;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.mm-import-quickdrop:hover,
.mm-import-quickdrop:focus-visible {
  outline:none;
  border-color:#737A63;
  background:#F7F9F1;
  box-shadow:0 0 0 3px rgba(223,243,92,.28);
}
.mm-import-quickdrop.is-dragover {
  border-style:solid;
  border-color:#59652B;
  background:#F0F5E2;
  box-shadow:0 0 0 4px rgba(223,243,92,.32);
}
.mm-import-quickdrop-icon {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--ink);
  color:#fff;
  font-size:10px;
  font-weight:850;
}
.mm-import-quickdrop strong { display:block; color:var(--ink); font-size:12.5px; }
.mm-import-quickdrop small { display:block; margin-top:3px; color:var(--muted); font-size:10.5px; line-height:1.4; }
.mm-import-quickdrop > b {
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  font-size:11px;
  white-space:nowrap;
}

.mm-offer-modal {
  position:fixed;
  inset:0;
  z-index:360;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(20,23,17,.52);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.mm-offer-modal.open { display:flex; }
.mm-offer-dialog {
  width:min(960px,100%);
  max-height:min(920px,calc(100vh - 48px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  background:var(--card);
  box-shadow:0 28px 90px rgba(17,20,14,.28);
}
.mm-offer-dialog.detail { width:min(850px,100%); }
.mm-offer-modal-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--line-soft);
}
.mm-offer-modal-kicker {
  margin-bottom:5px;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mm-offer-modal-head h2 {
  margin:0;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:24px;
  font-weight:500;
  letter-spacing:-.025em;
}
.mm-offer-modal-head p {
  margin:6px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.mm-offer-close {
  width:38px;
  height:38px;
  flex:0 0 auto;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--field);
  color:var(--ink-soft);
  font:500 22px/1 var(--font);
  cursor:pointer;
}
.mm-offer-close:hover { color:var(--ink); background:#fff; }
.mm-offer-modal-body {
  padding:20px 24px 24px;
  overflow:auto;
  overscroll-behavior:contain;
}
.mm-offer-form { display:grid; gap:18px; }
.mm-offer-section {
  padding:17px;
  border:1px solid var(--line-soft);
  border-radius:17px;
  background:#FBFCF8;
}
.mm-offer-section-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}
.mm-offer-section-head h3 { margin:0; color:var(--ink); font-size:13px; }
.mm-offer-section-head span { color:var(--muted); font-size:10px; }
.mm-offer-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.mm-offer-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mm-offer-field { display:grid; gap:6px; min-width:0; }
.mm-offer-field.wide { grid-column:1/-1; }
.mm-offer-field > span {
  color:var(--ink-soft);
  font-size:11px;
  font-weight:720;
  line-height:1.3;
}
.mm-offer-field input,
.mm-offer-field select,
.mm-offer-field textarea {
  width:100%;
  min-width:0;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  outline:0;
  background:#fff;
  color:var(--ink);
  font:500 13px/1.4 var(--font);
}
.mm-offer-field textarea { min-height:82px; resize:vertical; }
.mm-offer-field input:focus,
.mm-offer-field select:focus,
.mm-offer-field textarea:focus {
  border-color:#747A65;
  box-shadow:0 0 0 3px rgba(223,243,92,.34);
}
.mm-offer-field input[aria-invalid="true"],
.mm-offer-field select[aria-invalid="true"] { border-color:#B42318; box-shadow:0 0 0 3px rgba(180,35,24,.09); }
.mm-offer-help { color:var(--muted); font-size:10px; line-height:1.45; }
.mm-offer-error {
  display:none;
  padding:11px 13px;
  border:1px solid #F0B8B2;
  border-radius:12px;
  background:#FFF3F1;
  color:#9E251B;
  font-size:12px;
  line-height:1.45;
}
.mm-offer-error.show { display:block; }
.mm-offer-money { position:relative; }
.mm-offer-money input { padding-right:34px; }
.mm-offer-money b {
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  font-size:13px;
  pointer-events:none;
}
.mm-offer-file {
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:92px;
  padding:16px;
  border:1.5px dashed #BFC3B3;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.mm-offer-file:hover { border-color:#7E846F; background:#FCFDF8; }
.mm-offer-file:focus-visible,
.mm-offer-file:focus-within { outline:none; border-color:#747A65; box-shadow:0 0 0 3px rgba(223,243,92,.34); }
.mm-offer-file.is-dragover {
  border-color:#667133;
  border-style:solid;
  background:#F3F7E7;
  box-shadow:0 0 0 4px rgba(223,243,92,.32);
}
.mm-offer-file.has-file { border-color:#8D9A62; border-style:solid; background:#F8FAF1; }
.mm-offer-file.has-file .mm-offer-file-icon { background:#546126; }
.mm-offer-file.has-error { border-color:#B42318; border-style:solid; background:#FFF7F5; box-shadow:0 0 0 3px rgba(180,35,24,.09); }
.mm-offer-file.is-busy { cursor:progress; opacity:.72; }
.mm-offer-file input {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.mm-offer-file-icon {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--ink);
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.mm-offer-file-copy strong { display:block; color:var(--ink); font-size:12.5px; overflow-wrap:anywhere; }
.mm-offer-file-copy span { display:block; margin-top:3px; color:var(--muted); font-size:10.5px; line-height:1.4; }
.mm-offer-file-action {
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--card);
  color:var(--ink);
  font-size:11px;
  font-weight:750;
  white-space:nowrap;
}
.mm-offer-immutability {
  display:flex;
  gap:9px;
  align-items:flex-start;
  padding:11px 13px;
  border-radius:12px;
  background:#F0F5E6;
  color:#4D553A;
  font-size:11px;
  line-height:1.5;
}
.mm-offer-immutability::before { content:'✓'; font-weight:850; }
.mm-offer-modal-actions {
  position:sticky;
  bottom:-24px;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:15px 0 0;
  background:linear-gradient(180deg,rgba(255,255,255,0),var(--card) 24%);
}
.mm-offer-secondary {
  border:1px solid var(--line) !important;
  background:#fff !important;
  color:var(--ink) !important;
}

.mm-imported-offer-card { border-left:4px solid #79806A; }
.mm-imported-offer-card .card-row { gap:18px; }
.mm-imported-offer-title {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.mm-import-label,
.mm-import-business-area {
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:99px;
  font-size:9px;
  font-weight:780;
  line-height:1.2;
}
.mm-import-label { background:#EEF0E9; color:#59604D; }
.mm-import-business-area { background:var(--ink); color:var(--lime); }
.mm-imported-project { margin-top:7px; color:var(--ink-soft); font-size:12px; font-weight:650; line-height:1.4; }
.mm-imported-end-customer { margin-top:3px; color:var(--muted); font-size:10.5px; line-height:1.4; }
.mm-imported-actions { justify-content:flex-end; }
.mm-offer-status {
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:4px 9px;
  border-radius:99px;
  font-size:9.5px;
  font-weight:800;
}
.mm-offer-status.entwurf { background:#F1F2ED; color:#646A5A; }
.mm-offer-status.versendet { background:#EDF0FF; color:#4E3FB6; }
.mm-offer-status.angenommen { background:#EAF6EF; color:#216E45; }
.mm-offer-status.abgelehnt { background:#FEECEC; color:#B42318; }
.mm-offer-status.abgelaufen { background:#FFF2D8; color:#8A5A12; }
.status.entwurf { background:#F1F2ED; color:#646A5A; }
.status.versendet { background:#EDF0FF; color:#4E3FB6; }
.status.abgelaufen { background:#FFF2D8; color:#8A5A12; }

.mm-offer-detail-top {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
  margin-bottom:16px;
}
.mm-offer-detail-number { color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.05em; }
.mm-offer-detail-top h3 { margin:5px 0 0; color:var(--ink); font-size:20px; line-height:1.25; }
.mm-offer-detail-amount { color:var(--ink); font-family:var(--font-display); font-size:28px; white-space:nowrap; }
.mm-offer-detail-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid var(--line-soft);
  border-radius:15px;
  background:var(--line-soft);
}
.mm-offer-detail-item { min-width:0; padding:12px 14px; background:#fff; }
.mm-offer-detail-item.wide { grid-column:1/-1; }
.mm-offer-detail-item span { display:block; color:var(--muted); font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.045em; }
.mm-offer-detail-item b { display:block; margin-top:5px; color:var(--ink-soft); font-size:12px; font-weight:580; line-height:1.45; overflow-wrap:anywhere; }
.mm-offer-original {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:16px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#F8F9F4;
}
.mm-offer-original strong { display:block; color:var(--ink); font-size:12.5px; overflow-wrap:anywhere; }
.mm-offer-original span { display:block; margin-top:4px; color:var(--muted); font-size:10px; }
.mm-offer-original-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.mm-offer-status-editor {
  margin-top:16px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.mm-offer-status-editor h3 { margin:0 0 11px; color:var(--ink); font-size:13px; }
.mm-offer-status-row { display:grid; grid-template-columns:minmax(0,1fr) 170px auto; gap:8px; align-items:end; }
.mm-offer-status-row .mm-offer-field { gap:5px; }
.mm-offer-history { display:grid; gap:7px; margin-top:14px; }
.mm-offer-history-entry {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:9px 10px;
  border-top:1px solid var(--line-soft);
  color:var(--ink-soft);
  font-size:10.5px;
}
.mm-offer-history-entry:first-child { border-top:0; }
.mm-offer-history-entry time { color:var(--muted); white-space:nowrap; }
.mm-offer-detail-footer { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; flex-wrap:wrap; }

@media (max-width:760px) {
  #view-angebote .list-head { align-items:stretch; }
  #view-angebote .list-head > div:first-child { width:100%; }
  .offer-head-actions { width:100%; display:grid; grid-template-columns:1fr; }
  .offer-head-actions .toolbar-btn { width:100%; min-height:46px; white-space:normal; }
  .mm-import-quickdrop { grid-template-columns:40px minmax(0,1fr); padding:13px; }
  .mm-import-quickdrop-icon { width:40px; height:40px; }
  .mm-import-quickdrop > b { grid-column:1/-1; width:100%; text-align:center; }
  .mm-offer-modal { align-items:flex-end; padding:0; }
  .mm-offer-dialog,
  .mm-offer-dialog.detail {
    width:100%;
    max-height:calc(100vh - 14px);
    border-radius:22px 22px 0 0;
  }
  .mm-offer-modal-head { padding:18px 18px 15px; }
  .mm-offer-modal-head h2 { font-size:21px; }
  .mm-offer-modal-body { padding:16px 16px 24px; }
  .mm-offer-section { padding:14px; }
  .mm-offer-grid,
  .mm-offer-grid.three,
  .mm-offer-detail-grid { grid-template-columns:1fr; }
  .mm-offer-detail-item.wide { grid-column:auto; }
  .mm-offer-file { grid-template-columns:40px minmax(0,1fr); }
  .mm-offer-file-action { grid-column:1/-1; width:max-content; margin-left:52px; }
  .mm-offer-modal-actions { bottom:-24px; display:grid; grid-template-columns:1fr; padding-top:20px; }
  .mm-offer-modal-actions .toolbar-btn { width:100%; min-height:46px; }
  .mm-imported-offer-card .card-row { align-items:flex-start; }
  .mm-imported-offer-card .card-amount { font-size:17px; }
  .mm-imported-actions { justify-content:flex-start !important; }
  .mm-imported-actions .mini-btn { flex:1 1 145px; min-height:42px; }
  .mm-offer-detail-top { grid-template-columns:1fr; gap:10px; }
  .mm-offer-detail-amount { font-size:24px; }
  .mm-offer-original { align-items:flex-start; flex-direction:column; }
  .mm-offer-original-actions { width:100%; display:grid; grid-template-columns:1fr; }
  .mm-offer-original-actions .mini-btn { min-height:42px; }
  .mm-offer-status-row { grid-template-columns:1fr; }
  .mm-offer-status-row .toolbar-btn { width:100%; min-height:44px; }
  .mm-offer-history-entry { grid-template-columns:1fr; gap:4px; }
  .mm-offer-history-entry time { white-space:normal; }
  .mm-offer-detail-footer { display:grid; grid-template-columns:1fr; }
  .mm-offer-detail-footer .toolbar-btn { width:100%; min-height:44px; }
}
