/* Moduł „Einsätze” — w języku panelu (papier, atrament, żółty zakreślacz). Kolor lewego paska karty = rodzaj wyjazdu. */
.ez-seite { max-width: none; }
.ez-suche-f { flex: 0 1 260px; }
.ez-leiste { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.ez-kw { font-stretch: 85%; font-size: 17px; }
.ez-h2 { font-size: 28px; margin: 10px 0 4px; }
.ez-h3 { font-size: 19px; margin: 4px 0 12px; }
.ez-h4 { font-size: 15px; font-stretch: 85%; font-weight: 720; margin: 14px 0 4px; }
.ez-dlg-h { font-size: 17px; margin: 18px 0 0; padding-top: 12px; border-top: 1px solid var(--linie); }
.ez-punkt { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: 0; flex: none; }
.ez-mname { white-space: nowrap; font-size: 13px; }
.reiter .zahl { margin-left: 6px; }
.reiter .ez-als-monteur { margin-left: auto; color: var(--aktion); font-weight: 560; }

/* plan tygodnia: wiersz = monter, kolumna = dzień */
.ez-plan { display: grid; border: 1px solid var(--linie); border-radius: 12px; overflow: hidden; background: var(--linie); gap: 1px; }
.ez-plan > div { background: var(--flaeche); min-width: 0; }
.ez-ecke, .ez-tagkopf { background: var(--papier) !important; }
.ez-tagkopf { padding: 9px 10px; font-weight: 640; font-size: 14px; border-bottom: 2px solid var(--tinte); }
.ez-tagkopf.ez-heute { box-shadow: inset 0 -4px 0 var(--marker); }
.ez-zeilenkopf { padding: 10px; display: flex; flex-direction: column; gap: 2px; background: var(--papier) !important; }
.ez-zeilenkopf b { display: flex; align-items: center; }
.ez-zelle { padding: 6px; display: flex; flex-direction: column; gap: 6px; min-height: 92px; }
.ez-zelle.ez-heute { background: #FFFDF0 !important; }
.ez-zelle-fuss { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: auto; min-height: 26px; }
.ez-plus { margin-left: auto; width: 28px; height: 28px; border-radius: 8px; border: 1px dashed var(--linie2); background: none; color: var(--grafit); cursor: pointer; font-size: 17px; line-height: 1; opacity: .55; }
.ez-zelle:hover .ez-plus, .ez-plus:focus-visible { opacity: 1; border-color: var(--grafit); }

.ez-karte {
  display: flex; flex-direction: column; gap: 1px; text-decoration: none; color: inherit; background: var(--flaeche);
  border: 1px solid var(--linie); border-left: 4px solid var(--grafit); border-radius: 8px; padding: 6px 8px 7px; font-size: 13.5px;
}
.ez-karte:hover { border-color: var(--grafit); }
.ez-k-oben { display: flex; gap: 6px; align-items: center; color: var(--grafit); font-size: 12.5px; }
.ez-k-zeit { font-weight: 600; color: var(--tinte); }
.ez-k-ok { margin-left: auto; color: var(--gruen); font-weight: 800; }
.ez-k-live { margin-left: auto; background: var(--marker); color: var(--tinte); border-radius: 999px; padding: 0 6px; font-size: 11px; font-weight: 700; }
.ez-k-dringend { color: var(--rot); font-weight: 700; font-size: 11.5px; }
.ez-k-name { font-weight: 640; overflow-wrap: anywhere; }
.ez-k-ort { color: var(--grafit); font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ez-k-unten { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 12px; color: var(--grafit); }
.ez-k-art { text-transform: uppercase; letter-spacing: .04em; font-size: 10.5px; font-weight: 700; }
/* rodzaj wyjazdu → kolor paska */
.ez-karte.art-besichtigung { border-left-color: #C9A400; }
.ez-karte.art-reparatur { border-left-color: var(--aktion); }
.ez-karte.art-montage { border-left-color: #6A3FB0; }
.ez-karte.art-wartung { border-left-color: #0E7C86; }
.ez-karte.art-nacharbeit { border-left-color: var(--rot); }
.ez-karte.st-erledigt, .ez-karte.st-abgeschlossen { background: #F6FAF7; }
.ez-karte.st-erledigt .ez-k-name, .ez-karte.st-abgeschlossen .ez-k-name { color: var(--grafit); }
.ez-karte.st-storniert { opacity: .55; text-decoration: line-through; }
.ez-karte.st-unterwegs, .ez-karte.st-vor_ort { box-shadow: 0 0 0 2px var(--marker); }
.badge.ez-art.art-besichtigung { background: var(--marker-weich); color: #6B5600; }
.badge.ez-art.art-montage { background: #EFE8FA; color: #5A3496; }
.badge.ez-art.art-wartung { background: #E2F3F4; color: #0B5F66; }
.badge.ez-art.art-nacharbeit { background: var(--rot-hell); color: var(--rot); }
.badge.ez-art.art-reparatur { background: var(--aktion-hell); color: var(--aktion); }
.badge.ez-st.st-geplant { background: var(--aktion-hell); color: var(--aktion); }
.badge.ez-st.st-unterwegs, .badge.ez-st.st-vor_ort { background: var(--marker); color: var(--tinte); }
.badge.ez-st.st-erledigt, .badge.ez-st.st-abgeschlossen { background: var(--gruen-hell); color: var(--gruen); }
.badge.ez-st.st-storniert { background: #EBEEEB; color: var(--grafit); text-decoration: line-through; }

/* telefon: dzień po dniu */
.ez-tage { margin-bottom: 12px; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
.ez-tage .chip { flex: none; }
.ez-tage .chip.ez-heute:not([aria-pressed="true"]) { border-color: #E5BF00; background: var(--marker-weich); }
.ez-mtag { margin-bottom: 18px; display: flex; flex-direction: column; gap: 8px; }
.ez-mtag-kopf { display: flex; align-items: center; justify-content: space-between; gap: 6px 10px; flex-wrap: wrap; padding: 6px 0; border-bottom: 2px solid var(--tinte); }
.ez-mtag-wer { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ez-mtag-wer b { font-size: 17px; font-stretch: 85%; display: flex; align-items: center; }
.ez-mtag-akt { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.ez-mtag-akt:empty { display: none; }
.ez-frei { padding: 4px 2px; }

/* listy */
.ez-liste { display: flex; flex-direction: column; gap: 8px; max-width: 860px; }
.ez-listenzeile { display: flex; gap: 12px; align-items: stretch; }
.ez-listenzeile .ez-karte { flex: 1; min-width: 0; }
.ez-lz-rechts { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 6px; }
.ez-nach td { font-size: 14px; }
.ez-nach .badge { margin: 1px 0; }
.ez-kasse-zeile { align-items: flex-start; padding: 6px 0; border-bottom: 1px solid var(--linie); margin: 0; }
.ez-kasse-zeile small { display: block; }
.ez-summe { font-size: 22px; font-stretch: 80%; }
.ez-inaktiv { opacity: .6; }
.ez-mkarte-b { text-align: left; cursor: pointer; font: inherit; }
.ez-farbe { width: 30px; height: 30px; border-radius: 50%; border: 3px solid var(--flaeche); box-shadow: 0 0 0 1px var(--linie2); cursor: pointer; }
.ez-farbe[aria-checked="true"] { box-shadow: 0 0 0 3px var(--tinte); }

/* okno zlecenia */
.ez-plz-ort { display: grid; grid-template-columns: 120px 1fr; gap: 0 12px; }
.ez-termin { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 0 12px; }
#eArt .chip[aria-checked="true"] { background: var(--tinte); color: #fff; border-color: var(--tinte); }
#eMon .chip { display: inline-flex; align-items: center; }
.ez-vorschlag:empty { display: none; }
.ez-vorschlag { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: var(--aktion-hell); border: 1px solid #C9D8EC; }
.ez-v-titel { font-size: 13px; font-weight: 640; color: var(--aktion); margin-bottom: 6px; }
.ez-v-liste { display: flex; flex-direction: column; gap: 6px; }
.ez-vchip { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; text-align: left; border: 1px solid #C9D8EC; background: var(--flaeche); border-radius: 8px; padding: 7px 10px; cursor: pointer; font-size: 14px; color: var(--tinte); }
.ez-vchip small { flex-basis: 100%; color: var(--grafit); font-size: 12.5px; }
.ez-vchip.nah small { color: var(--gruen); font-weight: 600; }
.ez-vchip.gewaehlt { border-color: var(--aktion); box-shadow: 0 0 0 2px var(--aktion); }

/* karta wyjazdu */
.ez-detail { max-width: 1180px; }
.ez-zurueck { display: inline-block; margin-bottom: 8px; padding-left: 0; }
.ez-termin-gross { font-size: 18px; font-weight: 600; margin: 4px 0 8px; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.ez-spalten { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 18px; align-items: start; }
.ez-intern { margin-top: 12px; }
.ez-monteur-aktionen { display: flex; gap: 10px; flex-wrap: wrap; margin: 10px 0 4px; }
.btn.ez-gross { min-height: 52px; font-size: 17px; padding: 10px 20px; flex: 1 1 200px; }
.anh-bild { position: relative; }
.ez-fototyp { position: absolute; left: 4px; bottom: 4px; background: rgba(21, 32, 43, .75); color: #fff; font-size: 11px; padding: 0 6px; border-radius: 999px; }
.ez-foto-knopf { display: inline-flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.ez-foto-knopf label.btn { cursor: pointer; }
.ez-verlauf { display: flex; flex-direction: column; margin-bottom: 8px; }
.ez-v-zeile { display: flex; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--linie); font-size: 14px; }
.ez-v-zeile:last-child { border-bottom: 0; }
.ez-v-ikon { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--papier); border: 1px solid var(--linie); display: grid; place-items: center; font-size: 12px; color: var(--grafit); }
.ez-v-zeile.ist-notiz .notiz { margin-top: 3px; white-space: pre-wrap; }
.ez-pos { margin-top: 10px; }
.ez-pos td { padding: 6px 10px; }
.ez-pos tr.ez-sum td { border-top: 1px solid var(--linie2); }

/* raport montera */
.ez-bericht-seite { max-width: 860px; padding-bottom: 110px; }
.ez-arbeiten-chips .chip { font-size: 13px; }
.ez-posz { display: grid; grid-template-columns: 150px 1fr 110px 40px; gap: 6px; margin-bottom: 6px; align-items: center; }
.ez-aufmz { display: grid; grid-template-columns: 1.2fr 1fr 80px 80px 70px 1fr 56px 1.2fr 40px; gap: 6px; margin-bottom: 6px; align-items: center; padding-bottom: 6px; border-bottom: 1px dashed var(--linie); }
.ez-summen { display: flex; gap: 18px; flex-wrap: wrap; justify-content: flex-end; margin: 8px 0 0; font-size: 15px; }
.ez-zahl { width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); }
.ez-zahl button { padding: 10px 8px; }
.ez-einzug { padding: 4px 0 10px 30px; }
.ez-bericht-fuss {
  position: fixed; left: var(--rail); right: 0; bottom: 0; z-index: 30; display: flex; gap: 10px; justify-content: flex-end;
  padding: 12px 28px; background: var(--papier); border-top: 1px solid var(--linie2);
}
.ez-bericht-fuss .btn { min-height: 46px; }

/* monter: moje wyjazdy */
.ez-meine { max-width: 760px; }
.ez-mkarte { background: var(--flaeche); border: 1px solid var(--linie); border-radius: 12px; overflow: hidden; }
.ez-mkarte.st-erledigt, .ez-mkarte.st-abgeschlossen { opacity: .7; }
.ez-mkarte.st-unterwegs, .ez-mkarte.st-vor_ort { box-shadow: 0 0 0 2px var(--marker); }
.ez-mk-haupt { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; text-decoration: none; color: inherit; }
.ez-mk-zeit { font-size: 20px; font-weight: 760; font-stretch: 80%; margin-right: 4px; }
.ez-mk-oben { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ez-mk-name { font-size: 17px; font-weight: 640; margin-top: 4px; }
.ez-mk-adr { color: var(--tinte); }
.ez-mk-zugang { background: var(--marker-weich); border-radius: 6px; padding: 2px 8px; font-size: 14px; align-self: flex-start; }
.ez-mk-text { color: var(--grafit); font-size: 14px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ez-mk-knoepfe { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 6px; padding: 0 14px 12px; }
.ez-mk-knoepfe .btn { min-height: 46px; }
.ez-mk-knoepfe .btn-primaer { grid-column: 1 / -1; }
/* select z panelu ma width: 100% — w paskach modułu tylko tyle, ile treść */
.ez-seite select.feld.feld-klein, .ez-detail select.feld.feld-klein, .ez-bericht-seite select.feld.feld-klein, .kopf select.feld.feld-klein { width: auto; max-width: 100%; }
.ez-detail .projekt-kopf h2 { margin-right: 4px; }

@media (max-width: 1100px) {
  .ez-spalten { grid-template-columns: 1fr; }
  .ez-aufmz { grid-template-columns: 1fr 1fr 1fr; }
  .ez-aufmz [data-k="notiz"] { grid-column: span 2; }
}
@media (max-width: 760px) {
  .ez-suche-f { flex: 1 1 100%; }
  .reiter .ez-als-monteur { margin-left: 0; }
  .ez-termin { grid-template-columns: 1fr 1fr; }
  .ez-termin > div:first-child { grid-column: span 2; }
  .ez-posz { grid-template-columns: 1fr 1fr; }
  .ez-posz [data-k="text"] { grid-column: span 2; order: -1; }
  .ez-posz [data-k="art"] { order: -2; grid-column: span 2; }
  .ez-posz .btn { justify-self: end; }
  .ez-aufmz { grid-template-columns: 1fr 1fr; }
  .ez-aufmz [data-k="notiz"] { grid-column: span 2; }
  .ez-bericht-fuss { left: 0; bottom: calc(58px + env(safe-area-inset-bottom)); padding: 10px 14px; }
  .ez-bericht-fuss .btn { flex: 1; }
  .ez-bericht-seite { padding-bottom: 150px; }
  .ez-listenzeile { flex-direction: column; gap: 6px; }
  .ez-lz-rechts { flex-direction: row; justify-content: space-between; align-items: center; }
  .ez-einzug { padding-left: 4px; }
  .ez-termin-gross { font-size: 16px; }
  .ez-zahl { grid-template-columns: 1fr 1fr; }
  .ez-zahl button:nth-child(3) { border-left: 0; }
  .ez-zahl button:nth-child(n+3) { border-top: 1px solid var(--linie); }
  .ez-detail .felder { grid-template-columns: 1fr; gap: 0; }
  .ez-detail .felder dt { font-size: 13px; margin-top: 8px; }
  .ez-mtag-kopf .btn-klein { min-height: 36px; }
}

/* ---------- kopia TimeTree w planie ---------- */
button.ez-karte { width: 100%; text-align: left; font: inherit; cursor: pointer; }
.ez-karte.ez-tt { border-style: dashed; border-left-style: solid; background: #FBFCFB; }
.ez-k-tt { margin-left: auto; font-size: 12px; }
.badge.ez-tt-badge { background: #E3F5EC; color: #136B43; margin-left: 6px; }
button.ez-tagkopf { border: 0; text-align: left; font: inherit; font-weight: 640; font-size: 14px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
button.ez-tagkopf:hover { background: #ECF0EC !important; }
.ez-tagkopf-karte { opacity: .55; font-size: 13px; }
.ez-karte-knopf { width: 100%; margin-bottom: 12px; }

/* ---------- dzień + mapa ---------- */
.ez-tag { display: grid; grid-template-columns: minmax(340px, 1fr) minmax(0, 1.25fr); gap: 18px; align-items: start; }
.ez-tag-liste { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.ez-karte-box { position: sticky; top: 12px; }
.ez-map { height: calc(100vh - 190px); min-height: 420px; border-radius: 12px; border: 1px solid var(--linie2); background: #E8ECE8; z-index: 0; }
.ez-map-klein { height: 300px; min-height: 0; }
.ez-meine-karte { margin-bottom: 16px; display: flex; flex-direction: column; gap: 8px; }
.ez-tagzeile { display: flex; flex-direction: column; gap: 0; }
.ez-summe-zeile { font-size: 14.5px; margin: 6px 0 8px; }
.ez-summe-tag b { font-weight: 700; }
.ez-stop { display: flex; gap: 10px; align-items: flex-start; width: 100%; text-align: left; font: inherit; color: inherit; cursor: pointer;
  background: var(--flaeche); border: 1px solid var(--linie); border-radius: 10px; padding: 9px 11px; }
.ez-stop:hover { border-color: var(--grafit); }
.ez-stop.fertig { background: #F6FAF7; }
.ez-stop.ez-stop-tt { border-style: dashed; }
.ez-stop-text { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 8px; min-width: 0; }
.ez-stop-name { flex-basis: 100%; font-weight: 640; overflow-wrap: anywhere; }
.ez-stop-text > .leise { flex-basis: 100%; }
.ez-nr { flex: none; width: 28px; height: 28px; border-radius: 50%; color: #fff; font-weight: 800; font-size: 14px; display: grid; place-items: center; margin-top: 1px; }
.ez-leg { display: flex; gap: 10px; align-items: stretch; padding: 4px 0 4px 13px; font-size: 13.5px; color: var(--tinte); }
.ez-leg-linie { flex: none; width: 3px; border-radius: 2px; background: var(--linie2); margin-right: 12px; }
.ez-leg.knapp .ez-leg-linie { background: var(--rot); }
.ez-leg.knapp { color: var(--rot); }
.ez-start { font-size: 13.5px; color: var(--grafit); padding: 6px 2px; }
.ez-verkehr-info { margin: 0; }
.ez-pin { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; font-weight: 800; font-size: 14px;
  border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .45); font-family: var(--font); }
.ez-pin.fertig { opacity: .6; }
.ez-pin.tt { border-style: dashed; }
.ez-pin-start { width: 28px; height: 28px; background: #fff; border: 3px solid; font-size: 14px; }
.leaflet-popup-content { font-family: var(--font); font-size: 14px; }

@media (max-width: 1100px) {
  .ez-tag { grid-template-columns: 1fr; }
  .ez-karte-box { position: static; order: -1; }
  .ez-map { height: 380px; min-height: 0; }
}
@media (max-width: 760px) {
  .ez-map { height: 300px; }
  .ez-leg { padding-left: 13px; }
}
.ez-parallel { display: block; }
