/* Auftragsbestaetigungen (W2): Liste, Dialog-Schritte, Vorschau. Nur Tokens, alle Klassen beginnen mit auftrag-. Die Datei wird von der Komponente geladen, global.css kommt danach: darum nie eine globale Klasse ueberschreiben. */ /* Liste */ .auftrag-body { container-type: inline-size; } .auftrag-notice { margin: 0 0 8px; } .auftrag-table-wrap { overflow-x: auto; } .auftrag-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; } .auftrag-nummer { white-space: nowrap; } .auftrag-titel { overflow-wrap: anywhere; } .auftrag-table th.auftrag-amount { text-align: right; } .auftrag-amount { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; } .auftrag-note { margin-top: 2px; font-size: 13px; overflow-wrap: anywhere; } .auftrag-actions { display: flex; flex-wrap: wrap; gap: 4px 14px; } .auftrag-zuordnen { padding: 2px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 8px; } .auftrag-zuordnen .select { flex: 1 1 180px; min-width: 0; max-width: 100%; } .auftrag-liste button.link:disabled, .auftrag-liste button.link-danger:disabled { cursor: not-allowed; } @container (max-width: 860px) { .auftrag-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } .auftrag-table, .auftrag-table tbody { display: block; } .auftrag-liste .auftrag-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; align-items: baseline; grid-template-areas: "nummer status" "titel titel" "datum summe" "aktionen aktionen"; padding: 10px 0; border-bottom: 1px solid var(--line); } .auftrag-liste .auftrag-table td, .auftrag-liste .auftrag-table td:first-child, .auftrag-liste .auftrag-table td:last-child { display: block; padding: 0; border: 0; min-width: 0; } .auftrag-nummer { grid-area: nummer; } .auftrag-status { grid-area: status; text-align: right; } .auftrag-titel { grid-area: titel; } .auftrag-datum { grid-area: datum; } .auftrag-liste .auftrag-table td.auftrag-amount { grid-area: summe; } .auftrag-liste .auftrag-table td.auftrag-aktionen { grid-area: aktionen; padding-top: 4px; } .auftrag-table td[data-label]::before { content: attr(data-label) " "; color: var(--text-2); font-weight: 500; } } /* Dialog: Schritte 1 bis 3 */ .auftrag-schritt { display: grid; gap: 16px; min-width: 0; } .auftrag-schritt .field { min-width: 0; } .auftrag-art { border: 0; padding: 0; margin: 0; display: grid; gap: 8px; min-width: 0; } .auftrag-art legend { font-weight: 500; padding: 0; margin-bottom: 4px; } .auftrag-art .check { flex-wrap: wrap; } .auftrag-check-text { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; } .auftrag-zeitquelle-liste .auftrag-check-text { flex: 0 1 auto; } .auftrag-art .check .hint { flex-basis: 100%; padding-left: 23px; font-size: 13px; color: var(--text-2); } .auftrag-items { border: 0; padding: 0; margin: 0; display: grid; gap: 12px; min-width: 0; } .auftrag-items legend { font-weight: 500; padding: 0; margin-bottom: 4px; } .auftrag-item { display: grid; grid-template-columns: minmax(0, 1fr) 80px 120px 110px auto; gap: 8px 12px; align-items: end; grid-template-areas: "desc qty price sum remove"; } .auftrag-item .input { width: 100%; } .auftrag-item > div { display: grid; gap: 4px; min-width: 0; } .auftrag-item-desc { grid-area: desc; } .auftrag-item-qty { grid-area: qty; } .auftrag-item-price { grid-area: price; } .auftrag-item-sum { grid-area: sum; } .auftrag-item-remove { grid-area: remove; } .auftrag-item-qty .input, .auftrag-item-price .input { text-align: right; font-variant-numeric: tabular-nums; } .auftrag-item-wert { min-height: 36px; display: flex; align-items: center; justify-content: flex-end; font-variant-numeric: tabular-nums; white-space: nowrap; } .auftrag-item-remove { min-height: 36px; align-content: center; } .auftrag-item-label { font-size: 12px; color: var(--text-2); } .auftrag-item + .auftrag-item .auftrag-item-label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; } .auftrag-total { display: flex; justify-content: space-between; gap: 16px; font-weight: 600; } .auftrag-narrow { max-width: 120px; } .auftrag-plan-vorschau { margin: 0; overflow-wrap: anywhere; } .auftrag-hinweis { margin: 0; overflow-wrap: anywhere; } .auftrag-zeitquelle { border: 0; padding: 0; margin: 0; display: grid; gap: 6px; min-width: 0; } .auftrag-zeitquelle legend { font-weight: 500; padding: 0; margin-bottom: 4px; } .auftrag-zeitquelle-liste { display: grid; gap: 6px; max-height: 220px; overflow-y: auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 6px 0; } .auftrag-zeitquelle-liste .check { flex-wrap: wrap; overflow-wrap: anywhere; } @media (max-width: 860px) { .auftrag-item { grid-template-columns: minmax(0, .7fr) minmax(0, 1fr) minmax(0, 1fr) auto; grid-template-areas: "desc desc desc desc" "qty price sum remove"; } .auftrag-item + .auftrag-item .auftrag-item-label, .auftrag-item-label { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; } .auftrag-narrow { max-width: none; } } /* Dialog: Schrittleiste, Vorschau, Fuss */ .auftrag-schritte { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 13px; color: var(--text-2); } .auftrag-schritte li[aria-current="step"] { color: var(--text); font-weight: 600; } .auftrag-schritt-nr { margin-right: 6px; } .auftrag-pdf { width: 100%; height: min(70vh, 640px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg-subtle); } .auftrag-foot { display: flex; flex: 1; flex-wrap: wrap; align-items: center; gap: 8px; } .auftrag-foot .grow { flex: 1; } @media (max-width: 860px) { .auftrag-schritt-text { display: none; } .auftrag-schritte li[aria-current="step"] .auftrag-schritt-text { display: inline; } .auftrag-pdf { height: 50vh; } .auftrag-foot .btn { flex: 1 1 auto; } }