/* Federkraft Mitgliederbereich – baut auf ../styles.css auf */
.m-body{min-height:100vh;display:flex;flex-direction:column}
.m-main{flex:1;padding-block:clamp(32px,6vw,64px)}
.m-main>.wrap{display:grid;gap:28px}
.brand img{display:block}
.m-tag{font:600 .66rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--clay);border:1px solid var(--clay-soft);border-radius:999px;padding:4px 8px}
.m-abmelden{display:inline}.m-abmelden .btn{padding:.55em 1em;font-size:.9rem}
.m-head{display:grid;gap:12px;max-width:var(--measure)}
.m-head h1{font-size:clamp(2rem,4.4vw,3rem)}
.m-h2{font-size:1.4rem}
.crumb{margin-bottom:-12px}

.m-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,3vw,32px)}
.band .m-card{background:var(--paper)}
.m-form{display:grid;gap:16px;align-content:start}
.m-form fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}
.m-form legend{font-size:.88rem;font-weight:500;margin-bottom:6px}
.m-code{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

.m-login{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(28px,6vw,80px);align-items:center;padding-block:clamp(16px,4vw,48px)}
.m-login-text{display:grid;gap:16px}
@media (max-width:820px){.m-login{grid-template-columns:1fr}}

.m-meldung{border-radius:10px;padding:12px 16px;font-size:.95rem;border:1px solid var(--line);background:var(--paper-2)}
.m-ok,.m-meldung.m-ok{border-color:color-mix(in srgb,var(--moss) 45%,transparent)}
.m-fehler{border-color:var(--clay);color:var(--ink);background:color-mix(in srgb,var(--clay) 12%,var(--paper))}
.m-hinweis{background:var(--paper-2)}

/* Filter + Raster */
.m-filter{display:flex;flex-wrap:wrap;gap:8px}
.m-chip{font:inherit;font-size:.9rem;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer}
.m-chip span{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-left:4px}
.m-chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.m-chip[aria-pressed="true"] span{color:var(--paper);opacity:.7}
.m-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}
.m-item a{display:grid;gap:10px;align-content:start;height:100%;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}
.m-item a:hover{border-color:var(--moss);transform:translateY(-2px)}
.m-item h2{font-size:1.3rem}
.m-item p{color:var(--ink-soft);font-size:.95rem}
.m-meta{margin-top:auto;display:grid;gap:6px}
.m-typ{justify-self:start;display:inline-block;font:600 .68rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:var(--paper-2);color:var(--ink-soft)}
.m-typ-video{background:color-mix(in srgb,var(--clay) 18%,var(--paper));color:var(--ink)}
.m-typ-kurs{background:color-mix(in srgb,var(--moss) 18%,var(--paper));color:var(--ink)}
.m-typ-test{background:var(--ink);color:var(--paper)}
.m-status{font-size:.85rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.m-gut{color:var(--moss);font-weight:500}.m-offen{color:var(--clay);font-weight:500}
.m-progress{height:6px;border-radius:99px;background:var(--paper-2);overflow:hidden}
.m-progress span{display:block;height:100%;background:var(--moss);border-radius:99px}
.m-leer{border:1.5px dashed var(--line);border-radius:var(--r);padding:40px;display:grid;gap:8px;text-align:center;justify-items:center}

/* Medien */
.m-inhalt{display:grid;gap:20px;max-width:960px}
.m-video{position:relative;aspect-ratio:16/9;max-width:100%;background:#000;border-radius:var(--r);overflow:hidden}
.m-video iframe,.m-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.m-pdf{height:min(80vh,900px);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper-2)}
.m-pdf iframe{width:100%;height:100%;border:0}

/* Kurs */
.m-kurs{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
@media (max-width:860px){.m-kurs{grid-template-columns:1fr}}
.m-lektionen{position:sticky;top:90px;display:grid;gap:10px;padding:20px;border:1px solid var(--line);border-radius:var(--r)}
.m-lektionen ol{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:2px;counter-reset:l}
.m-lektionen li{counter-increment:l}
.m-lektionen a{display:grid;grid-template-columns:28px 1fr;gap:6px;padding:8px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.94rem}
.m-lektionen a::before{content:counter(l);font-variant-numeric:tabular-nums;color:var(--ink-soft)}
.m-lektionen .m-erledigt a::before{content:"✓";color:var(--moss);font-weight:700}
.m-lektionen a[aria-current]{background:var(--paper-2);font-weight:500}
.m-lektion{display:grid;gap:18px;min-width:0}
.m-lektion h2{font-size:clamp(1.6rem,3vw,2.2rem)}

/* Test */
.m-fragen{list-style:none;padding:0;margin:0;display:grid;gap:18px;max-width:760px}
.m-frage{border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin:0;display:grid;gap:8px}
.m-frage legend{font:450 1.15rem/1.35 var(--display);padding:0 6px;margin-left:-6px}
.m-frage legend span{color:var(--clay);font-variant-numeric:tabular-nums}
.m-antwort{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:10px;cursor:pointer}
.m-antwort:hover{background:var(--paper-2)}
.m-antwort input{margin-top:5px;accent-color:var(--moss)}
.m-fragen>li{border:1px solid var(--line);border-left-width:3px;border-radius:var(--r);padding:16px 20px;display:grid;gap:6px}
.m-fragen>li.m-richtig{border-left-color:var(--moss)}.m-fragen>li.m-falsch{border-left-color:var(--clay)}
.m-fragen>li h3{font-size:1.1rem}
.m-ergebnis{max-width:760px;display:grid;gap:8px}
.m-ergebnis .m-zahl{font:400 3.2rem/1 var(--display);font-variant-numeric:tabular-nums}
.m-ergebnis.m-ok .m-zahl{color:var(--moss)}.m-ergebnis.m-nicht .m-zahl{color:var(--clay)}

/* Verwaltung */
.m-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line)}
.m-tabs a{padding:10px 16px;text-decoration:none;color:var(--ink-soft);border-bottom:2px solid transparent;margin-bottom:-1px}
.m-tabs a[aria-current]{color:var(--ink);border-bottom-color:var(--clay);font-weight:500}
.m-zwei{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,40px);align-items:start}
@media (max-width:980px){.m-zwei{grid-template-columns:1fr}}
.m-tabelle{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.m-tabelle table{width:100%;border-collapse:collapse;font-size:.95rem}
.m-tabelle th{text-align:left;font:600 .7rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);padding:14px 16px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.m-tabelle td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.m-tabelle tr:last-child td{border-bottom:0}
.m-zahlen{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.m-inaktiv td{opacity:.55}
.m-aktionen{white-space:nowrap;text-align:right}
.m-aktionen>*{display:inline-block;margin-left:12px;font-size:.88rem}
.m-aktionen form{display:inline}
.m-link{font:inherit;font-size:.88rem;background:none;border:0;padding:0;color:var(--moss);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.m-rot{color:var(--clay)}
.m-badge{font:600 .62rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:99px;padding:3px 7px;color:var(--ink-soft);vertical-align:middle}
.m-dateien{list-style:none;padding:0;margin:0;display:grid;border:1px solid var(--line);border-radius:var(--r)}
.m-dateien li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);font-size:.92rem}
.m-dateien li:last-child{border-bottom:0}
.m-dateien li span:first-child{overflow-wrap:anywhere}
.m-temp{border-color:var(--moss);display:grid;gap:8px}
.m-pw code{font-size:1.3rem;letter-spacing:.06em;background:var(--paper-2);padding:6px 12px;border-radius:8px}

.m-foot{border-top:1px solid var(--line);padding-block:20px;font-size:.85rem;color:var(--ink-soft)}
.m-foot .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.m-foot a{color:var(--ink-soft)}
.m-main section{padding-block:0}
.m-form .check input,.field .check input{width:auto;flex:none}
.m-form fieldset .check{justify-content:flex-start}
/* Selbsttest */
.m-einleitung{max-width:760px}
.m-skalentest .m-frage{gap:4px}
.m-skalentest .m-antworten{display:flex;flex-wrap:wrap;gap:8px}
.m-skalentest .m-antwort{flex:1 1 140px;border:1px solid var(--line);padding:10px 12px}
.m-skalentest .m-antwort:has(input:checked){border-color:var(--moss);background:color-mix(in srgb,var(--moss) 10%,var(--paper))}
.m-selbst{gap:14px}
.m-selbst .m-zahl span{font:400 1rem/1 var(--body);color:var(--ink-soft)}
.m-selbst h2{font-size:1.6rem}
.m-skala{height:8px;border-radius:99px;background:linear-gradient(90deg,color-mix(in srgb,var(--moss) 35%,var(--paper)),color-mix(in srgb,var(--clay) 45%,var(--paper)));position:relative}
.m-skala span{position:absolute;inset:0 auto 0 0;border-right:3px solid var(--ink);border-radius:99px}
.m-frage legend{float:left;width:100%;margin:0 0 10px;padding:0}
.m-frage legend+*{clear:both}
