/* Mein Verein 1.1.0 – baut auf den Stilen der Benutzerverwaltung (zbv-*) auf */
.mev-wrap .zbv-box.mev-box { max-width: none; width: auto; margin: 0 0 16px; box-sizing: border-box; }
.mev-wrap [hidden] { display: none !important; }
.mev-gruss { font-size: 1.15rem; font-weight: 600; margin: 6px 0 14px; }

/* Übersicht */
.mev-dash { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.mev-dash.mev-dash-1 { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 900px) { .mev-dash { grid-template-columns: minmax(0, 1fr); } }
.mev-kachel { background: #fff; border: 1px solid #e3e6ea; border-radius: 10px; padding: 14px 16px; margin-bottom: 16px; box-sizing: border-box; }
.mev-k-kopf { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.mev-k-kopf h3 { margin: 0; font-size: 1.05rem; }
.mev-mehr { font-size: .88rem; text-decoration: none; }
.mev-meta { color: #6b7280; font-size: .85rem; }
.mev-leer { color: #6b7280; margin: 4px 0; }
.mev-liste { list-style: none; margin: 0; padding: 0; }
.mev-liste li { padding: 7px 0; border-top: 1px solid #f0f1f3; line-height: 1.4; }
.mev-liste li:first-child { border-top: 0; }
.mev-dat { display: inline-block; min-width: 6.5em; font-variant-numeric: tabular-nums; color: #374151; font-weight: 600; }
.mev-betrag { white-space: nowrap; margin-left: 4px; }
.mev-badge { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: .78rem; background: #eef1f5; color: #374151; white-space: nowrap; vertical-align: 1px; }
.mev-badge-rot { background: #fde4e4; color: #a12020; }
.mev-badge-gruen { background: #e3f4e6; color: #1d6b2c; }
.mev-badge-gelb { background: #fff4d6; color: #7a5a00; }
.mev-badge-gold { background: #fdf0c4; color: #7a5500; }

/* Mitteilungen */
.mev-mitt { border-top: 1px solid #f0f1f3; padding: 12px 0 4px; }
.mev-k-mitt .mev-mitt:first-of-type { border-top: 0; padding-top: 4px; }
.mev-mitt header h4 { margin: 0 0 2px; font-size: 1rem; }
.mev-mitt-text { margin-top: 6px; }
.mev-mitt-text p { margin: 0 0 .6em; }
.mev-mitt.mev-wichtig { background: #fff8f0; border: 1px solid #f5c89a; border-left: 4px solid #d9731a; border-radius: 8px; padding: 10px 12px; margin-bottom: 10px; }
.mev-bilder { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0; }
.mev-bilder img { max-width: 100%; max-height: 260px; border-radius: 6px; display: block; }
.mev-anh { list-style: none; margin: 4px 0; padding: 0; font-size: .92rem; }

/* Geburtstage */
.mev-geb .mev-geb-d { display: inline-block; min-width: 6.2em; font-variant-numeric: tabular-nums; font-weight: 600; }
.mev-geb li.mev-heute { background: #f0faf2; border-radius: 6px; padding-left: 6px; }

/* Formulare und Tabellen */
.mev-wrap .mev-f { margin: 0 0 12px; }
.mev-wrap .mev-f > label:not(.mev-chk) { display: block; font-weight: 600; margin-bottom: 4px; }
.mev-wrap .mev-f input[type=text], .mev-wrap .mev-f input[type=email], .mev-wrap .mev-f input[type=tel], .mev-wrap .mev-f input[type=date],
.mev-wrap .mev-f input[type=number], .mev-wrap .mev-f select, .mev-wrap .mev-f textarea { width: 100%; box-sizing: border-box; }
.mev-wrap .mev-f.mev-neu input { background: #fff8d6 !important; border-color: #e0c160 !important; }
.mev-wrap .mev-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 14px; }
.mev-wrap .mev-grid3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0 12px; }
.mev-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 900px) { .mev-layout { grid-template-columns: minmax(0, 1fr); } }
.mev-wrap .mev-chk { display: block; font-weight: normal; margin: 3px 0; cursor: pointer; }
.mev-wrap .mev-chk input { width: auto !important; margin-right: 6px; }
.mev-spalten { columns: 2 180px; }
.mev-ziel { margin: 4px 0 8px 24px; }
.mev-ziel.mev-ziel-direkt { margin-left: 0; }
.mev-gruppe { margin: 6px 0 8px; display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; }
.mev-gt { display: block; width: 100%; font-size: .82rem; font-weight: 600; color: #555; margin-top: 4px; }
.mev-chip { display: inline-flex; align-items: center; border: 1px solid #d0d5dd; border-radius: 14px; padding: 2px 10px 2px 6px; font-size: .88rem; background: #fff; cursor: pointer; }
.mev-chip input { margin-right: 4px; }
.mev-tw { overflow-x: auto; }
.mev-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.mev-table th, .mev-table td { padding: 6px 8px; border-bottom: 1px solid #eceef1; text-align: left; vertical-align: top; }
.mev-table th { font-size: .8rem; color: #555; background: #f7f8fa; }
.mev-c { text-align: center !important; }
.mev-nw { white-space: nowrap; }
.mev-grau td { color: #9ca3af; }
.mev-rot { color: #a12020; }
.mev-alt { color: #6b7280; }
.mev-inline { display: inline; margin: 0; }
.mev-klein { padding: 3px 10px !important; font-size: .85rem !important; }
.mev-crumbs { margin: 0 0 8px; }
.mev-kv th { text-align: left; padding: 4px 14px 4px 0; vertical-align: top; color: #555; white-space: nowrap; font-weight: 600; }
.mev-kv td { padding: 4px 0; }
.mev-aktionen { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.mev-pruef { border: 1px solid #e3e6ea; border-radius: 8px; padding: 10px 12px; margin: 0 0 14px; }
.mev-pruef.mev-fokus { border-color: #2d6cdf; box-shadow: 0 0 0 2px rgba(45, 108, 223, .15); }
.mev-pruef h4 { margin: 0 0 6px; }
.mev-bem { background: #f7f8fa; border-radius: 6px; padding: 6px 10px; font-style: italic; }
.mev-wrap .mev-grund { width: 100%; min-width: 180px; box-sizing: border-box; }
.mev-zuordnen select { max-width: 280px; }
.mev-zuordnen .mev-nr { width: 120px; }
.mev-det summary { cursor: pointer; }
.mev-hinweis { margin-bottom: 12px; }
.mev-wrap .zbv-msg-info { background: #eef3fb; border: 1px solid #c9d8f2; color: #1f3b6b; padding: 10px 14px; border-radius: 6px; margin: 0 0 12px; }
.mev-wrap .mev-chip input { width: auto !important; margin: 0 5px 0 0 !important; }

/* ab 1.1.0: eigene Bereiche, Dateien, Anordnung, Google Drive */
.mev-sym { font-size: 1.05em; }
.mev-k-links { display: inline-flex; gap: 10px; }
.mev-ficon { display: inline-block; min-width: 2.3em; padding: 0 3px; border-radius: 3px; font-size: .68rem; font-weight: 700; line-height: 1.55; text-align: center; color: #fff; background: #6b7280; vertical-align: 1px; }
.mev-ficon-pdf { background: #c0392b; } .mev-ficon-w { background: #2b579a; } .mev-ficon-x { background: #217346; } .mev-ficon-p { background: #c55a11; } .mev-ficon-img { background: #7a4fb5; } .mev-ficon-zip { background: #8a6d3b; }
.mev-anh li { padding: 3px 0; }
.mev-anh a, .mev-doks a { text-decoration: none; }
.mev-doks li { padding: 6px 0; }
.mev-kontakte { list-style: none; margin: 0; padding: 0; }
.mev-kontakte li { padding: 7px 0; border-top: 1px solid #f0f1f3; line-height: 1.45; }
.mev-kontakte li:first-child { border-top: 0; }
.mev-kontakte .mev-kz { font-size: .9rem; overflow-wrap: anywhere; }
.mev-kontakte-gross { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0 18px; }
.mev-kontakte-gross li:nth-child(-n+3) { border-top: 0; }
.mev-wrap .mev-suche { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 4px 0 12px; }
.mev-wrap .mev-suche input[type=search] { flex: 1 1 220px; max-width: 360px; }
.mev-wrap .mev-det { margin: 8px 0 14px; border: 1px solid #e3e6ea; border-radius: 8px; padding: 8px 12px; }
.mev-wrap .mev-det summary { cursor: pointer; font-weight: 600; }
.mev-ordner { margin: 14px 0 6px; }
.mev-ordner h4 { margin: 0 0 6px; font-size: 1rem; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.mev-ordner h4 form { display: inline; margin: 0; }
.mev-wrap .mev-dok-t td { vertical-align: middle; }
.mev-wrap select.mev-mini { width: auto !important; max-width: 150px; font-size: .82rem !important; padding: 2px 4px !important; height: auto !important; min-height: 0 !important; }
.mev-wrap .mev-dok-t .zbv-btn { padding: 3px 9px; font-size: .8rem; }
.mev-wrap .mev-symbole { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.mev-wrap .mev-sym-w { font-size: 1.1rem; cursor: pointer; white-space: nowrap; }
.mev-wrap .mev-konten-w { display: flex; flex-wrap: wrap; gap: 4px 6px; max-height: 180px; overflow: auto; margin: 4px 0 4px 22px; }
.mev-anord td { vertical-align: middle; }
.mev-wrap .mev-pfeil { border: 1px solid #d0d5dd; background: #f7f8fa; border-radius: 4px; padding: 0 7px; margin-right: 3px; cursor: pointer; line-height: 1.6; color: #333; }
.mev-wrap .mev-pfeil:hover { background: #fff; }
.mev-test { border-radius: 8px; padding: 10px 14px; margin: 0 0 12px; }
.mev-test ul { margin: 6px 0 0 18px; padding: 0; }
.mev-test-ok { background: #f0faf2; border: 1px solid #b9e2c2; }
.mev-test-err { background: #fff5f5; border: 1px solid #f2c2c2; }
.mev-t-err { color: #a12020; } .mev-t-warn { color: #7a5a00; }
.mev-aktionen { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0; }
.mev-aktionen form { margin: 0; }
.mev-drive-st .mev-badge { margin-right: 4px; }
.mev-rot { color: #a12020; }

/* ab 1.2.0: Beitritt (öffentlich), Austritt, Jubiläen, Online-Zahlung */
.mev-oeff { max-width: 680px; }
.mev-oeff-form input[type=text], .mev-oeff-form input[type=email], .mev-oeff-form input[type=tel], .mev-oeff-form input[type=date], .mev-oeff-form select, .mev-oeff-form textarea { width: 100%; box-sizing: border-box; }
.mev-oeff-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 14px; }
.mev-oeff-form p { margin: 0 0 12px; }
.mev-oeff-chk { display: flex; gap: 8px; align-items: flex-start; }
.mev-oeff-chk input { margin-top: 4px; }
.mev-oeff-klein { font-size: .85em; color: #666; }
.mev-oeff-btn { padding: 10px 20px; cursor: pointer; }
.mev-oeff-msg { padding: 10px 14px; border-radius: 6px; margin-bottom: 14px; }
.mev-oeff-success { background: #e3f4e6; color: #1d6b2c; }
.mev-oeff-error { background: #fde4e4; color: #a12020; }
.mev-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mev-austritt summary { color: #a12020; }
.mev-liste li.mev-grau { color: #9aa0a6; }
.mev-zahl-code { border-top: 1px solid #f0f1f3; padding: 10px 0; }
.mev-zahl-code:first-of-type { border-top: 0; }
.mev-zahl-code h4 { margin: 0 0 4px; }
.mev-zahl-z { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; }
.mev-wrap .mev-zahl-z select { width: auto !important; }
.mev-twint-test { max-width: 420px; text-align: center; margin: 10px auto !important; }
.mev-twint-logo { font-size: 1.6rem; font-weight: 800; letter-spacing: .04em; margin: 4px 0; }
.mev-twint-logo span { font-size: .8rem; background: #fff4d6; color: #7a5a00; border-radius: 8px; padding: 1px 8px; vertical-align: middle; }
.mev-twint-betrag { font-size: 1.8rem; font-weight: 700; margin: 8px 0; }
.mev-twint-test .mev-aktionen { justify-content: center; }
.mev-code { font-size: .75rem; word-break: break-all; color: #555; }
.mev-filter a, .mev-filter strong { margin-right: 8px; }
.mev-oeff-form input[type=text], .mev-oeff-form input[type=email], .mev-oeff-form input[type=tel], .mev-oeff-form input[type=date], .mev-oeff-form select, .mev-oeff-form textarea { padding: 8px 10px; font-size: 1rem; border: 1px solid #c9ced6; border-radius: 6px; background: #fff; margin-top: 4px; }
.mev-oeff-btn { font-size: 1rem; border-radius: 6px; border: 0; background: #2d6cdf; color: #fff; font-weight: 600; }
.mev-oeff-btn:hover { background: #1f57bd; }
