/* 📇 Adressen – Kundenkartei, angelehnt an die TAIFUN-Adressmaske */
.adr { display:grid; grid-template-columns:minmax(340px, min(480px, 38%)) 1fr; gap:16px; align-items:start; }
.adr-liste { background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; position:sticky; top:12px; display:flex; flex-direction:column; max-height:calc(100vh - 140px); }
.adr-suche { display:flex; gap:8px; padding:10px; border-bottom:1px solid var(--line); background:#faf8f5; }
.adr-suche input { flex:1; min-width:0; padding:9px 12px; border:1px solid var(--line); border-radius:10px; font:inherit; }
.adr-filter { display:flex; flex-wrap:wrap; gap:6px; padding:8px 10px; border-bottom:1px solid var(--line); } .adr-filter .chip { font-size:13px; }
/* Nummernspalte breiter, lange Nummern mit „…“ – nie in den Namen hinein (Inhaber 15.10.2026, z. B. „Kasper Kerstin“) */
.adr-kopf, .adr-zeile { display:grid; grid-template-columns:86px minmax(0, 1fr) minmax(110px, 40%); gap:10px; align-items:center; }
.adr-kopf { padding:6px 12px; font-size:12px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; background:#f2efea; border-bottom:1px solid var(--line); position:relative; }
.adr-kopf #adrAnzahl { position:absolute; right:12px; text-transform:none; letter-spacing:0; font-weight:400; }
.adr-zeilen { overflow-y:auto; flex:1; }
.adr-zeile { width:100%; text-align:left; border:0; border-bottom:1px solid #f0ece6; background:#fff; padding:8px 12px; font:inherit; font-size:14px; cursor:pointer; color:inherit; position:relative; }
.adr-zeile:nth-child(even) { background:#fcfbf9; } .adr-zeile:hover { background:#fff4ec; } .adr-zeile.an { background:#fde9e6; box-shadow:inset 3px 0 0 var(--red); }
.adr-zeile.inaktiv { color:var(--muted); text-decoration:line-through; }
.adr-nr { font-variant-numeric:tabular-nums; color:var(--muted); font-size:13px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .adr-n { font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.adr-o { color:var(--muted); font-size:13px; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; line-height:1.25; padding-right:26px; } .adr-bb { position:absolute; right:8px; top:4px; display:flex; flex-direction:column; align-items:flex-end; gap:2px; }   /* KK und 369 untereinander, damit sie den Ort nicht überdecken (Inhaber 14.10.2026) */
.adr-b { font-size:9px; font-weight:700; padding:1px 4px; border-radius:4px; color:#fff; line-height:1.3; } .adr-b.kk { background:var(--red); } .adr-b.b369 { background:#1f4e79; }
.adr-zeile .adr-bb { opacity:.75; }
/* Lieferanten strikt einzeilig (Inhaber 15.10.2026) */
.adr-zeile.lief .adr-o { display:block; white-space:nowrap; -webkit-line-clamp:unset; padding-right:60px; }
.adr-zeile.lief .adr-bb { top:50%; transform:translateY(-50%); }
.adr-admin { display:flex; flex-wrap:wrap; gap:6px; padding:10px; border-top:1px solid var(--line); background:#faf8f5; }
.adr-detail { min-width:0; }
.adr-leer { background:#fff; border:1px dashed var(--line); border-radius:var(--r); padding:40px 24px; text-align:center; }
.adr-maske { background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.adr-titel { display:flex; gap:10px; align-items:flex-start; padding:14px 18px; background:linear-gradient(180deg, #3b3632, #2d2926); color:#fff; }
.adr-titel b { display:block; font-size:20px; line-height:1.25; } .adr-titel-nr { font-size:12px; letter-spacing:.04em; text-transform:uppercase; opacity:.75; }
.adr-titel-unter { display:flex; gap:6px; align-items:center; flex-wrap:wrap; font-size:13px; opacity:.85; margin-top:2px; }
.adr-vorl { background:#f39200; color:#fff; border-radius:6px; padding:1px 6px; font-size:11px; text-transform:none; letter-spacing:0; }
.adr-zurueck { display:none; background:none; border:0; color:#fff; font-size:30px; line-height:1; padding:0 6px 0 0; cursor:pointer; }
.adr-reiter { display:flex; gap:2px; padding:0 10px; background:#2d2926; overflow-x:auto; }
.adr-reiter button { border:0; background:transparent; color:#d9d2ca; padding:9px 14px; font:inherit; font-size:14px; border-radius:8px 8px 0 0; cursor:pointer; white-space:nowrap; }
.adr-reiter button.an { background:#f6f3ee; color:var(--ink); font-weight:600; }
.adr-teil { padding:14px 16px 4px; background:#f6f3ee; }
.adr-teil fieldset { border:1px solid #e3ddd4; border-radius:10px; background:#fff; margin:0 0 12px; padding:8px 14px 12px; min-width:0; }
.adr-teil legend { font-size:12px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; padding:0 6px; }
.adr-teil legend .hinweis { text-transform:none; letter-spacing:0; font-weight:400; }
.adr-raster { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:8px 14px; }
.adr-f { display:grid; grid-template-columns:118px 1fr auto; align-items:center; gap:8px; font-size:14px; min-width:0; }
.adr-f.breit { grid-column:1 / -1; }
.adr-f > span { color:var(--muted); font-size:13px; }
.adr-f input, .adr-f select, .adr-weitere input, .adr-weitere select { width:100%; min-width:0; box-sizing:border-box; padding:7px 9px; border:1px solid #d9d2c8; border-radius:7px; font:inherit; font-size:14px; background:#fffdf9; }
.adr-f input:focus, .adr-f select:focus, .adr-notiz:focus, .adr-weitere input:focus { outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(230,55,65,.12); background:#fff; }
.adr-wert { display:flex; gap:8px; align-items:baseline; flex-wrap:wrap; }
.adr-akt { text-decoration:none; font-size:16px; padding:2px 4px; }
.adr-notiz, .adr-neunotiz textarea { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #d9d2c8; border-radius:8px; font:inherit; font-size:15px; line-height:1.5; background:#fffef6; resize:vertical; }
.adr-neunotiz { display:grid; gap:6px; margin-bottom:10px; } .adr-neunotiz .btn { justify-self:start; }
.adr-notizen { list-style:none; margin:0; padding:0; display:grid; gap:8px; } .adr-notizen li { border-left:3px solid #e9b98a; padding:4px 10px; background:#fffaf3; border-radius:0 8px 8px 0; }
.adr-checks { display:flex; flex-wrap:wrap; gap:16px; } .adr-checks label { display:flex; gap:6px; align-items:center; font-size:14px; }
.adr-weitere { display:grid; grid-template-columns:130px 1fr 1.4fr 80px 1fr auto; gap:6px; margin-bottom:6px; }
.adr-vg { list-style:none; padding:0; margin:0 0 10px; display:grid; gap:6px; } .adr-vg li { padding:6px 0; border-bottom:1px solid #f0ece6; }
.adr-fuss { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 16px; border-top:1px solid var(--line); background:#fff; position:sticky; bottom:0; }
.adr-fuss .btns { margin:0; }
@media (max-width:900px) {
  .adr { grid-template-columns:1fr; }
  .adr-liste { position:static; max-height:none; }
  .adr.mit-detail .adr-liste { display:none; }
  .adr:not(.mit-detail) .adr-detail { display:none; }
  .adr-zurueck { display:block; }
  .adr-f { grid-template-columns:100px 1fr auto; }
  .adr-weitere { grid-template-columns:1fr 1fr; } .adr-weitere [data-w="strasse"] { grid-column:1 / -1; }
  .adr-teil { padding:10px 8px 2px; } .adr-teil fieldset { padding:6px 10px 10px; }
}

/* kompakte Maske (08.10.2026): Name, Anschrift, Kontakt je in einer Zeile */
.adr-block { background:#fff; border:1px solid #e3ddd4; border-radius:10px; padding:10px 14px 12px; margin-bottom:12px; display:grid; gap:10px; }
.adr-zeile2 { display:grid; gap:8px 10px; align-items:end; }
.adr-zeile2.nummer { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.adr-zeile2.name { grid-template-columns:110px 110px minmax(0, 1fr) minmax(0, 1.3fr); }
.adr-zeile2.name:has(> .adr-k:nth-child(3):last-child) { grid-template-columns:110px minmax(0, 1.4fr) minmax(0, 1fr); }
.adr-zeile2.anschrift { grid-template-columns:90px minmax(0, 2fr) minmax(0, 2fr); }
.adr-zeile2.kontakt { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.adr-zeile2.zusatz { grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); }
.adr-k { display:grid; gap:3px; min-width:0; } .adr-k > span:first-child { font-size:12px; color:var(--muted); font-weight:600; }
.adr-k-in { display:flex; gap:6px; align-items:center; min-width:0; }
.adr-k input, .adr-k select { flex:1; width:100%; min-width:0; box-sizing:border-box; padding:9px 11px; border:1px solid #d9d2c8; border-radius:8px; font:inherit; font-size:15px; background:#fffdf9; }
.adr-k input:focus, .adr-k select:focus { outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(230,55,65,.12); background:#fff; }
.adr-k .adr-wert { padding:8px 0; gap:10px; flex-wrap:wrap; } .adr-k .adr-wert b { font-size:16px; }
.adr-ssf { display:flex; gap:8px; align-items:baseline; font-size:14px; background:#f6f8f4; border:1px dashed #cfd9cc; border-radius:8px; padding:7px 10px; flex-wrap:wrap; }
.adr-plus select { padding:6px 10px; border:1px dashed #cbbfb0; border-radius:8px; background:#fff; font:inherit; font-size:14px; color:var(--muted); cursor:pointer; }
.adr-mehr { background:#fff; border:1px solid #e3ddd4; border-radius:10px; padding:8px 14px; margin-bottom:12px; } .adr-mehr summary { cursor:pointer; font-weight:600; font-size:14px; }
.adr-mehr[open] summary { margin-bottom:8px; }
.adr-zahlung .adr-zeile2 + .adr-zeile2 { margin-top:8px; } .adr-zahlung .adr-zeile2 { grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); }
.adr-zahlung .adr-k.w2 { grid-column:span 2; } .adr-zahlung .adr-k-in { flex-wrap:wrap; } .adr-ust-hinweis { color:#b45309; flex-basis:100%; margin-top:2px; }
@media (max-width:420px) { .adr-zahlung .adr-k.w2 { grid-column:1 / -1; } }
.adr-teil > .adr-checks { padding:2px 4px 12px; }
@media (max-width:900px) {
  .adr-zeile2.kontakt { grid-template-columns:1fr; } .adr-zeile2.nummer { grid-template-columns:1fr 1fr; } .adr-ssf { flex-wrap:nowrap; }
  .adr-zeile2.name { grid-template-columns:1fr 1fr; } .adr-zeile2.name:has(> .adr-k:nth-child(3):last-child) { grid-template-columns:1fr 1fr; }
  .adr-zeile2.name > .adr-k:nth-child(n+3) { grid-column:span 1; }
  .adr-zeile2.anschrift { grid-template-columns:90px 1fr; } .adr-zeile2.anschrift > .adr-k:last-child { grid-column:1 / -1; }
  .adr-block { padding:8px 10px 10px; }
}

.adr-notizen li { position:relative; } .adr-nweg { position:absolute; top:4px; right:6px; opacity:.55; } .adr-nweg:hover { opacity:1; color:var(--red,#e63741); } .adr-notizen summary { cursor:pointer; list-style:none; } .adr-notizen details[open] summary { display:none; }
/* Standort-Karte (Google Maps) und Schornsteinfeger-Suche direkt in der Adresse – 10.10.2026 */
.adr-standort { margin:6px 0 10px; } .adr-standort summary { cursor:pointer; font-weight:600; display:flex; gap:8px; align-items:center; }
.adr-standort iframe { display:block; width:100%; height:260px; border:0; border-radius:10px; margin-top:6px; background:#eee; }
@media (max-width:600px) { .adr-standort iframe { height:220px; } }
.adr-ssf-suche { margin:6px 0 10px; padding:10px 12px; border:1px dashed #d8cfc4; border-radius:10px; background:#fbf8f4; } .adr-ssf-suche .ssf-karte { margin:8px 0; }
.adr-verschoben { background:#fff6c8 !important; transition:background .3s; }
.adr-bbi { display:inline-flex; flex-direction:column; align-items:flex-start; gap:2px; margin-left:6px; vertical-align:middle; }
