/* =====================================================================
   Freianer Kladde — Stylesheet „Grün-Gold"
   Tokens + Basis + vollständige Komponenten. Ersetzt assets/app.css.
   Schriften via Google Fonts (<link> in page_header). Zirkel = Inline-SVG
   (assets/zirkel.svg, currentColor). Verbindliche Optik: /referenz.
   ===================================================================== */

/* ---------- 1. TOKENS ---------- */
:root{
  --ink:#1e2a22; --fir:#16241a; --forest:#2c4630; --forest-2:#385a3d; --moss:#6f8559;
  --brass:#9a7b33; --brass-soft:#cbab5e;
  --paper:#f1eee5; --plate:#fffdf8; --line:#dcd4c3; --line-soft:#e7e0d1;
  --muted:#6d6a60; --link:#2f5238; --danger:#8d2f2a;
  --serif:"Source Serif 4",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}

/* ---------- 2. BASIS ---------- */
*{box-sizing:border-box;}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;}
img{display:block;}
a{color:var(--link);text-decoration:none;}

/* Inhalts-Container: schmal (Profil/Formulare) = 1180, Standard = 1180 */
.shell,.wrap,.screen{max-width:1180px;margin:0 auto;padding:0 20px;}
.profile-body{max-width:1180px;margin:0 auto;padding:0 20px 10px;}
.shell-wide,.screen-wide{max-width:1180px;margin:0 auto;padding:0 20px;}

/* ---------- Schnellstart-Band (Startseite) ---------- */
.register-band{background:var(--forest);color:#fff;border-top:3px solid var(--brass);}
.register-inner{display:grid;grid-template-columns:minmax(150px,.38fr) minmax(0,1fr);gap:clamp(18px,4vw,46px);align-items:center;padding:clamp(22px,3.5vw,34px) 0;}
.register-inner .lead .k{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-soft);}
.register-inner .lead h2{font-family:var(--serif);font-weight:600;font-size:clamp(24px,3.4vw,38px);margin:4px 0 0;line-height:1;}
.tab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.tab{display:block;padding:15px 16px 17px;border-radius:3px;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-top:2px solid var(--brass-soft);}
.tab:hover{background:rgba(255,255,255,.14);color:#fff;}
.tab .n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--brass-soft);text-transform:uppercase;}
.tab strong{display:block;font-family:var(--serif);font-weight:500;font-size:18px;margin-top:7px;}

/* ---------- 3. TOPBAR / MARKE / NAVIGATION ---------- */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px clamp(20px,5vw,56px);background:rgba(241,238,229,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.brand{display:flex;align-items:center;gap:13px;color:var(--ink);}
.brand .zirkel{width:40px;height:40px;color:var(--ink);}            /* Inline-SVG, Tinte */
.zirkel{display:block;}.zirkel svg{display:block;width:100%;height:100%;}
.brand-text strong{display:block;font-family:var(--serif);font-weight:600;letter-spacing:.16em;font-size:16px;line-height:1;}
.brand-text small{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin-top:4px;}
.main-nav{display:flex;align-items:center;gap:2px;flex-wrap:wrap;}
.main-nav a{padding:8px 13px;border-radius:3px;color:var(--ink);font-weight:500;font-size:14px;}
.main-nav a:hover,.main-nav a.active{color:var(--forest);}
.main-nav a.active{position:relative;}
.main-nav a.active::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;background:var(--brass);}
.main-nav .sep{width:1px;height:18px;background:var(--line);margin:0 6px;}
.main-nav a.quiet{color:var(--muted);font-size:13px;}

/* ---------- 4. BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:4px;padding:11px 18px;font-weight:600;font-size:14px;cursor:pointer;border:1px solid transparent;white-space:nowrap;}
.btn.primary{background:var(--fir);color:#fff;}              .btn.primary:hover{background:var(--forest);}
.btn.light{background:var(--plate);color:var(--forest);}     .btn.light:hover{background:#fff;}            /* Header-Hauptaktion */
.btn.ghost-light{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;} .btn.ghost-light:hover{background:rgba(255,255,255,.12);} /* Header-Nebenaktion */
.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink);} .btn.ghost:hover{border-color:var(--brass);color:var(--forest);}
.btn.danger{background:#fff;color:var(--danger);border-color:rgba(141,47,42,.32);} .btn.danger:hover{background:#fbeeee;border-color:var(--danger);}
.btn.small{padding:8px 13px;font-size:13px;}

/* ---------- 5. KÖPFE (full-bleed Waldkopf) ---------- */
.head{position:relative;overflow:hidden;color:#fff;background:var(--fir);}
.head .bg{position:absolute;inset:0;z-index:0;} .head .bg svg{display:block;width:100%;height:100%;}
.head .veil{position:absolute;inset:0;z-index:1;}
.head .inner{position:relative;z-index:2;width:100%;}        /* WICHTIG: width:100% */
.head .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-soft);margin:0 0 8px;}
/* Hero (Startseite) */
.hero{min-height:clamp(410px,48vw,570px);display:grid;place-items:center;text-align:center;padding:clamp(54px,8vw,108px) 20px;}
.hero .veil{background:linear-gradient(180deg,rgba(10,18,12,.30),rgba(10,18,12,.64));}
.hero .inner{width:min(800px,100%);}
.hero .kicker{font-size:12px;letter-spacing:.34em;margin:0 0 20px;}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(58px,11vw,122px);letter-spacing:.1em;line-height:.96;margin:0;text-indent:.1em;}
.hero .sub{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.5vw,27px);color:rgba(255,255,255,.92);margin:0 0 32px;}
.hero-search{display:flex;width:min(660px,100%);margin:0 auto;background:var(--plate);border-radius:3px;padding:6px;box-shadow:0 22px 60px rgba(6,14,8,.42);}
.hero-search input{flex:1;border:0;background:transparent;outline:none;padding:13px 16px;font-family:var(--sans);font-size:15px;color:var(--ink);}
.hero-search input::placeholder{color:#9a958a;}
.hero-search button{border:0;background:var(--fir);color:#fff;border-radius:2px;width:52px;font-size:18px;cursor:pointer;} .hero-search button:hover{background:var(--forest);}
.hero .scope{margin:14px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.66);text-transform:uppercase;}
/* Profilkopf */
.phead{min-height:clamp(240px,28vw,330px);display:flex;align-items:center;padding:clamp(30px,5vw,52px) 0;}
.phead .veil{background:linear-gradient(90deg,rgba(13,22,15,.92),rgba(13,22,15,.55) 64%,rgba(13,22,15,.2));}
.phead .row{max-width:1180px;margin:0 auto;padding:0 20px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.idblock{display:flex;align-items:center;gap:clamp(16px,2.4vw,28px);min-width:0;}
.portrait{position:relative;flex:0 0 auto;width:clamp(96px,11vw,128px);aspect-ratio:1/1.05;border:6px solid var(--plate);border-radius:7px;background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 10px,#ece6d7 10px,#ece6d7 20px);display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:38px;color:var(--forest);box-shadow:0 16px 30px rgba(0,0,0,.32);}
.phead h1{font-family:var(--serif);font-weight:600;font-size:clamp(32px,5vw,56px);margin:0;line-height:1;color:#fff;}
.phead .facts{margin:9px 0 0;color:rgba(255,255,255,.82);font-family:var(--mono);font-size:13px;}
.phead .teaser{margin:8px 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(15px,1.7vw,19px);color:rgba(255,255,255,.92);}
.social{display:flex;gap:8px;margin-top:13px;}
.social a{width:32px;height:32px;border-radius:50%;border:1px solid rgba(203,171,94,.6);color:var(--brass-soft);display:grid;place-items:center;font-size:13px;font-weight:700;font-family:var(--serif);}
.social a:hover{background:var(--brass);color:#1c1505;border-color:var(--brass);}
.pactions{display:flex;gap:8px;flex:0 0 auto;}
/* Verzeichnis-/Archiv-/Karten-Kopf */
.dir-head{min-height:clamp(230px,30vw,340px);display:flex;align-items:flex-end;padding:clamp(30px,6vw,60px) 0;}
.dir-head .veil{background:linear-gradient(90deg,rgba(14,24,16,.9),rgba(14,24,16,.5) 62%,rgba(14,24,16,.16));}
.dir-head .row{max-width:1180px;margin:0 auto;padding:0 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.dir-head.wide .row{max-width:1180px;}                       /* Archiv/Karte: gleich wie Standard */
.dir-head h1{font-family:var(--serif);font-weight:600;font-size:clamp(40px,6vw,72px);margin:0;line-height:.96;}
.dir-head p{max-width:560px;margin:10px 0 0;color:rgba(255,255,255,.84);font-size:15px;}
.head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
/* Kompakter Kopf (Formulare/Flows) */
.ehead{min-height:clamp(150px,18vw,200px);display:flex;align-items:center;padding:clamp(22px,4vw,38px) 0;}
.ehead .row{max-width:1100px;margin:0 auto;padding:0 20px;width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.ehead h1{font-family:var(--serif);font-weight:600;font-size:clamp(28px,4vw,46px);margin:0;line-height:1;}
.ehead .path{margin:8px 0 0;color:rgba(255,255,255,.78);font-family:var(--mono);font-size:12px;word-break:break-all;}

/* ---------- 6. GOLD-TRENNER / UNTERTRENNER / BROTKRUMEN ---------- */
.gold-head{display:flex;align-items:center;gap:14px;margin:clamp(28px,3.6vw,42px) 0 16px;}
.gold-head h2{font-family:var(--serif);font-weight:600;font-size:26px;color:var(--brass);margin:0;white-space:nowrap;}
.gold-head .sub{color:var(--muted);font-size:13px;white-space:nowrap;}
.gold-head::after{content:"";flex:1;height:1px;background:var(--line);}
.sub-head{display:flex;align-items:center;gap:12px;margin:22px 0 14px;}
.sub-head h3{font-family:var(--serif);font-weight:600;font-size:17px;margin:0;color:var(--ink);white-space:nowrap;}
.sub-head .count{font-family:var(--mono);font-size:12px;color:var(--muted);}
.sub-head::after{content:"";flex:1;height:1px;background:var(--line-soft);}
.breadcrumb{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12.5px;font-family:var(--mono);margin:14px 0 2px;}
.breadcrumb a{color:var(--link);} .breadcrumb .sx{color:var(--brass);}

/* ---------- 6b. PROFIL-KÖRPER: gepaartes Raster ---------- */
.bar{max-width:1180px;margin:0 auto;padding:0 20px;}.bar.breadcrumb{margin-top:14px;margin-bottom:2px;}
.body{max-width:1180px;margin:0 auto;padding:12px 20px 14px;}
.body.narrow{max-width:900px;}
.body>*+*{margin-top:clamp(24px,3vw,34px);}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.2vw,48px);align-items:start;}
.gh{display:flex;align-items:center;gap:12px;margin:0 0 12px;}
.gh h2{font-family:var(--serif);font-weight:600;font-size:21px;color:var(--brass);margin:0;white-space:nowrap;}
.gh .meta{color:var(--muted);font-size:12px;font-family:var(--mono);white-space:nowrap;}
.gh::after{content:"";flex:1;height:1px;background:var(--line);}

/* ---------- 7. DATENLISTEN ---------- */
dl.data{margin:0;}
.dl-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line-soft);}
.dl-row:last-child{border-bottom:0;}
.dl-row dt{color:var(--muted);font-size:13px;}
.dl-row dd{margin:0;overflow-wrap:anywhere;font-size:14px;}
/* Kompakte Datenliste (Profil) */
.dl{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft);}
.dl:last-child{border-bottom:0;}
.dl dt{color:var(--muted);font-size:12px;padding-top:1px;}
.dl dd{margin:0;overflow-wrap:anywhere;font-size:13.5px;}
.mailflag{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:700;margin-left:7px;vertical-align:-3px;}
.mailflag.in{background:#e4efd9;color:#3b6d11;} .mailflag.out{background:#efe9dd;color:#9a8a66;}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:26px;align-items:start;}

/* Mini-Karte (gezielte Box) */
.minimap{position:relative;max-width:340px;margin-top:12px;border:1px solid var(--line);border-radius:6px;overflow:hidden;aspect-ratio:16/9;background:repeating-linear-gradient(0deg,#eef0e8,#eef0e8 22px,#e7eadf 22px,#e7eadf 23px),repeating-linear-gradient(90deg,#eef0e8,#eef0e8 22px,#e7eadf 22px,#e7eadf 23px);}
.map-link{display:inline-block;margin-top:8px;font-family:var(--mono);font-size:12px;}
.maplink{display:inline-block;margin-top:7px;font-family:var(--mono);font-size:11.5px;}

/* ---------- 8. TABELLEN ---------- */
.table-wrap{overflow-x:auto;}
table.clean{width:100%;border-collapse:collapse;font-size:14px;}
table.clean th,table.clean td{padding:11px 10px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;}
table.clean th:first-child,table.clean td:first-child{padding-left:0;}
table.clean thead th{color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
table.clean tbody tr:last-child td{border-bottom:0;}
.area-tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:2px 8px;border-radius:3px;background:#ecefe6;color:var(--forest);}
.sem{font-family:var(--mono);font-size:13px;color:var(--ink);white-space:nowrap;}

/* ---------- 9. KACHELN ---------- */
/* Mitglieder-/Geburtstags-Kacheln */
.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:clamp(16px,2.2vw,22px);}
.bday-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));grid-template-rows:auto;grid-auto-rows:0;gap:clamp(16px,2.2vw,22px);overflow:hidden;}
.tile{display:block;background:var(--plate);border:1px solid var(--line);border-radius:6px;overflow:hidden;color:var(--ink);box-shadow:0 10px 22px rgba(20,16,8,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.tile:hover{transform:translateY(-3px);box-shadow:0 18px 32px rgba(20,16,8,.14);border-color:var(--brass-soft);color:var(--ink);}
.tile .photo{position:relative;aspect-ratio:4/3.4;background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 11px,#ece6d7 11px,#ece6d7 22px);display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:38px;color:var(--forest);}
.tile .photo img{width:100%;height:100%;object-fit:cover;}
.tile .body{padding:13px 14px 15px;text-align:center;}
.tile .nm{font-family:var(--serif);font-weight:500;font-size:17px;line-height:1.18;display:block;}
.tile .role,.tile .life,.tile .age{display:block;color:var(--muted);font-size:13px;margin-top:3px;}.tile .role{margin-left:5px;margin-right:5px;}
/* Datums-Chip auf Geburtstagskacheln */
.b-date{position:absolute;top:9px;left:9px;border-radius:3px;overflow:hidden;min-width:42px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.22);}
.b-date .m{display:block;background:var(--fir);color:#fff;font-size:10px;font-weight:700;letter-spacing:.06em;padding:3px;text-transform:uppercase;}
.b-date .d{display:block;background:#fff;color:var(--ink);font-size:18px;font-weight:700;padding:3px 4px 4px;}
/* Trauerflor wird über .avatar.has-trauerflor::after gerendert (siehe unten) */
/* Profil-Archivfotos (geboxt, zentriert) */
.gallery2{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:clamp(14px,2vw,20px);}
.ph{display:block;background:var(--plate);border:1px solid var(--line);border-radius:7px;overflow:hidden;color:var(--ink);cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;}
.ph:hover{border-color:var(--brass-soft);transform:translateY(-2px);box-shadow:0 14px 26px rgba(20,16,8,.12);}
.ph .pi{position:relative;aspect-ratio:4/3;overflow:hidden;background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 10px,#ece6d7 10px,#ece6d7 20px);display:grid;place-items:center;color:var(--moss);font-size:26px;}
.ph .pc{display:block;padding:11px 12px 13px;text-align:center;font-size:13px;line-height:1.3;}
.ph .pc b{font-family:var(--serif);font-weight:500;display:block;} .ph .pc span{color:var(--muted);font-family:var(--mono);font-size:12px;}
/* Archiv-Explorer-Kacheln (Ordner/Bild/Datei) */
.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:16px;}
.ex-tile{position:relative;display:block;background:var(--plate);border:1px solid var(--line);border-radius:7px;overflow:hidden;color:var(--ink);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.ex-tile:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(20,16,8,.12);border-color:var(--brass-soft);color:var(--ink);}
.ex-visual{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 10px,#ece6d7 10px,#ece6d7 20px);color:var(--moss);font-size:30px;}
.ex-visual img{width:100%;height:100%;object-fit:cover;}
.ex-body{padding:11px 13px 13px;text-align:center;}
.ex-body strong{font-family:var(--serif);font-weight:500;font-size:15px;line-height:1.2;display:block;overflow-wrap:anywhere;}
.ex-body small{display:block;color:var(--muted);font-size:12px;font-family:var(--mono);margin-top:3px;}
/* Personen-Zähler-Overlay (Bilder) */
.people,.ex-people{position:absolute;right:7px;bottom:7px;display:inline-flex;align-items:center;gap:4px;background:rgba(13,22,15,.78);color:#fff;font-size:11px;font-family:var(--mono);padding:3px 7px;border-radius:999px;}
/* Datei-/Ordner-Icons im einheitlichen Outline-Stil (Forest, kein Braun) */
.file-ico{font-family:var(--mono);font-weight:800;font-size:18px;color:var(--forest);border:2px solid currentColor;border-radius:6px;padding:8px 12px;}
.ex-file .ex-visual{background:#f3f1ea;}
.ex-folder .ex-visual{background:#f3f1ea;}
.ex-folder .folder-chip{display:grid;place-items:center;color:var(--forest);border:2px solid currentColor;border-radius:6px;padding:9px 13px;}
.ex-folder .folder-chip svg{width:30px;height:24px;display:block;}
/* Admin-Stift auf Kacheln */
.ex-edit{position:absolute;top:8px;right:8px;z-index:3;width:30px;height:30px;border-radius:6px;background:rgba(255,253,248,.92);border:1px solid var(--line);color:var(--forest);display:grid;place-items:center;font-size:14px;opacity:0;transition:opacity .15s ease;}
.ex-tile:hover .ex-edit{opacity:1;}

/* ---------- 10. ALPHABET-INDEX ---------- */
.alpha{display:grid;grid-template-columns:repeat(27,minmax(0,1fr));gap:4px;margin:0 0 20px;}
.alpha a,.alpha span{height:30px;display:grid;place-items:center;border-radius:3px;font-size:12px;font-weight:600;font-family:var(--mono);}
.alpha a{color:var(--forest);background:#fff;border:1px solid var(--line);} .alpha a:hover{background:var(--forest);color:#fff;}
.alpha span{color:#bcb6a8;}

/* ---------- 11. FILTERBOX + FORMULARFELDER ---------- */
.filter-zone{max-width:1180px;margin:18px auto 14px;padding:0 20px;}
.filterbar{background:var(--plate);border:1px solid var(--line);border-radius:8px;padding:16px;}
.filter-search{display:flex;gap:10px;}
.filter-search input{flex:1;border:1px solid var(--line);border-radius:4px;padding:11px 13px;font-family:var(--sans);font-size:14px;background:#fff;color:var(--ink);outline:none;}
.filter-search input:focus{border-color:var(--brass);box-shadow:0 0 0 3px rgba(154,123,51,.14);}
.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:13px;}
.chips .flabel{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:2px;}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.field{display:block;} .field.full,.full{grid-column:1/-1;}
.field span{display:block;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase;margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:4px;padding:11px 12px;font-family:var(--sans);font-size:14px;background:#fff;color:var(--ink);outline:none;}
.field input[type=file]{padding:9px 10px;}
.field textarea{resize:vertical;min-height:84px;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brass);box-shadow:0 0 0 3px rgba(154,123,51,.14);}
.field.readonly input,.field.readonly select{background:#ece8de;color:#8c8676;}
.field small{display:block;margin-top:5px;color:var(--muted);font-size:12px;}
.check-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.check-field{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);background:#fff;border-radius:6px;font-weight:500;font-size:13px;color:var(--ink);cursor:pointer;}
.check-field input{width:17px;height:17px;accent-color:var(--forest);}
.sec-note{margin:0 0 16px;color:var(--muted);font-size:13px;}

/* ---------- 12. WIEDERHOL-EINTRÄGE / SPEICHERLEISTE / CROPPER / TAGGER ---------- */
.repeat-list{display:grid;gap:12px;}
.repeat-item{border:1px solid var(--line);border-radius:8px;background:rgba(255,253,248,.6);padding:16px;}
.repeat-actions{display:flex;justify-content:flex-end;margin-top:10px;}
.add-row{margin-top:12px;}
.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px;}
.form-actions-right{display:flex;align-items:center;gap:10px;margin-left:auto;}
.save-bar{position:sticky;bottom:16px;z-index:30;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;padding:13px 16px;margin-top:26px;border:1px solid var(--line);border-radius:10px;background:rgba(255,253,248,.96);backdrop-filter:blur(10px);box-shadow:0 14px 34px rgba(20,16,8,.14);}
.save-bar .right{display:flex;gap:10px;flex-wrap:wrap;}
.pic-row{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;}
.pic-avatar{width:128px;height:128px;flex:0 0 auto;border-radius:8px;border:6px solid var(--plate);background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 11px,#ece6d7 11px,#ece6d7 22px);display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:40px;color:var(--forest);box-shadow:0 12px 24px rgba(20,16,8,.12);}
.cropper{margin-top:12px;border:1px solid var(--line);border-radius:8px;padding:14px;background:rgba(255,253,248,.6);}
.crop-stage{position:relative;height:200px;border-radius:6px;background:repeating-linear-gradient(135deg,#e1ddcf,#e1ddcf 14px,#e8e3d5 14px,#e8e3d5 28px);overflow:hidden;}
.crop-box{position:absolute;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%);border:2px solid #fff;box-shadow:0 0 0 9999px rgba(13,22,15,.32);}
.crop-box span{position:absolute;width:12px;height:12px;border:2px solid #fff;background:var(--forest);}
.crop-box .tl{left:-7px;top:-7px;}.crop-box .tr{right:-7px;top:-7px;}.crop-box .bl{left:-7px;bottom:-7px;}.crop-box .br{right:-7px;bottom:-7px;}
/* Bild-Tagger */
.tagger{position:relative;border:1px solid var(--line);border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:repeating-linear-gradient(135deg,#11201a,#11201a 16px,#142620 16px,#142620 32px);display:grid;place-items:center;color:#3c5340;font-size:54px;cursor:crosshair;}
.tmark{position:absolute;width:26px;height:26px;border-radius:50%;background:var(--brass);color:#1c1505;font-weight:700;font-size:13px;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.5);transform:translate(-50%,-50%);}
.thint{position:absolute;left:12px;bottom:12px;font-family:var(--mono);font-size:11px;letter-spacing:.03em;padding:6px 11px;border-radius:999px;background:rgba(8,12,9,.6);color:var(--brass-soft);}
.pos-label{font-family:var(--mono);font-size:12px;color:var(--forest);margin:0;} .pos-label.empty{color:var(--muted);}

/* ---------- 13. BIERFAMILIE (box-frei, Verbinder) ---------- */
.beer-tree{display:flex;flex-direction:column;align-items:center;}
.bcard{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 16px 9px 9px;color:var(--ink);min-width:230px;}
.bcard:hover{border-color:var(--brass-soft);color:var(--ink);}
.bcard .bp{width:48px;height:48px;border-radius:7px;flex:0 0 auto;display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:18px;color:var(--forest);background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 8px,#ece6d7 8px,#ece6d7 16px);overflow:hidden;}
.bcard .role{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);}
.bcard .bn{display:block;font-family:var(--serif);font-weight:500;font-size:16px;line-height:1.15;margin-top:1px;}
.bcard .bl{display:block;color:var(--muted);font-size:12px;font-family:var(--mono);}
.bcard.is-current{border:2px solid var(--brass);background:#fffaf0;}
.bcard.is-resigned{opacity:.72;} .bcard.is-resigned .ex{color:var(--muted);font-size:12px;font-style:italic;}
.connector{width:2px;height:24px;background:var(--line);}
.children-row{display:flex;justify-content:center;flex-wrap:wrap;}
.cell{position:relative;padding:24px 14px 0;}
.cell::before{content:"";position:absolute;top:0;left:50%;width:2px;height:24px;background:var(--line);transform:translateX(-50%);}
.cell::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--line);}
.cell:first-child::after{left:50%;} .cell:last-child::after{right:50%;} .cell:only-child::after{display:none;}

/* ---------- 14. DOKUMENTLISTE ---------- */
.doclist{display:grid;}
.docrow{display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line-soft);color:var(--ink);}
.docrow:last-of-type{border-bottom:0;} .docrow:hover .dt strong{color:var(--forest);}
.docrow .ico{flex:0 0 auto;width:44px;height:34px;border-radius:5px;display:grid;place-items:center;background:#ecefe6;color:var(--forest);font-size:11px;font-weight:800;font-family:var(--mono);}
.docrow .dt{flex:1;min-width:0;} .docrow .dt strong{font-size:14px;font-weight:600;} .docrow .dt small{display:block;color:var(--muted);font-size:12px;margin-top:1px;}
.docrow .meta{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap;} .docrow .chev{color:var(--brass);font-size:16px;}
.more-link{margin:14px 0 0;font-family:var(--mono);font-size:12px;}

/* ---------- 15. EINREICHUNGEN (Prüf-Raster) ---------- */
.pending-flag{position:absolute;top:8px;left:8px;z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;background:rgba(154,123,51,.95);color:#1c1505;padding:4px 8px;border-radius:999px;}
.ex-review{position:absolute;top:8px;right:8px;z-index:3;display:inline-flex;align-items:center;gap:5px;background:var(--fir);color:#fff;font-size:11px;font-weight:600;padding:5px 10px;border-radius:6px;}

/* ---------- 16. KARTE (Leaflet bleibt) ---------- */
/* Marker = divIcon-Span .map-marker, Farbe je Typ */
.map-marker{display:block;width:22px;height:22px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 12px rgba(16,24,40,.4);}
.map-marker.privat{background:#5aab2e;} .map-marker.beruf,.map-marker.job{background:var(--brass);} .map-marker.verstorben{background:var(--fir);} .map-marker.historisch{background:#dc2626;}
.map-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 13px;background:#fff;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;}
.map-chip input{width:15px;height:15px;accent-color:var(--forest);}
.map-chip .dot{width:11px;height:11px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.12);}
.dot.privat{background:#5aab2e;} .dot.beruf{background:var(--brass);} .dot.verstorben{background:var(--fir);} .dot.historisch{background:#dc2626;}
/* Popup im Leaflet umstylen (.leaflet-popup-content-wrapper → diese Optik) */
.popup-person{display:flex;gap:11px;align-items:center;color:var(--ink);}
.popup-avatar{width:50px;height:50px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:18px;color:var(--forest);background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 8px,#ece6d7 8px,#ece6d7 16px);overflow:hidden;}
.popup-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
a.popup-person{text-decoration:none;color:inherit;}
.popup-text{display:flex;flex-direction:column;}
.popup-text strong{font-family:var(--serif);font-weight:500;font-size:16px;line-height:1.15;display:block;}
.popup-text span{display:block;color:var(--muted);font-size:13px;margin-top:2px;}
.popup-text .go{display:inline-block;margin-top:6px;font-family:var(--mono);font-size:11px;color:var(--brass);}

/* ---------- 17. WARTUNG (Aktionskarten) ---------- */
.maint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:8px;}
.card{background:var(--plate);border:1px solid var(--line);border-radius:8px;padding:clamp(18px,2.4vw,26px);}
.card h2{font-family:var(--serif);font-weight:600;font-size:20px;margin:0 0 8px;}
.card p{margin:0 0 16px;color:var(--muted);font-size:13.5px;}
.maint-stats{margin:0 0 18px;display:grid;grid-template-columns:1fr auto;}
.maint-stats dt{padding:8px 0;border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:13px;}
.maint-stats dd{padding:8px 0;border-bottom:1px solid var(--line-soft);margin:0;text-align:right;font-family:var(--mono);font-size:13px;color:var(--ink);}
.maint-stats .ok{color:var(--forest);} .maint-stats .warn{color:var(--brass);} .maint-stats .bad{color:var(--danger);}

/* ---------- 18. LIGHTBOX ---------- */
.lb-stage{margin-top:8px;background:#0c130d;border-radius:10px;padding:clamp(14px,2.5vw,26px);}
.lb-dialog{position:relative;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.9fr);background:#0c130d;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);}
.lb-imgwrap{position:relative;background:#060907;display:grid;place-items:center;min-height:360px;}
.lb-photo{width:100%;height:100%;min-height:360px;display:grid;place-items:center;color:#3c5340;font-size:60px;background:repeating-linear-gradient(135deg,#11201a,#11201a 16px,#142620 16px,#142620 32px);}
.lb-close{position:absolute;top:12px;right:12px;z-index:5;width:38px;height:38px;border-radius:50%;border:0;background:rgba(8,12,9,.6);color:#fff;font-size:22px;cursor:pointer;} .lb-close:hover{background:rgba(8,12,9,.85);}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;border:0;background:rgba(8,12,9,.55);color:#fff;font-size:26px;line-height:1;cursor:pointer;} .lb-nav:hover{background:rgba(8,12,9,.8);}
.lb-nav.prev{left:12px;} .lb-nav.next{right:12px;}
.lb-tagtoggle{position:absolute;left:12px;bottom:12px;z-index:5;font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:6px 11px;border-radius:999px;border:1px solid rgba(203,171,94,.5);background:rgba(8,12,9,.55);color:var(--brass-soft);cursor:pointer;}
.lb-marker{position:absolute;z-index:4;width:24px;height:24px;border-radius:50%;background:var(--brass);color:rgba(255,255,255,.6);font-weight:700;font-size:12px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.6);box-shadow:0 2px 8px rgba(0,0,0,.5);transform:translate(-50%,-50%);}
.lb-info{background:var(--plate);padding:clamp(20px,2.4vw,28px);overflow:auto;}
.lb-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 6px;}
.lb-info h3{font-family:var(--serif);font-weight:600;font-size:23px;margin:0 0 12px;line-height:1.15;}
.lb-rule{height:1px;background:var(--line);margin:0 0 14px;}
.lb-meta{margin:0 0 14px;display:grid;gap:0;}
.lb-mrow{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px solid var(--line-soft);} .lb-mrow:last-child{border-bottom:0;}
.lb-mrow dt{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-top:2px;} .lb-mrow dd{margin:0;font-size:14px;}
.lb-people{display:grid;gap:5px;} .lb-people .pnum{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--brass);color:var(--plate);font-size:10px;font-weight:700;font-family:var(--mono);margin-right:6px;vertical-align:1px;} .lb-people .note{color:var(--muted);font-size:13px;}
.lb-desc{font-size:14px;color:var(--ink);margin:0 0 18px;}
.lb-actions{display:flex;gap:8px;flex-wrap:wrap;}

/* ---------- 19. FOOTER ---------- */
.footer{background:var(--fir);color:rgba(255,255,255,.72);margin-top:40px;}
.footer-inner{max-width:1180px;margin:0 auto;padding:30px 20px;display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap;}
.footer-inner .zirkel{width:40px;height:40px;color:var(--brass);opacity:.9;}  /* Inline-SVG, Gold */
.footer-inner .fl{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass-soft);}

/* ---------- 20. RESPONSIVE ---------- */
@media(max-width:860px){.pair{grid-template-columns:1fr;gap:0;}.pair>*+*{margin-top:clamp(24px,3vw,34px);}}
@media(max-width:880px){
  .main-nav{display:none;}
  .phead .row{flex-direction:column;align-items:flex-start;}
  .dir-head .row{flex-direction:column;align-items:flex-start;}
  .contact-layout{grid-template-columns:1fr;}
  .register-inner{grid-template-columns:1fr;}
  .tab-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:520px){
  .tab-grid{grid-template-columns:1fr;}
}
@media(max-width:820px){
  .form-grid,.form-grid.three{grid-template-columns:1fr;}
  .maint-grid{grid-template-columns:1fr;}
  .lb-dialog{grid-template-columns:1fr;} .lb-imgwrap,.lb-photo{min-height:300px;}
}
@media(max-width:540px){
  .dl-row{grid-template-columns:1fr;gap:2px;}
  .dl{grid-template-columns:1fr;gap:1px;}
}

/* ===================================================================
   21. ERGÄNZUNGEN — Brücken-Klassen für bestehende PHP-Struktur
   (Flash, Login, Formular-Hülle, Archiv-Browser, Karte, Hilfsklassen)
   =================================================================== */

/* Inhalts-Container für Seiten zwischen Kopf und Fuß */
.screen{max-width:1180px;margin:0 auto;padding:0 20px 10px;}
.screen-wide{max-width:1180px;margin:0 auto;padding:0 20px 10px;}
.muted{color:var(--muted);}

/* Filter-Chips (members.php chip()) */
.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--ink);background:#fff;}
.chip:hover{border-color:var(--brass-soft);color:var(--ink);}
.chip span{font-family:var(--mono);font-size:11px;color:var(--muted);}
.chip.active{background:var(--forest);border-color:var(--forest);color:#fff;}
.chip.active span{color:var(--brass-soft);}

/* Buchstaben-Trenner im Mitglieder-/Geburtstags-Raster */
.letter{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin:10px 0 2px;scroll-margin-top:80px;}
.letter b{font-family:var(--serif);font-weight:600;font-size:26px;color:var(--brass);}
.letter::after{content:"";flex:1;height:1px;background:var(--line);}

.badge{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:3px 9px;border-radius:999px;background:#ecefe6;color:var(--forest);border:1px solid var(--line);}

/* Avatar (avatar_html) füllt seinen Container (Kachel/Portrait/Bp/Popup) */
.avatar{display:block;width:100%;height:100%;}
.avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.avatar.avatar-fallback{display:grid;place-items:center;}
.tile .photo .avatar,.ph .pi .avatar,.bcard .bp .avatar{position:absolute;inset:0;}
.tile .photo .avatar.avatar-fallback,.ph .pi .avatar.avatar-fallback,.portrait .avatar.avatar-fallback,.bcard .bp .avatar.avatar-fallback,.pic-avatar .avatar.avatar-fallback{color:inherit;font:inherit;}
.portrait .avatar,.pic-avatar .avatar{position:absolute;inset:0;border-radius:inherit;}
.avatar.has-trauerflor::after,.popup-avatar.has-trauerflor::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(135deg,transparent 19%,rgba(14,14,14,.92) 21%,rgba(14,14,14,.92) 27%,transparent 29%);pointer-events:none;}
/* Foto-/Portrait-Container brauchen Position für gefülltes Avatar */
.tile .photo,.ph .pi,.bcard .bp,.portrait,.pic-avatar,.popup-avatar{position:relative;}
/* button.ph zurücksetzen, damit es wie eine Kachel aussieht */
button.ph{font:inherit;border:1px solid var(--line);text-align:left;}
/* Großes Avatar (Profilbild-Formular) */
.avatar.large{position:relative;width:128px;height:128px;flex:0 0 auto;border-radius:8px;border:6px solid var(--plate);background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 11px,#ece6d7 11px,#ece6d7 22px);display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:40px;color:var(--forest);box-shadow:0 12px 24px rgba(20,16,8,.12);overflow:hidden;}
.avatar.large img{width:100%;height:100%;object-fit:cover;}
/* Sekundär-Button als Ghost */
.btn.secondary{background:transparent;border-color:var(--line);color:var(--ink);}
.btn.secondary:hover{border-color:var(--brass);color:var(--forest);}
.head-actions .badge,.dir-head .badge{background:rgba(255,255,255,.12);color:var(--brass-soft);border-color:rgba(255,255,255,.3);}
hr.form-separator{border:0;border-top:1px solid var(--line-soft);margin:26px 0;}

/* Flash-Meldungen */
.flash{border-radius:8px;padding:13px 16px;margin:0 0 16px;font-size:14px;border:1px solid var(--line);background:var(--plate);}
.flash.success{background:#eaf3e1;border-color:#c4ddae;color:#33611a;}
.flash.error{background:#fbeeee;border-color:#e3bdba;color:var(--danger);}
.flash code{font-family:var(--mono);font-size:12px;background:#fff;border:1px solid var(--line);border-radius:3px;padding:1px 6px;}

/* Empty-State */
.empty-state{text-align:center;padding:clamp(36px,6vw,72px) 20px;color:var(--muted);}
.empty-state h2{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--ink);margin:0 0 8px;}
.empty-state p{margin:0;font-size:14px;}

/* Sektions-Titel (Fallback) */
.section-title{margin:clamp(28px,3.6vw,42px) 0 16px;}
.section-title h2{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--brass);margin:0;}
.section-title p{margin:4px 0 0;color:var(--muted);font-size:14px;}

/* Login / Kennwort */
.login-shell{display:grid;place-items:center;padding:46px 20px;}
.login-card{width:min(440px,100%);background:var(--plate);border:1px solid var(--line);border-radius:7px;padding:34px 30px;box-shadow:0 20px 50px rgba(20,16,8,.1);text-align:center;}
.login-card .zirkel{width:64px;height:64px;color:var(--forest);margin:0 auto 16px;}
.login-card h1{font-family:var(--serif);font-weight:600;font-size:25px;margin:0 0 6px;}
.login-card>p{color:var(--muted);font-size:14px;margin:0 0 22px;}
.login-card .field{margin-bottom:16px;text-align:left;}
.login-card .btn.primary{width:100%;justify-content:center;margin-top:4px;}
.login-card .login-link{margin:18px 0 0;font-size:13px;}
.login-card .login-link a{font-family:var(--mono);letter-spacing:.04em;}
.login-card .flash{text-align:left;}

/* Formular-Hülle (edit/submit/archive-edit) */
.form-shell{max-width:1100px;margin:0 auto;padding:0 20px 10px;}
.form-shell .fsec,.form-shell .form-card{margin:clamp(20px,3vw,34px) 0;max-width:none;padding:0;}
.fsec,.form-card{margin:clamp(20px,3vw,34px) auto;max-width:1100px;padding:0 20px;}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.card-head{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;}
.inline-actions{justify-content:flex-end;}
.filter-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;}
.fsec h3,.form-card h3{font-family:var(--serif);font-weight:600;font-size:17px;color:var(--ink);margin:22px 0 12px;}

/* Profil-Cropper (bestehende JS-Hooks) */
.profile-cropper{margin-top:12px;border:1px solid var(--line);border-radius:8px;padding:14px;background:rgba(255,253,248,.6);}
.profile-cropper-stage{position:relative;height:220px;border-radius:6px;overflow:hidden;background:repeating-linear-gradient(135deg,#e1ddcf,#e1ddcf 14px,#e8e3d5 14px,#e8e3d5 28px);}
.profile-cropper-stage img{width:100%;height:100%;object-fit:contain;}
.profile-cropper-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(13,22,15,.32);cursor:move;}
.profile-cropper-handle{position:absolute;width:14px;height:14px;border:2px solid #fff;background:var(--forest);}
.profile-cropper-handle-nw{left:-8px;top:-8px;cursor:nwse-resize;}
.profile-cropper-handle-ne{right:-8px;top:-8px;cursor:nesw-resize;}
.profile-cropper-handle-sw{left:-8px;bottom:-8px;cursor:nesw-resize;}
.profile-cropper-handle-se{right:-8px;bottom:-8px;cursor:nwse-resize;}
.profile-cropper-actions{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;}

/* Bild-Tagger (Archiv bearbeiten/einreichen) */
.archive-image-tagger{position:relative;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:repeating-linear-gradient(135deg,#11201a,#11201a 16px,#142620 16px,#142620 32px);cursor:crosshair;}
.archive-image-tagger img{width:100%;display:block;}
.archive-image-tag-layer{position:absolute;inset:0;}
.archive-image-tag-marker{position:absolute;width:26px;height:26px;border-radius:50%;background:var(--brass);color:var(--plate);font-weight:700;font-size:13px;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.5);transform:translate(-50%,-50%);cursor:move;}
.archive-tag-position-label{font-family:var(--mono);font-size:12px;color:var(--forest);margin:0;}
.link-row-num-wrap{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.link-row-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--brass);color:var(--plate);font-family:var(--mono);font-size:12px;font-weight:700;flex-shrink:0;}
.archive-edit-preview{margin-bottom:14px;}
.archive-edit-file-preview{display:grid;place-items:center;padding:30px;background:#f3f1ea;border-radius:8px;color:var(--forest);}
.archive-submit-tagger-hint,.archive-submit-tagger-wrap{margin-top:10px;}
.archive-submit-tagger-hint{font-size:13px;color:var(--muted);}

/* Datei-/Ordner-Outline-Icons (functions.php) im Forest-Stil */
.archive-line-icon,.file-extension-icon{color:var(--forest);display:inline-grid;place-items:center;}
.file-extension-icon .file-extension-icon-art svg{width:48px;height:48px;display:block;}
.file-extension-icon .file-extension-label{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.05em;margin-top:2px;color:var(--forest);}
.file-extension-icon.large .file-extension-icon-art svg{width:80px;height:80px;}
.folder-icon svg{width:100%;height:100%;display:block;}
.folder-symbol{width:28px;height:28px;}
.tree-folder-mini{width:16px;height:16px;}

/* Archiv-Browser (Sidebar + Hauptbereich) */
.archive-browser{max-width:1180px;margin:0 auto;padding:0 20px 10px;display:grid;grid-template-columns:228px minmax(0,1fr);gap:30px;align-items:start;}
.archive-sidebar{border-right:1px solid var(--line);padding-right:18px;}
.archive-sidebar h2{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:2px 0 12px;}
.archive-tree-link{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:5px;color:var(--ink);font-size:14px;}
.archive-tree-link .archive-line-icon{flex:0 0 auto;opacity:.6;}
.archive-tree-link:hover{background:#fff;}
.archive-tree-link.is-active{background:#ecefe6;color:var(--forest);font-weight:600;}
.archive-tree-list{list-style:none;margin:0;padding:0 0 0 14px;}
.archive-tree-empty{color:var(--muted);font-size:13px;}
.archive-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--muted);margin:0 0 10px;}
.archive-breadcrumb a{color:var(--link);}
.archive-breadcrumb span{color:var(--brass);}
.results-meta{font-family:var(--mono);font-size:12px;color:var(--muted);margin:8px 0 12px;}

/* Archiv-Explorer-Raster */
.archive-explorer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:16px;}
.archive-tile-wrap{position:relative;scroll-margin-top:74px;}
.archive-tile{position:relative;display:block;background:var(--plate);border:1px solid var(--line);border-radius:7px;overflow:hidden;color:var(--ink);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.archive-tile:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(20,16,8,.12);border-color:var(--brass-soft);color:var(--ink);}
.archive-tile-visual{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 10px,#ece6d7 10px,#ece6d7 20px);color:var(--moss);font-size:30px;}
.archive-tile-visual img{width:100%;height:100%;object-fit:cover;}
.file-tile-visual{background:#f3f1ea;}
.archive-tile-body{padding:11px 13px 13px;text-align:center;}
.archive-tile-body strong{font-family:var(--serif);font-weight:500;font-size:15px;line-height:1.2;display:block;overflow-wrap:anywhere;}
.archive-tile-body small{display:block;color:var(--muted);font-size:12px;font-family:var(--mono);margin-top:3px;}
.archive-folder .archive-tile-visual{background:#f3f1ea;color:var(--forest);}
.archive-tile-edit{position:absolute;top:8px;right:8px;z-index:3;width:30px;height:30px;border-radius:6px;background:rgba(255,253,248,.92);border:1px solid var(--line);color:var(--forest);display:grid;place-items:center;font-size:14px;opacity:0;transition:opacity .15s ease;}
.archive-tile-wrap:hover .archive-tile-edit{opacity:1;}
.archive-tile-wrap:hover .ex-edit{opacity:1;}
.ex-people{position:absolute;right:7px;bottom:7px;display:inline-flex;align-items:center;gap:4px;background:rgba(13,22,15,.78);color:#fff;font-size:11px;font-family:var(--mono);padding:3px 7px;border-radius:999px;}
.ex-badge-vorstand{position:absolute;top:8px;left:8px;z-index:3;display:inline-flex;align-items:center;font-size:10px;font-weight:700;font-family:var(--mono);letter-spacing:.05em;padding:2px 7px;border-radius:4px;text-transform:uppercase;background:rgba(6,10,7,.72);color:#8fd96e;border:1px solid rgba(90,171,46,.45);pointer-events:none;}

/* Profil-Archiv-Galerie & Dokumente */
.archive-polaroid-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:clamp(14px,2vw,20px);}
.archive-polaroid{display:block;background:var(--plate);border:1px solid var(--line);border-radius:7px;overflow:hidden;color:var(--ink);cursor:pointer;padding:0;text-align:center;width:100%;}
.archive-polaroid:hover{border-color:var(--brass-soft);}
.archive-polaroid-image{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;}
.archive-polaroid-image img{width:100%;height:100%;object-fit:cover;}
.archive-polaroid-date{display:block;padding:9px 12px;font-family:var(--mono);font-size:12px;color:var(--muted);}
.profile-archive-doc-grid{display:grid;}
.profile-archive-doc-card{display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line-soft);color:var(--ink);}
.profile-archive-doc-card:last-of-type{border-bottom:0;}
.profile-archive-doc-card .archive-tile-visual{aspect-ratio:auto;width:44px;height:34px;border-radius:5px;background:#ecefe6;flex:0 0 auto;}
.profile-archive-doc-card .archive-tile-body{text-align:left;padding:0;flex:1;min-width:0;}

/* Karte (Leaflet) */
.map-toolbar{max-width:1180px;margin:18px auto 0;padding:0 20px;display:flex;gap:16px;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;}
.map-toolbar strong{font-family:var(--serif);font-weight:600;font-size:18px;}
.map-search{display:flex;gap:10px;flex:1;min-width:240px;max-width:520px;margin-top:8px;}
.map-search input{flex:1;border:1px solid var(--line);border-radius:4px;padding:11px 13px;font-family:var(--sans);font-size:14px;background:#fff;color:var(--ink);outline:none;}
.map-search input:focus{border-color:var(--brass);box-shadow:0 0 0 3px rgba(154,123,51,.14);}
.map-wrap{max-width:1180px;margin:14px auto 0;padding:0 20px;position:relative;}
#map{height:clamp(460px,66vh,720px);border-radius:10px;border:1px solid var(--line);overflow:hidden;box-shadow:0 16px 36px rgba(20,16,8,.12);}
.map-message{margin:12px auto 0;max-width:1180px;padding:0 20px;font-family:var(--mono);font-size:12px;color:var(--muted);}
.map-message.error{color:var(--danger);}
.map-message[hidden]{display:none;}
.freia-map-icon{background:transparent;border:0;}
.leaflet-popup-content-wrapper{background:var(--plate);border-top:3px solid var(--brass);border-radius:9px;box-shadow:0 16px 34px rgba(20,16,8,.22);}
.leaflet-popup-content{margin:12px 14px;}
.leaflet-popup-tip{background:var(--plate);}
.map-chip.chip-link{color:var(--link);}
.popup-avatar.popup-avatar-fallback{font-size:18px;}
.popup-avatar.has-trauerflor{position:relative;overflow:hidden;}

/* ---------- Lightbox-Overlay (JS erzeugt) ---------- */
html.has-lightbox-open,html.has-lightbox-open body{overflow:hidden;}
.archive-lightbox{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:clamp(14px,2.5vw,26px);}
.archive-lightbox.is-open{display:flex;}
.archive-lightbox-backdrop{position:absolute;inset:0;background:rgba(6,10,7,.86);backdrop-filter:blur(4px);}
.lb-dialog{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.9fr);background:#0c130d;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);width:min(1180px,100%);max-height:calc(100vh - 32px);}
.lb-imgwrap{position:relative;background:#060907;display:grid;place-items:center;min-height:360px;overflow:hidden;}
.lb-photo{width:100%;height:100%;min-height:360px;display:grid;place-items:center;}
.lb-photo img{display:block;max-width:100%;max-height:calc(100vh - 80px);object-fit:contain;}
.lb-close{position:absolute;top:12px;right:12px;z-index:5;width:38px;height:38px;border-radius:50%;border:0;background:rgba(8,12,9,.6);color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center;}
.lb-close:hover{background:rgba(8,12,9,.85);}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;border:0;background:rgba(8,12,9,.55);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center;}
.lb-nav:hover{background:rgba(8,12,9,.8);}
.lb-nav.prev{left:12px;}.lb-nav.next{right:12px;}.lb-nav[hidden]{display:none;}
.lb-tagtoggle{position:absolute;left:12px;bottom:12px;z-index:5;font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:6px 11px;border-radius:999px;border:1px solid rgba(203,171,94,.5);background:rgba(8,12,9,.55);color:var(--brass-soft);cursor:pointer;}
.lb-tagtoggle[hidden]{display:none;}
.lb-marker{position:absolute;z-index:4;width:24px;height:24px;border-radius:50%;background:var(--brass);color:#fff;font-weight:700;font-size:12px;font-family:var(--mono);display:grid;place-items:center;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.5);transform:translate(-50%,-50%);}
.archive-lightbox.tags-hidden .lb-marker{display:none;}
.lb-info{background:var(--plate);padding:clamp(20px,2.4vw,28px);overflow-y:auto;max-height:calc(100vh - 32px);}
.lb-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 6px;}
.lb-info h3{font-family:var(--serif);font-weight:600;font-size:23px;margin:0 0 12px;line-height:1.15;}
.lb-info h3[hidden]{display:none;}
.lb-rule{height:1px;background:var(--line);margin:0 0 14px;}
.lb-meta{margin:0 0 14px;display:grid;gap:0;list-style:none;padding:0;}
.lb-meta[hidden]{display:none;}
.lb-mrow{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px solid var(--line-soft);}
.lb-mrow:last-child{border-bottom:0;}
.lb-mrow dt{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-top:2px;}
.lb-mrow dd{margin:0;font-size:14px;overflow-wrap:anywhere;}
.lb-mrow dd a{color:var(--link);}
.lb-people{display:grid;gap:5px;}
.lb-people span{display:flex;align-items:baseline;gap:6px;font-size:14px;}
.lb-people a{color:var(--link);}
.pnum{display:inline-grid;place-items:center;width:17px;height:17px;flex:0 0 auto;border-radius:50%;background:var(--brass);color:#1c1505;font-size:10px;font-weight:700;font-family:var(--mono);}
.lb-desc{font-size:14px;color:var(--ink);margin:0 0 18px;}
.lb-desc[hidden]{display:none;}
.lb-actions{display:flex;gap:8px;flex-wrap:wrap;}
.lb-actions [hidden]{display:none;}
@media(max-width:760px){
  .lb-dialog{grid-template-columns:1fr;max-height:none;overflow-y:auto;}
  .lb-imgwrap{min-height:280px;}.lb-photo{min-height:280px;}
  .lb-photo img{max-height:56vh;}
}

/* Mobile-Navigation-Umschalter */
.nav-toggle{display:none;border:1px solid var(--line);background:var(--plate);border-radius:6px;width:40px;height:40px;font-size:18px;color:var(--ink);cursor:pointer;}
@media(max-width:880px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;}
  .main-nav[data-nav]{display:none;position:absolute;top:60px;right:16px;flex-direction:column;background:var(--plate);border:1px solid var(--line);border-radius:8px;padding:8px;box-shadow:0 14px 34px rgba(20,16,8,.16);}
  .main-nav[data-nav].open{display:flex;}
  .main-nav .sep{display:none;}
}

/* ===================================================================
   22. VERANSTALTUNGEN
   Agenda, Detail, Anmeldung, Admin-Formular, Teilnehmer
   =================================================================== */

/* Status-Umschalter */
.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.seg button{border:0;background:#fff;padding:10px 18px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;}
.seg button.on{background:var(--forest);color:#fff;}
.seg button+button{border-left:1px solid var(--line);}

/* Euro-Präfix in Formularfeldern */
.field .pre{position:relative;}
.field .pre input{padding-left:30px;}
.field .pre::before{content:"€";position:absolute;left:11px;top:11px;color:var(--muted);font-size:14px;pointer-events:none;}

/* ehead: gleicher Gradient wie dir-head */
.ehead .veil{background:linear-gradient(90deg,rgba(14,24,16,.9),rgba(14,24,16,.5) 62%,rgba(14,24,16,.16));}

/* ehead-Varianten für Veranstaltungen */
.ehead .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-soft);margin:0 0 7px;}
.ehead .sub{margin:8px 0 0;color:rgba(255,255,255,.8);font-size:14px;}
.ehead .acts{display:flex;gap:8px;flex-wrap:wrap;}

/* Agenda: Monats-Trenner */
.month-sep{display:flex;align-items:center;gap:14px;margin:26px 0 6px;}
.month-sep h2{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--brass);margin:0;white-space:nowrap;}
.month-sep::after{content:"";flex:1;height:1px;background:var(--line);}

/* Agenda: Termin-Zeilen */
.agenda{display:grid;}
.ev-row{display:flex;gap:16px;align-items:center;padding:15px 10px;border-bottom:1px solid var(--line-soft);color:var(--ink);border-radius:8px;}
a.ev-row{transition:background .15s,box-shadow .15s;}
a.ev-row:hover{background:var(--plate);box-shadow:inset 3px 0 0 var(--brass);}

/* Datum-Block */
.ev-date{flex:0 0 auto;width:60px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--plate);text-align:center;}
.ev-date .m{background:var(--forest);color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 0;}
.ev-date .d{font-family:var(--serif);font-weight:600;font-size:25px;color:var(--ink);padding:5px 0 1px;line-height:1;}
.ev-date .w{font-family:var(--mono);font-size:10px;color:var(--muted);padding:0 0 6px;}

/* Termin-Info */
.ev-main{flex:1;min-width:0;}
.ev-title{font-family:var(--serif);font-weight:600;font-size:18px;margin:0;line-height:1.15;}
.ev-meta{margin:3px 0 0;color:var(--muted);font-size:13px;}

/* Chips in der Listenzeile */
.ev-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;align-items:center;}
.tag-type{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:3px;background:#ecefe6;color:var(--forest);}
.flag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 9px;}
.flag.duty{color:var(--forest);border-color:rgba(44,70,48,.35);}
.flag.cost{color:var(--ink);font-family:var(--mono);font-size:11px;}
.flag.draft{background:var(--brass);color:#1c1505;border-color:var(--brass);font-family:var(--mono);text-transform:uppercase;font-size:10px;letter-spacing:.05em;}

/* Anmelde-Status rechts */
.ev-aside{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:120px;}
.ev-aside .st{font-family:var(--mono);font-size:11.5px;color:var(--forest);}
.ev-aside .st.closed{color:var(--muted);}
.ev-aside .det{font-family:var(--mono);font-size:12px;color:var(--brass);}

/* Detail-Seite: Zwei-Spalten-Layout */
.detail{max-width:1100px;margin:0 auto;padding:14px 20px 10px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,4vw,52px);align-items:start;}
.detail .block+.block{margin-top:clamp(22px,2.6vw,30px);}
.lead{font-size:15px;line-height:1.6;}
.flags-line{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px;}
.person-mini{display:flex;align-items:center;gap:11px;}
.person-mini .av{width:42px;height:42px;border-radius:7px;display:grid;place-items:center;font-family:var(--serif);font-weight:600;color:var(--forest);background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 8px,#ece6d7 8px,#ece6d7 16px);overflow:hidden;}
.person-mini .av img{width:100%;height:100%;object-fit:cover;}

/* Anhang-Block */
.attach{display:inline-flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:8px;padding:11px 14px;background:var(--plate);color:var(--ink);}
.attach:hover{border-color:var(--brass-soft);}
.attach .ico{font-family:var(--mono);font-weight:800;font-size:13px;color:var(--forest);border:2px solid currentColor;border-radius:5px;padding:5px 8px;}
.attach small{display:block;color:var(--muted);font-size:12px;font-family:var(--mono);}

/* Sticky Seitenleiste */
.aside-stack{position:sticky;top:80px;display:grid;gap:16px;}

/* Anmelde-Karte */
.reg{border:1px solid var(--line);border-radius:10px;background:var(--plate);padding:18px;box-shadow:0 12px 28px rgba(20,16,8,.09);}
.reg h3{font-family:var(--serif);font-weight:600;font-size:18px;margin:0 0 4px;}
.reg .sub{color:var(--muted);font-size:12.5px;font-family:var(--mono);margin:0 0 14px;}
.reg .prices{margin:0 0 14px;}
.reg .price{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:14px;}
.reg .price:last-child{border-bottom:0;}
.reg .price b{font-family:var(--mono);}
.reg .deadline{font-family:var(--mono);font-size:12px;color:var(--forest);margin:0 0 14px;}

/* Zahlungsinfo-Teaser */
.payteaser{margin-top:14px;border:1px dashed var(--brass-soft);border-radius:8px;background:#fffaf0;padding:12px;color:var(--muted);font-size:12.5px;display:flex;gap:9px;align-items:flex-start;}
.payteaser .lk{color:var(--brass);font-size:15px;}

/* Kontakt-Karte */
.side-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--plate);padding:14px;color:var(--ink);}
.side-card:hover{border-color:var(--brass-soft);}
.side-card .av{width:46px;height:46px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:16px;color:var(--forest);background:repeating-linear-gradient(135deg,#e6e2d2,#e6e2d2 8px,#ece6d7 8px,#ece6d7 16px);overflow:hidden;}
.side-card .av img{width:100%;height:100%;object-fit:cover;}
.side-card .role{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);}
.side-card strong{display:block;font-family:var(--serif);font-weight:500;font-size:16px;line-height:1.15;}
.side-card .sub{display:block;color:var(--muted);font-size:12.5px;}
.side-card .go{display:block;font-family:var(--mono);font-size:11px;color:var(--brass);margin-top:4px;}

/* Anmeldeformular */
.formwrap{max-width:760px;margin:0 auto;padding:8px 20px 10px;}

/* Zusammenfassung und Bestätigung */
.summary{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--plate);}
.summary .tot{font-family:var(--serif);font-size:20px;font-weight:600;}
.confirm{margin-top:16px;border:1px solid var(--line);border-left:3px solid var(--forest);border-radius:8px;background:#f3f6ee;padding:18px;}
.confirm h3{font-family:var(--serif);font-weight:600;margin:0 0 6px;font-size:18px;}
.confirm .pay{display:block;margin-top:14px;border:1px solid var(--line);border-radius:8px;background:var(--plate);padding:14px;}
.confirm .pay dt{font-size:12px;color:var(--muted);}
.confirm .pay dd{margin:0 0 6px;font-size:14px;font-family:var(--mono);}
.confirm-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px;}

/* Teilnehmerliste: Zählkacheln */
.counts{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 18px;}
.count{border:1px solid var(--line);border-radius:8px;background:var(--plate);padding:11px 16px;min-width:96px;}
.count b{font-family:var(--serif);font-weight:600;font-size:24px;display:block;color:var(--ink);line-height:1.1;}
.count span{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.count.total{background:var(--forest);border-color:var(--forest);}
.count.total b,.count.total span{color:#fff;}
.bar-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px;}

/* Teilnehmertabelle */
.ev-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:var(--plate);}
table.list{width:100%;border-collapse:collapse;font-size:14px;}
table.list th,table.list td{padding:12px 14px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;}
table.list thead th{color:var(--muted);font-weight:600;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;background:#fbf9f3;}
table.list tbody tr:last-child td{border-bottom:0;}
.nm{font-family:var(--serif);font-weight:500;font-size:15px;}
.nm small{display:block;font-family:var(--sans);color:var(--muted);font-size:12px;font-weight:400;}
.typ{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:3px;}
.typ.mit{background:#ecefe6;color:var(--forest);}
.typ.gast{background:#efe9dd;color:#8a6d2a;}
.typ.dame{background:#efe1e6;color:#8a3a5e;}
.pay{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:4px 11px;cursor:pointer;background:#fff;}
.pay .d{width:8px;height:8px;border-radius:50%;}
.pay.ok{color:var(--forest);border-color:rgba(44,70,48,.35);}
.pay.ok .d{background:var(--forest);}
.pay.open{color:var(--brass);border-color:rgba(154,123,51,.4);}
.pay.open .d{background:var(--brass);}
.muted-cell{color:var(--muted);font-size:13px;}

/* Manuell-Hinzufügen-Panel */
.add-panel{border:1px solid var(--line);border-radius:8px;background:var(--plate);padding:16px;margin-bottom:16px;display:none;}
.add-panel.open{display:block;}

/* Responsive für Event-Seiten */
@media(max-width:860px){
  .detail{grid-template-columns:1fr;}
  .aside-stack{position:static;}
  .ev-aside{min-width:0;}
}
@media(max-width:560px){
  .ev-row{flex-wrap:wrap;}
}
