/* ZIP-Export — CSS für das Aufnahmen-Export-Modal (js/zip-export-tool.js).

   Modul-Grenzen: betrifft nur #zip-export-modal. Selbstständig — hängt an
   keiner anderen tool-eigenen Datei, damit der Export nicht still bricht,
   wenn woanders aufgeräumt wird.

   HERKUNFT (07.08.2026): Der Export saß bis heute im Auftragstool (D-047).
   Er ist zurück ins Dashboard gezogen, weil das Büro hier die Aushärtungen
   ANSIEHT — und wer eine Aufnahme ansieht, gibt sie von hier weiter. Diese
   Datei ist die zusammengeführte Fassung von `zip-tools.css` + der vom Export
   benutzten Teile aus `import.css` des Auftragstools.

   Die Basis-Optik (Karte, Kopf, Zebra, Hover, Auswahl) kommt aus dem UI-Kit
   (`.tabelle` + `.klickbar`) — hier steht nur, was fachlich dazukommt. */


/* === Modal-Layout ==========================================================
   Flex-Column, damit die Tabelle den vertikalen Restplatz füllt. */
#zip-export-modal .modal-body {
    display: flex;
    flex-direction: column;
    /* Haus-Rhythmus zwischen zwei Feldzeilen (16px seit 16.08.2026) */
    gap: var(--formular-reihe);
    padding: var(--abstand-12) var(--abstand-16);
}

#zip-export-modal .modal-fuss {
    border-top: none;
}


/* === Kopfzeile: DB-Stand =================================================== */
.zipx-status {
    display: flex;
    flex-wrap: wrap;
    gap: var(--abstand-16);
    padding: var(--abstand-10) var(--abstand-14);
    background: var(--karte);
    border-radius: var(--rundung-mittel);
}

.zipx-status-row {
    display: flex;
    align-items: baseline;
    gap: var(--abstand-6);
}

.zipx-status-label {
    font-size: var(--schrift-xs);
    text-transform: uppercase;
    letter-spacing: var(--laufweite);
    color: var(--text-gedaempft);
}

.zipx-status-value {
    font-family: var(--schriftart-ui);
    font-size: var(--schrift-sm);
    color: var(--text);
}


/* === Filterleiste ========================================================== */
.zipx-filterbar {
    display: flex;
    align-items: center;
    gap: var(--abstand-12);
    padding: var(--abstand-10) var(--abstand-14);
    background: var(--karte);
    border-radius: var(--rundung-mittel);
    flex-wrap: wrap;
    /* Extra Atemraum zur Tabelle darunter — der Modal-Body-gap allein wirkt
       hier zu eng, weil die Filterleiste visuell schwer ist. */
    margin-bottom: var(--abstand-12);
}

.zipx-filterbar .auswahl-huelle {
    flex: 0 0 auto;
    min-width: 200px;
}


/* === Tabelle =============================================================== */
.zipx-table-wrap {
    flex: 1;
    min-height: 200px;
}

/* Volle Höhe NUR im Leer-/Lade-Zustand, damit die Meldung mittig steht. Mit
   echten Zeilen darf die Tabelle oben anwachsen — sonst stünde eine einzelne
   gefilterte Zeile mitten im Nichts. */
.zipx-table:has(td.zipx-leer),
.zipx-table:has(td.zipx-laedt) {
    height: 100%;
}

/* Die Tabelle kann NIE breiter werden als das Modal (Chris, 10.08.2026: zur
   Messwerte-Spalte musste man horizontal scrollen, obwohl zwischen Haltung
   und Messwerten Luft war). `table-layout: fixed` macht `width: 100%` hart:
   Schmale Spalten bekommen feste Breiten, die drei Text-Spalten (Kunde /
   Bauvorhaben / Haltung) teilen sich den Rest zu gleichen Teilen, und
   Überlänge fängt das Ellipsis — nicht der Scrollbalken. Das frühere
   `max-width: 220px` je Zelle entfällt: Im festen Layout regiert die
   Spaltenbreite, ein Zell-Deckel wäre eine zweite, tote Wahrheit. */
.zipx-table { table-layout: fixed; }
.zipx-table th:nth-child(2) { width: 64px; }   /* Nr     (#9999)      */
.zipx-table th:nth-child(3) { width: 100px; }  /* Datum  (JJJJ-MM-TT) */
.zipx-table th:nth-child(7) { width: 96px; }   /* Messwerte, rechtsbündig */
.zipx-table thead th {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Lange Namen nicht umbrechen — lieber abschneiden als die Zeile sprengen */
.zipx-table tbody td {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.zipx-table .zipx-num {
    text-align: right;
}

/* Auswahl-Spalte schmal halten — 40px: Im festen Layout ist die Breite HART,
   und 32px quetschten das Kästchen gegen das Zell-Padding (Ellipsis-Punkte
   neben der Checkbox, im Browser nachgemessen). */
.zipx-table .zipx-check-col {
    width: 40px;
    text-align: center;
}

.zipx-table tbody td.zipx-leer,
.zipx-table tbody td.zipx-laedt {
    padding: var(--abstand-20);
    text-align: center;
    vertical-align: middle;
    color: var(--text-leise);
    font-size: var(--schrift-sm);
    border-bottom: none;
    height: 100%;
}

.zipx-fehler-zelle {
    color: var(--fehler);
}


/* === Fußzeile: Auswahl-Zusammenfassung ===================================== */
.zipx-summary {
    padding: 8px var(--abstand-14);
    color: var(--text-gedaempft);
    font-size: var(--schrift-sm);
    text-align: right;
}

.zipx-summary strong {
    color: var(--text);
}
