/* VDG Mitgliederbereich – Welt B
   Optik: Veranstaltungsanmeldungen (Schritt 4h) - "Meine Veranstaltungen" in Mein Bereich,
   gebuchte Termine im Kalender, Verwaltungsseite #/mein/veranstaltungen. */

/* ---------- Status (auch im Kalender) ---------- */
.mv-status{display:inline-block;border-radius:999px;padding:3px 10px;font-size:14.5px;font-weight:800;white-space:nowrap;line-height:1.4}
.mv-status.mv-ok{background:#e3f4e8;color:#1c5027}
.mv-status.mv-warn{background:#fdf2dc;color:#7a5410}
.mv-status.mv-off{background:#f1eeee;color:#7a4040}

/* ---------- Mein Bereich: Kasten ---------- */
#page-mein .mv-box{background:#fff;border:1px solid var(--line);border-left:6px solid #1c5027;border-radius:16px;
  padding:20px 22px;margin:0 0 18px;box-shadow:var(--shadow)}
#page-mein .mv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
#page-mein .mv-head .eyebrow{color:var(--leaf)}
#page-mein .mv-head h2{margin:4px 0 10px;font-size:22px;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}
.mv-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;border-radius:999px;
  background:var(--lime);color:#fff;font-size:15px;font-weight:800;letter-spacing:0}
.mv-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.mv-tabs button{font:inherit;font-size:15.5px;font-weight:700;border:1px solid var(--line);background:#f6faf4;color:var(--ink);
  border-radius:999px;padding:6px 14px;cursor:pointer}
.mv-tabs button.active{background:#1c5027;border-color:#1c5027;color:#fff}
.mv-hint,.mv-foot{color:var(--muted);font-size:15px;margin:0 0 12px}
.mv-foot{margin:14px 0 0}
.mv-empty{color:var(--muted);font-size:16px;margin:4px 0 10px;padding:12px 14px;background:#f8fbf6;border-radius:12px}
.mv-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mv-item{display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:start;padding:12px 14px;border:1px solid var(--line);
  border-radius:12px;background:#f8fbf6}
.mv-item:nth-child(even){background:#fff}
.mv-item.is-cancelled{opacity:.7}
.mv-item.is-cancelled .mv-main > b{text-decoration:line-through}
.mv-date{background:#1c5027;color:#fff;border-radius:10px;text-align:center;padding:6px 4px;line-height:1.1}
.mv-date b{display:block;font-size:24px;letter-spacing:-.03em}
.mv-date span{display:block;font-size:13.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;opacity:.9}
.mv-main{min-width:0}
.mv-main > b{display:block;font-size:17px;color:var(--ink)}
.mv-main > small{display:block;color:var(--muted);font-size:15px;margin-top:2px}
.mv-who{margin-top:4px;font-size:15px;color:#244e6e;font-weight:700}
.mv-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}
.mv-side .text-link{font-size:15px}
.mv-count{font-size:15px;font-weight:800;color:var(--leaf);white-space:nowrap}
.mv-people{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.mv-people li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:15.5px}
.mv-item:nth-child(even) .mv-people li{background:#f8fbf6}
.mv-people li.is-cancelled span{text-decoration:line-through;color:var(--muted)}
.mv-people em{color:var(--muted);font-style:normal}
.mv-people small{color:var(--muted)}
.mv-past{margin-top:12px}
.mv-past summary{cursor:pointer;font-weight:800;color:var(--leaf);font-size:16px;margin-bottom:10px}
@media (max-width:640px){
  .mv-item{grid-template-columns:52px 1fr;gap:10px;padding:10px}
  .mv-side{grid-column:2;align-items:flex-start;text-align:left;flex-direction:row;flex-wrap:wrap}
  .mv-date b{font-size:20px}
  .mv-people li{flex-wrap:wrap}
}

/* ---------- Kalender: gebuchte Termine ---------- */
#page-termine .calendar-grid .day.booked-day{box-shadow:inset 0 0 0 2px var(--lime)}
#page-termine .day-event.is-booked{background:#1c5027;color:#fff}
#page-termine .ev-check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;
  background:var(--lime);color:#fff;font-size:13px;font-weight:900;vertical-align:1px}
#page-termine .event-card-booking{margin:8px 0 0;padding:8px 12px;background:#eef8e9;border:1px solid #c5ddb8;border-radius:10px;font-size:15.5px;color:#1c5027;font-weight:700}
#page-termine .event-card-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

/* ---------- Verwaltung (#/mein/veranstaltungen) ---------- */
#page-mein .mv-admin{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
#page-mein .mv-admin > *{min-width:0}
#page-mein .mv-admin > p{margin:0}
#page-mein .mv-admin-intro h1{margin:4px 0 8px;font-size:30px;letter-spacing:-.04em}
#page-mein .mv-admin-intro p{margin:0;color:var(--muted);font-size:16px;max-width:80ch}
#page-mein .mv-admin-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
#page-mein .mv-admin-card:nth-of-type(even){background:var(--alt-bg,#e9f4e2);border-color:var(--alt-line,#c5ddb8)}
#page-mein .mv-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}
#page-mein .mv-admin-head h2{margin:4px 0 0;font-size:21px;letter-spacing:-.03em}
#page-mein .mv-admin-actions{display:flex;gap:8px;flex-wrap:wrap}
#page-mein .mv-admin-status{margin:0 0 6px;font-size:16px}
#page-mein .mv-admin-hint{margin:0 0 10px;font-size:15px;color:var(--muted)}
#page-mein .mv-admin-hint .text-link{font-size:15px}
#page-mein .mv-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:12px 0;padding:16px;
  background:#fff;border:1px solid var(--line);border-radius:12px}
#page-mein .mv-form label{display:flex;flex-direction:column;gap:5px;font-size:16px;min-width:0}
#page-mein .mv-form label > span{font-weight:800;font-size:15.5px;color:#23413c}
#page-mein .mv-form small{color:var(--muted);font-size:14.5px}
#page-mein .mv-form input:not([type=checkbox]){font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:8px;min-width:0}
#page-mein .mv-wide{grid-column:1/-1}
#page-mein .mv-check{display:flex !important;flex-direction:row !important;gap:10px;align-items:flex-start;font-size:15.5px;cursor:pointer}
#page-mein .mv-check input{margin-top:4px;width:18px;height:18px;flex:0 0 auto}
#page-mein .mv-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
#page-mein .mv-help{font-size:15.5px}
#page-mein .mv-help summary{cursor:pointer;font-weight:800;color:var(--leaf)}
#page-mein .mv-help ol,#page-mein .mv-help p{margin:8px 0 0;color:#2c4540}
#page-mein .mv-help li{margin-bottom:4px}
@media (max-width:720px){ #page-mein .mv-form{grid-template-columns:1fr;padding:12px} }

#page-mein .mv-sources{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
#page-mein .mv-sources-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
#page-mein .mv-sources ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
#page-mein .mv-sources li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:10px}
#page-mein .mv-sources li small{color:var(--muted)}
#page-mein .mv-src-note{font-size:14.5px;color:var(--muted);align-self:center}

#page-mein .mv-file{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:15.5px;margin:12px 0}
#page-mein .mv-file input{border:1px dashed var(--line);background:#f8faf8;padding:12px;border-radius:10px;font:inherit;font-weight:400}
#page-mein .mv-map{padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}
#page-mein .mv-map > p{margin:0 0 10px}
#page-mein .mv-map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 14px;margin-bottom:12px}
#page-mein .mv-map-grid label{display:flex;flex-direction:column;gap:4px;font-size:15px;font-weight:700;color:#23413c;min-width:0}
#page-mein .mv-map-grid select{font:inherit;font-weight:400;padding:7px;border:1px solid var(--line);border-radius:8px;min-width:0}
#page-mein .mv-warn{color:#7a2e1d;font-weight:700;margin:0 0 10px}
#page-mein .mv-preview{margin-top:14px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}
#page-mein .mv-preview h3{margin:0 0 10px;font-size:17px}
#page-mein .mv-preview details{margin-top:10px}
#page-mein .mv-preview summary{cursor:pointer;font-weight:800;color:var(--leaf);font-size:15.5px}
#page-mein .mv-chips{display:flex;gap:6px;flex-wrap:wrap}
#page-mein .mv-chip{display:inline-block;border-radius:999px;padding:3px 10px;font-size:15px;font-weight:800;background:#eef1ef;color:#3c4a42}
#page-mein .mv-chip.is-new{background:#e3f4e8;color:#1c5027}
#page-mein .mv-chip.is-upd{background:#e6eff7;color:#244e6e}
#page-mein .mv-chip.is-off{background:#fbeee6;color:#8a4a1c}
#page-mein .mv-plain{margin:8px 0 0;padding-left:20px;font-size:15.5px;max-height:320px;overflow:auto}
#page-mein .mv-done{margin-top:12px;padding:12px 14px;background:#eef9f1;border:1px solid #bfe3cc;border-radius:10px;font-size:16px;color:#1c5027;font-weight:700}

#page-mein .mv-unmatched{list-style:none;margin:0;padding:0;display:grid;gap:8px}
#page-mein .mv-unmatched > li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px}
#page-mein .mv-um-main{min-width:0;flex:1 1 320px}
#page-mein .mv-um-main b{font-size:16px}
#page-mein .mv-um-main small{display:block;color:var(--muted);font-size:14.5px;word-break:break-word}
#page-mein .mv-um-main b + small{display:inline}
#page-mein .mv-um-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
#page-mein .mv-assign{flex-basis:100%;display:grid;gap:8px;padding:10px;background:#f6faf4;border-radius:10px}
#page-mein .mv-assign input{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:8px}
#page-mein .mv-assign-res{display:grid;gap:6px;max-height:300px;overflow:auto}
#page-mein .mv-assign-res button{font:inherit;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
#page-mein .mv-assign-res button:hover{border-color:var(--lime)}
#page-mein .mv-assign-res small{color:var(--muted)}
#page-mein .mv-assign .text-link{justify-self:start;font-size:15px}

#page-mein .mv-events{list-style:none;margin:0;padding:0;display:grid;gap:8px}
#page-mein .mv-events > li{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
#page-mein .mv-events > li.is-past .mv-ev-head{opacity:.75}
#page-mein .mv-ev-head{width:100%;display:grid;grid-template-columns:110px 1fr auto 20px;gap:12px;align-items:center;padding:10px 12px;
  border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
#page-mein .mv-ev-head:hover{background:#f6faf4}
#page-mein .mv-ev-date{font-weight:800;color:var(--leaf)}
#page-mein .mv-ev-title b{display:block}
#page-mein .mv-ev-title small{color:var(--muted);font-size:14.5px}
#page-mein .mv-ev-nums{font-size:15px;color:#2c4540;white-space:nowrap}
#page-mein .mv-ev-nums em{color:#8a4a1c;font-style:normal;font-weight:800}
#page-mein .mv-ev-body{padding:0 12px 12px;overflow:auto}
#page-mein .mv-table{border-collapse:collapse;width:100%;font-size:15px}
#page-mein .mv-table th{text-align:left;background:#f4f7f5;padding:7px 8px;white-space:nowrap}
#page-mein .mv-table td{padding:7px 8px;border-top:1px solid var(--line);vertical-align:top}
#page-mein .mv-table td small{display:block;color:var(--muted);font-size:14px}
#page-mein .mv-table tr.is-cancelled td:first-child{text-decoration:line-through;color:var(--muted)}
#page-mein .mv-table em{color:#8a4a1c;font-style:normal;font-weight:700}
@media (max-width:720px){
  #page-mein .mv-ev-head{grid-template-columns:1fr 20px}
  #page-mein .mv-ev-date{grid-column:1}
  #page-mein .mv-ev-title,#page-mein .mv-ev-nums{grid-column:1;white-space:normal}
  #page-mein .mv-ev-toggle{grid-column:2;grid-row:1}
  #page-mein .mv-admin-intro h1{font-size:25px}
}

/* Schritt 4q: Knopf "Feedback-Formular an die Teilnehmenden" */
#page-mein .mv-ev-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
#page-mein .mv-ev-actions .btn{text-decoration:none}

/* Schritt 11u: stornierte Anmeldungen im eigenen Kasten – dort nicht durchgestreichen; mehrere Tickets in einem Eintrag */
#page-mein .mv-cancelled .mv-item.is-cancelled b,#page-mein .mv-cancelled .mv-item.is-cancelled small{text-decoration:none !important}
#page-mein .mv-cancelled .mv-item.is-cancelled{opacity:.85}
#page-mein .mv-people .mv-person{font-weight:600}
