.wfcm2-app{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#16212b;min-height:100vh;height:100vh;display:flex;flex-direction:column;overflow:hidden}

/* Buttons */
.wfcm2-btn{background:#0f7ea1;color:#fff;border:none;border-radius:10px;padding:8px 10px;cursor:pointer;text-decoration:none;display:inline-block}
.wfcm2-btn:not(.wfcm2-close),
.wfcm2-btn:not(.wfcm2-close):hover,
.wfcm2-btn:not(.wfcm2-close):active,
.wfcm2-btn:not(.wfcm2-close):focus{color:#fff}


/* Present button ("Anwesend melden") */
.wfcm2-btn.wfcm2-present,
.wfcm2-btn.wfcm2-present:hover,
.wfcm2-btn.wfcm2-present:active,
.wfcm2-btn.wfcm2-present:focus{color:#0f7ea1;background:#fff;border:2px solid #0f7ea1}
/* Close button ("Fenster schließen") */
.wfcm2-btn.wfcm2-close{color:#000;background:#fff;border:1px solid #000}
.wfcm2-btn.wfcm2-close:hover,.wfcm2-btn.wfcm2-close:active{color:#fff;background:#000;border-color:#000}

/* Danger button (destructive actions) */
.wfcm2-btn.wfcm2-danger{color:#fff;background:#b00020;border:1px solid #b00020}
.wfcm2-btn.wfcm2-danger:hover,.wfcm2-btn.wfcm2-danger:active{color:#fff;background:#8a0018;border-color:#8a0018}

/* Small icon button (Blocks: delete) */
.wfcm2-btn.wfcm2-trash{padding:8px 10px;line-height:1}

/* No hover zoom/transform effects on buttons */
.wfcm2-btn,.wfcm2-menu-item{transform:none;transition:none}
.wfcm2-btn:hover,.wfcm2-btn:active,.wfcm2-menu-item:hover,.wfcm2-menu-item:active{transform:none}

/* Topbar */
.wfcm2-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 6px 12px;border-bottom:1px solid #e8eff4;background:#fff;position:sticky;top:0;z-index:5}
.wfcm2-clock{font-variant-numeric:tabular-nums;font-weight:400;font-size:250%}
.wfcm2-usage{font-size:12px;opacity:.8;margin-right:0}
.wfcm2-status{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.wfcm2-status-sep{opacity:.55}
.wfcm2-conn{font-size:12px;opacity:.85;white-space:nowrap}
.wfcm2-conn.is-offline{font-weight:600;color:#b42318}

/* Block switcher (Multi-Block) */
.wfcm2-clock-left{font-size:190%;line-height:1}
.wfcm2-blockswitch{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;min-width:180px}
.wfcm2-bs-arrow{background:transparent;border:1px solid #d8e2e7;border-radius:14px;padding:8px 12px;font-size:18px;cursor:pointer;color:#16212b}
.wfcm2-bs-arrow:active{transform:none}
.wfcm2-bs-name{appearance:none;background:#f7fbfd;border:1px solid #bfe4f0;border-radius:16px;padding:8px 14px;font-weight:800;cursor:pointer;max-width:36vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#16212b}
.wfcm2-bs-name:focus,.wfcm2-bs-arrow:focus{outline:2px solid #1ea3cc;outline-offset:2px}

.wfcm2-btiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:12px}
.wfcm2-btile{appearance:none;color:inherit;font:inherit;border:2px solid #d8e2e7;border-radius:18px;padding:12px;cursor:pointer;background:#fff;display:flex;flex-direction:column;gap:6px}
.wfcm2-btile:hover{background:#f7fbfd}
.wfcm2-btile.is-current{border-color:#1ea3cc;background:#f7fbfd}
.wfcm2-btile-title{font-weight:800}
.wfcm2-btile-meta{font-size:12px;opacity:.7}


/* Tiles (generic) - used in Block-Picker + Move-Dialog */
.wfcm2-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:12px}
.wfcm2-tile{appearance:none;color:inherit;font:inherit;border:2px solid #d8e2e7;border-radius:18px;padding:12px;cursor:pointer;background:#fff;display:flex;flex-direction:column;gap:6px;text-align:left}
.wfcm2-tile:hover{background:#f7fbfd}
.wfcm2-tile.is-active,.wfcm2-tile.is-current{border-color:#1ea3cc;background:#f7fbfd}
.wfcm2-tile-title{font-weight:800}
.wfcm2-tile-sub{font-size:12px;opacity:.7}










/* Left area: Battery + clock */
.wfcm2-left{display:grid;grid-template-columns:auto auto;grid-template-rows:auto;align-items:center;column-gap:14px;row-gap:0;line-height:1.1;max-width:45vw}
.wfcm2-left .wfcm2-battery{grid-column:1;grid-row:1}
.wfcm2-left .wfcm2-clock-left{grid-column:2;grid-row:1}
.wfcm2-battery{display:flex;align-items:center;gap:8px;font-size:12px;opacity:.9;white-space:nowrap}
.wfcm2-batt-icon{display:inline-flex;align-items:center;gap:3px}
.wfcm2-batt-shell{position:relative;display:inline-block;width:26px;height:12px;border:2px solid currentColor;border-radius:3px;box-sizing:border-box;overflow:hidden}
.wfcm2-batt-fill{position:absolute;left:0;top:0;bottom:0;width:0%;background:currentColor;opacity:.9}
.wfcm2-batt-tip{display:inline-block;width:3px;height:8px;border:2px solid currentColor;border-left:0;border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:1px}
.wfcm2-battery.low{color:#e04b4b}
.wfcm2-battery.mid{color:#f39200}
.wfcm2-battery.high{color:#0f7ea1}
.wfcm2-battery.charging{color:#6bd18b}


/* Course grid */
.wfcm2-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;padding:8px 6px 12px;flex:1;min-height:0;overflow:auto}
.wfcm2-card{background:#f7fbfd;border:2px solid #1ea3cc;border-radius:16px;padding:12px;cursor:pointer}
.wfcm2-card .wfcm2-title{font-weight:800;margin-bottom:4px}
.wfcm2-card .wfcm2-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;opacity:.8}
.wfcm2-badge{display:inline-block;background:#e9f5f9;border:1px solid #bfe4f0;border-radius:999px;padding:0 8px;font-size:18px}

/* Occupancy progress */
.wfcm2-progress{display:flex;gap:2px;margin-top:8px}
.wfcm2-progress span{height:6px;flex:1;background:#cfe9d7;border-radius:3px}
.wfcm2-progress span.on{background:#6bd18b}
.wfcm2-progress.orange span.on{background:#f39200}
.wfcm2-progress.red span.on{background:#e04b4b}

/* Drawer */
.wfcm2-drawer{position:fixed;top:0;left:0;bottom:0;width:75vw;max-width:900px;background:#fff;transform:translateX(-100%);transition:transform .3s ease;box-shadow:8px 0 24px rgba(0,0,0,.1);z-index:9998;display:flex;flex-direction:column}
.wfcm2-drawer.open{transform:translateX(0)}
.wfcm2-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid #e8eff4}
.wfcm2-drawer-actions{display:flex;align-items:center;gap:10px}
/* Drawer icon buttons: unified size */
#wfcm2-termine,#wfcm2-attendance,#wfcm2-add,#wfcm2-back{width:60px;height:50px;min-width:60px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}
#wfcm2-termine .wfcm2-icon-img,#wfcm2-attendance .wfcm2-icon-img,#wfcm2-add .wfcm2-icon-img,#wfcm2-back .wfcm2-icon-img{width:20px;height:20px}

.wfcm2-icon-img{width:18px;height:18px;display:block}
.wfcm2-drawer-title{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.wfcm2-person{display:flex;gap:10px;align-items:center;border:1px solid #d8e2e7;border-radius:12px;padding:10px;margin-bottom:8px;cursor:pointer}
.wfcm2-person:hover{background:#f5fbfe}
.wfcm2-avatar{width:42px;height:42px;border-radius:50%;background:#1ea3cc;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.wfcm2-avatar.temp{background:#e04b4b}
.wfcm2-temp{color:#e04b4b}

/* v1.0.110: BAR-Markierung (Barzahler) in Teilnehmerliste */
.wfcm2-badge-bar{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;border:1px solid #d43636;color:#d43636;font-size:12px;font-weight:900;letter-spacing:.3px;line-height:1.2;vertical-align:middle}

/* Ziel 1: Teilnehmer im Ursprungskurs während Ersatzterminen "grau" darstellen */
.wfcm2-person.away{opacity:.45;filter:grayscale(1)}

/* Muted button (z.B. "auswählen" in Ersatzkurs-Liste) */
.wfcm2-btn.wfcm2-muted{background:#666}
.wfcm2-btn.wfcm2-muted:hover,.wfcm2-btn.wfcm2-muted:active{background:#555}

/* Auswahl-Highlight für Ersatzkurs-Liste */
.wfcm2-pl-row.is-selected{outline:2px solid #0f7ea1;outline-offset:-2px;background:rgba(15,126,161,.12) !important}

/* Modal */
.wfcm2-modal[hidden]{display:none}
.wfcm2-modal{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:9999}
.wfcm2-modal-card{background:#fff;border-radius:12px;padding:16px;width:min(560px,94vw);max-height:87vh;overflow:auto}

/* Termine modal is wider (matches mockups) */
.wfcm2-modal.wfcm2-modal-termine .wfcm2-modal-card{width:min(640px,94vw);overflow:hidden;display:flex;flex-direction:column;padding:0;background:transparent}
.wfcm2-modal.wfcm2-modal-termine .wfcm2-modal-body{flex:1;min-height:0;overflow:hidden;display:flex}
.wfcm2-modal.wfcm2-modal-termine .wfcm2-modal-actions{display:none}

/* ===== Attendance (Anwesenheit) modal – v1.0.95 ===== */
.wfcm2-modal.wfcm2-modal-attendance .wfcm2-modal-card{width:95vw;max-width:1400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;padding:0;background:transparent}
.wfcm2-modal.wfcm2-modal-attendance .wfcm2-modal-body{flex:1;min-height:0;overflow:hidden;display:flex}
.wfcm2-modal.wfcm2-modal-attendance .wfcm2-modal-actions{display:none}

.wfcm2-att{position:relative;background:#fff;color:#16212b;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.18);display:flex;flex-direction:column;min-height:0;max-height:90vh;width:100%}
.wfcm2-att-head{padding:14px 16px;background:#f7fbfd;border-bottom:1px solid rgba(0,0,0,.08)}
.wfcm2-att-title{font-size:18px;font-weight:800;letter-spacing:.2px}
.wfcm2-att-sub{margin-top:4px;font-size:12px;opacity:.75}

.wfcm2-att-nav{padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.08);background:#fff}
.wfcm2-att-months{display:flex;gap:8px;flex-wrap:wrap}
.wfcm2-att-month{border:1px solid rgba(0,0,0,.16);background:#fff;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px;cursor:pointer}
/* Ensure readable text in Light/Mix */
.wfcm2-att-month,.wfcm2-att-pill,.wfcm2-att-name,.wfcm2-att-filter{color:inherit}
.wfcm2-att-month.is-active{background:#1ea3cc;border-color:#1ea3cc;color:#fff}

.wfcm2-att-days{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.wfcm2-att-pill{border:1px solid rgba(0,0,0,.14);background:#fff;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px;cursor:pointer}
.wfcm2-att-pill.is-active{background:#1ea3cc;border-color:#1ea3cc;color:#fff}

.wfcm2-att-matrix-wrap{flex:1;min-height:0;display:flex}
.wfcm2-att-matrix-scroll{flex:1;min-height:0;overflow:auto}
.wfcm2-att-empty{padding:18px;opacity:.75}

.wfcm2-att-table{border-collapse:separate;border-spacing:0;min-width:100%;margin-left:15px}
.wfcm2-att-table th,.wfcm2-att-table td{border-bottom:1px solid rgba(0,0,0,.08);border-right:1px solid rgba(0,0,0,.08);padding:8px;text-align:center;vertical-align:middle;background:#fff}
.wfcm2-att-table th{position:sticky;top:0;background:#f7fbfd;z-index:3;font-size:12px;font-weight:800}
.wfcm2-att-table th.is-active,.wfcm2-att-table td.is-active{background:#1ea3cc;color:#fff}
.wfcm2-att-table th:first-child,.wfcm2-att-table td:first-child{position:sticky;left:0;z-index:4;text-align:left;min-width:240px;max-width:360px}
.wfcm2-att-table th:first-child{z-index:5}
.wfcm2-att-name{all:unset;cursor:pointer;font-weight:800;display:block;padding:4px 2px}
.wfcm2-att-cell{width:32px;height:32px;border-radius:10px;border:1px solid rgba(0,0,0,.12);cursor:pointer;font-size:18px;font-weight:900;background:#fff;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;text-align:center}
.wfcm2-att-cell.is-away{border-color:rgba(0,0,0,.22)}
.wfcm2-att-cell.is-present{color:#16a34a}
.wfcm2-att-cell.is-away{color:#dc2626}
.wfcm2-att-cell.is-locked{opacity:.55;cursor:not-allowed}
.wfcm2-att-cell.is-locked:disabled{opacity:.55;cursor:not-allowed}
.wfcm2-att-cell .is-present{color:#16a34a}
.wfcm2-att-cell .is-away{color:#dc2626}

.wfcm2-att-foot{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(0,0,0,.08);background:#fff}
.wfcm2-att-filter{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;opacity:.85}

.wfcm2-att-confirm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);padding:16px}
.wfcm2-att-confirm-card{background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:16px;max-width:520px;width:100%;position:relative;z-index:100}
.wfcm2-att-confirm-text{font-size:14px;font-weight:800;margin-bottom:12px}
.wfcm2-att-confirm-actions{display:flex;gap:10px;justify-content:flex-end}

/* Dark mode (not in Mix-Mode) */
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att{color:#e5e7eb}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-name{color:#e5e7eb}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-cell.is-present{color:#6bd18b}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-cell.is-away{color:#e04b4b}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-month.is-active,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-pill.is-active{background:#10243a;border-color:rgba(255,255,255,.18);color:#e5e7eb}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-table th.is-active,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-table td.is-active{background:#10243a;color:#e5e7eb}

.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att{background:#0b1220;box-shadow:0 10px 30px rgba(0,0,0,.55)}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-head,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-nav,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-foot{background:#0b1220;border-color:rgba(255,255,255,.08)}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-table th{background:#111b2e}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-table th,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-table td{background:#0b1220;border-color:rgba(255,255,255,.08)}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-month,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-pill{background:#0b1220;border-color:rgba(255,255,255,.16)}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-month.is-active,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-pill.is-active,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-table th.is-active,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-table td.is-active{background:#10243a}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-cell{background:#0b1220;border-color:rgba(255,255,255,.18)}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-att-confirm-card{background:#0b1220;border:1px solid rgba(255,255,255,.12)}

/* ===== Termine Modal (v1.0.55) – Optik nahe den Illustrationen ===== */
.wfcm2-termine{margin:0;background:#fff;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0}
.wfcm2-termine-head{background:#0f7ea1;color:#fff;text-align:center;padding:18px 16px 14px;margin:0}
.wfcm2-termine-title{font-size:40px;line-height:1.05;font-weight:700;margin:0}
.wfcm2-termine-sub{margin-top:6px;font-size:16px;opacity:.95}

.wfcm2-termine-bar{height:7px;background:#cfcfcf;overflow:hidden;margin:0}
.wfcm2-termine-bar-fill{height:100%;background:#f39200;width:0%}

.wfcm2-termine-panel{background:#e6e6e6;padding:12px}

.wfcm2-termine-months{display:flex;gap:0;border:1px solid #bdbdbd;background:#efefef;margin:0}
.wfcm2-termine-month{flex:1;text-align:center;padding:10px 6px;font-weight:600;border:0;border-right:1px solid #bdbdbd;border-radius:0;background:transparent;cursor:pointer;user-select:none}
.wfcm2-termine-month:last-child{border-right:0}
.wfcm2-termine-month.is-active{background:#e3e3e3}

.wfcm2-termine-grid,.wfcm2-termine-counts,.wfcm2-termine-icons{display:grid;gap:0;padding:0 6px;border-left:1px solid #bdbdbd;border-right:1px solid #bdbdbd;background:#e6e6e6}
.wfcm2-termine-grid{padding-top:10px}
.wfcm2-termine-counts{padding-top:0;padding-bottom:4px}
.wfcm2-termine-icons{padding-top:0;padding-bottom:10px;border-bottom:1px solid #bdbdbd}

.wfcm2-termine-cell{background:transparent;border:0;border-radius:0;padding:6px 0;text-align:center;font-variant-numeric:tabular-nums;cursor:pointer}
.wfcm2-termine-grid .wfcm2-termine-cell{font-size:18px;font-weight:600;color:#111827}
.wfcm2-termine-count{font-size:12px;color:#111827;opacity:.75}

.wfcm2-termine-icons .wfcm2-termine-cell{min-height:36px;cursor:default}
.wfcm2-termine-iconstack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:30px;line-height:1}

.wfcm2-ico{display:inline-block;font-size:18px;font-weight:800;line-height:1}
.wfcm2-ico-in{color:#16a34a}
.wfcm2-ico-out{color:#dc2626}
.wfcm2-ico-leave{color:#dc2626}
.wfcm2-ico-new{color:#f59e0b;font-weight:800}
.wfcm2-ico-att{color:#0ea5e9;font-weight:800}

.wfcm2-termine-cell.is-active{outline:2px solid rgba(15,126,161,.65);outline-offset:-2px}

.wfcm2-termine-events{background:#fff;display:flex;flex-direction:column;flex:1;min-height:0}
.wfcm2-termine-events-title{padding:12px 14px;border-radius:12px;margin-bottom:10px;background:#fff;display:flex;flex-direction:column;gap:8px}
.wfcm2-termine-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:14px;opacity:0.85}
.wfcm2-termine-filters label{display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none}
.wfcm2-termine-filters input{width:16px;height:16px}
.wfcm2-termine-filters input[type="checkbox"]{appearance:none;-webkit-appearance:none;background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}
.wfcm2-termine-filters input[type="checkbox"]:checked{background:#f39200;border-color:#f39200}
.wfcm2-termine-filters input[type="checkbox"]:checked::after{content:"✓";font-size:12px;line-height:1;color:#0b1117;font-weight:900}

.wfcm2-termine-ev-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto;max-width:46%}
.wfcm2-termine-ev-meta{font-size:12px;opacity:0.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

.wfcm2-termine-events-list{position:relative;background:#fff;overflow:auto;flex:1 1 190px;min-height:0}

.wfcm2-termine-ev-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;font-size:14px}
.wfcm2-termine-ev-row.is-day{justify-content:space-between}
.wfcm2-termine-ev-row:nth-child(even){background:#efefef}
.wfcm2-termine-ev-left{display:flex;align-items:center;gap:10px;min-width:0}
.wfcm2-termine-ev-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wfcm2-termine-ev-date{font-size:12px;opacity:0.85;white-space:nowrap}

/* Empty state: centered in lower half */
.wfcm2-termine-ev-empty{position:absolute;left:50%;top:70%;transform:translate(-50%,-50%);color:#111827;opacity:.65;font-weight:600}

.wfcm2-termine-foot{background:#fff;padding:12px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:#111827;opacity:.95}
.wfcm2-termine-foot-left{display:flex;flex-direction:column;gap:4px}
.wfcm2-termine-foot-right{display:flex;align-items:flex-end}

/* Termine close button (inside footer, per mockups) */
.wfcm2-termine-close{appearance:none;background:#fff;color:#111827;border:2px solid #0f7ea1;border-radius:14px;padding:10px 18px;font-weight:700;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(17,24,39,.55)}
.wfcm2-termine-close:hover,.wfcm2-termine-close:active{background:#0f7ea1;color:#fff}
.wfcm2-termine-close:focus{outline:3px solid rgba(15,126,161,.35);outline-offset:2px}

/* Dark mode for Termine modal (custom)
   NOTE: Mix-Mode uses dark grid/drawer but *light* modals.
   Therefore, these dark overrides must NOT apply in Mix-Mode. */
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine{background:#0b1220}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-bar{background:#243244}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-panel{background:#101a26}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-months{border-color:#2b3a4d;background:#0e1724}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-month{color:#f1f5f9;border-right-color:#2b3a4d}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-month.is-active{background:#152235}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-grid,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-counts,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-icons{background:#101a26;border-left-color:#2b3a4d;border-right-color:#2b3a4d}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-icons{border-bottom-color:#2b3a4d}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-grid .wfcm2-termine-cell{color:#f1f5f9}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-count{color:#f1f5f9;opacity:.7}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-events{background:#101a26}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-events-title{padding:12px 14px;border-radius:12px;margin-bottom:10px;background:#101a26;display:flex;flex-direction:column;gap:8px}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-events-list{background:#0b1220}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-ev-row{color:#f1f5f9}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-ev-row:nth-child(even){background:#101a26}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-ev-date{font-size:12px;opacity:0.85;white-space:nowrap}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-ev-empty{color:#f1f5f9;opacity:.6}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-foot{background:#0b1220;color:#f1f5f9;opacity:.9}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-close{background:#0b1220;color:#f1f5f9;border-color:#0f7ea1;box-shadow:inset 0 0 0 1px rgba(241,245,249,.35)}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-close:hover,.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-termine-close:active{background:#0f7ea1;color:#fff}
.wfcm2-modal-actions{margin-top:25px;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}

/* Options modal */
.wfcm2-options-list{display:grid;gap:10px}
.wfcm2-options-list .wfcm2-btn{width:100%;justify-content:center}

/* Target-course dropdown readability (light mode) */
.wfcm2-app:not(.wfcm2-dark) select[name="target_run_id"],
.wfcm2-app:not(.wfcm2-dark) select[name="target_run_id"] option{color:#444}

/* Inline actions inside modal body (e.g., Abmelden/Abbrechen, Bestätigungen) */
.wfcm2-inline-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:10px}

/* Search */
.wfcm2-searchbar{padding:8px 6px}
.wfcm2-searchbar input[type="search"]{width:100%;box-sizing:border-box;padding:12px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.14);font-size:16px}
.wfcm2-search-results{margin-top:8px;display:none;max-height:260px;overflow:auto}
.wfcm2-search-results.active{display:block}
.wfcm2-result{border:1px solid #d8e2e7;border-radius:12px;padding:10px;margin-bottom:8px;cursor:pointer;background:#fff}
.wfcm2-result:hover{background:#f5fbfe}

/* blocks list */
.wfcm2-blocks{display:grid;gap:8px}
.wfcm2-block{border:1px solid #d8e2e7;border-radius:10px;padding:10px;display:flex;justify-content:space-between;align-items:center}
.wfcm2-block .meta{font-size:12px;opacity:.7}
.wfcm2-badge-active{background:#6bd18b;color:#0b5120;border-radius:999px;padding:2px 8px;font-size:12px}

/* options menu */
.wfcm2-options-list{display:grid;gap:10px}
.wfcm2-user{background:#666}

/* Actions rechts in der Topbar nebeneinander */
.wfcm2-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.wfcm2-actions-row{display:flex;flex-direction:row;align-items:center;gap:10px;}
.wfcm2-actions-row .wfcm2-btn{white-space:nowrap;}

/* Datum-Zeilen im Kurs-Teaser */
.wfcm2-dow{font-weight:600;}
.wfcm2-date{opacity:.9;}

/* Drawer-Titel: Kursname + Datum (HTML) */
.wfcm2-ctitle{font-weight:800;}
.wfcm2-cmeta{opacity:.85;font-size:13px;line-height:1.15;margin-top:2px;}

.wfcm2-loading{opacity:.8;padding:12px}
.wfcm2-error{color:#b00;background:#fee;border:1px solid #f99;padding:12px;border-radius:10px}
.wfcm2-warning{color:#7a4a00;background:#fff6e5;border:1px solid #ffd49a;padding:12px;border-radius:10px}

/* ===== Dark Mode (scoped to Course-Manager UI only) ===== */
.wfcm2-app.wfcm2-dark{color:#f1f5f9;background:#0b1117;min-height:100vh}

.wfcm2-app.wfcm2-dark .wfcm2-bs-arrow{border-color:#263341;color:#e6edf3}
.wfcm2-app.wfcm2-dark .wfcm2-bs-name{background:#0f1720;border-color:#263341;color:#e6edf3}
.wfcm2-app.wfcm2-dark .wfcm2-btile{background:#0f1720;border-color:#263341}
.wfcm2-app.wfcm2-dark .wfcm2-btile:hover{background:#0b1117}
.wfcm2-app.wfcm2-dark .wfcm2-btile.is-current{border-color:#1ea3cc}

.wfcm2-app.wfcm2-dark .wfcm2-topbar{background:#0b1117;border-bottom:1px solid #263341}
.wfcm2-app.wfcm2-dark .wfcm2-card{background:#0f1720;border-color:#1ea3cc}
.wfcm2-app.wfcm2-dark .wfcm2-card .wfcm2-meta{opacity:.85}
.wfcm2-app.wfcm2-dark .wfcm2-badge{background:#0b1d28;border-color:#1f3c4b;color:#e2e8f0}
.wfcm2-app.wfcm2-dark .wfcm2-conn.is-offline{color:#ff6b6b}
.wfcm2-app.wfcm2-dark .wfcm2-drawer{background:#0b1117;box-shadow:8px 0 24px rgba(0,0,0,.45)}
.wfcm2-app.wfcm2-dark .wfcm2-drawer-header{border-bottom:1px solid #263341}
.wfcm2-app.wfcm2-dark .wfcm2-person{background:#0f1720;border-color:#263341}
.wfcm2-app.wfcm2-dark .wfcm2-person:hover{background:#101b26}
.wfcm2-app.wfcm2-dark .wfcm2-modal-card{background:#0f1720;color:#f1f5f9}
.wfcm2-app.wfcm2-dark .wfcm2-menu-pop{background:#0f1720;border-color:#263341;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.wfcm2-app.wfcm2-dark .wfcm2-block{background:#0f1720;border-color:#263341}
.wfcm2-app.wfcm2-dark .wfcm2-result{background:#0f1720;border-color:#263341}
.wfcm2-app.wfcm2-dark .wfcm2-result:hover{background:#101b26}
.wfcm2-app.wfcm2-dark .wfcm2-progress span:not(.on){background:#203428}
.wfcm2-app.wfcm2-dark .wfcm2-modal-question{color:#c0c5d8}
/* Modal headings (e.g., Teilnehmername, Benutzername, "Optionen") */
.wfcm2-app.wfcm2-dark .wfcm2-modal-body h3{color:#c0c5d8}
.wfcm2-app.wfcm2-dark input,
.wfcm2-app.wfcm2-dark select,
.wfcm2-app.wfcm2-dark textarea{background:#0b1117;color:#f1f5f9;border:1px solid #263341}
.wfcm2-app.wfcm2-dark .wfcm2-error{color:#ffb4b4;background:rgba(255,0,0,.10);border-color:rgba(255,0,0,.25)}
.wfcm2-app.wfcm2-dark .wfcm2-warning{color:#ffd49a;background:rgba(255,165,0,.12);border-color:rgba(255,165,0,.25)}

/* ===== Mix Mode (Dark UI with light modals for higher contrast) ===== */
.wfcm2-app.wfcm2-mix .wfcm2-modal-card{background:#fff;color:#111827}
.wfcm2-app.wfcm2-mix .wfcm2-modal-question{color:#111827}
.wfcm2-app.wfcm2-mix .wfcm2-modal-body h3{color:#111827}
.wfcm2-app.wfcm2-mix .wfcm2-modal-card input,
.wfcm2-app.wfcm2-mix .wfcm2-modal-card select,
.wfcm2-app.wfcm2-mix .wfcm2-modal-card textarea{background:#fff;color:#111827;border:1px solid #646464}
.wfcm2-app.wfcm2-mix .wfcm2-modal-card .wfcm2-error{color:#b00;background:#fee;border:1px solid #f99}
.wfcm2-app.wfcm2-mix .wfcm2-modal-card .wfcm2-warning{color:#7a4a00;background:#fff6e5;border:1px solid #ffd49a}
/* Mix Mode: blocks inside modals should be light (override dark mode block background) */
.wfcm2-app.wfcm2-mix .wfcm2-modal-card .wfcm2-block{background:#fff;border-color:#d8e2e7;color:inherit}

/* Mix Mode: result cards inside light modals must be LIGHT (override dark-mode result background) */
.wfcm2-app.wfcm2-mix .wfcm2-modal-card .wfcm2-result{background:#fff;border-color:#d8e2e7;color:inherit}
.wfcm2-app.wfcm2-mix .wfcm2-modal-card .wfcm2-result:hover{background:#f5fbfe}








/* Mix Mode: block switcher inside light modals should use dark text/icons */
.wfcm2-app.wfcm2-mix .wfcm2-modal-card .wfcm2-blockswitch .wfcm2-bs-arrow{border-color:#cbd5e1;color:#111827}
.wfcm2-app.wfcm2-mix .wfcm2-modal-card .wfcm2-blockswitch .wfcm2-bs-name{background:#f7fbfd;border-color:#bfe4f0;color:#111827}

/* ===== Teilnehmerlisten (PDF Export / Print) ===== */
.wfcm2-plist-head{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0 0 12px;gap:8px;}
.wfcm2-plist-label{font-weight:600;}
.wfcm2-plist-select{width:min(560px, 90vw);margin:0;padding:8px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.25);font-size:16px;}
.wfcm2-plist{max-height:60vh;overflow:auto;padding:2px 0;}
.wfcm2-pl-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 6px;border-bottom:1px solid rgba(0,0,0,.08);}
.wfcm2-pl-left{min-width:0;}
.wfcm2-pl-title{font-weight:700;}
.wfcm2-pl-meta{opacity:.75;font-size:14px;margin-top:2px;}
.wfcm2-pl-actions{display:flex;gap:10px;flex-shrink:0;}

.wfcm2-pl-row:nth-child(2n+1){background:rgba(0,0,0,.1);}
.wfcm2-pl-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.wfcm2-pl-occ{display:flex;align-items:center;gap:10px;}
.wfcm2-pl-count{font-weight:700;font-size:14px;min-width:44px;text-align:right;}
.wfcm2-pl-occ .wfcm2-progress{margin-top:0;width:86px;}


.wfcm2-drawer-body{flex:1;overflow:auto;padding:12px}

/* Suche: erweiterte Resultate (Name + Kurs + Ersatz) */
.wfcm2-result-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.wfcm2-result-name{font-weight:800;font-size:22px;line-height:1.1}
.wfcm2-result-course{font-weight:600;opacity:.85;white-space:nowrap}
.wfcm2-result-meta{margin-top:8px;opacity:.85}
.wfcm2-result-temp{color:#e04b4b;font-weight:700;margin-left:10px}

/* Import-Modal (inkl. Blöcke) – Layout wie Illustration */
.wfcm2-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.wfcm2-import-title{font-family:'Montserrat Semi','Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:34px;line-height:1.1;font-weight:600;margin:0}
.wfcm2-import-desc{opacity:.85;max-width:360px;margin-top:10px}
#wfcm2-import-start{margin-top:6px}
.wfcm2-import-courses-wrap{background:#f8fafc;color:#111827;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:12px;margin:0 0 12px}
.wfcm2-import-courses-label{font-weight:700;margin:2px 0 4px}
.wfcm2-import-courses-help{font-size:13px;opacity:.8;margin-bottom:10px}
.wfcm2-import-courses-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.wfcm2-import-courses-list{display:grid;gap:8px;max-height:24vh;overflow:auto;padding-right:2px}
.wfcm2-import-course-option{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.75);border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:10px;cursor:pointer}
.wfcm2-import-course-option input{width:20px;height:20px;flex:0 0 auto}
.wfcm2-import-course-main{display:grid;gap:2px;min-width:0}
.wfcm2-import-course-main small{opacity:.72;font-size:12px}
.wfcm2-import-courses-status{font-size:12px;opacity:.78;margin-top:8px}
.wfcm2-import-blocks-wrap{background:#e5e7eb;color:#111827;border-radius:12px;padding:12px}
.wfcm2-import-blocks-label{font-weight:700;margin:2px 0 10px}
.wfcm2-import-blocks-list{display:grid;gap:10px;max-height:46vh;overflow:auto}
.wfcm2-iblock{background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.wfcm2-iblock-left{min-width:0}
.wfcm2-iblock-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wfcm2-iblock-meta{font-size:12px;opacity:.75;margin-top:4px}
.wfcm2-iblock-actions{display:flex;gap:8px;flex-shrink:0}

/* Light + Mix: Title in dark text (modal is light) */
.wfcm2-app:not(.wfcm2-dark) .wfcm2-import-title{color:#111827}
.wfcm2-app.wfcm2-mix .wfcm2-import-title{color:#111827}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-import-title{color:#f1f5f9}

/* Dark mode: blocks table stays dark */
.wfcm2-app.wfcm2-dark .wfcm2-import-courses-wrap{background:#111827;color:#f1f5f9;border-color:#263341}
.wfcm2-app.wfcm2-dark .wfcm2-import-course-option{background:#0f1720;border-color:#263341;color:#f1f5f9}
.wfcm2-app.wfcm2-dark .wfcm2-import-blocks-wrap{background:#111827;color:#f1f5f9}
.wfcm2-app.wfcm2-dark .wfcm2-iblock{background:#0f1720;border-color:#263341}

/* Mix mode: blocks table must be LIGHT even though app has wfcm2-dark */
.wfcm2-app.wfcm2-mix .wfcm2-import-courses-wrap{background:#f8fafc;color:#111827;border-color:rgba(0,0,0,.08)}
.wfcm2-app.wfcm2-mix .wfcm2-import-course-option{background:rgba(255,255,255,.75);border-color:rgba(0,0,0,.08);color:#111827}
.wfcm2-app.wfcm2-mix .wfcm2-import-blocks-wrap{background:#e5e7eb;color:#111827}
.wfcm2-app.wfcm2-mix .wfcm2-iblock{background:rgba(255,255,255,.55);border-color:rgba(0,0,0,.08);color:#111827}

.wfcm2-app.wfcm2-dark .wfcm2-termine-filters{opacity:0.95}
.wfcm2-app.wfcm2-dark .wfcm2-termine-filters label{color:#cbd5e1}
.wfcm2-app.wfcm2-dark .wfcm2-termine-filters input[type="checkbox"]{appearance:none;-webkit-appearance:none;background:#101a26;border:1px solid #2b3a4d;border-radius:4px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}
.wfcm2-app.wfcm2-dark .wfcm2-termine-filters input[type="checkbox"]:checked{background:#f39200;border-color:#f39200}
.wfcm2-app.wfcm2-dark .wfcm2-termine-filters input[type="checkbox"]:checked::after{content:"✓";font-size:12px;line-height:1;color:#0b1117;font-weight:900}
.wfcm2-app.wfcm2-dark .wfcm2-termine-ev-meta{color:#94a3b8}

/* ===== Profiles (persistent participants) ===== */
.wfcm2-pl-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px;border:1px solid rgba(0,0,0,.10);border-radius:12px;margin-bottom:8px}
.wfcm2-pl-title{font-weight:600}
.wfcm2-pl-meta{opacity:.8;font-size:12px;margin-top:4px}
.wfcm2-pl-actions{display:flex;gap:6px;align-items:center}
.wfcm2-app.wfcm2-dark .wfcm2-pl-row{border-color:rgba(241,245,249,.15)}

/* ===== Profile Modal: Skills & Badges (v1.0.78) ===== */
.wfcm2-profile{display:block}
.wfcm2-profile-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px}
.wfcm2-profile-title .wfcm2-sub{opacity:.8;margin-top:2px}

.wfcm2-profile-skills{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 10px}
.wfcm2-skill{font-size:14px;padding:4px 0;border-bottom:2px solid transparent}
.wfcm2-skill.is-on{font-weight:700}
.wfcm2-skill.is-off{opacity:.35}
.wfcm2-skill.is-warn{border-bottom-color:#d97706}

.wfcm2-profile-badges{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 16px}
.wfcm2-badge{width:92px;text-align:center}
.wfcm2-badge-ico{width:52px;height:52px;object-fit:contain;display:block;margin:0 auto 6px}
.wfcm2-badge-label{font-size:12px;font-weight:600}
.wfcm2-badge-date{font-size:11px;opacity:.75;margin-top:2px;min-height:16px}
.wfcm2-badge.is-off .wfcm2-badge-ico{filter:grayscale(1);opacity:.35}
.wfcm2-badge.is-off .wfcm2-badge-label{opacity:.35}

.wfcm2-profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}

.wfcm2-profile-skills-edit{display:flex;gap:18px;flex-wrap:wrap;margin:8px 0 6px}
.wfcm2-skill-edit{display:inline-flex;align-items:center;gap:8px;user-select:none}

.wfcm2-profile-badges-edit{margin-top:6px}
.wfcm2-badges-head{display:grid;grid-template-columns:36px 1.1fr 1fr 1fr;gap:10px;align-items:end;margin:8px 0 6px}
.wfcm2-badges-h{font-size:12px;opacity:.7}
.wfcm2-badge-row{display:grid;grid-template-columns:36px 1.1fr 1fr 1fr;gap:10px;align-items:center;padding:6px 0}
.wfcm2-badge-col-ico{display:flex;align-items:center;gap:10px}
.wfcm2-badge-ico-sm{width:32px;height:32px;object-fit:contain;display:block}
.wfcm2-badge-name{font-weight:600}
.wfcm2-date{width:100%}

/* Custom checkboxes (blue X like the mockups) */
.wfcm2-check{appearance:none;-webkit-appearance:none;width:28px !important;height:28px;border:2px solid rgba(0,0,0,.5);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:transparent;position:relative;cursor:pointer}
.wfcm2-check:checked{border-color:#0ea5c6;background:rgba(14,165,198,.10)}
.wfcm2-check:checked::after{content:"✕";font-size:32px;line-height:0.9;color:#0ea5c6;font-weight:900;transform:translateY(-.5px)}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-check{border-color:rgba(241,245,249,.25)}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-check:checked{border-color:#38bdf8;background:rgba(56,189,248,.12)}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-check:checked::after{color:#38bdf8}


/* ===== Profile Modal UI (front/back) v1.0.78 UI optimization ===== */


/* Profiles list modal: keep header/input/footer fixed, scroll only the list */
.wfcm2-modal.wfcm2-modal-profileslist .wfcm2-modal-card{width:min(560px,94vw);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}
.wfcm2-modal.wfcm2-modal-profileslist .wfcm2-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}
.wfcm2-modal.wfcm2-modal-profileslist .wfcm2-profiles-modal{display:flex;flex-direction:column;flex:1;min-height:0;gap:10px}
.wfcm2-modal.wfcm2-modal-profileslist .wfcm2-profiles-head{flex:0}
.wfcm2-modal.wfcm2-modal-profileslist #wfcm2-profiles-list{flex:1;min-height:0;overflow:auto}
.wfcm2-modal.wfcm2-modal-profile .wfcm2-modal-card{width:min(560px,94vw);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;position:relative}
.wfcm2-modal.wfcm2-modal-profile .wfcm2-modal-body{flex:1;min-height:0;overflow:hidden}
.wfcm2-modal.wfcm2-modal-profile .wfcm2-modal-actions{display:none}

.wfcm2-pf{display:flex;flex-direction:column;gap:10px;height:100%}
.wfcm2-pf-top{display:flex;gap:14px;align-items:flex-start}
.wfcm2-pf-avatar{width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;background:#0ea5c6;color:#fff;flex:0 0 auto}
.wfcm2-pf-toptext{flex:1;min-width:0}
.wfcm2-pf-name{font-size:24px;font-weight:800;line-height:1.05;margin-top:2px}
.wfcm2-pf-sub{opacity:.75;margin-top:2px;font-size:14px}
.wfcm2-pf-editbtn,.wfcm2-pf-backbtn{border-radius:14px;padding:10px 16px;align-self:flex-start}
.wfcm2-pf-sep{height:1px;background:rgba(0,0,0,.15);margin:6px 0 2px}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-pf-sep{background:rgba(241,245,249,.18)}

/* Front (view) */
.wfcm2-pf-front{min-height:0}
.wfcm2-pf-skills{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.wfcm2-pf-skill{font-weight:800;font-size:20px;opacity:.25;white-space:nowrap}
.wfcm2-pf-skill.is-on{opacity:1}
.wfcm2-pf-skill.is-warn.is-on{opacity:1}

.wfcm2-pf-badges{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:21px}
.wfcm2-pf-badge{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:52px;opacity:.25}
.wfcm2-pf-badge.is-on{opacity:1}
.wfcm2-pf-badge-ico{width:50px;height:50px;object-fit:contain}
.wfcm2-pf-badge-label{font-weight:400}
.wfcm2-pf-badge-dates{font-size:14px;line-height:1.25;text-align:center;opacity:.75}
.wfcm2-pf-badge.is-off img{filter:grayscale(1);opacity:1}

.wfcm2-pf-h{margin:16px 0 8px;font-size:17px;font-weight:700}
.wfcm2-pf-box{background:rgba(0,0,0,.07);border-radius:18px;padding:14px}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-pf-box{background:rgba(255,255,255,.08)}
.wfcm2-pf-box-scroll{overflow:auto;min-height:96px}
.wfcm2-pf-front .wfcm2-pf-box-scroll{flex:1;min-height:110px}

.wfcm2-pf-hrow{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.06);margin-bottom:10px}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-pf-hrow{background:rgba(15,23,32,.6);border-color:rgba(241,245,249,.08)}
.wfcm2-pf-hrow[data-open]{cursor:pointer}
.wfcm2-pf-hrow-title{font-weight:800}
.wfcm2-pf-hrow-meta{opacity:.7;margin-top:4px}

.wfcm2-pf-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px}
.wfcm2-pf-footer-left,.wfcm2-pf-footer-right{display:flex;gap:10px;align-items:center}

/* Back (edit) */
.wfcm2-pf-editgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.wfcm2-pf-editgrid input{height:44px;font-size:18px}
.wfcm2-pf-skills-edit{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.wfcm2-pf-skill-edit{display:flex;align-items:center;gap:10px;font-weight:900;font-size:14px}

.wfcm2-pf-badges-edit{margin-top:10px}
.wfcm2-pf-badges-head{display:grid;grid-template-columns:46px 60px 1fr 1fr;gap:12px;align-items:center;margin-bottom:6px}
.wfcm2-pf-bh{opacity:.7;font-weight:400;text-align:center;font-size:14px !important}
.wfcm2-pf-badge-row{display:grid;grid-template-columns:46px 60px 1fr 1fr;gap:12px;align-items:center;margin:10px 0}
.wfcm2-pf-bc{display:flex;align-items:center;justify-content:center}
.wfcm2-pf-bc input.wfcm2-date{height:40px}
.wfcm2-pf-badge-ico-sm{width:46px;height:46px;object-fit:contain}

.wfcm2-pf-footer-edit{margin-top:18px}

/* Notes overlay */
.wfcm2-pf-notes-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:30}
.wfcm2-pf-notes-card{width:min(560px,92vw);max-height:82vh;overflow:hidden;display:flex;flex-direction:column;gap:12px;border-radius:18px;padding:16px;background:#fff;color:#111827}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-pf-notes-card{background:#0f1720;color:#f1f5f9}
.wfcm2-pf-notes-title{font-size:22px;font-weight:900}
.wfcm2-pf-notes-card textarea{width:100%;min-height:220px;resize:vertical}
.wfcm2-pf-notes-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

@media (max-width:560px){
  .wfcm2-pf-name{font-size:28px}
  .wfcm2-pf-editgrid{grid-template-columns:1fr}
  .wfcm2-pf-badges-head,.wfcm2-pf-badge-row{grid-template-columns:40px 54px 1fr 1fr}
}


/* ===== Drawer Actions Modal: Profile snapshot (skills/badges/notes) ===== */
.wfcm2-actions-snap{display:flex;flex-direction:column;gap:10px;margin:4px 0 6px}
.wfcm2-actions-snap .wfcm2-pf-skills{margin-top:0}
.wfcm2-actions-snap .wfcm2-pf-badges{margin-top:21px;flex-wrap:nowrap;gap:22px}
.wfcm2-actions-snap .wfcm2-pf-badge{min-width:55px}
.wfcm2-actions-snap .wfcm2-pf-badge-ico{width:50px;height:50px}
.wfcm2-actions-snap #wfcm2-pf-notes{min-height:84px;max-height:130px;overflow:auto}
.wfcm2-actions-snap #wfcm2-pf-notes .wfcm2-muted{text-align:center;display:block}

.wfcm2-pf-h{margin:16px 0 8px;font-size:17px;font-weight:700}
.wfcm2-pf-box{background:rgba(0,0,0,.07);border-radius:18px;padding:14px}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-pf-box{background:rgba(255,255,255,.08)}
.wfcm2-pf-box-scroll{overflow:auto;min-height:96px}
/* v1.0.107: Termine-Auswahl-Modus (Pills + Toggle) */
.wfcm2-mode-toggle{display:flex;gap:6px;flex-wrap:wrap}
.wfcm2-mode-toggle .wfcm2-mode-btn{border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px}
.wfcm2-mode-toggle .wfcm2-mode-btn.is-active{background:#0f7ea1}

.wfcm2-pillgrid{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.wfcm2-att-pill.wfcm2-date-pill{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;padding:6px 10px;min-width:54px}
.wfcm2-att-pill.wfcm2-date-pill .wfcm2-pill-sub{font-size:11px;font-weight:900;opacity:.85;margin-top:2px}
.wfcm2-att-pill.is-disabled{opacity:.55;cursor:not-allowed}
.wfcm2-att-pill.is-disabled:disabled{opacity:.55;cursor:not-allowed}

.wfcm2-att-cell.is-inactive{opacity:.35;border-style:dashed;cursor:not-allowed}
.wfcm2-att-cell.is-inactive:disabled{opacity:.35;cursor:not-allowed}


/* v1.0.108: Temp-Auswahl-Modal – nur Kursliste scrollt, Footer fix */
.wfcm2-modal.wfcm2-modal-fixedfooter .wfcm2-modal-card{overflow:hidden;display:flex;flex-direction:column;max-height:87vh}
.wfcm2-modal.wfcm2-modal-fixedfooter .wfcm2-modal-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.wfcm2-modal.wfcm2-modal-fixedfooter .wfcm2-modal-actions{flex:0;margin-top:0;padding:12px 16px 16px;background:#fff;border-top:1px solid rgba(0,0,0,.12)}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-modal.wfcm2-modal-fixedfooter .wfcm2-modal-actions{background:#0f1720;border-top-color:rgba(255,255,255,.12)}

.wfcm2-temp-modal{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}
.wfcm2-modal.wfcm2-modal-fixedfooter .wfcm2-temp-modal .wfcm2-plist{flex:1;min-height:0;max-height:none;overflow:auto}

/* Hover-Farbe für Termin-Pills: Schrift weiß */
#wfcm2-temp-pills .wfcm2-att-pill:not(:disabled):hover,
#wfcm2-temp-add-pills .wfcm2-att-pill:not(:disabled):hover,
#wfcm2-abs-pills .wfcm2-att-pill:not(:disabled):hover{background:#1ea3cc;border-color:#1ea3cc;color:#fff}

/* v1.0.109: Barzahlung-Reminder (Bell + Popover) */
.wfcm2-cashbell{position:relative;display:inline-flex;align-items:center}
.wfcm2-cash-bell-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:60px;height:50px;min-width:60px;min-height:50px;padding:0;margin:0;border:0 !important;background:transparent !important;box-shadow:none !important;color:inherit;cursor:pointer;border-radius:999px}
.wfcm2-cash-bell-btn:hover{opacity:.92}
.wfcm2-cash-bell-btn:focus{outline:2px solid rgba(30,163,204,.65);outline-offset:2px}
.wfcm2-cash-bell-ico svg{width:18px;height:18px;display:block}
.wfcm2-cash-bell-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px;border-radius:999px;background:#d43636;color:#fff;font-size:11px;font-weight:900;line-height:1;border:2px solid #fff}
.wfcm2-app.wfcm2-dark .wfcm2-cash-bell-badge{border-color:#0b1117}

.wfcm2-cash-popover{position:absolute;right:0;top:42px;min-width:320px;max-width:380px;background:#fff;color:#111;border:1px solid rgba(0,0,0,.18);border-radius:16px;box-shadow:0 10px 28px rgba(0,0,0,.18);padding:10px;z-index:30}
.wfcm2-app.wfcm2-dark .wfcm2-cash-popover{background:#0f1720;color:#fff;border-color:rgba(255,255,255,.14);box-shadow:0 10px 28px rgba(0,0,0,.45)}
.wfcm2-cash-popover-head{font-size:13px;font-weight:900;margin:0 0 8px}
.wfcm2-cash-popover-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto;padding-right:4px}
.wfcm2-cash-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(0,0,0,.06);border-radius:14px;padding:10px}
.wfcm2-app.wfcm2-dark .wfcm2-cash-item{background:rgba(255,255,255,.08)}
.wfcm2-cash-item .wfcm2-cash-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.wfcm2-cash-item .wfcm2-cash-name{font-weight:900;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}
.wfcm2-cash-item .wfcm2-cash-amount{font-size:12px;font-weight:800;opacity:.9}
.wfcm2-cash-item .wfcm2-cash-paid{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}
.wfcm2-cash-popover-foot{margin-top:10px;padding-top:8px;border-top:1px solid rgba(0,0,0,.12);display:flex;justify-content:flex-end}
.wfcm2-app.wfcm2-dark .wfcm2-cash-popover-foot{border-top-color:rgba(255,255,255,.12)}
.wfcm2-cash-popover-foot a{font-size:12px;font-weight:800;opacity:.9}
.wfcm2-cash-empty{padding:12px 8px;text-align:center;opacity:.85;font-weight:700}

/* v1.0.109: Barzahlung-Felder im Profil bearbeiten (kursbezogen) */
.wfcm2-pf-cash-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.wfcm2-pf-cash-toggle{display:inline-flex;gap:8px;align-items:center;font-weight:800}
.wfcm2-pf-cash-row input[type="text"]{flex:1;min-width:160px}

/* v1.0.109: Barzahlung-Log-Modal */
.wfcm2-cashlog{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}
.wfcm2-cashlog-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}
.wfcm2-cashlog-row{background:rgba(0,0,0,.06);border-radius:14px;padding:10px}
.wfcm2-app.wfcm2-dark:not(.wfcm2-mix) .wfcm2-cashlog-row{background:rgba(255,255,255,.08)}
.wfcm2-cashlog-row .wfcm2-cashlog-t{font-size:12px;font-weight:900;opacity:.85;margin-bottom:2px}
.wfcm2-cashlog-row .wfcm2-cashlog-m{font-size:13px;font-weight:800}
