/* ============================================================
   aufmass.css — Digitales Aufmaß-Modul
   Präfix: am-
   ============================================================ */

/* ---- Toolbar / Seitenheader ---- */
.am-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 28px 20px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}

.am-page-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -.3px;
  margin: 0;
}

/* ---- Buttons ---- */
.am-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 600;
  font-family: var(--font-body);
  cursor: pointer;
  border: none;
  transition: background var(--transition), opacity var(--transition), transform var(--transition);
  white-space: nowrap;
}

.am-btn-primary {
  background: var(--accent-blue);
  color: #fff;
}
.am-btn-primary:hover  { background: var(--accent-hover); }
.am-btn-primary:active { transform: scale(.98); }

.am-btn-secondary {
  background: var(--surface-2);
  color: var(--text-muted);
  border: 1px solid var(--border);
}
.am-btn-secondary:hover { color: var(--text); border-color: var(--border-mid); }

.am-btn-back {
  background: transparent;
  color: var(--text-muted);
  border: 1px solid var(--border);
  padding: 7px 12px;
  font-size: 12px;
}
.am-btn-back:hover { background: var(--surface-2); color: var(--text); }

.am-btn-open {
  background: var(--accent-light);
  color: var(--accent-blue);
  border: 1px solid rgba(37,99,235,.18);
  font-size: 12px;
  padding: 6px 11px;
}
.am-btn-open:hover { background: #dbeafe; }

.am-btn-del {
  background: transparent;
  color: var(--text-dim);
  padding: 6px 8px;
}
.am-btn-del:hover { color: var(--color-danger); background: rgba(220,38,38,.07); }

.am-btn-close {
  background: transparent;
  color: var(--text-muted);
  padding: 6px;
  border-radius: 6px;
}
.am-btn-close:hover { background: var(--surface-2); color: var(--text); }

.am-btn-abzug {
  background: rgba(217,119,6,.1);
  color: var(--color-warning);
  border: 1px solid rgba(217,119,6,.22);
}
.am-btn-abzug:hover { background: rgba(217,119,6,.18); }

.am-btn-pos-add {
  background: var(--surface-2);
  color: var(--text-muted);
  border: 1px solid var(--border);
  font-size: 11px;
  padding: 5px 10px;
}
.am-btn-pos-add:hover { color: var(--text); border-color: var(--border-mid); }

.am-btn-raum-del {
  background: transparent;
  color: var(--text-dim);
  padding: 5px 7px;
}
.am-btn-raum-del:hover { color: var(--color-danger); background: rgba(220,38,38,.07); }

.am-btn-pos-del {
  background: transparent;
  color: var(--text-dim);
  padding: 4px 6px;
  border-radius: 4px;
}
.am-btn-pos-del:hover { color: var(--color-danger); background: rgba(220,38,38,.07); }

/* ---- Listen-Ansicht ---- */
.am-list-wrapper {
  padding: 20px 28px;
}

.am-tbl {
  width: 100%;
  border-collapse: collapse;
  background: var(--surface);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--border);
}

.am-th {
  padding: 11px 16px;
  text-align: left;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--text-muted);
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}

.am-th-center { text-align: center; }
.am-th-actions { text-align: right; }

.am-list-row {
  border-bottom: 1px solid var(--border);
  transition: background var(--transition);
}
.am-list-row:last-child { border-bottom: none; }
.am-list-row:hover { background: var(--surface-2); }

.am-td {
  padding: 13px 16px;
  font-size: 13.5px;
  color: var(--text);
  vertical-align: middle;
}

.am-td-center { text-align: center; color: var(--text-muted); }
.am-td-datum  { color: var(--text-muted); font-size: 12.5px; }
.am-td-actions { text-align: right; }
.am-td-empty {
  text-align: center;
  color: var(--text-dim);
  padding: 36px 16px;
  font-size: 13px;
}

.am-titel-link {
  color: var(--accent-blue);
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}
.am-titel-link:hover { text-decoration: underline; }

.am-no-auftrag {
  font-size: 12px;
  color: var(--text-dim);
  font-style: italic;
}

/* ---- Detail-Topbar ---- */
.am-detail-topbar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 28px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  flex-wrap: wrap;
}

.am-detail-title-wrap {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.am-titel-input {
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 3px 4px;
  border-radius: 0;
  outline: none;
  font-family: var(--font-body);
  min-width: 200px;
  flex: 1;
  transition: border-color var(--transition);
}
.am-titel-input:hover  { border-bottom-color: var(--border-mid); }
.am-titel-input:focus  { border-bottom-color: var(--accent-blue); }

.am-auftrag-label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--text-muted);
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 4px 10px;
  white-space: nowrap;
}

.am-detail-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* ---- Branch-Pill ---- */
.am-branch-pill {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  border-radius: 20px;
  padding: 3px 9px;
  white-space: nowrap;
}

.am-branch-elektro  { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
.am-branch-sanitaer { background: #ecfdf5; color: #15803d; border: 1px solid #bbf7d0; }
.am-branch-heizung  { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.am-branch-maler    { background: #fdf4ff; color: #9333ea; border: 1px solid #e9d5ff; }
.am-branch-allround { background: var(--surface-2); color: var(--text-muted); border: 1px solid var(--border); }

/* ---- Summen-Bar ---- */
.am-summen-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 28px;
  background: linear-gradient(135deg, #eff6ff 0%, #f0fdf4 100%);
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
  min-height: 46px;
}

.am-summ-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 5px 12px;
  font-size: 13px;
  color: var(--text);
  box-shadow: var(--shadow-xs);
}

.am-summ-badge strong {
  font-weight: 700;
  color: var(--accent-blue);
  font-size: 14px;
}

.am-summ-empty {
  font-size: 12.5px;
  color: var(--text-dim);
  font-style: italic;
}

/* ---- Räume-Container ---- */
.am-raeume-container {
  padding: 20px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.am-raeume-leer {
  text-align: center;
  color: var(--text-dim);
  font-size: 13px;
  padding: 40px 20px;
}

/* ---- Raum-Karte ---- */
.am-raum-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.am-raum-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
}

.am-raum-name-input {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 2px 4px;
  outline: none;
  font-family: var(--font-body);
  flex: 1;
  transition: border-color var(--transition);
}
.am-raum-name-input:hover { border-bottom-color: var(--border-mid); }
.am-raum-name-input:focus { border-bottom-color: var(--accent-blue); }

.am-raum-header-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ---- Positions-Tabelle ---- */
.am-pos-table-wrap {
  overflow-x: auto;
}

.am-pos-tbl {
  width: 100%;
  border-collapse: collapse;
  min-width: 560px;
}

.am-pos-th {
  padding: 9px 12px;
  text-align: left;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--text-dim);
  background: #fafbfc;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}

.am-pos-th-bez    { width: auto; min-width: 160px; }
.am-pos-th-dim    { width: 84px; text-align: right; }
.am-pos-th-erg    { width: 80px; text-align: right; }
.am-pos-th-einheit{ width: 68px; }
.am-pos-th-abzug  { width: 54px; text-align: center; }
.am-pos-th-del    { width: 36px; }

.am-pos-row {
  border-bottom: 1px solid var(--border);
  transition: background var(--transition);
}
.am-pos-row:last-child { border-bottom: none; }
.am-pos-row:hover { background: var(--surface-2); }
.am-pos-row--abzug { background: rgba(217,119,6,.05); }
.am-pos-row--abzug:hover { background: rgba(217,119,6,.09); }

.am-pos-td {
  padding: 7px 12px;
  vertical-align: middle;
}

.am-pos-td-erg {
  text-align: right;
  font-weight: 600;
  font-size: 13px;
  color: var(--accent-blue);
  font-variant-numeric: tabular-nums;
}

.am-pos-td-del { text-align: center; width: 36px; }

.am-pos-leer-row td {
  padding: 18px 12px;
  text-align: center;
  color: var(--text-dim);
  font-size: 12px;
  font-style: italic;
}

/* ---- Positions-Eingaben ---- */
.am-pos-input {
  width: 100%;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 5px 7px;
  font-size: 13px;
  color: var(--text);
  font-family: var(--font-body);
  outline: none;
  transition: background var(--transition), border-color var(--transition);
}
.am-pos-input:hover  { background: var(--surface-2); border-color: var(--border); }
.am-pos-input:focus  { background: #fff; border-color: var(--accent-blue); box-shadow: 0 0 0 3px var(--accent-dim); }

.am-pos-dim {
  text-align: right;
  font-variant-numeric: tabular-nums;
  max-width: 76px;
}

.am-pos-bez { min-width: 140px; }

/* ---- Einheiten-Badge ---- */
.am-einheit-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  border-radius: 4px;
  padding: 3px 7px;
  letter-spacing: .2px;
  white-space: nowrap;
}

.am-einheit-m²    { background: #eff6ff; color: #1d4ed8; }
.am-einheit-m³    { background: #ecfdf5; color: #15803d; }
.am-einheit-lfdm  { background: #fdf4ff; color: #9333ea; }
.am-einheit-Stk   { background: var(--surface-2); color: var(--text-muted); }

/* ---- Abzug-Checkbox ---- */
.am-abzug-label {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  width: 30px;
  height: 30px;
  margin: 0 auto;
}

.am-abzug-cb {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.am-abzug-check-visual {
  width: 16px;
  height: 16px;
  border: 2px solid var(--border-mid);
  border-radius: 4px;
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition);
  flex-shrink: 0;
}

.am-abzug-cb:checked + .am-abzug-check-visual {
  background: var(--color-warning);
  border-color: var(--color-warning);
}

.am-abzug-cb:checked + .am-abzug-check-visual::after {
  content: '';
  display: block;
  width: 4px;
  height: 7px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg) translateY(-1px);
}

/* ---- Footer-Bar (Raum hinzufügen) ---- */
.am-footer-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 28px;
  border-top: 1px solid var(--border);
  background: var(--surface);
}

/* ---- Dialog (Neues Aufmaß) ---- */
/* P6.8r: die Auswahl "Abzug von" an einer Abzugszeile.
   Sie steht in derselben Zelle wie das Abzugshaekchen und uebernimmt den
   vorhandenen Eingabestil des Moduls -- keine eigene Gestaltungswelt. */
.am-abzug-ziel {
  display: block;
  width: 100%;
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.3;
  padding: 2px 4px;
  border: 1px solid var(--am-border, #d0d5dd);
  border-radius: 4px;
  background: var(--am-input-bg, #fff);
  color: inherit;
}
/* Noch nicht zugeordnet: sichtbar, aber nicht alarmierend. */
.am-abzug-ziel--offen { border-style: dashed; }
/* Die Zuordnung zeigt ins Leere -- das muss auffallen. */
.am-abzug-ziel--tot {
  border-color: #d92d20;
  color: #d92d20;
}
/* Es gibt im Raum keine Leistung mit dieser Einheit. */
.am-abzug-ziel--leer {
  border: none;
  background: none;
  font-size: 10px;
  opacity: .65;
  font-style: italic;
}

.am-dialog-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  animation: fadeIn .15s ease;
}

.am-dialog {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  width: 480px;
  max-width: calc(100vw - 32px);
  box-shadow: var(--shadow-modal);
  display: flex;
  flex-direction: column;
  animation: slideUp .2s ease;
}

.am-dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid var(--border);
}

.am-dialog-header h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin: 0;
}

.am-dialog-body {
  padding: 22px;
}

.am-dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 22px;
  border-top: 1px solid var(--border);
}

/* ---- Formularfelder im Dialog ---- */
.am-form-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 16px;
}

.am-form-group:last-child { margin-bottom: 0; }

.am-form-group label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--text-muted);
}

.am-form-input,
.am-form-select {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 9px 12px;
  color: var(--text);
  font-family: var(--font-body);
  font-size: 14px;
  outline: none;
  transition: border-color var(--transition), box-shadow var(--transition);
  appearance: none;
}

.am-form-input:focus,
.am-form-select:focus {
  border-color: var(--accent-blue);
  box-shadow: 0 0 0 3px var(--accent-dim);
}

.am-form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 32px;
  cursor: pointer;
}

/* ---- Toast ---- */
.am-toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(16px);
  background: #1e293b;
  color: #fff;
  padding: 10px 22px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 500;
  z-index: 99999;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
  white-space: nowrap;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
}

.am-toast--show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ---- Positions-Bezeichnung mit Import-Markierung ---- */
.am-pos-bez-wrap {
  display: flex;
  align-items: center;
  gap: 4px;
}

.am-pos-imp-dot {
  font-size: 12px;
  color: var(--accent-blue);
  flex-shrink: 0;
  opacity: 0.7;
}

/* ---- Notiz-Spalte ---- */
.am-pos-th-notiz { width: 130px; }
.am-pos-td-notiz { padding: 7px 8px; }

.am-pos-notiz {
  font-size: 12px;
  color: var(--text-muted);
  font-style: italic;
  min-width: 100px;
}

/* ---- Abzug immer sichtbar ---- */
.am-pos-th-abzug { width: 54px; text-align: center; }
.am-pos-td-abzug { text-align: center; }

/* ---- Listen-Ansicht: Sig-Spalte ---- */
.am-list-sig-ok  { color: #16a34a; font-weight: 700; font-size: 14px; }
.am-list-sig-no  { color: var(--text-dim); }

/* ---- Breiterer Dialog (Import) ---- */
.am-dialog-wide {
  width: 580px;
}

/* ---- Import-Liste ---- */
.am-import-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .4px;
}

.am-import-toggle {
  font-size: 11px;
  padding: 4px 10px;
}

.am-import-list {
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.am-import-item {
  display: flex;
  /* P7.2: umbrechen duerfen — der Hinweis auf andere Teilaufmasse steht
     darunter, nicht daneben. Ohne `wrap` draengte er sich als vierter Kasten
     in dieselbe Zeile und drueckte den Positionsnamen von 424 auf 80 Pixel
     zusammen (im echten Rahmen gemessen, 27.08.2026). */
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  transition: background var(--transition);
}

.am-import-item:last-child { border-bottom: none; }

/* P5.3 (22.08.2026): Positionen, die das Aufmass nicht binden kann, werden
   sichtbar gesperrt statt stillschweigend verworfen. Nur neue Klassen —
   an den bestehenden Regeln aendert sich nichts. */
.am-import-item--gesperrt {
  opacity: .55;
  cursor: not-allowed;
}
/* Doppelte Klasse, damit diese Regel die spaeter stehende
   `.am-import-item:hover` schlaegt — sonst leuchtet eine gesperrte Zeile
   beim Ueberfahren auf wie eine anklickbare (22.08. beim Gegenlesen
   gefunden, die erste Fassung war wirkungslos). */
.am-import-item.am-import-item--gesperrt:hover { background: transparent; }
/* Auch der Zeiger ueber dem Kaestchen selbst — `.am-import-cb` setzt
   sonst `pointer` und sagt genau dort "klick mich", wo nichts geht. */
.am-import-item--gesperrt .am-import-cb { cursor: not-allowed; }
.am-import-item--gesperrt .am-import-item-meta {
  font-style: italic;
}
.am-import-hinweis {
  margin: 0 0 .6rem;
  padding: .5rem .7rem;
  /* fester Wert: eine Variable --warning gibt es im Projekt nicht */
  border-left: 3px solid #d97706;
  background: #fffbeb;
  font-size: .85rem;
  line-height: 1.35;
}
.am-import-item:hover { background: var(--surface); }

.am-import-cb {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  accent-color: var(--accent-blue);
  cursor: pointer;
}

.am-import-item-text {
  flex: 1;
  font-size: 13px;
  color: var(--text);
}

.am-import-item-meta {
  font-size: 11px;
  color: var(--text-dim);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 2px 7px;
  white-space: nowrap;
}

/* ---- Unterschrift-Sektion ---- */
.am-unterschrift-section {
  margin: 0 28px 32px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  overflow: hidden;
}

.am-unterschrift-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
  gap: 12px;
  flex-wrap: wrap;
}

.am-unterschrift-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  margin: 0;
}

.am-sig-ok-badge {
  font-size: 12px;
  font-weight: 600;
  color: #16a34a;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 20px;
  padding: 3px 10px;
}

.am-sig-missing-badge {
  font-size: 12px;
  color: var(--text-dim);
  font-style: italic;
}

/* Canvas-Pad */
.am-sig-wrap {
  position: relative;
  margin: 16px 18px 0;
  border: 2px dashed var(--border-mid);
  border-radius: var(--radius-sm);
  background: #fafbfc;
  cursor: crosshair;
  overflow: hidden;
}

.am-sig-canvas {
  display: block;
  width: 100%;
  height: 160px;
  touch-action: none;
}

.am-sig-hint {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--text-dim);
  font-style: italic;
  pointer-events: none;
  user-select: none;
}

.am-sig-actions {
  display: flex;
  gap: 10px;
  padding: 12px 18px 16px;
  justify-content: flex-end;
}

/* Gespeicherte Unterschrift */
.am-sig-preview-wrap {
  padding: 16px 18px 0;
}

.am-sig-preview-img {
  max-height: 110px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #fafbfc;
  display: block;
}

/* ---- Animationen ---- */
@keyframes fadeIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp { from { transform: translateY(12px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

/* ---- Responsive / Mobile (Tablet & Handy) ---- */
@media (max-width: 768px) {
  .am-toolbar { padding: 16px; }
  .am-list-wrapper { padding: 14px 16px; }
  .am-detail-topbar { padding: 14px 16px; flex-wrap: wrap; }
  .am-raeume-container { padding: 14px 16px; }
  .am-footer-bar { padding: 12px 16px; }
  .am-detail-actions { width: 100%; flex-wrap: wrap; }
  .am-detail-actions .am-btn { flex: 1; justify-content: center; }
  .am-unterschrift-section { margin: 0 16px 24px; }
  .am-dialog-wide { width: calc(100vw - 32px); }

  /* Größere Touch-Ziele für Baustelle */
  .am-pos-input {
    font-size: 16px;      /* verhindert iOS-Zoom */
    padding: 10px 8px;
    min-height: 44px;
  }

  .am-pos-dim {
    min-width: 68px;
  }

  .am-raum-name-input {
    font-size: 16px;
    min-height: 44px;
  }

  .am-btn {
    min-height: 44px;
    font-size: 14px;
  }

  .am-sig-canvas {
    height: 200px;  /* größer auf Tablet */
  }

  .am-import-item {
    padding: 14px;
  }

  .am-import-cb {
    width: 20px;
    height: 20px;
  }
}

/* P7.2 (27.08.2026): Ein bereits uebernommenes Teilaufmass ist gegen
   mengenrelevante Aenderungen geschuetzt. Der Hinweis steht ueber den
   Raeumen, damit er vor der ersten Eingabe gelesen wird und nicht erst,
   wenn eine Aenderung wirkungslos bleibt. */
.am-uebernommen-hinweis {
  margin: 0 0 12px;
  padding: 10px 14px;
  border: 1px solid var(--warn, #d97706);
  border-left-width: 4px;
  border-radius: var(--radius-sm, 6px);
  background: var(--warn-soft, rgba(217, 119, 6, .10));
  color: var(--text, inherit);
  font-size: 13px;
  line-height: 1.45;
}

/* P7.2: im Importdialog sichtbar machen, dass andere Teilaufmasse dieselbe
   Auftragsposition bereits messen. Ohne diese Zeile zeigte der Dialog nur
   die bereits heruntergesetzte Auftragsmenge und verschwieg die Herkunft. */
.am-import-item-teil {
  /* Eine eigene Zeile innerhalb der Flexzeile. `grid-column` hatte hier
     keine Wirkung — der Elter ist kein Raster. */
  flex: 0 0 100%;
  margin-top: 2px;
  font-size: 11.5px;
  line-height: 1.4;
  color: var(--text-muted, #6b7280);
}
