96 lines
6.0 KiB
CSS
96 lines
6.0 KiB
CSS
/* 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; }
|
|
}
|