/* ── Adressen (Stammdaten › Adressen), Redesign 24.09.2026 ─────────────────────────────
   Design-Übergabe „Adressen – Redesign" (Apple Kontakte/Mail). Liste links, Details rechts ab
   760 px Seitenbreite (Klasse is-split, gesetzt per ResizeObserver in stammdaten.js), darunter
   Push-Navigation. Dieselben Detail-Regeln gelten für das Popup #adrDetailOverlay, das andere
   Seiten über adrOpenByNr öffnen, und für den Kopier-Dialog und den Hinweis unten.
   Keine festen Farben in Komponenten-Regeln: nur Tokens aus dem Block direkt hier drunter. */

#pageAdressen, #adrDetailOverlay, .adr-copy-overlay, #adrToast {
  --adr-pane:#ffffff; --adr-grouped:#f2f2f7; --adr-card:#ffffff; --adr-elev:#ffffff;
  --adr-fill:rgba(118,118,128,.12); --adr-fill-2:rgba(118,118,128,.20); --adr-sep:rgba(60,60,67,.13);
  --adr-text:#1d1d1f; --adr-text-2:#5e5e63; --adr-text-3:#737378; --adr-placeholder:#8a8a8e;
  --adr-accent:#0a72b0; --adr-accent-solid:#0a78b8; --adr-on-accent:#ffffff;
  --adr-sel:rgba(10,132,198,.11); --adr-hover:rgba(118,118,128,.07); --adr-ring:rgba(10,132,198,.28);
  --adr-mark:rgba(10,132,198,.14);
  --adr-seg:#ffffff; --adr-seg-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.05);
  --adr-pop:0 20px 50px rgba(0,0,0,.16),0 0 0 .5px rgba(0,0,0,.06); --adr-scrim:rgba(0,0,0,.22);
  --adr-knob:#ffffff; --adr-knob-shadow:0 1px 3px rgba(0,0,0,.28);
  --adr-green:#1a7f3c; --adr-orange:#a85100; --adr-red:#c4302b;
  --adr-toast:#1d1d1f; --adr-toast-text:#ffffff;
  --adr-eig:#2459d6; --adr-eig-bg:rgba(37,99,235,.10);
  --adr-mie:#7033d9; --adr-mie-bg:rgba(124,58,237,.10);
  --adr-bei:#b8480d; --adr-bei-bg:rgba(234,88,12,.10);
  --adr-oth:#5b6472; --adr-oth-bg:rgba(100,116,139,.12);
  --adr-font:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI Variable Text','Segoe UI',system-ui,sans-serif;
  --adr-mono:ui-monospace,'SF Mono',Menlo,monospace;
  --adr-ease:cubic-bezier(.3,.7,.2,1);
}
html.dark #pageAdressen, html.dark #adrDetailOverlay, html.dark .adr-copy-overlay, html.dark #adrToast {
  --adr-pane:#1c1c1f; --adr-grouped:#141416; --adr-card:#232326; --adr-elev:#2a2a2e;
  --adr-fill:rgba(118,118,128,.24); --adr-fill-2:rgba(118,118,128,.34); --adr-sep:rgba(255,255,255,.09);
  --adr-text:#f5f5f7; --adr-text-2:#aeaeb2; --adr-text-3:#98989d; --adr-placeholder:#7c7c82;
  --adr-accent:#5cc0f5; --adr-accent-solid:#0a84c6;
  --adr-sel:rgba(92,192,245,.15); --adr-hover:rgba(255,255,255,.04); --adr-ring:rgba(92,192,245,.35);
  --adr-mark:rgba(92,192,245,.22);
  --adr-seg:#48484c; --adr-seg-shadow:0 1px 3px rgba(0,0,0,.4);
  --adr-pop:0 24px 60px rgba(0,0,0,.55),0 0 0 .5px rgba(255,255,255,.07); --adr-scrim:rgba(0,0,0,.5);
  --adr-green:#4cd07d; --adr-orange:#ffab52; --adr-red:#ff6961;
  --adr-toast:#f5f5f7; --adr-toast-text:#1d1d1f;
  --adr-eig:#86b4ff; --adr-eig-bg:rgba(96,150,255,.17);
  --adr-mie:#c0a8ff; --adr-mie-bg:rgba(160,125,255,.17);
  --adr-bei:#ffab70; --adr-bei-bg:rgba(255,150,90,.16);
  --adr-oth:#b0b6c0; --adr-oth-bg:rgba(170,178,190,.15);
}

/* Karten wie überall in der App (Mike 24.09.2026: „die Cards … müssten einheitlich sein"):
   Glas aus app.css (--bg-card, --border-glass, --glass-blur) statt eigener Grautöne; im Dunkelmodus
   waren sie sonst neutral grau (#232326) statt bläulich. Gilt auf der Seite, nicht im Popup/Dialog. */
#pageAdressen, html.dark #pageAdressen { --adr-card:var(--bg-card); }
#pageAdressen :is(.adr-karte, .adr-kau, .adr-akt),
#pageAdressen.is-desk.is-dbreit .adr-oben {
  border:1px solid var(--border-glass); box-shadow:var(--shadow-sm);
  -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur);
}
#pageAdressen .adr-akt.is-dis { box-shadow:none; }

/* ── Seite füllt den Inhaltsbereich randlos (Muster #pagePostausgang) ── */
body[data-seite="adressen"] .main-content:not(#_) {
  padding:0 !important; overflow:hidden !important;
  display:flex !important; flex-direction:column !important;
}
#pageAdressen.active {
  display:flex !important; flex:1 1 0; min-height:0; overflow:hidden; position:relative;
  background:transparent; color:var(--adr-text); /* App-Hintergrund (Farbverlauf) scheint durch, Mike 24.09.2026 */
}
#pageAdressen, #adrDetailOverlay .adr-ovl-modal, .adr-copy-panel, #adrToast {
  font-family:var(--adr-font); -webkit-font-smoothing:antialiased; font-size:15px; line-height:1.35;
}
#pageAdressen :focus, #adrDetailOverlay :focus, .adr-copy-overlay :focus { outline:none; }
#pageAdressen button:focus-visible, #pageAdressen a:focus-visible, #pageAdressen [tabindex]:focus-visible,
#adrDetailOverlay button:focus-visible, #adrDetailOverlay a:focus-visible,
.adr-copy-overlay button:focus-visible, .adr-copy-item:has(input:focus-visible) {
  outline:2px solid var(--adr-accent); outline-offset:2px;
}
/* :where hält die Spezifität niedrig, sonst übertönt die Grundfarbe .adr-akt und .is-link */
:where(#pageAdressen, #adrDetailOverlay) a { color:inherit; text-decoration:none; }
.adr-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ── Spalten ── */
.adr-listpane { display:flex; flex-direction:column; width:100%; min-width:0; background:transparent; }
.adr-detailpane { display:none; flex:1; min-width:0; flex-direction:column; background:transparent; }
#pageAdressen.is-split .adr-listpane { width:clamp(320px,36%,400px); flex-shrink:0; border-right:1px solid var(--adr-sep); }
#pageAdressen.is-split .adr-detailpane { display:flex; }
#pageAdressen:not(.is-split).is-open .adr-listpane { display:none; }
#pageAdressen:not(.is-split).is-open .adr-detailpane { display:flex; }

/* ── Kopf der Liste ── */
.adr-head {
  display:flex; flex-direction:column; gap:12px; flex-shrink:0;
  padding:calc(env(safe-area-inset-top, 0px) + 22px) 20px 12px;
}
#pageAdressen.is-phone .adr-head { padding:calc(env(safe-area-inset-top, 0px) + 10px) 16px 12px; }
/* Großtitel nur ohne Split; darüber trägt die Kopfzeile der App „Adressen / Stammdaten". */
.adr-title { margin:0; font-size:26px; line-height:1.1; font-weight:700; letter-spacing:-.025em; }
#pageAdressen.is-phone .adr-title { font-size:32px; }
#pageAdressen.is-split .adr-title { display:none; }

.adr-searchbox { position:relative; }
.adr-searchbox > svg { position:absolute; left:11px; top:50%; margin-top:-8.5px; color:var(--adr-text-3); pointer-events:none; }
#adrSearch {
  width:100%; box-sizing:border-box; height:36px; padding:0 40px 0 34px; border:0; border-radius:10px;
  background:var(--adr-fill); color:var(--adr-text); font:inherit; font-size:15px;
  -webkit-appearance:none; appearance:none; box-shadow:none;
  transition:background-color .15s ease, box-shadow .15s ease;
}
#adrSearch::placeholder { color:var(--adr-placeholder); opacity:1; }
#adrSearch::-webkit-search-cancel-button { -webkit-appearance:none; display:none; }
#adrSearch:focus { background:var(--adr-card); box-shadow:0 0 0 1px var(--adr-accent), 0 0 0 4px var(--adr-ring); }
#pageAdressen.is-touch #adrSearch { height:40px; font-size:16px; }
.adr-clear {
  position:absolute; right:0; top:50%; margin-top:-22px; width:44px; height:44px; border:0; padding:0;
  background:transparent; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--adr-text-3);
}
.adr-clear[hidden] { display:none; }
.adr-clear circle { fill:currentColor; opacity:.55; }
.adr-clear path { stroke:var(--adr-card); }

/* Rollenfilter als Segmented Control */
.adr-seg { display:flex; padding:2px; border-radius:9px; background:var(--adr-fill); }
.adr-seg button {
  flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  min-height:28px; padding:0 8px; border:0; border-radius:7px; background:transparent; box-shadow:none;
  color:var(--adr-text); font:inherit; font-size:13px; font-weight:500; cursor:pointer;
  transition:background-color .15s ease, box-shadow .15s ease;
}
.adr-seg button[aria-checked="true"] { background:var(--adr-seg); box-shadow:var(--adr-seg-shadow); font-weight:600; }
#pageAdressen.is-touch .adr-seg button { min-height:32px; }
#pageAdressen.is-narrowseg .adr-seg button { font-size:12px; padding:0 4px; }

.adr-statusline { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:28px; }
#adrStats2 { font-size:13px; color:var(--adr-text-2); }
.adr-switch {
  display:flex; align-items:center; gap:8px; min-height:32px; padding:0; border:0; background:transparent;
  color:var(--adr-text-2); font:inherit; font-size:13px; cursor:pointer;
}
.adr-switch-track { position:relative; width:36px; height:22px; border-radius:999px; background:var(--adr-fill-2); transition:background-color .2s ease; }
.adr-switch-knob {
  position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%;
  background:var(--adr-knob); box-shadow:var(--adr-knob-shadow); transition:transform .2s var(--adr-ease);
}
.adr-switch[aria-checked="true"] .adr-switch-track { background:var(--adr-green); }
.adr-switch[aria-checked="true"] .adr-switch-knob { transform:translateX(14px); }

/* ── Scrollbereich der Liste ── */
.adr-scroll {
  flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  border-top:1px solid var(--adr-sep);
}
#adrList { padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 16px); }
#adrList[hidden] { display:none; }

.adr-row {
  display:flex; align-items:center; gap:12px; padding-left:20px; cursor:pointer;
  background:transparent; transition:background-color .12s ease;
}
#pageAdressen.is-phone .adr-row { padding-left:16px; }
.adr-row:hover { background:var(--adr-hover); }
.adr-row.is-act { background:var(--adr-hover); }
.adr-row.is-sel, .adr-row.is-sel:hover { background:var(--adr-sel); }
.adr-row-in {
  flex:1; min-width:0; display:flex; align-items:center; gap:12px; min-height:58px; padding-right:20px;
  border-top:1px solid var(--adr-sep);
}
.adr-row:first-child .adr-row-in { border-top:0; }
#pageAdressen.is-phone .adr-row-in { padding-right:16px; }
#pageAdressen.is-touch .adr-row-in { min-height:64px; }
.adr-row-text { flex:1; min-width:0; }
.adr-row-name { font-size:15px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.adr-row-name mark { background:var(--adr-mark); color:inherit; border-radius:3px; }
.adr-row-sub, .adr-row-kontakt > div { font-size:13px; color:var(--adr-text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.adr-row-kontakt { display:none; width:34%; min-width:0; }
.adr-row-kontakt > div + div { font-variant-numeric:tabular-nums; }
#pageAdressen.is-wide:not(.is-split) .adr-row-kontakt { display:block; }
.adr-row-meta { display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex-shrink:0; max-width:40%; }
.adr-row-nr { font-size:12px; color:var(--adr-text-3); font-variant-numeric:tabular-nums; }
.adr-row.is-inaktiv .adr-av, .adr-row.is-inaktiv .adr-row-text, .adr-row.is-inaktiv .adr-row-kontakt { opacity:.55; }

/* Avatar und Rollen-Badge: Tönung der Rolle, keine Vollfläche */
.adr-av {
  width:36px; height:36px; flex-shrink:0; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:650; letter-spacing:.02em;
}
.adr-rolle {
  max-width:100%; font-size:12px; font-weight:600; line-height:20px; padding:0 8px; border-radius:999px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.adr-r-eig { background:var(--adr-eig-bg); color:var(--adr-eig); }
.adr-r-mie { background:var(--adr-mie-bg); color:var(--adr-mie); }
.adr-r-bei { background:var(--adr-bei-bg); color:var(--adr-bei); }
.adr-r-oth { background:var(--adr-oth-bg); color:var(--adr-oth); }
.adr-r-inaktiv { background:var(--adr-fill); color:var(--adr-text-2); }

/* Zustände der Liste */
.adr-state { padding:56px 24px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; }
.adr-state[hidden] { display:none; }
.adr-state-icon { color:var(--adr-text-3); margin-bottom:8px; }
.adr-state-titel { font-size:17px; font-weight:600; }
.adr-state-text { font-size:14px; color:var(--adr-text-2); max-width:300px; text-wrap:pretty; }
.adr-state-knoepfe { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:10px; }
.adr-pill {
  min-height:36px; padding:0 16px; border:0; border-radius:999px; background:var(--adr-fill);
  color:var(--adr-accent); font:inherit; font-size:14px; font-weight:600; cursor:pointer;
}
.adr-skel { display:flex; align-items:center; gap:12px; padding-left:20px; }
.adr-skel-av { width:36px; height:36px; border-radius:50%; background:var(--adr-fill); flex-shrink:0; }
.adr-skel-in { flex:1; display:flex; flex-direction:column; gap:7px; padding:14px 20px 14px 0; border-top:1px solid var(--adr-sep); }
.adr-skel:first-child .adr-skel-in { border-top:0; }
.adr-skel-in i { display:block; height:11px; border-radius:6px; background:var(--adr-fill-2); }
.adr-skel-in i + i { height:9px; border-radius:5px; background:var(--adr-fill); }

/* ── Detailspalte / Detailseite ── */
.adr-navbar {
  display:none; flex-shrink:0; align-items:center; justify-content:space-between;
  padding:calc(env(safe-area-inset-top, 0px) + 4px) 8px 4px 4px; background:transparent;
}
#pageAdressen:not(.is-split) .adr-navbar { display:flex; }
.adr-back {
  display:flex; align-items:center; gap:2px; min-height:44px; padding:0 8px 0 2px; border:0; background:transparent;
  color:var(--adr-accent); font:inherit; font-size:17px; cursor:pointer;
}
.adr-navnr { font-size:13px; color:var(--adr-text-3); font-variant-numeric:tabular-nums; padding-right:8px; }
.adr-detailscroll {
  flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
}
.adr-leer { height:100%; min-height:240px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:24px; text-align:center; }
.adr-leer-titel { font-size:17px; font-weight:600; color:var(--adr-text-2); }
.adr-leer-text { font-size:14px; color:var(--adr-text-3); }

.adr-art {
  max-width:600px; margin:0 auto; padding:8px 16px calc(env(safe-area-inset-bottom, 0px) + 32px);
  display:flex; flex-direction:column; gap:24px; color:var(--adr-text);
}
#pageAdressen.is-split .adr-art, #adrDetailOverlay .adr-art { padding:28px 24px 48px; }
.adr-oben { display:flex; flex-direction:column; gap:24px; }
.adr-gruppen { display:flex; flex-direction:column; gap:24px; }
.adr-sp { display:contents; } /* Bereiche a/b/c der zweispaltigen Desktop-Details, sonst ohne Wirkung */
.adr-kopf { display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; }
.adr-kopf-text { display:flex; flex-direction:column; align-items:center; gap:4px; min-width:0; }
.adr-kopf-nr { align-self:flex-end; font-size:12px; color:var(--adr-text-3); font-variant-numeric:tabular-nums; margin-bottom:-8px; }
#pageAdressen:not(.is-split) .adr-kopf-nr { display:none; }
.adr-av-lg { width:76px; height:76px; font-size:27px; font-weight:600; letter-spacing:0; margin-bottom:8px; }
.adr-kopf h2 { margin:0; font-size:24px; line-height:1.2; font-weight:700; letter-spacing:-.02em; overflow-wrap:anywhere; text-wrap:balance; color:var(--adr-text); }
.adr-kopf-sub { font-size:15px; color:var(--adr-text-2); }
.adr-kopf-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:6px; }
.adr-kopf-badges .adr-rolle { line-height:22px; padding:0 10px; }
.adr-kopf-summe { font-size:13px; color:var(--adr-text-2); margin-top:6px; font-variant-numeric:tabular-nums; }

/* Aktionsleiste */
.adr-aktionen { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; width:100%; max-width:440px; align-self:center; }
.adr-akt {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:60px;
  border-radius:12px; background:var(--adr-card); color:var(--adr-accent); font-size:12px; font-weight:500;
  cursor:pointer; transition:transform .1s ease, background-color .15s ease; -webkit-tap-highlight-color:transparent;
  border:0; font-family:inherit; padding:0;
}
.adr-akt:active { transform:scale(.96); }
.adr-akt.is-dis { color:var(--adr-text-3); opacity:.5; cursor:default; }
.adr-akt.is-dis:active { transform:none; }

/* Gruppen (inset grouped) */
.adr-gruppe h3 { margin:0 0 6px 16px; font-size:13px; font-weight:500; color:var(--adr-text-2); }
.adr-karte { background:var(--adr-card); border-radius:12px; overflow:hidden; }
.adr-karte + .adr-karte { margin-top:10px; }
.adr-z { display:block; width:100%; padding:0 0 0 16px; border:0; background:transparent; color:var(--adr-text); font:inherit; text-align:left; box-sizing:border-box; }
a.adr-z, button.adr-z { cursor:pointer; }
a.adr-z:hover, button.adr-z:hover { background:var(--adr-hover); }
.adr-z-in { display:flex; align-items:center; gap:12px; min-height:56px; padding:9px 16px 9px 0; box-sizing:border-box; border-top:1px solid var(--adr-sep); }
.adr-z:first-child .adr-z-in { border-top:0; }
.adr-z-text { flex:1; min-width:0; }
.adr-z-label { font-size:13px; color:var(--adr-text-2); }
.adr-z-wert { font-size:16px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.adr-z-wert.is-link { color:var(--adr-accent); }
.adr-z-notiz { font-size:13px; color:var(--adr-orange); margin-top:2px; }

/* Objekte & Einheiten */
.adr-z-einheit .adr-z-in { min-height:58px; padding-right:12px; }
.adr-z-rollen .adr-z-in { min-height:44px; }
.adr-z-titel { font-size:16px; font-weight:500; }
.adr-z-klein { font-size:13px; color:var(--adr-text-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.adr-z-klein.is-umbruch { white-space:normal; }
.adr-soll { text-align:right; flex-shrink:0; }
.adr-soll b { display:block; font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.adr-soll span { font-size:12px; color:var(--adr-text-3); }
.adr-chev { flex-shrink:0; color:var(--adr-text-3); }
button.adr-z[disabled] { cursor:default; }
button.adr-z[disabled]:hover { background:transparent; }

/* Kaution */
.adr-kau { background:var(--adr-card); border-radius:12px; padding:14px 16px 16px; display:flex; flex-direction:column; gap:10px; }
.adr-kau + .adr-kau { margin-top:10px; }
.adr-kau-kopf { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.adr-kau-art { font-size:13px; color:var(--adr-text-2); }
.adr-kau-status { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; white-space:nowrap; }
.adr-kau-status::before { content:''; width:7px; height:7px; border-radius:50%; background:currentColor; }
.adr-kau-betrag { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.adr-kau-betrag b { font-size:26px; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.adr-kau-betrag span { font-size:14px; color:var(--adr-text-2); font-variant-numeric:tabular-nums; }
.adr-kau-balken { height:6px; border-radius:3px; background:var(--adr-fill-2); overflow:hidden; }
.adr-kau-balken i { display:block; height:100%; border-radius:3px; background:currentColor; }
.adr-kau-info { font-size:13px; line-height:1.45; color:var(--adr-text-2); }
.adr-kau-voll { color:var(--adr-green); }
.adr-kau-offen { color:var(--adr-orange); }
.adr-kau-zurueck { color:var(--adr-text-3); }
.adr-kau-nein { color:var(--adr-red); }
.adr-ds-verlauf summary { cursor:pointer; font-size:13px; color:var(--adr-accent); min-height:44px; display:flex; align-items:center; }
.adr-ds-verlauf .adr-kau-buchungen { margin-top:0; }
.adr-kau-buchungen { margin:0 -16px -16px; }
.adr-kau-buchungen .adr-z-in { min-height:44px; font-size:13px; }
.adr-kau-datum { color:var(--adr-text-2); font-variant-numeric:tabular-nums; flex-shrink:0; }
.adr-kau-was { flex:1; min-width:0; color:var(--adr-text); }
.adr-kau-was small { display:block; color:var(--adr-text-3); font-size:12px; }
.adr-kau-summe { font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--adr-text); }
.adr-kau-weg .adr-kau-summe { text-decoration:line-through; color:var(--adr-text-3); }

/* Bankverbindung */
.adr-bank .adr-z-in { min-height:60px; padding:8px 4px 8px 0; gap:8px; }
.adr-bank.is-inaktiv .adr-z-text { opacity:.6; }
.adr-iban { font-family:var(--adr-mono); font-size:15px; letter-spacing:.01em; overflow-wrap:anywhere; }
.adr-bank .adr-z-klein { white-space:normal; margin-top:2px; }
.adr-ico-btn {
  width:44px; height:44px; flex-shrink:0; border:0; border-radius:10px; background:transparent; color:var(--adr-accent);
  display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0;
}
.adr-ico-btn:hover { background:var(--adr-fill); }

/* Stammdaten */
.adr-fakt { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:46px; padding-right:16px; border-top:1px solid var(--adr-sep); font-size:15px; }
.adr-z:first-child .adr-fakt { border-top:0; }
.adr-fakt span + span { color:var(--adr-text-2); text-align:right; font-variant-numeric:tabular-nums; }

.adr-fehler { padding:24px; color:var(--adr-red); font-size:14px; text-align:center; }

/* ── Popup auf fremden Seiten (adrOpenByNr aus Archiv, Beschlüssen, …) ── */
#adrDetailOverlay.overlay { background:var(--adr-scrim); backdrop-filter:none; -webkit-backdrop-filter:none; }
#adrDetailOverlay .adr-ovl-modal {
  width:min(640px, calc(100vw - 32px)); max-height:90vh; display:flex; flex-direction:column; padding:0; overflow:hidden;
  background:var(--adr-grouped); border:0; border-radius:16px; box-shadow:var(--adr-pop); color:var(--adr-text);
}
#adrDetailOverlay .adr-ovl-bar { display:flex; justify-content:flex-end; align-items:center; padding:4px 4px 0; }
#adrDetailOverlay .adr-kopf-nr { display:none; }
.adr-ovl-zu {
  width:44px; height:44px; border:0; border-radius:50%; background:transparent; color:var(--adr-text-3);
  display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0;
}
.adr-ovl-zu:hover { background:var(--adr-fill); }
#adrDetailOverlay .adr-art { padding-top:0; }

/* ── Dialog „Kontakt kopieren" ── */
.adr-copy-overlay {
  position:fixed; inset:0; z-index:10050; background:var(--adr-scrim);
  display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .2s ease;
}
.adr-copy-overlay.an { opacity:1; }
.adr-copy-panel {
  width:min(380px, calc(100% - 32px)); max-height:calc(100% - 48px); overflow-y:auto; box-sizing:border-box; padding:20px;
  background:var(--adr-elev); color:var(--adr-text); border-radius:16px; box-shadow:var(--adr-pop);
  display:flex; flex-direction:column; gap:14px;
  transform:scale(.96); transition:transform .22s var(--adr-ease);
}
.adr-copy-overlay.an .adr-copy-panel { transform:scale(1); }
.adr-copy-panel h2 { margin:0; font-size:17px; font-weight:600; }
.adr-copy-panel p { margin:2px 0 0; font-size:13px; color:var(--adr-text-2); }
.adr-copy-preview { font-size:13px; line-height:1.5; color:var(--adr-text-2); padding:10px 12px; border-radius:10px; background:var(--adr-fill); white-space:pre-line; }
.adr-copy-panel fieldset { margin:0; padding:0; border:0; display:flex; flex-direction:column; gap:2px; min-width:0; }
.adr-copy-panel legend { padding:0; margin-bottom:4px; font-size:13px; font-weight:600; }
.adr-copy-item { position:relative; display:flex; align-items:center; gap:12px; min-height:44px; padding:4px 10px; border-radius:10px; cursor:pointer; }
.adr-copy-item:has(input:checked) { background:var(--adr-sel); }
.adr-copy-item input { position:absolute; opacity:0; width:1px; height:1px; margin:0; }
.adr-copy-check {
  width:20px; height:20px; flex-shrink:0; border-radius:50%; border:1.5px solid var(--adr-text-3); box-sizing:border-box;
  display:flex; align-items:center; justify-content:center; color:var(--adr-on-accent);
}
.adr-copy-check svg { opacity:0; }
.adr-copy-item input:checked + .adr-copy-check { background:var(--adr-accent-solid); border-color:var(--adr-accent-solid); }
.adr-copy-item input:checked + .adr-copy-check svg { opacity:1; }
.adr-copy-text { flex:1; min-width:0; }
.adr-copy-text b { display:block; font-size:15px; font-weight:400; overflow-wrap:anywhere; }
.adr-copy-text small { display:block; font-size:12px; color:var(--adr-text-3); }
.adr-copy-knoepfe { display:flex; gap:10px; }
.adr-copy-knoepfe button { flex:1; min-height:44px; border:0; border-radius:12px; font:inherit; font-size:16px; cursor:pointer; }
.adr-copy-nein { background:var(--adr-fill); color:var(--adr-text); }
.adr-copy-ja { background:var(--adr-accent-solid); color:var(--adr-on-accent); font-weight:600 !important; }

/* ── Hinweis unten („IBAN kopiert", „Kontakt kopiert") ── */
#adrToast {
  position:fixed; left:50%; bottom:calc(env(safe-area-inset-bottom, 0px) + 24px); z-index:10060;
  transform:translate(-50%, 8px); opacity:0; pointer-events:none; white-space:nowrap;
  padding:10px 16px; border-radius:999px; background:var(--adr-toast); color:var(--adr-toast-text);
  font-size:14px; font-weight:500; box-shadow:var(--adr-pop);
  transition:opacity .2s ease, transform .2s var(--adr-ease);
}
#adrToast.an { opacity:1; transform:translate(-50%, 0); }

/* ── Desktop (Maus/Trackpad, is-desk): zweite Design-Übergabe 24.09.2026 ──────────────────────
   Eine durchgehende Fläche ohne schwebende Karte, Liste bündig links, dazwischen ein ziehbarer
   Trenner. Detailspalte ab 860 px: Kopf als Karte in einer Zeile, darunter zwei Spalten (a = Kontakt,
   b = Objekte + Kaution, c = Bank + Stammdaten). Ab 1600 px Seitenbreite (is-tabelle): Liste als
   Tabelle über die Breite, Details als Inspektor fester Breite rechts, erst bei Auswahl.
   ⚠ Abweichung von der Übergabe auf Mikes Wunsch: der App-Hintergrund (Farbverlauf) scheint in der
   Detailspalte durch wie überall in der App; die Übergabe wollte dort --adr-grouped.
   iPad und Telefon (kein is-desk) bleiben wie in der ersten Fassung. */
/* Listen-/Suchspalte bleibt durchsichtig wie die übrige Seite (Mike 24.09.2026: „Hintergrund der Suche falsch"). */
#pageAdressen.is-desk.is-split .adr-listpane { border-right:0; }

/* Trenner */
.adr-trenner { display:none; position:relative; flex:0 0 1px; width:1px; background:var(--adr-sep); cursor:col-resize; touch-action:none; z-index:2; }
#pageAdressen.is-desk.is-split .adr-trenner { display:block; }
#pageAdressen.is-desk.is-tabelle:not(.is-open) .adr-trenner { display:none; }
.adr-trenner::before { content:''; position:absolute; top:0; bottom:0; left:-6px; right:-6px; }
.adr-trenner:hover, .adr-trenner.zieht, .adr-trenner:focus-visible { background:var(--adr-accent); }
.adr-trenner:focus-visible { outline:none; }
.adr-griff {
  position:absolute; top:50%; left:-3px; width:7px; height:40px; margin-top:-20px; border-radius:4px; box-sizing:border-box;
  background:var(--adr-card); box-shadow:0 0 0 1px var(--adr-sep), 0 1px 3px rgba(0,0,0,.12);
  display:flex; align-items:center; justify-content:center; pointer-events:none;
}
.adr-griff::after { content:''; width:1.5px; height:12px; border-radius:1px; background:var(--adr-text-3); }
body.adr-zieht, body.adr-zieht * { cursor:col-resize !important; user-select:none !important; }

/* Mittlere Breite: Liste feste Breite (Standard clamp(320px,34%,440px), per Trenner verstellbar) */
#pageAdressen.is-desk.is-split:not(.is-tabelle) .adr-listpane { width:clamp(320px,34%,440px); }

/* Breite Detailspalte (is-dbreit, ab 860 px): Kopf als Karte, zwei Spalten */
#pageAdressen.is-desk.is-dbreit .adr-art { max-width:1080px; padding:32px 40px 56px; }
#pageAdressen.is-desk.is-dbreit .adr-oben {
  flex-direction:row; align-items:center; justify-content:space-between; gap:24px;
  background:var(--adr-card); border-radius:14px; padding:20px 20px 20px 24px;
}
#pageAdressen.is-desk.is-dbreit .adr-kopf { flex:1; min-width:0; flex-direction:row; align-items:center; text-align:left; gap:16px; }
#pageAdressen.is-desk.is-dbreit .adr-kopf .adr-av-lg { margin:0; flex-shrink:0; }
#pageAdressen.is-desk.is-dbreit .adr-kopf-text { align-items:flex-start; }
#pageAdressen.is-desk.is-dbreit .adr-kopf-badges { justify-content:flex-start; }
#pageAdressen.is-desk.is-dbreit .adr-kopf-nr { display:none; }
#pageAdressen.is-desk.is-dbreit .adr-aktionen { width:400px; flex-shrink:0; align-self:center; }
#pageAdressen.is-desk.is-dbreit .adr-gruppen {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); grid-template-areas:"a c" "b c"; gap:24px; align-items:start;
}
#pageAdressen.is-desk.is-dbreit .adr-sp { display:flex; flex-direction:column; gap:24px; min-width:0; }
#pageAdressen.is-desk.is-dbreit .adr-sp-a { grid-area:a; }
#pageAdressen.is-desk.is-dbreit .adr-sp-b { grid-area:b; }
#pageAdressen.is-desk.is-dbreit .adr-sp-c { grid-area:c; }
#pageAdressen.is-desk.is-dbreit .adr-sp:empty { display:none; }

/* Tabelle + Inspektor (is-tabelle, Seite ab 1600 px) */
#pageAdressen.is-tabelle .adr-listpane { flex:1 1 0; width:auto; }
#pageAdressen.is-tabelle .adr-detailpane { flex:0 0 auto; width:640px; }
#pageAdressen.is-tabelle:not(.is-open) .adr-detailpane { display:none; }
#pageAdressen.is-tabelle .adr-head { flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px 16px; }
#pageAdressen.is-tabelle .adr-title { display:block; flex:1 0 100%; }
#pageAdressen.is-tabelle .adr-searchbox { width:320px; }
#pageAdressen.is-tabelle .adr-statusline { flex:1 1 200px; }
.adr-tkopf, .adr-trow { display:grid; grid-template-columns:minmax(220px,1.5fr) minmax(110px,.7fr) minmax(200px,1.4fr) minmax(200px,1.3fr) minmax(130px,.8fr) 64px; gap:16px; align-items:center; padding:0 20px; }
.adr-tkopf { position:sticky; top:0; z-index:1; height:34px; background:var(--bg-card); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); border-bottom:1px solid var(--adr-sep); font-size:12px; font-weight:500; color:var(--adr-text-3); }
.adr-tkopf span:first-child { padding-left:44px; }
.adr-tkopf span:last-child, .adr-trow .adr-t-nr { text-align:right; }
.adr-trow { min-height:54px; padding-top:6px; padding-bottom:6px; box-sizing:border-box; border-bottom:1px solid var(--adr-sep); cursor:pointer; transition:background-color .12s ease; }
.adr-trow:hover, .adr-trow.is-act { background:var(--adr-hover); }
.adr-trow.is-sel, .adr-trow.is-sel:hover { background:var(--adr-sel); }
.adr-trow.is-inaktiv > * { opacity:.55; }
.adr-t-name { display:flex; align-items:center; gap:12px; min-width:0; }
.adr-t-name .adr-av { width:32px; height:32px; font-size:12px; }
.adr-t-name > div:last-child { min-width:0; }
.adr-t-name .adr-row-name { font-size:15px; }
.adr-t-name small { display:block; font-size:12px; color:var(--adr-text-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.adr-t-zelle { font-size:14px; color:var(--adr-text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.adr-trow .adr-rolle { justify-self:start; }
.adr-t-nr { font-size:13px; color:var(--adr-text-3); font-variant-numeric:tabular-nums; }

