:root{
  --green:#237a55;--green2:#58d796;--dark:#10251d;--ink:#18231d;--muted:#68756d;
  --bg:#f3f4ef;--card:#fff;--line:#dde2dc;--warn:#a85b25;--soft:#e6f4ec
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select{font:inherit}
.simple-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.06em}.simple-brand svg{width:32px;height:36px;color:var(--green)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-left{background:linear-gradient(145deg,#0d1f18,#15372a);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between}.auth-left h1{font:800 clamp(42px,5vw,66px)/1.02 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.05em;max-width:620px;margin:40px 0 18px}.auth-left h1 span{color:#72dfa6}.auth-left p{color:rgba(255,255,255,.65);font-size:17px;line-height:1.65;max-width:560px}.auth-points{display:grid;gap:14px;color:rgba(255,255,255,.78);font-size:14px}.auth-points span:before{content:"✓";color:#72dfa6;margin-right:9px;font-weight:800}.auth-right{display:grid;place-items:center;padding:32px}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 24px 60px rgba(18,32,25,.1)}.auth-card h2{font:800 30px/1.1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.035em;margin:0 0 9px}.auth-card>p{margin:0 0 26px;color:var(--muted);font-size:14px;line-height:1.6}.field{display:grid;gap:7px;margin-bottom:16px}.field label{font-size:13px;font-weight:700}.field input,.field select{width:100%;height:51px;border:1px solid #d6ddd7;border-radius:12px;background:#fbfcfa;padding:0 14px;font-size:15px;outline:none}.field input:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(35,122,85,.1)}.primary{width:100%;height:52px;border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:800;cursor:pointer}.primary:hover{filter:brightness(.96)}.secondary-link{text-align:center;margin-top:18px;font-size:13px;color:var(--muted)}.secondary-link a{color:var(--green);font-weight:800}.micro{text-align:center;font-size:11px!important;margin-top:13px!important;color:#8b958f!important}

.onboard{min-height:100vh;background:#f4f5f0}.onboard-top{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center}.onboard-top .inner{width:min(1000px,calc(100% - 32px));margin:auto;display:flex;justify-content:space-between;align-items:center}.step-label{font-size:13px;color:var(--muted)}.step-label b{color:var(--ink)}.onboard-main{width:min(720px,calc(100% - 28px));margin:56px auto 80px}.progress{height:6px;background:#dde2dc;border-radius:99px;overflow:hidden;margin-bottom:38px}.progress i{display:block;height:100%;width:33.33%;background:var(--green);border-radius:99px;transition:.25s}.step{display:none}.step.active{display:block}.step h1{font:800 clamp(34px,6vw,48px)/1.08 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.045em;margin:0 0 12px}.step>.intro{color:var(--muted);font-size:16px;line-height:1.65;margin:0 0 30px}.form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.drop{border:2px dashed #cdd6cf;border-radius:18px;padding:34px;text-align:center;background:#fafbf8;cursor:pointer}.drop strong{display:block;font:700 17px/1.3 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin-bottom:7px}.drop span{font-size:13px;color:var(--muted)}.or{text-align:center;color:#9aa39e;font-size:12px;margin:18px 0}.skip{display:block;text-align:center;color:var(--green);font-weight:700;font-size:13px;cursor:pointer}.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.back{height:50px;padding:0 18px;border:1px solid var(--line);background:#fff;border-radius:12px;font-weight:700;cursor:pointer}.next{height:50px;padding:0 24px;border:0;background:var(--green);color:#fff;border-radius:12px;font-weight:800;cursor:pointer;margin-left:auto}.help{margin-top:20px;text-align:center;color:#8a958f;font-size:12px}.help b{color:var(--ink)}
.success-mark{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--green);font-size:30px;font-weight:800;margin-bottom:22px}

.app-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.side{background:var(--dark);color:#fff;padding:24px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.side .simple-brand{padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.club-mini{display:flex;align-items:center;gap:10px;padding:20px 8px}.club-mini i{width:38px;height:42px;display:grid;place-items:center;background:var(--green);clip-path:polygon(50% 0,94% 14%,90% 66%,50% 100%,10% 66%,6% 14%);font-style:normal;font-size:11px;font-weight:800}.club-mini div{display:grid;gap:3px}.club-mini strong{font-size:12px}.club-mini span{font-size:10px;color:rgba(255,255,255,.48)}.nav-list{display:grid;gap:5px}.nav-list a{padding:12px;border-radius:10px;font-size:13px;font-weight:700;color:rgba(255,255,255,.62)}.nav-list a.active,.nav-list a:hover{background:rgba(88,215,150,.11);color:#fff}.side-bottom{margin-top:auto;padding:12px 8px;color:rgba(255,255,255,.42);font-size:11px}.app-main{padding:34px 38px 60px;min-width:0}.topline{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.topline h1{font:800 34px/1.1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.04em;margin:0}.topline p{margin:5px 0 0;color:var(--muted);font-size:13px}.year-pill{padding:10px 13px;border:1px solid var(--line);background:#fff;border-radius:11px;font-size:12px;font-weight:700}
.summary{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:12px;margin-bottom:20px}.summary>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.summary .progress-card{background:linear-gradient(135deg,#17382b,#10251d);color:#fff}.summary span{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}.summary .progress-card span{color:rgba(255,255,255,.58)}.summary strong{font:800 27px/1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.04em}.progress-card strong{font-size:34px}.progressbar{height:7px;background:rgba(255,255,255,.12);border-radius:99px;margin-top:17px;overflow:hidden}.progressbar i{display:block;width:93%;height:100%;background:#62db9f}
.big-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.action-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px;cursor:pointer;text-align:left;transition:.15s}.action-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(18,32,25,.08)}.action-card i{width:44px;height:44px;border-radius:12px;background:var(--soft);color:var(--green);display:grid;place-items:center;font-style:normal;font-size:20px;margin-bottom:18px}.action-card.warning i{background:#f7eee6;color:var(--warn)}.action-card strong{display:block;font:700 17px/1.2 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin-bottom:6px}.action-card span{font-size:12px;color:var(--muted);line-height:1.5}.table-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.table-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.table-head strong{font:700 16px/1.2 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.table-head a{font-size:12px;color:var(--green);font-weight:800}.member-row{display:grid;grid-template-columns:44px 1fr 150px 110px;gap:12px;align-items:center;padding:15px 22px;border-bottom:1px solid #edf0ec}.member-row:last-child{border-bottom:0}.avatar{width:34px;height:34px;border-radius:10px;background:#e5f0e9;color:var(--green);display:grid;place-items:center;font-size:11px;font-weight:800}.member-name{display:grid;gap:3px}.member-name strong{font-size:13px}.member-name span,.member-row>span{font-size:11px;color:var(--muted)}.status{justify-self:end;padding:6px 9px;border-radius:999px;background:#f7eee6;color:var(--warn)!important;font-weight:700}.mobile-top{display:none}

@media(max-width:900px){
  .auth-shell{grid-template-columns:1fr}.auth-left{display:none}.auth-right{min-height:100vh}
  .app-shell{grid-template-columns:1fr}.side{display:none}.app-main{padding:22px 16px 50px}.mobile-top{display:flex;background:var(--dark);color:#fff;padding:14px 16px;justify-content:space-between;align-items:center}.mobile-top .simple-brand svg{width:27px;height:31px}.summary{grid-template-columns:1fr 1fr}.summary .progress-card{grid-column:1/-1}.big-actions{grid-template-columns:1fr}.member-row{grid-template-columns:40px 1fr auto}.member-row>span:nth-of-type(1){display:none}.row{grid-template-columns:1fr}
}
@media(max-width:520px){.summary{grid-template-columns:1fr}.summary .progress-card{grid-column:auto}.topline{align-items:flex-start}.year-pill{display:none}.auth-card{padding:26px 20px;border-radius:20px}.form-card{padding:22px 18px}.onboard-main{margin-top:38px}}


/* Mitglieder */
.members-top{align-items:flex-end}.small-primary{height:44px;padding:0 17px;border:0;border-radius:11px;background:var(--green);color:#fff;font-weight:800;cursor:pointer}.member-tools{display:flex;gap:10px;margin-bottom:16px}.searchbox{height:46px;flex:1;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 13px}.searchbox span{font-size:20px;color:#87918b}.searchbox input{border:0;outline:0;background:transparent;width:100%;font-size:14px}.import-button{height:46px;padding:0 15px;display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;font-size:13px;font-weight:800;cursor:pointer}.members-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.members-head,.members-row{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(130px,.8fr) 100px 100px;gap:16px;align-items:center}.members-head{padding:13px 20px;background:#f7f8f5;border-bottom:1px solid var(--line);color:#7d8881;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.members-row{width:100%;border:0;border-bottom:1px solid #edf0ec;background:#fff;padding:15px 20px;text-align:left;cursor:pointer}.members-row:hover{background:#fbfcfa}.members-row:last-child{border-bottom:0}.member-main{display:flex;align-items:center;gap:11px}.member-main i{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--green);font-style:normal;font-size:11px;font-weight:800}.member-main b{display:grid;gap:3px;font-size:13px}.member-main small{font-size:10px;font-weight:500;color:#8a948e}.members-row>span:not(.member-main){font-size:12px;color:var(--muted)}.members-row em{justify-self:start;padding:6px 9px;border-radius:999px;font-style:normal;font-size:10px;font-weight:800}.status-open{background:#f7eee6;color:var(--warn)}.status-paid{background:#e7f4ec;color:var(--green)}.members-foot{display:flex;justify-content:space-between;padding:13px 20px;background:#fbfcfa;border-top:1px solid var(--line);font-size:11px;color:#859089}
.sheet-backdrop{position:fixed;inset:0;background:rgba(8,20,15,.45);z-index:50;display:flex;justify-content:flex-end;backdrop-filter:blur(2px)}.sheet-backdrop[hidden]{display:none}.side-sheet{width:min(500px,100%);height:100%;overflow:auto;background:#fff;padding:34px;box-shadow:-24px 0 70px rgba(0,0,0,.18);position:relative}.sheet-close{position:absolute;right:20px;top:18px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:24px;cursor:pointer}.member-hero{display:flex;align-items:center;gap:14px;padding:35px 0 26px;border-bottom:1px solid var(--line)}.member-hero>i{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:var(--soft);color:var(--green);font-style:normal;font-weight:800}.member-hero div{display:grid;gap:3px}.member-hero small,.sheet-kicker{font-size:10px;color:#87918b;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.member-hero h2,.side-sheet>h2{font:800 28px/1.1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.035em;margin:0}.member-hero span{font-size:12px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:24px 0}.detail-grid>div{padding:15px;border:1px solid var(--line);border-radius:13px;display:grid;gap:6px}.detail-grid span{font-size:10px;color:#87918b;text-transform:uppercase;letter-spacing:.05em}.detail-grid strong{font-size:13px;word-break:break-word}.secondary-wide{width:100%;height:48px;border:1px solid var(--line);background:#fff;border-radius:12px;font-weight:800;cursor:pointer}.sheet-kicker{display:block;margin-top:25px;color:var(--green)}.side-sheet>h2{margin:8px 0 8px}.sheet-intro{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 24px}.optional{font-weight:400;color:#96a098}.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--dark);color:#fff;padding:12px 16px;border-radius:11px;font-size:12px;font-weight:700;z-index:80;box-shadow:0 14px 35px rgba(0,0,0,.2)}
@media(max-width:760px){.members-top{align-items:flex-start;flex-direction:column}.small-primary{width:100%}.member-tools{flex-direction:column}.import-button{justify-content:center}.members-head{display:none}.members-row{grid-template-columns:1fr auto;padding:14px 16px}.members-row>span:nth-child(2),.members-row>span:nth-child(3){display:none}.members-row em{justify-self:end}.members-foot{padding:12px 16px}.side-sheet{padding:28px 20px}.detail-grid{grid-template-columns:1fr}}


/* Beitragsbereich */
.summary>a{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.summary>a span{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}.summary>a strong{font:800 27px/1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.04em}
.contribution-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.contribution-summary>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.contribution-summary span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.contribution-summary strong{font:800 28px/1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.04em}.contribution-summary .open-money{background:#fff9f4}.open-money strong{color:var(--warn)}
.contribution-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.contribution-action{min-height:116px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;text-align:left;cursor:pointer}.contribution-action.primary-action{background:var(--dark);color:#fff;border-color:var(--dark)}.contribution-action>i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--green);font-style:normal;font-size:19px}.contribution-action.primary-action>i{background:rgba(88,215,150,.12);color:#65dda1}.contribution-action div{display:grid;gap:5px}.contribution-action strong{font:700 15px/1.2 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.contribution-action span{font-size:11px;color:var(--muted);line-height:1.45}.contribution-action.primary-action span{color:rgba(255,255,255,.55)}.contribution-action>b{font-size:18px;color:#89928c}.contribution-action.primary-action>b{color:#65dda1}
.simple-section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;margin-top:16px;scroll-margin-top:20px}.simple-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px}.eyebrow{font-size:10px;letter-spacing:.11em;font-weight:800;color:var(--green)}.simple-section h2{font:800 23px/1.15 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.03em;margin:5px 0}.simple-section-head p{font-size:12px;color:var(--muted);margin:0}.payment-search{max-width:460px;margin-bottom:12px}.payment-list,.open-contributions{border:1px solid var(--line);border-radius:15px;overflow:hidden}.payment-row{display:grid;grid-template-columns:1fr 90px 170px;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid #edf0ec}.payment-row:last-child,.open-row:last-child{border-bottom:0}.payment-row>strong,.open-row>strong{font-size:13px}.mark-paid,.tiny-action,.outline-button{border:1px solid var(--line);background:#fff;border-radius:9px;font-size:11px;font-weight:800;cursor:pointer}.mark-paid{height:36px;color:var(--green)}.paid-check{justify-self:end;color:var(--green);font-size:11px;font-weight:800}.outline-button{height:40px;padding:0 13px}.open-row{display:grid;grid-template-columns:1fr 80px 140px 90px;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #edf0ec}.open-row>span:nth-of-type(2){font-size:11px;color:var(--muted)}.tiny-action{height:34px}.sepa-check{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.sepa-check>div{padding:17px;border:1px solid var(--line);border-radius:13px;display:grid;gap:6px}.sepa-check span{font-size:10px;color:#87918b;text-transform:uppercase;letter-spacing:.05em}.sepa-check strong{font:800 19px/1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.notice{background:#f5f6f2;border-radius:13px;padding:15px;margin:0 0 18px;display:grid;gap:5px}.notice b{font-size:12px}.notice span{font-size:11px;line-height:1.5;color:var(--muted)}
@media(max-width:900px){.contribution-actions{grid-template-columns:1fr}.contribution-summary{grid-template-columns:1fr 1fr}.contribution-summary>div:first-child{grid-column:1/-1}.open-row{grid-template-columns:1fr auto}.open-row>span:nth-of-type(2){display:none}.open-row .tiny-action{grid-column:2}.payment-row{grid-template-columns:1fr auto}.payment-row>strong{display:none}.mark-paid{grid-column:2}.simple-section-head{align-items:flex-start;flex-direction:column}.outline-button{width:100%}}
@media(max-width:520px){.contribution-summary{grid-template-columns:1fr}.contribution-summary>div:first-child{grid-column:auto}.sepa-check{grid-template-columns:1fr}}


/* Einstellungen */
.settings-form{display:grid;gap:14px;max-width:820px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.settings-title{display:flex;align-items:center;gap:13px;margin-bottom:22px}.settings-title>span{width:34px;height:34px;border-radius:10px;background:var(--soft);color:var(--green);display:grid;place-items:center;font-weight:800}.settings-title div{display:grid;gap:3px}.settings-title h2{font:800 19px/1.1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.025em;margin:0}.settings-title p{margin:0;color:var(--muted);font-size:11px}.settings-save{display:flex;justify-content:flex-end}.settings-save .primary{width:auto;padding:0 24px}
@media(max-width:600px){.settings-card{padding:20px 17px}.settings-save .primary{width:100%}}


/* Supabase / echte App-Zustaende */
.auth-message{margin:14px 0 2px;padding:12px 13px;border-radius:10px;font-size:12px;line-height:1.5;background:#f1f3ef;color:#5d6961}
.auth-message.error{background:#fff0ec;color:#9a402d}.auth-message.success{background:#e7f5ed;color:#236c4d}
button:disabled{opacity:.58;cursor:not-allowed}
.logout-button{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:rgba(255,255,255,.65);border-radius:9px;padding:9px 10px;font-size:11px;font-weight:700;cursor:pointer;text-align:left}
.logout-button:hover{color:#fff;background:rgba(255,255,255,.08)}
.empty-row{padding:28px 22px;display:grid;gap:6px;text-align:center;color:var(--muted)}
.empty-row strong{font:700 14px/1.2 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink)}.empty-row span{font-size:12px}


/* Import, Bearbeiten, Beitragsjahr */
.detail-actions{display:grid;gap:10px}.danger-link{border:0;background:transparent;color:#a74835;font-size:12px;font-weight:800;cursor:pointer;padding:8px}.optional-block{border:1px solid var(--line);border-radius:13px;margin:4px 0 18px;background:#fafbf8}.optional-block summary{cursor:pointer;padding:13px 14px;font-size:12px;font-weight:800;list-style:none}.optional-block summary::-webkit-details-marker{display:none}.optional-block summary span{color:#939c96;font-weight:500;margin-left:5px}.optional-block[open] summary{border-bottom:1px solid var(--line)}.optional-block .row{padding:14px 14px 0}
.import-sheet{width:min(620px,100%)}.mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:20px 0}.mapping-grid label{display:grid;gap:6px}.mapping-grid label>span{font-size:11px;font-weight:800;color:#5d6a62}.mapping-grid select{height:43px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 10px;font-size:12px}.mapping-note{font-size:11px;color:var(--muted);margin:-4px 0 18px}.import-preview{margin:0 0 18px}.import-preview>strong{font-size:12px}.preview-table{margin-top:9px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.preview-table>div{padding:10px 12px;border-bottom:1px solid #edf0ec;display:grid;gap:2px}.preview-table>div:last-child{border-bottom:0}.preview-table span{font-size:12px;font-weight:700}.preview-table small{font-size:10px;color:var(--muted)}
.year-setup{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff8e9;border:1px solid #eadcb9;border-radius:16px;padding:15px 17px;margin-bottom:14px}.year-setup>div{display:grid;gap:4px}.year-setup strong{font-size:13px}.year-setup span{font-size:11px;color:#776d55}.year-setup button{height:38px;border:0;border-radius:9px;background:var(--dark);color:#fff;padding:0 13px;font-size:11px;font-weight:800;cursor:pointer}
.reminder-text{width:100%;min-height:250px;resize:vertical;border:1px solid var(--line);border-radius:13px;padding:14px;font:14px/1.6 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;outline:none;margin-bottom:14px}.reminder-text:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(35,122,85,.1)}.reminder-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mail-link{display:flex;align-items:center;justify-content:center;text-decoration:none}.disabled-link{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.mapping-grid{grid-template-columns:1fr}.year-setup{align-items:flex-start;flex-direction:column}.year-setup button{width:100%}.reminder-actions{grid-template-columns:1fr}.member-tools .import-button{width:100%;justify-content:center}}


/* Mobile App Navigation */
.mobile-bottom-nav{display:none}
@media(max-width:900px){
  .app-main{padding-bottom:92px}
  .mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:40;display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid var(--line);border-radius:16px;padding:7px;box-shadow:0 14px 40px rgba(18,32,25,.15)}
  .mobile-bottom-nav a{min-height:52px;border-radius:11px;display:grid;place-content:center;text-align:center;gap:3px;color:#87918b}
  .mobile-bottom-nav a.active{background:var(--soft);color:var(--green)}
  .mobile-bottom-nav i{font-style:normal;font-size:18px;line-height:1}
  .mobile-bottom-nav span{font-size:9px;font-weight:800}
}

.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.field-label-row label{margin:0}
.forgot-link{font-size:11px;font-weight:800;color:var(--green)}
.forgot-link:hover{text-decoration:underline}


/* Vereinslogo */
.club-logo-shell{width:38px;height:42px;display:grid;place-items:center;flex:0 0 auto}
.club-logo-shell>img{width:38px;height:38px;border-radius:10px;object-fit:contain;background:#fff}
.club-logo-shell>i{width:38px;height:42px;display:grid;place-items:center;background:var(--green);clip-path:polygon(50% 0,94% 14%,90% 66%,50% 100%,10% 66%,6% 14%);font-style:normal;font-size:11px;font-weight:800}
.club-mini>.club-logo-shell>i{width:38px;height:42px}
.club-mini>.club-logo-shell+div{display:grid;gap:3px}
.dashboard-heading{display:flex;align-items:center;gap:13px}
.dashboard-logo-shell{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto}
.dashboard-logo-shell img{width:48px;height:48px;object-fit:contain;border-radius:13px;background:#fff;border:1px solid var(--line)}
.dashboard-logo-shell i{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--green);color:#fff;font-style:normal;font-weight:800;font-size:12px}
.logo-settings{display:flex;align-items:center;gap:17px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fafbf8;margin-bottom:18px}
.logo-preview-shell{width:76px;height:76px;border-radius:16px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.logo-preview-shell img{width:68px;height:68px;object-fit:contain}
.logo-preview-shell i{width:60px;height:60px;border-radius:14px;display:grid;place-items:center;background:var(--green);color:#fff;font-style:normal;font-weight:800}
.logo-settings-copy{display:grid;gap:5px}.logo-settings-copy>strong{font-size:13px}.logo-settings-copy>span{font-size:11px;color:var(--muted)}
.logo-actions{display:flex;gap:8px;margin-top:5px;flex-wrap:wrap}
.logo-upload-button,.logo-remove-button{height:36px;padding:0 12px;border-radius:9px;font-size:11px;font-weight:800;cursor:pointer;display:flex;align-items:center}
.logo-upload-button{background:var(--green);color:#fff;border:0}
.logo-remove-button{background:#fff;color:#9b4838;border:1px solid var(--line)}
.logo-remove-button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:600px){.logo-settings{align-items:flex-start}.logo-preview-shell{width:64px;height:64px}.logo-preview-shell img{width:56px;height:56px}.dashboard-logo-shell{width:42px;height:42px}.dashboard-logo-shell img,.dashboard-logo-shell i{width:42px;height:42px}}


/* Logo ersetzt das Vereinskuerzel vollstaendig */
.club-logo-img[hidden],
.club-logo-fallback[hidden]{
  display:none !important;
}


/* App Ladezustand */
body.app-data-loading{
  overflow:hidden;
}
body.app-data-loading .app-shell,
body.app-data-loading .mobile-top,
body.app-data-loading .mobile-bottom-nav{
  opacity:0;
  pointer-events:none;
}
body.app-data-loading::before{
  content:"VEREINSFACH";
  position:fixed;
  inset:0;
  z-index:9998;
  display:grid;
  place-items:center;
  background:var(--bg);
  color:var(--dark);
  font:800 16px/1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif,sans-serif;
  letter-spacing:.08em;
}
body.app-data-loading::after{
  content:"";
  position:fixed;
  left:50%;
  top:calc(50% + 34px);
  z-index:9999;
  width:26px;
  height:26px;
  margin-left:-13px;
  border:3px solid #dbe4dd;
  border-top-color:var(--green);
  border-radius:50%;
  animation:va-spin .75s linear infinite;
}
body.app-data-ready .app-shell,
body.app-data-ready .mobile-top{
  animation:va-fade-in .16s ease-out;
}
@keyframes va-spin{to{transform:rotate(360deg)}}
@keyframes va-fade-in{from{opacity:0}to{opacity:1}}


/* 14-Tage-Test */
.trial-side-status{display:grid;gap:3px;margin:0 0 10px;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.04)}
.trial-side-status strong{font-size:11px;color:#fff}.trial-side-status span{font-size:9px;line-height:1.4;color:rgba(255,255,255,.48)}
.trial-side-status.expired{border-color:rgba(255,184,148,.22);background:rgba(168,91,37,.12)}
.trial-side-status.expired strong{color:#ffd2bd}.trial-side-status.paid strong{color:#72dfa6}
.trial-mobile-status{display:none}
.trial-expired-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:0 0 18px;border:1px solid #ecc9b8;border-radius:16px;background:#fff4ee}
.trial-expired-banner>div{display:grid;gap:4px}.trial-expired-banner strong{font:800 14px/1.2 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.trial-expired-banner span{font-size:11px;color:#735d51;line-height:1.45}
.trial-expired-banner a{flex:0 0 auto;min-height:38px;padding:0 13px;border-radius:9px;background:var(--dark);color:#fff;display:flex;align-items:center;font-size:11px;font-weight:800}

body.trial-expired #addMemberBtn,
body.trial-expired .import-button[for="memberImport"],
body.trial-expired #editMemberBtn,
body.trial-expired #deleteMemberBtn,
body.trial-expired #addMemberForm .primary,
body.trial-expired #editMemberForm .primary,
body.trial-expired #createYearContributions,
body.trial-expired .mark-paid,
body.trial-expired #openSepa,
body.trial-expired #prepareSepa,
body.trial-expired .tiny-action,
body.trial-expired #remindAll,
body.trial-expired .logo-upload-button,
body.trial-expired #removeClubLogo,
body.trial-expired .settings-save .primary{
  opacity:.45!important;
  pointer-events:none!important;
  cursor:not-allowed!important;
}
body.trial-expired .settings-form input,
body.trial-expired .settings-form select{
  background:#f4f5f2;
  color:#7d8781;
  pointer-events:none;
}

@media(max-width:900px){
  .trial-mobile-status{display:block;padding:8px 14px;background:#eaf5ef;color:#226746;font-size:10px;font-weight:800;text-align:center}
  .trial-mobile-status.expired{background:#fff0e8;color:#9a4d31}
  .trial-expired-banner{align-items:flex-start;flex-direction:column}
  .trial-expired-banner a{width:100%;justify-content:center}
}


/* Beitragsjahr nur anzeigen, wenn wirklich Beiträge fehlen */
.year-setup[hidden]{display:none!important}
.contribution-action.no-sepa-needed{opacity:.62}
.contribution-action.no-sepa-needed:hover{transform:none;box-shadow:none}


/* IBAN-Pruefung */
.input-invalid{
  border-color:#c64f3b!important;
  box-shadow:0 0 0 3px rgba(198,79,59,.10)!important;
}
.iban-inline-error{
  display:block;
  margin-top:6px;
  color:#a33f2f;
  font-size:11px;
  font-weight:700;
}
.sepa-row-warning{
  color:#a33f2f!important;
  font-weight:800!important;
  margin-top:2px;
}


/* Stripe Tarifwahl */
.billing-choice-wrap{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:880px;margin-bottom:18px}
.billing-choice{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;gap:22px}
.billing-choice.recommended{border:2px solid var(--green)}
.billing-badge{position:absolute;right:18px;top:16px;padding:5px 8px;border-radius:999px;background:var(--soft);color:var(--green);font-size:9px;font-weight:800}
.billing-choice>div{display:grid;gap:7px}.billing-choice>div>span{font-size:12px;color:var(--muted);font-weight:700}
.billing-choice strong{font:800 34px/1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.05em}.billing-choice small{font-size:11px;color:var(--muted)}
.billing-choice button{height:48px;border:0;border-radius:11px;background:var(--dark);color:#fff;font-weight:800;cursor:pointer}
.billing-choice.recommended button{background:var(--green)}
.billing-note{max-width:880px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;gap:7px}
.billing-note strong{font-size:13px}.billing-note span{font-size:11px;color:var(--muted);line-height:1.5}
.billing-back{display:inline-block;margin-top:18px;font-size:12px;font-weight:800;color:var(--green)}
.billing-settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.billing-settings-row>div{display:grid;gap:4px}.billing-settings-row strong{font-size:13px}.billing-settings-row span{font-size:11px;color:var(--muted)}
.billing-settings-row a{min-height:40px;padding:0 13px;border-radius:9px;background:var(--dark);color:#fff;display:flex;align-items:center;font-size:11px;font-weight:800}
.billing-success-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}
.billing-success-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;text-align:center}
.billing-success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:var(--soft);color:var(--green);font-size:27px;font-weight:800}
.billing-success-card h1{font:800 30px/1.1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.04em;margin:0 0 10px}.billing-success-card>p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 18px}
.billing-success-card .notice{text-align:left}.billing-success-link{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-top:16px}
@media(max-width:700px){.billing-choice-wrap{grid-template-columns:1fr}.billing-settings-row{align-items:flex-start;flex-direction:column}.billing-settings-row a{width:100%;justify-content:center}}


/* Abo-Status */
.trial-side-status.warning{border-color:rgba(246,197,107,.22);background:rgba(187,132,31,.12)}
.trial-side-status.warning strong{color:#ffe0a1}
.trial-mobile-status.warning{background:#fff7df;color:#8b651b}
.billing-choice-wrap[hidden]{display:none!important}
.billing-current-card{max-width:880px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:18px;display:grid;gap:10px}
.billing-current-card h2{font:800 26px/1.1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.035em;margin:0}
.billing-current-card p{font-size:12px;line-height:1.55;color:var(--muted);max-width:650px;margin:0}
.billing-current-card>a{justify-self:start;min-height:42px;padding:0 14px;border-radius:10px;background:var(--dark);color:#fff;display:flex;align-items:center;font-size:11px;font-weight:800}
.billing-state{justify-self:start;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}
.billing-state.good{background:#e7f6ee;color:#237a55}
.billing-state.warning{background:#fff3d8;color:#8b651b}
.billing-state.bad{background:#fff0e9;color:#a54831}


/* Sichtbarer Tarif-CTA */
.billing-side-action{
  min-height:40px;
  margin:0 0 10px;
  border-radius:10px;
  background:#fff;
  color:var(--dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
}
.billing-side-action:hover{transform:translateY(-1px)}
.trial-mobile-with-action{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-align:left!important;
}
.trial-mobile-with-action a{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:8px;
  background:var(--dark);
  color:#fff;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
}


/* Import-Pruefung */
.preview-table .preview-error{
  border-color:#e2b6aa;
  background:#fff7f3;
}
.preview-table .preview-error em{
  display:block;
  margin-top:3px;
  color:#a33f2f;
  font-size:9px;
  font-style:normal;
  font-weight:800;
}
.import-error-list{
  display:block;
  margin-top:7px;
  color:#a33f2f;
  line-height:1.55;
}


/* Import-Korrekturen */
.import-corrections[hidden]{display:none!important}
.import-corrections{margin:0 0 18px}
.correction-head{padding:14px 15px;border-radius:13px 13px 0 0;background:#fff3ee;border:1px solid #e9c2b6;border-bottom:0}
.correction-head>div{display:grid;gap:4px}
.correction-head strong{font-size:13px;color:#8f3f2e}
.correction-head span{font-size:11px;line-height:1.45;color:#795e55}
.correction-list{display:grid;gap:10px;padding:10px;border:1px solid #e9c2b6;border-radius:0 0 13px 13px;background:#fffaf8;max-height:430px;overflow:auto}
.correction-card{border:1px solid #e1b1a4;border-radius:12px;padding:13px;background:#fff}
.correction-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.correction-card-head>div{display:grid;gap:3px}
.correction-card-head strong{font-size:12px}
.correction-card-head span{font-size:10px;color:#a33f2f;font-weight:800}
.correction-skip{border:0;background:#f3f4f1;color:#657068;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800;cursor:pointer}
.correction-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.correction-grid label{display:grid;gap:5px}
.correction-grid label>span{font-size:9px;font-weight:800;color:#69736d}
.correction-grid input{height:38px;border:1px solid var(--line);border-radius:9px;padding:0 9px;font:11px "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;outline:none;background:#fff}
.correction-grid input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(35,122,85,.08)}
@media(max-width:650px){.correction-grid{grid-template-columns:1fr}.correction-card-head{flex-direction:column}.correction-skip{align-self:flex-start}}


/* Beitragsseite Arbeitsreihenfolge */
.open-row{grid-template-columns:1fr 90px 140px minmax(220px,auto)}
.open-actions{display:flex;justify-content:flex-end;gap:7px;align-items:center}
.open-actions .mark-paid{padding:0 11px;white-space:nowrap}
.open-actions .tiny-action{padding:0 11px}
.paid-with-date{display:grid!important;justify-items:end;gap:2px}
.paid-with-date b{font-size:11px;color:var(--green)}
.paid-with-date small{font-size:9px;color:var(--muted);font-weight:700}
.payment-open-status{justify-self:end;padding:5px 8px;border-radius:999px;background:#fff3d8;color:#89651d;font-size:10px;font-weight:800}
@media(max-width:900px){
  .open-row{grid-template-columns:1fr auto}
  .open-row>strong{grid-column:2;grid-row:1}
  .open-row>span:nth-of-type(2){display:block;grid-column:1/-1}
  .open-actions{grid-column:1/-1;justify-content:flex-start}
  .open-actions .mark-paid{flex:1}
}


/* Dubletten-Entscheidung */
.duplicate-card{border-color:#d7c59b;background:#fffdf7}
.duplicate-found{display:grid;gap:4px;margin:0 0 12px;padding:10px 11px;border-radius:10px;background:#fff8e7;border:1px solid #eadbb7}
.duplicate-found strong{font-size:10px;color:#7a6124}
.duplicate-found span{font-size:10px;color:#6e6653;line-height:1.45}
.duplicate-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.duplicate-choice{min-height:36px;padding:0 11px;border-radius:9px;border:1px solid var(--line);background:#fff;color:#4e5b53;font-size:10px;font-weight:800;cursor:pointer}
.duplicate-choice:hover{border-color:#aeb9b1}
.duplicate-choice.active{border-color:var(--green);background:var(--soft);color:var(--green)}
.duplicate-choice.create.active{background:#edf4ff;border-color:#8eadd3;color:#37689f}
.duplicate-choice.skip.active{background:#f2f3f1;border-color:#c8cec9;color:#687169}
.duplicate-note{margin:7px 0 0;font-size:9px;line-height:1.45;color:var(--muted)}
@media(max-width:650px){
  .duplicate-actions{display:grid;grid-template-columns:1fr}
  .duplicate-choice{width:100%}
}


.status-none{background:#f1f3f1;color:#6f7972}


/* Beitragsjahr-Auswahl */
.year-pill select{
  border:0;
  background:transparent;
  color:inherit;
  font:800 12px "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  cursor:pointer;
  outline:none;
  padding:0 16px 0 4px;
}
.year-pill select option{color:#1d2821;background:#fff}
.empty-row a{color:var(--green);font-weight:800;text-decoration:none}


/* Zahlung verbuchen */
.payment-booking-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 18px;
}
.payment-booking-summary>div{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fafbf8;
}
.payment-booking-summary span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.payment-booking-summary strong{font-size:13px}
.payment-edit{
  border:0;
  background:transparent;
  color:var(--green);
  font-size:9px;
  font-weight:800;
  cursor:pointer;
  padding:2px 0 0;
}
.payment-edit:hover{text-decoration:underline}
.payment-undo{
  display:block;
  width:100%;
  margin-top:8px;
  text-align:center;
}
.payment-undo[hidden]{display:none!important}
@media(max-width:520px){
  .payment-booking-summary{grid-template-columns:1fr}
}


/* Zahlungserinnerungen */
.reminder-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  margin:0 0 10px;
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.reminder-text{
  width:100%;
  min-height:250px;
  resize:vertical;
  border:1px solid var(--line);
  border-radius:12px;
  padding:13px;
  font:12px/1.55 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  outline:none;
}
.reminder-text:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(35,122,85,.08)}
.reminder-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.disabled-link{opacity:.48;cursor:not-allowed!important}
.reminder-batch-sheet{width:min(650px,100%)}
.reminder-batch-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:0 0 14px;
}
.reminder-batch-stats>div{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fafbf8;
}
.reminder-batch-stats span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.reminder-batch-stats strong{font:800 20px/1 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif}
.reminder-batch-list{
  display:grid;
  max-height:390px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:12px;
  margin:0 0 14px;
}
.reminder-batch-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,auto);
  gap:12px;
  align-items:center;
  padding:12px 13px;
  border-bottom:1px solid #edf0ec;
}
.reminder-batch-row:last-child{border-bottom:0}
.reminder-batch-row>div:first-child{display:grid;gap:3px}
.reminder-batch-row strong{font-size:11px}
.reminder-batch-row>div:first-child span{font-size:9px;color:var(--muted);font-weight:700}
.reminder-batch-contact{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-width:0}
.reminder-email-ok{
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px;
  color:#426b57;
  font-weight:700;
}
.reminder-email-missing{
  padding:4px 7px;
  border-radius:999px;
  background:#fff0e9;
  color:#a54831;
  font-size:9px;
  font-weight:800;
}
.reminder-batch-contact button{
  min-height:32px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--green);
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
@media(max-width:650px){
  .reminder-actions{grid-template-columns:1fr}
  .reminder-batch-stats{grid-template-columns:1fr}
  .reminder-batch-row{grid-template-columns:1fr}
  .reminder-batch-contact{justify-content:flex-start}
  .reminder-email-ok{max-width:190px}
}


/* Fehlerzustände */
.network-status{
  position:fixed;
  left:50%;
  top:12px;
  transform:translateX(-50%);
  z-index:9999;
  max-width:min(560px,calc(100vw - 28px));
  padding:10px 14px;
  border-radius:11px;
  background:#8f3f2e;
  color:#fff;
  box-shadow:0 8px 30px rgba(0,0,0,.14);
  font-size:11px;
  font-weight:800;
  text-align:center;
}
.network-status.online{background:#237a55}
.network-status[hidden]{display:none!important}

.app-load-error{
  display:grid;
  gap:7px;
  margin:0 0 18px;
  padding:17px 18px;
  border:1px solid #e3b6aa;
  border-radius:15px;
  background:#fff7f3;
}
.app-load-error strong{font-size:13px;color:#873d2e}
.app-load-error span{font-size:11px;line-height:1.5;color:#735f58}
.app-load-error button{
  justify-self:start;
  min-height:38px;
  margin-top:3px;
  padding:0 12px;
  border:0;
  border-radius:9px;
  background:var(--dark);
  color:#fff;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}


/* Mobile Finalisierung Schritt 15 */
@media(max-width:900px){
  .mobile-top{
    position:sticky;
    top:0;
    z-index:35;
    min-height:58px;
    gap:10px;
  }
  .mobile-top .simple-brand{
    min-width:0;
    font-size:12px;
    letter-spacing:.04em;
  }
  .mobile-top>span{
    flex:0 1 auto;
    min-width:0;
    max-width:42vw;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
    font-weight:800;
    color:rgba(255,255,255,.72);
  }

  .app-main{
    padding-left:14px;
    padding-right:14px;
    padding-bottom:calc(102px + env(safe-area-inset-bottom));
  }

  .mobile-bottom-nav{
    bottom:calc(8px + env(safe-area-inset-bottom));
    left:8px;
    right:8px;
  }

  .toast{
    bottom:calc(92px + env(safe-area-inset-bottom));
    width:min(420px,calc(100vw - 28px));
    text-align:center;
  }

  .side-sheet{
    width:100%;
    height:100dvh;
    max-height:100dvh;
    padding-bottom:calc(28px + env(safe-area-inset-bottom));
  }

  input,
  select,
  textarea,
  .field input,
  .field select,
  .correction-grid input,
  .reminder-text{
    font-size:16px;
  }

  .topline{
    margin-bottom:20px;
  }
  .topline h1{
    font-size:28px;
  }

  .year-pill{
    display:flex;
    align-items:center;
    gap:3px;
    padding:9px 10px;
    white-space:nowrap;
  }
  .year-pill select{
    min-width:64px;
    font-size:12px;
  }

  .mark-paid,
  .tiny-action,
  .outline-button,
  .payment-edit,
  .correction-skip,
  .duplicate-choice,
  .reminder-batch-contact button{
    min-height:44px;
  }

  .open-actions{
    width:100%;
  }
  .open-actions .mark-paid,
  .open-actions .tiny-action{
    min-height:44px;
  }

  .payment-row{
    min-height:68px;
  }

  .paid-with-date{
    min-width:94px;
  }
  .paid-with-date .payment-edit{
    min-height:28px;
    padding:5px 0;
  }

  .trial-mobile-status{
    position:relative;
    z-index:34;
  }

  .trial-mobile-with-action a{
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .settings-save{
    position:relative;
    z-index:1;
  }

  .reminder-batch-list,
  .correction-list{
    max-height:none;
  }
}

@media(max-width:600px){
  .logo-settings{
    flex-direction:column;
  }
  .logo-settings-copy{
    width:100%;
  }
  .logo-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .logo-upload-button,
  .logo-remove-button{
    min-height:44px;
    justify-content:center;
  }

  .billing-choice{
    padding:20px 17px;
  }
  .billing-badge{
    position:static;
    justify-self:start;
  }

  .trial-mobile-with-action{
    align-items:center;
    padding-left:12px;
    padding-right:12px;
  }

  .onboard-top{
    height:66px;
  }
  .onboard-top .inner{
    width:calc(100% - 24px);
  }
  .onboard-top .simple-brand{
    font-size:12px;
  }
  .onboard-top .simple-brand svg{
    width:27px;
    height:30px;
  }
  .onboard-main{
    width:calc(100% - 24px);
    margin-top:30px;
    margin-bottom:50px;
  }
  .step h1{
    font-size:31px;
  }
  .step>.intro{
    font-size:14px;
    margin-bottom:22px;
  }
  .drop{
    padding:26px 16px;
  }
}

@media(max-width:520px){
  .year-pill{
    display:flex;
  }

  .topline{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }

  .topline .year-pill{
    align-self:flex-start;
  }

  .summary>div,
  .summary>a,
  .contribution-summary>div,
  .action-card,
  .simple-section,
  .settings-card{
    border-radius:16px;
  }

  .simple-section{
    padding:18px 14px;
  }

  .open-row{
    padding:13px 12px;
  }

  .open-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .open-actions .mark-paid,
  .open-actions .tiny-action{
    width:100%;
  }

  .payment-row{
    padding:13px 12px;
    gap:8px;
  }

  .member-main{
    min-width:0;
  }
  .member-main b{
    min-width:0;
  }
  .member-main b,
  .member-main small{
    overflow-wrap:anywhere;
  }

  .members-row{
    gap:8px;
  }

  .member-hero h2,
  .side-sheet>h2{
    font-size:24px;
  }

  .sheet-close{
    right:14px;
    top:14px;
  }

  .side-sheet{
    padding-left:16px;
    padding-right:16px;
  }

  .correction-card{
    padding:11px;
  }

  .correction-grid{
    gap:8px;
  }

  .duplicate-actions{
    width:100%;
  }

  .auth-right{
    padding:16px;
  }
  .auth-card{
    padding:24px 18px;
    border-radius:18px;
  }

  .billing-success-shell{
    padding:14px;
  }
  .billing-success-card{
    padding:26px 18px;
    border-radius:20px;
  }
}

@media(max-width:380px){
  .mobile-bottom-nav{
    padding:5px;
  }
  .mobile-bottom-nav a{
    min-height:48px;
  }
  .mobile-bottom-nav i{
    font-size:16px;
  }
  .mobile-bottom-nav span{
    font-size:8px;
  }

  .mobile-top .simple-brand{
    font-size:11px;
  }
  .mobile-top .simple-brand svg{
    width:24px;
    height:27px;
  }

  .trial-mobile-with-action{
    gap:6px;
  }
  .trial-mobile-with-action span{
    font-size:9px;
  }
  .trial-mobile-with-action a{
    font-size:8px;
    padding-left:7px;
    padding-right:7px;
  }

  .step-actions{
    flex-direction:column-reverse;
  }
  .step-actions .back,
  .step-actions .next{
    width:100%;
    margin-left:0;
  }
}


.mobile-logout-button{display:none}
@media(max-width:900px){
  .mobile-logout-button{
    display:block;
    width:100%;
    min-height:48px;
    margin-top:2px;
    border:1px solid #e2c7bf;
    border-radius:11px;
    background:#fff;
    color:#9b4838;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
  }
}

.legal-side-links{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 10px}.legal-side-links a{color:rgba(255,255,255,.46);font-size:10px;text-decoration:none}.legal-side-links a:hover{color:#fff}

.legal-check{display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8faf8;font-size:12px;line-height:1.55;color:#3f4b44}.legal-check input{width:18px;height:18px;margin-top:1px;flex:0 0 auto;accent-color:var(--green)}.legal-check a{color:var(--green);font-weight:800}.avv-settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}.avv-settings-row>div{display:grid;gap:4px}.avv-settings-row strong{font-size:13px}.avv-settings-row span{font-size:11px;color:var(--muted);line-height:1.5}.avv-settings-row a{font-size:11px;font-weight:800;color:var(--green);white-space:nowrap}@media(max-width:650px){.avv-settings-row{align-items:flex-start;flex-direction:column}.avv-settings-row a{white-space:normal}}

.danger-zone{border-color:#ead2ca;background:#fffdfc;margin-top:20px}
.danger-zone .settings-title>span{background:#fff0eb;color:#a54831}
.danger-copy{display:grid;gap:6px;padding:14px 0 4px}
.danger-copy>strong{color:#923f2d;font-size:13px}
.danger-copy p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.danger-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.danger-button{min-height:46px;border:1px solid #cf7f69;border-radius:11px;background:#fff;color:#9b4838;font-size:12px;font-weight:800;cursor:pointer;padding:0 14px}
.danger-button:hover{background:#fff5f1}
.danger-button.solid{background:#a54831;color:#fff;border-color:#a54831}
.danger-button.solid:hover{filter:brightness(.96)}
.delete-blocked{margin-top:14px;padding:14px;border-radius:12px;border:1px solid #ecd0a7;background:#fff8e9}
.delete-blocked strong{font-size:12px;color:#7d5716}
.delete-blocked p{margin:6px 0 8px;color:#695a3f;font-size:11px;line-height:1.55}
.delete-blocked a{font-size:11px;font-weight:800;color:#7d5716}
.delete-status{margin:10px 0 0;font-size:11px;line-height:1.5;color:#8a5b33}
.delete-account-panel{margin-top:14px;padding:16px;border:1px solid #e2c7bf;border-radius:14px;background:#fff8f5}
.delete-account-panel h3{margin:0 0 14px;font-size:15px;color:#853c2b}
.delete-error{min-height:18px;margin:0 0 10px;color:#a54831;font-size:11px;font-weight:700}
.delete-confirm-actions{display:flex;justify-content:flex-end;gap:10px}
.delete-confirm-actions .skip{min-height:44px}
@media(max-width:650px){
  .danger-actions{grid-template-columns:1fr}
  .delete-confirm-actions{flex-direction:column-reverse}
  .delete-confirm-actions>*{width:100%}
}

.team-settings-card{margin-top:20px}
.team-invite-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:16px}
.team-invite-form .field{margin:0}
.team-invite-form .primary{min-height:46px;white-space:nowrap}
.team-role-help{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 4px;color:var(--muted);font-size:10px;line-height:1.55}
.team-role-help span{flex:1 1 240px}
.team-message{padding:10px 12px;margin:12px 0 0;border-radius:10px;font-size:11px;font-weight:700}
.team-message.info{background:#f3f6f4;color:#526159}
.team-message.success{background:#eaf7ef;color:#24704f}
.team-message.error{background:#fff2ee;color:#9b4838}
.team-rows{display:grid;margin-top:14px;border-top:1px solid var(--line)}
.team-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,220px) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.team-person{display:grid;gap:3px;min-width:0}
.team-person strong{font-size:12px;overflow-wrap:anywhere}
.team-person span{font-size:10px;color:var(--muted)}
.team-role-select{width:100%;min-height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;font-size:11px}
.team-role-badge{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 10px;border-radius:9px;background:#edf6f1;color:var(--green);font-size:10px;font-weight:800}
.team-owner-note{font-size:10px;color:var(--muted);text-align:right}
.team-remove{border:0;background:transparent;color:#a54831;font-size:10px;font-weight:800;cursor:pointer;padding:8px}
.team-empty{padding:16px 0;color:var(--muted);font-size:11px}
.team-role-inline{display:grid;gap:2px;margin:0 0 10px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.04)}
.team-role-inline strong{font-size:10px;color:#fff}
.team-role-inline span{font-size:9px;color:rgba(255,255,255,.5);overflow-wrap:anywhere}
.team-invite-summary{display:grid;gap:8px;margin:16px 0 20px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f7f9f7}
.team-invite-summary>div{display:flex;justify-content:space-between;gap:12px}
.team-invite-summary span{font-size:10px;color:var(--muted)}
.team-invite-summary strong{font-size:11px;text-align:right}
@media(max-width:760px){
  .team-invite-form{grid-template-columns:1fr}
  .team-row{grid-template-columns:1fr}
  .team-owner-note{text-align:left}
  .team-remove{text-align:left;padding-left:0}
}

.join-link-card{margin-top:6px}
.join-link-row,.join-mail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:12px}
.join-link-row input,.join-mail-row input{min-height:46px;border:1px solid var(--line);border-radius:11px;padding:0 13px;font-size:12px;background:#fff;color:var(--dark)}
.join-link-row .secondary-wide,.join-mail-row .primary{min-height:46px;white-space:nowrap;margin:0}
.join-pdf-box{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:14px 0}
.join-pdf-box>div{display:grid;gap:4px}
.join-pdf-box strong{font-size:12px}
.join-pdf-box span{font-size:10px;color:var(--muted)}
.join-filter{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.join-filter .tiny-action.active{background:var(--green);color:#fff;border-color:var(--green)}
.join-application-list{display:grid;gap:12px}
.join-app-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}
.join-app-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.join-app-head>div{display:grid;gap:3px}
.join-app-head strong{font-size:14px}
.join-app-head span{font-size:10px;color:var(--muted)}
.join-status{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;font-size:9px;font-weight:900}
.join-status.pending{background:#fff5d9;color:#8a6615}
.join-status.accepted{background:#eaf7ef;color:#24704f}
.join-status.rejected{background:#fff1ed;color:#9b4838}
.join-app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.join-app-grid>div{display:grid;gap:3px;padding:10px;border-radius:9px;background:#f7f9f7}
.join-app-grid span{font-size:9px;color:var(--muted)}
.join-app-grid b{font-size:10px;overflow-wrap:anywhere}
.join-app-actions{display:flex;gap:10px;align-items:center;margin-top:14px}
.join-app-actions .primary{min-height:42px}
.join-public-body{margin:0;background:#f4f7f4;color:var(--dark);font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif}
.join-public-shell{width:min(760px,calc(100% - 28px));margin:38px auto 70px}
.join-public-brand{text-align:center;margin-bottom:20px}
.join-public-logo{width:76px;height:76px;margin:0 auto 16px;border-radius:18px;overflow:hidden;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}
.join-public-logo img{width:100%;height:100%;object-fit:cover}
.join-public-brand small{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--green)}
.join-public-brand h1{font-size:clamp(32px,7vw,48px);letter-spacing:-.045em;margin:7px 0 8px}
.join-public-brand p{max-width:580px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.65}
.join-pdf-link{display:inline-flex;margin-top:12px;color:var(--green);font-size:11px;font-weight:800}
.join-public-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(20px,5vw,36px);box-shadow:0 24px 60px rgba(20,40,30,.06)}
.join-public-form .field{margin-bottom:14px}
.join-fee-info{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;border-radius:12px;background:#f4f8f5;margin:4px 0 14px}
.join-fee-info span{font-size:11px;color:var(--muted)}
.join-fee-info strong{font-size:17px;color:var(--green)}
.join-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.join-public-success,.join-public-error{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;text-align:center}
.join-public-success>strong{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;background:#eaf7ef;color:var(--green);font-size:20px}
.join-public-success h2,.join-public-error h2{font-size:30px;letter-spacing:-.04em;margin:14px 0 8px}
.join-public-success p,.join-public-error p{color:var(--muted);font-size:13px;line-height:1.65}
@media(max-width:800px){
  .join-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .join-link-row,.join-mail-row,.join-pdf-box{grid-template-columns:1fr}
  .join-app-grid{grid-template-columns:1fr 1fr}
  .join-app-actions{flex-direction:column;align-items:stretch}
  .join-app-actions>*{width:100%}
  .join-public-shell{margin-top:20px}
}
@media(max-width:420px){
  .join-app-grid{grid-template-columns:1fr}
}

.join-action-card strong{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.join-action-card strong b{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px}
.standard-join-body{margin:0;background:#eef2ee;color:#142219;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif}
.standard-join-actions{width:min(820px,calc(100% - 28px));margin:24px auto 12px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.standard-join-actions a{font-size:12px;font-weight:800;color:var(--green)}
.standard-join-actions button{min-height:42px;border:0;border-radius:10px;padding:0 15px;background:var(--green);color:#fff;font-weight:800;cursor:pointer}
.standard-join-paper{width:min(820px,calc(100% - 28px));margin:0 auto 50px;background:#fff;border:1px solid #dfe6e1;box-shadow:0 18px 55px rgba(14,36,25,.08);padding:38px 42px}
.standard-join-head{display:flex;gap:18px;align-items:center;padding-bottom:22px;border-bottom:2px solid var(--green)}
.standard-join-logo{width:64px;height:64px;flex:0 0 64px;border-radius:15px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden}
.standard-join-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.standard-join-head small{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.12em}
.standard-join-head h1{margin:3px 0 2px;font-size:30px;letter-spacing:-.035em}
.standard-join-head p{margin:0;color:var(--muted);font-size:11px}
.standard-join-paper section{padding:20px 0;border-bottom:1px solid #e6ebe7;break-inside:avoid}
.standard-join-paper section:last-of-type{border-bottom:0}
.standard-join-paper h2{margin:0 0 13px;font-size:15px}
.standard-join-paper p{font-size:11px;line-height:1.65;margin:0}
.paper-grid{display:grid;grid-template-columns:1fr;gap:15px}
.paper-grid.two{grid-template-columns:1fr 1fr}
.paper-grid label,.paper-signatures label{font-size:9px;font-weight:800;color:#59665e;text-transform:uppercase;letter-spacing:.04em}
.paper-grid label span,.paper-signatures label span{display:block;height:28px;border-bottom:1px solid #7e8a83;margin-top:5px}
.paper-grid .wide{grid-column:1/-1}
.paper-small{margin-top:13px!important;color:#526159}
.paper-signatures{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px}
.standard-join-paper footer{display:flex;justify-content:space-between;gap:12px;padding-top:18px;font-size:9px;color:#87918b}
.join-pdf-preview{display:inline-flex;align-items:center;min-height:38px;font-size:10px;font-weight:800;color:var(--green);white-space:nowrap}
@media(max-width:1100px) and (min-width:901px){.big-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){
  .standard-join-actions{align-items:stretch;flex-direction:column}
  .standard-join-actions button{width:100%}
  .standard-join-paper{padding:24px 20px}
  .standard-join-head{align-items:flex-start}
  .paper-grid.two,.paper-signatures{grid-template-columns:1fr}
  .paper-grid .wide{grid-column:auto}
}


/* =========================================================
   VEREINSFACH – globale Lesbarkeitsrunde
   Ziel: klare Hierarchie statt Mini-Schrift
   ========================================================= */
:root{
  --muted:#58665e;
  --line:#d5ddd7;
  --bg:#f3f5f1;
}
html{
  font-size:16px;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body{
  font-size:14px;
  line-height:1.5;
}
.app-shell{grid-template-columns:250px minmax(0,1fr)}
.app-main{
  padding:38px 42px 68px;
}
.app-main>*{
  width:100%;
  max-width:1320px;
}
.topline{
  margin-bottom:28px;
}
.topline h1{
  font-size:38px;
  line-height:1.08;
  letter-spacing:-.035em;
}
.topline p{
  margin-top:7px;
  font-size:14px;
  line-height:1.55;
  color:var(--muted);
}
.year-pill{
  font-size:13px;
}

/* Sidebar */
.side{
  padding:26px 18px;
}
.side .simple-brand{
  font-size:14px;
}
.club-mini{
  gap:11px;
  padding-top:22px;
  padding-bottom:22px;
}
.club-mini strong{
  font-size:13px;
  line-height:1.25;
}
.club-mini span{
  font-size:11px;
  line-height:1.35;
  color:rgba(255,255,255,.60);
}
.nav-list{
  gap:6px;
}
.nav-list a{
  padding:13px 14px;
  font-size:14px;
  line-height:1.2;
  color:rgba(255,255,255,.72);
}
.side-bottom{
  font-size:12px;
}
.trial-side-status strong{
  font-size:12px;
}
.trial-side-status span{
  font-size:10.5px;
  line-height:1.45;
  color:rgba(255,255,255,.62);
}
.team-role-inline strong{
  font-size:11.5px;
}
.team-role-inline span{
  font-size:10.5px;
  line-height:1.35;
  color:rgba(255,255,255,.62);
}
.legal-side-links a{
  font-size:11px;
  color:rgba(255,255,255,.60);
}
.logout-button,
.billing-side-action{
  font-size:12px;
}

/* Basiselemente */
.field{
  gap:8px;
  margin-bottom:18px;
}
.field label{
  font-size:13.5px;
  line-height:1.3;
}
.field input,
.field select{
  height:52px;
  padding:0 15px;
  font-size:15px;
}
.primary,
.secondary-wide,
.small-primary,
.import-button,
.outline-button,
.mark-paid,
.tiny-action,
.danger-button{
  font-size:13px;
}
.micro{
  font-size:12px!important;
  line-height:1.55!important;
  color:#68766e!important;
}
.auth-message{
  font-size:13px;
  line-height:1.55;
}
.notice b{
  font-size:13px;
}
.notice span{
  font-size:12.5px;
  line-height:1.55;
}

/* Dashboard */
.summary>div,
.summary>a{
  padding:24px;
}
.summary span,
.summary>a span{
  font-size:13px;
}
.action-card{
  padding:24px;
}
.action-card strong{
  font-size:17px;
  line-height:1.25;
}
.action-card span{
  font-size:13px;
  line-height:1.55;
}
.table-head strong{
  font-size:17px;
}
.table-head a{
  font-size:13px;
}
.member-name strong{
  font-size:14px;
}
.member-name span,
.member-row>span{
  font-size:12.5px;
}
.status{
  font-size:11.5px;
}

/* Mitglieder */
.members-head{
  font-size:12px;
}
.member-main b{
  font-size:14px;
}
.member-main small{
  font-size:11.5px;
  line-height:1.35;
  color:#6d7972;
}
.members-row>span:not(.member-main){
  font-size:13px;
}
.members-row em{
  font-size:11.5px;
}
.members-foot{
  font-size:12px;
}
.member-hero small,
.sheet-kicker{
  font-size:11px;
}
.member-hero span{
  font-size:13px;
}
.detail-grid span{
  font-size:11px;
}
.detail-grid strong{
  font-size:14px;
  line-height:1.4;
}
.sheet-intro{
  font-size:14px;
  line-height:1.65;
}

/* Beiträge & Zahlungen */
.contribution-summary span{
  font-size:13px;
}
.contribution-action strong{
  font-size:16px;
}
.contribution-action span{
  font-size:12.5px;
  line-height:1.55;
}
.eyebrow{
  font-size:11px;
}
.simple-section-head p{
  font-size:13.5px;
  line-height:1.55;
}
.payment-row>strong,
.open-row>strong{
  font-size:14px;
}
.open-row>span:nth-of-type(2),
.paid-check{
  font-size:12px;
}
.sepa-check span{
  font-size:11px;
}
.mark-paid,
.tiny-action,
.outline-button{
  font-size:12px;
}

/* Einstellungen */
.settings-form,
.settings-form~.settings-card{
  max-width:920px;
}
.settings-card{
  padding:28px;
}
.settings-title{
  gap:14px;
  margin-bottom:24px;
}
.settings-title>span{
  width:36px;
  height:36px;
  font-size:14px;
}
.settings-title h2{
  font-size:20px;
  line-height:1.2;
}
.settings-title p{
  font-size:13px;
  line-height:1.5;
}
.logo-settings-copy>span,
.avv-settings-row span,
.billing-settings-row span,
.danger-copy p,
.delete-blocked p,
.delete-status{
  font-size:12.5px;
  line-height:1.6;
}
.logo-upload-button,
.logo-remove-button,
.avv-settings-row a,
.billing-settings-row a,
.delete-blocked a{
  font-size:12px;
}

/* Team */
.team-role-help{
  font-size:12.5px;
  line-height:1.6;
}
.team-message{
  font-size:12.5px;
  line-height:1.5;
}
.team-person strong{
  font-size:13.5px;
}
.team-person span{
  font-size:12px;
}
.team-role-badge,
.team-remove{
  font-size:11.5px;
}
.team-empty{
  font-size:12.5px;
}

/* Digitale Beitritte */
#joinsPage>.settings-card{
  max-width:1320px;
}
.join-link-row input,
.join-mail-row input{
  min-height:50px;
  font-size:14px;
}
.join-pdf-box{
  grid-template-columns:minmax(0,1fr) auto auto auto;
  gap:12px;
  padding:16px 0;
}
.join-pdf-box strong{
  font-size:13.5px;
}
.join-pdf-box span{
  font-size:12px;
  line-height:1.5;
}
.join-pdf-preview{
  min-height:42px;
  font-size:12px;
}
.join-pdf-box .logo-remove-button[hidden]{
  display:none!important;
}
.join-app-head strong{
  font-size:15px;
}
.join-app-head span{
  font-size:12px;
}
.join-status{
  min-height:30px;
  font-size:11px;
}
.join-app-grid>div{
  padding:12px;
}
.join-app-grid span{
  font-size:11px;
}
.join-app-grid b{
  font-size:12.5px;
  line-height:1.4;
}
.join-filter .tiny-action{
  min-height:38px;
  padding:0 12px;
}

/* Öffentlicher Beitritt */
.join-public-brand small{
  font-size:11px;
}
.join-public-brand p{
  font-size:14px;
}
.join-pdf-link{
  font-size:12.5px;
}
.join-fee-info span{
  font-size:12.5px;
}
.legal-check{
  font-size:13px;
  line-height:1.6;
}

/* Import, Korrektur, Erinnerungen – keine Mikroschrift mehr */
.mapping-grid label>span,
.mapping-note,
.year-setup span,
.correction-head span,
.paid-with-date b,
.reminder-batch-row strong,
.network-status,
.app-load-error span{
  font-size:12px;
}
.preview-table small,
.correction-card-head span,
.duplicate-found strong,
.duplicate-found span,
.reminder-meta,
.reminder-batch-row>div:first-child span,
.reminder-email-ok,
.reminder-email-missing,
.reminder-batch-contact button{
  font-size:11px;
}
.correction-skip,
.correction-grid label>span,
.paid-with-date small,
.payment-edit,
.duplicate-note,
.payment-booking-summary span,
.reminder-batch-stats span,
.preview-table .preview-error em{
  font-size:10.5px;
}

/* Mobile: lesbar trotz 6 Hauptpunkte */
@media(max-width:900px){
  .app-main{
    padding:24px 16px calc(106px + env(safe-area-inset-bottom));
  }
  .app-main>*{
    max-width:none;
  }
  .topline h1{
    font-size:30px;
  }
  .topline p{
    font-size:13.5px;
  }
  .mobile-top .simple-brand{
    font-size:13px;
  }
  .mobile-top>span{
    font-size:12px;
  }
  .mobile-bottom-nav{
    grid-template-columns:repeat(6,1fr);
  }
  .mobile-bottom-nav span{
    font-size:9.5px;
  }
  .mobile-bottom-nav i{
    font-size:17px;
  }
}
@media(max-width:620px){
  .settings-card{
    padding:22px 18px;
  }
  .join-pdf-box{
    grid-template-columns:1fr;
  }
}
@media(max-width:380px){
  .mobile-bottom-nav span{
    font-size:8.5px;
  }
}

.join-pdf-link[hidden],.join-public-brand[hidden]{display:none!important}


/* =========================================================
   VEREINSFACH – Typografie-Politur v2
   Ruhiger, hochwertiger, klarer statt einfach nur größer
   ========================================================= */
:root{
  --ink:#17231d;
  --muted:#536159;
  --soft-text:#6b776f;
}
html,body,
button,input,select,textarea{
  font-family:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}
body{
  font-size:15px;
  line-height:1.58;
  letter-spacing:-.005em;
}
.app-main>*{
  max-width:1180px;
}
#joinsPage>.settings-card{
  max-width:1180px;
}

/* Überschriften: weniger schwer, mehr Ruhe */
.topline h1,
.member-hero h2,
.side-sheet>h2,
.step h1,
.auth-card h2,
.simple-section h2,
.settings-title h2,
.join-public-brand h1,
.join-public-success h2,
.join-public-error h2{
  font-family:"Segoe UI Variable Display","Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;
  font-weight:700;
}
.topline h1{
  font-size:36px;
  line-height:1.12;
  letter-spacing:-.028em;
}
.topline p{
  max-width:720px;
  font-size:14.5px;
  line-height:1.6;
  color:#5d6a62;
}
.settings-title h2{
  font-size:21px;
  letter-spacing:-.015em;
}
.settings-title p{
  max-width:760px;
  font-size:13.5px;
  color:#657169;
}
.simple-section h2{
  font-size:22px;
  letter-spacing:-.02em;
}

/* Karten: definierter, aber nicht schwer */
.settings-card,
.table-card,
.members-card,
.simple-section,
.summary>div,
.summary>a,
.action-card,
.contribution-summary>div,
.join-app-card{
  border-color:#d8dfda;
  box-shadow:0 1px 2px rgba(19,35,27,.025);
}
.settings-card{
  border-radius:18px;
}
.settings-title>span{
  font-weight:750;
}
.action-card strong,
.table-head strong,
.member-name strong,
.member-main b,
.payment-row>strong,
.open-row>strong,
.join-app-head strong{
  font-weight:700;
}

/* Fließtext und Hinweise */
.micro,
.settings-title p,
.action-card span,
.contribution-action span,
.simple-section-head p,
.sheet-intro,
.team-role-help,
.join-pdf-box span,
.join-app-head span,
.join-public-brand p,
.danger-copy p,
.avv-settings-row span,
.billing-settings-row span{
  color:#5e6b63!important;
}
.micro{
  text-align:left;
}
.join-link-card .micro{
  text-align:center;
}

/* Formulare: klarer Fokus */
.field label{
  font-weight:650;
  color:#26362e;
}
.field input,
.field select,
.join-link-row input,
.join-mail-row input{
  border-color:#ced7d0;
  background:#fcfdfc;
  color:#17231d;
}
.field input::placeholder,
.join-link-row input::placeholder,
.join-mail-row input::placeholder{
  color:#8a958e;
}
.field input:focus,
.field select:focus,
.join-link-row input:focus,
.join-mail-row input:focus{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(35,122,85,.10);
}

/* Buttons: nicht zu fett, dafür eindeutiger */
.primary,
.small-primary,
.import-button,
.secondary-wide,
.outline-button,
.mark-paid,
.tiny-action,
.logo-upload-button,
.logo-remove-button,
.danger-button,
.billing-side-action{
  font-weight:700;
  letter-spacing:-.005em;
}
.primary,
.small-primary{
  box-shadow:0 1px 2px rgba(12,47,31,.08);
}

/* Sidebar: ruhige Navigation */
.side .simple-brand{
  font-weight:750;
}
.nav-list a{
  font-weight:650;
  letter-spacing:-.005em;
}
.nav-list a.active{
  background:rgba(88,215,150,.13);
}
.club-mini strong{
  font-weight:700;
}
.club-mini span{
  color:rgba(255,255,255,.64);
}

/* Tabellen / Status */
.members-head{
  color:#657169;
  font-weight:700;
  letter-spacing:.045em;
}
.member-main small,
.member-name span,
.member-row>span,
.members-foot{
  color:#66736b;
}
.status,
.members-row em,
.join-status,
.team-role-badge{
  font-weight:700;
}
.detail-grid span,
.sepa-check span,
.eyebrow{
  letter-spacing:.04em;
}

/* Digitale Beitritte: klarere Hierarchie */
#joinsPage .settings-title{
  margin-bottom:20px;
}
.join-link-row,
.join-mail-row{
  gap:12px;
}
.join-link-row input,
.join-mail-row input{
  font-size:14.5px;
}
.join-pdf-box{
  background:#fafcfb;
  border:1px solid #e1e6e2;
  border-radius:13px;
  padding:14px 16px;
}
.join-pdf-box strong{
  font-size:14px;
}
.join-pdf-preview{
  font-weight:700;
}
.join-filter{
  margin-top:4px;
}
.join-filter .tiny-action{
  border-color:#d3dbd5;
}
.join-app-grid>div{
  background:#f7f9f7;
  border:1px solid #edf1ee;
}
.join-app-grid span{
  color:#657169;
  font-weight:600;
}
.join-app-grid b{
  font-weight:700;
}

/* Öffentliche Beitrittsseite */
.join-public-shell{
  width:min(720px,calc(100% - 28px));
}
.join-public-brand h1{
  font-size:clamp(32px,6vw,44px);
  line-height:1.08;
  letter-spacing:-.03em;
}
.join-public-brand p{
  max-width:540px;
  color:#5d6a62;
}
.join-public-form{
  border-color:#d8dfda;
  box-shadow:0 18px 48px rgba(20,40,30,.055);
}
.join-fee-info{
  background:#f2f7f4;
}

/* Desktop-Lesefluss */
@media(min-width:901px){
  .app-main{
    padding-top:40px;
  }
  .settings-form,
  .settings-form~.settings-card{
    max-width:900px;
  }
  #joinsPage{
    max-width:1180px;
  }
}

/* Mobile bleibt klar und nicht gequetscht */
@media(max-width:900px){
  body{
    font-size:14px;
  }
  .topline h1{
    font-size:29px;
  }
  .settings-title h2{
    font-size:19px;
  }
  .nav-list a{
    font-size:14px;
  }
}


/* VEREINSFACH – Sidebar Beitritte statt Hauptnavigation */
.joins-side-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:12px 11px;
  margin-bottom:9px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:11px;
  background:rgba(255,255,255,.055);
  color:#fff;
  text-decoration:none;
  transition:.16s ease;
}
.joins-side-action:hover,
.joins-side-action.active{
  background:rgba(65,190,128,.16);
  border-color:rgba(102,219,161,.22);
}
.joins-side-action>span{
  min-width:0;
  display:grid;
  gap:2px;
}
.joins-side-action strong{
  font-size:12px;
  line-height:1.25;
  font-weight:750;
  color:#fff;
}
.joins-side-action small{
  font-size:9.5px;
  line-height:1.3;
  color:rgba(255,255,255,.58);
}
.joins-side-action>b{
  min-width:27px;
  height:27px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff;
  color:#173e2d;
  font-size:11px;
  font-weight:800;
}
.mobile-bottom-nav{
  grid-template-columns:repeat(5,1fr);
}
@media(max-width:900px){
  .mobile-bottom-nav{
    grid-template-columns:repeat(5,1fr);
  }
}


/* VEREINSFACH – Beitragsarten */
.contribution-types-manager{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.contribution-types-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.contribution-types-head>div{
  display:grid;
  gap:3px;
}
.contribution-types-head strong{
  font-size:14px;
  font-weight:700;
  color:var(--ink);
}
.contribution-types-head span{
  font-size:12.5px;
  line-height:1.5;
  color:var(--muted);
}
.contribution-types-head .secondary-wide{
  width:auto;
  flex:0 0 auto;
  min-height:42px;
}
.contribution-type-rows{
  display:grid;
  gap:8px;
}
.contribution-type-empty{
  padding:14px 15px;
  border:1px dashed #d4ddd6;
  border-radius:11px;
  background:#fafcfb;
  color:#69766e;
  font-size:12.5px;
}
.contribution-type-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border:1px solid #dce3de;
  border-radius:11px;
  background:#fafcfb;
}
.contribution-type-row>div:first-child{
  display:grid;
  gap:2px;
}
.contribution-type-row>div:first-child strong{
  font-size:13.5px;
  font-weight:700;
}
.contribution-type-row>div:first-child span{
  font-size:12px;
  color:var(--muted);
}
.contribution-type-default{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:0 9px;
  border-radius:999px;
  background:#e9f5ee;
  color:var(--green);
  font-size:10.5px;
  font-weight:750;
}
.contribution-type-actions{
  display:flex;
  align-items:center;
  gap:5px;
}
.contribution-type-actions button{
  border:0;
  background:transparent;
  padding:7px;
  color:var(--green);
  font:700 11px/1 "Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;
  cursor:pointer;
}
.contribution-type-actions button.danger{
  color:#a34837;
}
.contribution-type-editor{
  margin-top:12px;
  padding:16px;
  border:1px solid #cfdad2;
  border-radius:13px;
  background:#f7faf8;
}
.contribution-type-editor-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.contribution-type-editor-head strong{
  font-size:14px;
}
.contribution-type-editor-head button{
  border:0;
  background:transparent;
  color:var(--muted);
  font-weight:700;
  cursor:pointer;
}
.contribution-default-check{
  margin:0 0 14px;
}
.contribution-type-message{
  margin:10px 0 0;
  padding:10px 12px;
  border-radius:9px;
  font-size:12px;
  font-weight:650;
}
.contribution-type-message.success{
  background:#eaf7ef;
  color:#24704f;
}
.contribution-type-message.error{
  background:#fff1ed;
  color:#9b4838;
}

/* Beitragswahl im öffentlichen Online-Beitritt */
.join-contribution-choice{
  margin:4px 0 16px;
}
.join-contribution-choice .field-label-row{
  margin-bottom:8px;
}
.join-contribution-choice .field-label-row label{
  font-size:13.5px;
  font-weight:650;
  color:#26362e;
}
.join-contribution-choice .field-label-row span{
  font-size:11.5px;
  color:var(--muted);
}
.join-contribution-options{
  display:grid;
  gap:8px;
}
.join-contribution-option{
  position:relative;
  display:block;
  cursor:pointer;
}
.join-contribution-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.join-contribution-option>span{
  min-height:58px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  border:1px solid #d4ddd6;
  border-radius:12px;
  background:#fff;
  transition:.14s ease;
}
.join-contribution-option strong{
  font-size:13.5px;
  font-weight:700;
  color:var(--ink);
}
.join-contribution-option b{
  flex:0 0 auto;
  font-size:12.5px;
  font-weight:750;
  color:var(--green);
}
.join-contribution-option input:checked+span{
  border-color:var(--green);
  background:#f0f7f3;
  box-shadow:0 0 0 2px rgba(35,122,85,.10);
}
.join-contribution-option input:focus-visible+span{
  outline:3px solid rgba(35,122,85,.15);
  outline-offset:2px;
}

/* Beitragswahl auf der Standard-Beitrittserklärung */
.paper-contribution-types{
  display:grid;
  gap:8px;
}
.paper-contribution-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 0;
}
.paper-contribution-row i{
  width:14px;
  height:14px;
  flex:0 0 14px;
  border:1.5px solid #526159;
  border-radius:2px;
}
.paper-contribution-row span{
  display:flex;
  justify-content:space-between;
  gap:16px;
  width:100%;
}
.paper-contribution-row strong,
.paper-contribution-row b{
  font-size:10.5px;
}
.paper-contribution-row b{
  font-weight:700;
  color:#365647;
}

@media(max-width:620px){
  .contribution-types-head{
    align-items:stretch;
    flex-direction:column;
  }
  .contribution-types-head .secondary-wide{
    width:100%;
  }
  .contribution-type-row{
    grid-template-columns:1fr;
  }
  .contribution-type-actions{
    justify-content:flex-start;
  }
  .join-contribution-option>span{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}


/* VEREINSFACH – Beitragslayout Feinschliff */
.field{
  align-content:start;
}
.contribution-base-row,
.contribution-editor-row{
  align-items:start;
}
.contribution-base-row>.field,
.contribution-editor-row>.field{
  align-self:start;
  grid-auto-rows:max-content;
}
.contribution-base-row .field label,
.contribution-editor-row .field label{
  min-height:20px;
  display:flex;
  align-items:center;
}
.contribution-base-row .field input,
.contribution-editor-row .field input{
  margin-top:0;
}
.contribution-base-row .micro{
  margin-top:6px!important;
  min-height:19px;
  text-align:left!important;
}
.contribution-types-manager{
  margin-top:22px;
  padding-top:22px;
}
.contribution-types-head{
  min-height:58px;
  align-items:center;
}
.contribution-types-head .secondary-wide{
  min-height:46px;
  padding:0 17px;
}
.contribution-type-editor{
  padding:20px;
}
.contribution-type-editor-head{
  min-height:32px;
  margin-bottom:18px;
}
.contribution-type-editor-head strong{
  font-size:15px;
  line-height:1.3;
}
.contribution-type-editor-head button{
  min-height:32px;
  padding:0 2px;
  display:inline-flex;
  align-items:center;
}
.contribution-type-editor .field{
  margin-bottom:14px;
}
.contribution-default-check{
  min-height:56px;
  display:flex;
  align-items:center;
  padding:0 16px;
  margin:2px 0 16px;
}
.contribution-type-editor>.primary{
  height:50px;
}
@media(max-width:620px){
  .contribution-base-row,
  .contribution-editor-row{
    grid-template-columns:1fr;
  }
  .contribution-base-row .micro{
    min-height:0;
  }
}


/* VEREINSFACH – vorbereitete Beitrittslinks */
.join-link-options{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  margin-bottom:4px;
}
.join-link-options .field{
  margin-bottom:10px;
}
.join-link-options .field select,
.join-link-options .field input{
  width:100%;
}
.paper-contribution-row.selected{
  background:#eef7f2;
  border-radius:7px;
  padding-left:7px;
  padding-right:7px;
}
.paper-contribution-row.selected i{
  display:grid;
  place-items:center;
  background:var(--g,#237a55);
  border-color:var(--g,#237a55);
  color:#fff;
  font-style:normal;
  font-size:9px;
  font-weight:900;
}
#stdGroupValue{
  min-height:28px;
  display:flex;
  align-items:flex-end;
  padding:0 2px 4px;
  font-size:11px;
  font-weight:700;
  color:#1d2d24;
  text-transform:none;
  letter-spacing:0;
}
@media(max-width:700px){
  .join-link-options{
    grid-template-columns:1fr;
  }
}


/* VEREINSFACH – SEPA Prüfliste */
.sepa-issue-list{
  display:grid;
  gap:7px;
  margin:10px 0 14px;
}
.sepa-issue-list[hidden]{
  display:none!important;
}
.sepa-issue-row{
  display:grid;
  grid-template-columns:minmax(130px,.8fr) minmax(0,1.4fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid #ead8d1;
  border-radius:10px;
  background:#fff7f3;
}
.sepa-issue-row strong{
  font-size:12px;
  font-weight:750;
  color:#2b3730;
}
.sepa-issue-row span{
  font-size:11.5px;
  line-height:1.45;
  color:#9a4b38;
}
#prepareSepa:disabled{
  opacity:.5;
  cursor:not-allowed;
}
@media(max-width:520px){
  .sepa-issue-row{
    grid-template-columns:1fr;
    gap:3px;
  }
}


/* VEREINSFACH – Abteilungen & Gruppen */
.department-manager{
  display:grid;
  gap:10px;
}
.department-add-field .secondary-wide{
  min-height:51px;
}
.department-rows{
  display:grid;
  gap:8px;
}
.department-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:48px;
  padding:10px 13px;
  border:1px solid #dce3de;
  border-radius:11px;
  background:#fafcfb;
}
.department-row span{
  min-width:0;
  font-size:13.5px;
  font-weight:700;
  overflow-wrap:anywhere;
}
.department-row button{
  border:0;
  background:transparent;
  padding:7px;
  color:#a44332;
  font:700 11px/1 "Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;
  cursor:pointer;
}
.department-empty{
  padding:14px 15px;
  border:1px dashed #d4ddd6;
  border-radius:11px;
  background:#fafcfb;
  color:#69766e;
  font-size:12.5px;
}
.department-manager>.micro{
  text-align:left!important;
  margin:0!important;
}


/* VEREINSFACH – Teamstatus */
.team-role-badge.owner{
  background:#e7f3ec;
  color:#1f6e4b;
}
.team-role-badge.pending{
  background:#fff5dc;
  color:#8a6500;
}
.team-row.pending{
  background:#fffdf7;
}


/* VEREINSFACH – Schreibaktionen bei beendetem Zugang */
body.trial-expired [data-finance-new],
body.trial-expired [data-finance-edit],
body.trial-expired #saveFinance,
body.trial-expired #deleteFinance,
body.trial-expired #addDepartment,
body.trial-expired .department-row button,
body.trial-expired #addContributionType,
body.trial-expired #saveContributionType,
body.trial-expired .contribution-type-actions button,
body.trial-expired #teamInviteForm button[type="submit"],
body.trial-expired [data-accept-join],
body.trial-expired [data-reject-join],
body.trial-expired #joinPdfInput,
body.trial-expired .join-pdf-box .logo-upload-button,
body.trial-expired #removeJoinPdf,
body.trial-expired #copyJoinLink,
body.trial-expired #openJoinMail{
  opacity:.45!important;
  pointer-events:none!important;
  cursor:not-allowed!important;
}


/* VEREINSFACH – Hilfe, Support & Administration */
.support-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.support-quick-card{display:grid;gap:8px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;color:inherit;text-decoration:none;transition:.15s}
.support-quick-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(18,32,25,.08)}
.support-quick-card>span,.admin-section-head>div>span,.admin-login-card>span{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--green)}
.support-quick-card strong{font-size:17px}
.support-quick-card p,.admin-panel>p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.support-quick-card b{font-size:11px;color:var(--green)}
.support-form-card textarea{width:100%;min-height:170px;resize:vertical;border:1px solid var(--line);border-radius:11px;padding:13px 14px;background:#fff;color:var(--dark);font:13px/1.5 "Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;outline:none}
.support-form-card textarea:focus{border-color:#9ebcae;box-shadow:0 0 0 3px rgba(35,122,85,.08)}
.support-context{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;color:var(--muted);font-size:11px}
.support-context b{color:var(--dark)}
.support-save{align-items:center}
.support-message{margin:0;font-size:11px;font-weight:800}
.support-message.success{color:var(--green)}
.support-message.error{color:#a44332}
.support-history-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.support-history-row:last-child{border-bottom:0}
.support-history-row>div{display:flex;align-items:center;gap:10px;min-width:0}
.support-history-row strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.support-history-row small{font-size:10px;color:var(--muted);margin-left:auto}
.support-type,.support-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}
.support-type.support{background:#eaf5ef;color:#236b4a}
.support-type.idea{background:#eef0fb;color:#4d5f9a}
.support-status.new{background:#fff2de;color:#8a6500}
.support-status.in_review{background:#eef0fb;color:#536196}
.support-status.done{background:#eaf5ef;color:#236b4a}

.admin-body{background:#f4f6f3}
.admin-shell{width:min(1380px,calc(100% - 32px));margin:0 auto;padding:22px 0 60px}
.admin-head{display:flex;justify-content:space-between;align-items:center;padding:0 4px 20px;border-bottom:1px solid var(--line);margin-bottom:26px}
.admin-head>div{display:grid;text-align:right;gap:3px}.admin-head>div strong{font-size:12px}.admin-head>div span{font-size:10px;color:var(--muted)}
.admin-login-card{width:min(520px,100%);margin:60px auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px}
.admin-login-card h1{font-size:30px;margin:7px 0}.admin-login-card p{color:var(--muted);font-size:12px;line-height:1.55}
.admin-login-card form{display:grid;gap:13px;margin-top:22px}.admin-login-card label{display:grid;gap:6px;font-size:11px;font-weight:800}.admin-login-card input{min-height:48px;border:1px solid var(--line);border-radius:10px;padding:0 13px;font:13px inherit}
.admin-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.admin-topline>div:first-child>span{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--green)}
.admin-topline h1{margin:4px 0;font-size:36px;letter-spacing:-.04em}.admin-topline p{margin:0;color:var(--muted);font-size:12px}
.admin-topline>div:last-child{display:flex;gap:8px}
.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.admin-kpis>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:7px}
.admin-kpis span{font-size:10px;color:var(--muted);font-weight:800}.admin-kpis strong{font-size:28px;letter-spacing:-.04em}
.admin-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-bottom:14px}
.admin-panel{margin:0 0 14px}
.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.admin-section-head h2{margin:3px 0 0;font-size:20px}.admin-section-head a{font-size:11px;font-weight:800;color:var(--green)}
.admin-visitor-days{display:grid;gap:8px}
.admin-visitor-day{display:grid;grid-template-columns:48px 1fr 34px 72px;align-items:center;gap:9px;font-size:10px}
.admin-visitor-day>span,.admin-visitor-day>small{color:var(--muted)}.admin-visitor-day>b{text-align:right}
.admin-visitor-day>div{height:8px;border-radius:99px;background:#edf1ee;overflow:hidden}.admin-visitor-day i{display:block;height:100%;border-radius:99px;background:var(--green)}
.admin-club-head,.admin-club-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(230px,1fr) 130px 90px 150px;gap:14px;align-items:center}
.admin-club-head{padding:0 12px 9px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.admin-club-row{padding:13px 12px;border-top:1px solid var(--line);font-size:11px}.admin-club-row>div{display:grid;gap:3px}.admin-club-row>div span,.admin-club-row small{color:var(--muted);font-size:9px}.admin-club-row>span{display:grid;gap:2px}.admin-owner-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#39463f}
.admin-billing{display:inline-flex!important;width:max-content;padding:6px 9px;border-radius:999px;background:#eef1ef;font-size:9px!important;font-weight:900}
.admin-billing.active_monthly,.admin-billing.active_yearly{background:#eaf5ef;color:#236b4a}.admin-billing.payment_failed{background:#fff0e8;color:#9a4d31}
.admin-ticket{padding:16px 0;border-top:1px solid var(--line)}.admin-ticket:first-child{border-top:0}
.admin-ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-ticket-head>div{display:flex;align-items:center;gap:9px}.admin-ticket-head strong{font-size:13px}.admin-ticket-head>span{font-size:9px;color:var(--muted)}
.admin-ticket p{font-size:12px;line-height:1.6;color:#39463f;margin:12px 0}
.admin-ticket-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;color:var(--muted);font-size:9px}.admin-ticket-meta select{margin-left:auto;min-height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px;font-size:10px;font-weight:800}

@media(max-width:980px){
  .admin-kpis{grid-template-columns:repeat(2,1fr)}
  .admin-grid{grid-template-columns:1fr}
  .admin-club-head{display:none}
  .admin-club-row{grid-template-columns:1fr 1fr 100px 70px 120px}
}
@media(max-width:760px){
  .support-quick-grid{grid-template-columns:1fr}
  .support-history-row>div{display:grid;grid-template-columns:auto 1fr}.support-history-row small{margin-left:0}
  .admin-shell{width:min(100% - 20px,1380px)}
  .admin-topline{align-items:flex-start;flex-direction:column}.admin-topline>div:last-child{width:100%}.admin-topline button{flex:1}
  .admin-kpis{grid-template-columns:1fr 1fr}
  .admin-club-row{grid-template-columns:1fr;gap:8px}.admin-club-row>span:last-child{grid-column:auto}.admin-owner-email{white-space:normal}
  .admin-visitor-day{grid-template-columns:42px 1fr 28px}.admin-visitor-day small{display:none}
}

.admin-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media(max-width:600px){.admin-auth-actions{grid-template-columns:1fr}}


/* VEREINSFACH – Eintrittsbeitrag */
.entry-contribution-box{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:15px;background:#f8faf7}
.entry-contribution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.entry-contribution-head>div{display:grid;gap:4px}
.entry-contribution-head strong{font-size:13px}
.entry-contribution-head span{font-size:10px;color:var(--muted);line-height:1.45}
.entry-contribution-summary{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:11px;line-height:1.5;color:#445149}


/* Onboarding: lange Inhalte dürfen das 2-Spalten-Grid nicht verschieben */
.onboard .row > .field{min-width:0}
.onboard .field input,.onboard .field select{box-sizing:border-box;min-width:0;max-width:100%}
.onboard #controllerEmail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:680px){.onboard .row{grid-template-columns:1fr}}


/* VEREINSFACH – vorbereitete SEPA-Läufe */
.sepa-row-prepared{color:#1f7b55!important;font-weight:800}
.sepa-prepared-row{background:#fbfdfb}
.sepa-prepared-action{display:inline-flex;align-items:center;padding:7px 9px;border-radius:999px;background:#eaf5ef;color:#236b4a;font-size:9px;font-weight:900;white-space:nowrap}
.sepa-prepared-status{display:grid!important;gap:2px;background:#eaf5ef!important;color:#236b4a!important}
.sepa-prepared-status small{font-size:9px;font-weight:700;opacity:.8}
.sepa-prepared-info{display:grid;gap:8px;padding:12px;border:1px solid #cfe0d7;border-radius:11px;background:#f6fbf8;margin:10px 0}
.sepa-prepared-info>strong{font-size:11px}.sepa-prepared-info>span{font-size:10px;color:var(--muted)}
.sepa-prepared-batch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #dce8e1}
.sepa-prepared-batch>div{display:grid;gap:2px}.sepa-prepared-batch b{font-size:10px}.sepa-prepared-batch small{font-size:9px;color:var(--muted)}
.sepa-prepared-batch button{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:32px;padding:0 9px;font-size:9px;font-weight:800;cursor:pointer}


/* VEREINSFACH – öffentlicher SEPA-Beitritt */
.join-sepa-section{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8faf8}
.join-sepa-head{display:grid;gap:4px;margin-bottom:10px}
.join-sepa-head strong{font-size:13px}.join-sepa-head>span{font-size:10px;color:var(--muted);line-height:1.45}
.join-sepa-mandate{margin:10px 0 14px;padding:12px;border:1px solid #dce8e1;border-radius:10px;background:#fff}
.join-sepa-mandate strong{display:block;font-size:10px;margin-bottom:5px}
.join-sepa-mandate p{margin:0;font-size:10px;line-height:1.55;color:#48554e}


/* VEREINSFACH – globaler Responsive-Schutz */
.row > *,
.field,
.admin-club-row > *,
.team-row > *,
.join-app-grid > *,
.payment-row > *,
.open-row > *{
  min-width:0;
}
.field input,
.field select,
.field textarea{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}
.mobile-bottom-nav{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.mobile-bottom-nav a{
  min-width:0;
}
.mobile-bottom-nav span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:900px){
  .mobile-bottom-nav{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}


/* =========================================================
   VEREINSFACH – Produktdesign v3
   ruhig · hochwertig · klar · vereinstauglich
   ========================================================= */
:root{
  --green:#207653;
  --green-deep:#15583e;
  --green-bright:#53cf91;
  --dark:#0d2118;
  --ink:#16241c;
  --muted:#657269;
  --bg:#f4f6f2;
  --card:#ffffff;
  --line:#dbe2dc;
  --line-strong:#cbd5cd;
  --soft:#eaf5ef;
  --soft-2:#f7faf7;
  --warn:#a85c2b;
  --danger:#a74738;
  --shadow-sm:0 2px 8px rgba(20,42,31,.035),0 1px 2px rgba(20,42,31,.025);
  --shadow-md:0 14px 34px rgba(17,42,29,.075),0 2px 8px rgba(17,42,29,.035);
  --shadow-lg:0 28px 70px rgba(12,31,22,.14);
}
html{
  background:var(--bg);
}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 78% 0%,rgba(83,207,145,.055),transparent 28rem),
    linear-gradient(180deg,#f7f9f6 0,#f3f5f1 100%);
}
::selection{
  background:rgba(32,118,83,.18);
  color:var(--dark);
}
button,
a,
input,
select,
textarea{
  -webkit-tap-highlight-color:transparent;
}
button,
a{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(32,118,83,.16);
  outline-offset:2px;
}

/* Brand */
.simple-brand{
  letter-spacing:.045em;
  font-weight:800;
}
.simple-brand svg{
  filter:drop-shadow(0 5px 10px rgba(32,118,83,.18));
}

/* Auth */
.auth-shell{
  background:#fff;
}
.auth-left{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 12%,rgba(92,225,157,.18),transparent 22rem),
    radial-gradient(circle at 86% 76%,rgba(39,137,94,.22),transparent 27rem),
    linear-gradient(145deg,#081a12 0%,#0d2c1f 55%,#123927 100%);
  padding:56px clamp(40px,5vw,76px);
}
.auth-left:before,
.auth-left:after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  pointer-events:none;
}
.auth-left:before{
  width:440px;height:440px;
  right:-190px;top:-150px;
}
.auth-left:after{
  width:280px;height:280px;
  left:-130px;bottom:-110px;
}
.auth-left>*{
  position:relative;
  z-index:1;
}
.auth-left h1{
  max-width:680px;
  font-size:clamp(46px,5.2vw,72px);
  line-height:.99;
  font-weight:750;
  letter-spacing:-.052em;
}
.auth-left h1 span{
  color:#6ee0a7;
}
.auth-left p{
  color:rgba(255,255,255,.69);
  font-size:17px;
}
.auth-points{
  color:rgba(255,255,255,.82);
}
.auth-right{
  background:
    radial-gradient(circle at 70% 15%,rgba(32,118,83,.05),transparent 21rem),
    #fbfcfa;
  padding:40px;
}
.auth-card{
  border:1px solid rgba(204,216,207,.86);
  border-radius:26px;
  padding:38px;
  box-shadow:var(--shadow-lg);
}
.auth-card h2{
  font-size:32px;
  font-weight:740;
}
.auth-card>p{
  color:#68756d;
}

/* Formulare */
.field{
  gap:8px;
}
.field label{
  font-size:12.5px;
  font-weight:700;
  color:#2d3a32;
}
.field input,
.field select,
.field textarea,
.support-form-card textarea,
.join-link-row input,
.join-mail-row input{
  border:1px solid #ccd7cf;
  border-radius:12px;
  background:#fcfdfc;
  color:var(--ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.field input:hover,
.field select:hover,
.field textarea:hover,
.support-form-card textarea:hover,
.join-link-row input:hover,
.join-mail-row input:hover{
  border-color:#b9c9be;
}
.field input:focus,
.field select:focus,
.field textarea:focus,
.support-form-card textarea:focus,
.join-link-row input:focus,
.join-mail-row input:focus{
  background:#fff;
  border-color:#76aa91;
  box-shadow:0 0 0 4px rgba(32,118,83,.085);
}
.field input::placeholder,
.field textarea::placeholder,
.support-form-card textarea::placeholder,
.join-mail-row input::placeholder{
  color:#9aa49e;
}

/* Buttons */
.primary,
.next,
.small-primary{
  background:linear-gradient(180deg,#27845e 0%,#1e6f4f 100%);
  border:1px solid rgba(14,82,55,.15);
  box-shadow:0 7px 16px rgba(27,111,76,.16),inset 0 1px 0 rgba(255,255,255,.17);
}
.primary:hover:not(:disabled),
.next:hover:not(:disabled),
.small-primary:hover:not(:disabled){
  filter:none;
  background:linear-gradient(180deg,#2a8c64 0%,#207653 100%);
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(27,111,76,.20),inset 0 1px 0 rgba(255,255,255,.17);
}
.primary:active:not(:disabled),
.next:active:not(:disabled),
.small-primary:active:not(:disabled){
  transform:translateY(0);
  box-shadow:0 4px 10px rgba(27,111,76,.14);
}
.secondary-wide,
.back,
.import-button,
.outline-button,
.tiny-action{
  border-color:#d0d9d2;
  background:linear-gradient(180deg,#fff,#fafcfb);
  color:#2d3d34;
  box-shadow:0 1px 2px rgba(20,42,31,.025);
}
.secondary-wide:hover:not(:disabled),
.back:hover:not(:disabled),
.import-button:hover:not(:disabled),
.outline-button:hover:not(:disabled),
.tiny-action:hover:not(:disabled){
  border-color:#b9c9be;
  background:#f7faf8;
  color:var(--green-deep);
}
.danger-link{
  border-radius:9px;
}
.danger-link:hover{
  background:#fff2ef;
}

/* Onboarding */
.onboard{
  background:
    radial-gradient(circle at 75% 10%,rgba(83,207,145,.06),transparent 23rem),
    #f5f7f3;
}
.onboard-top{
  height:82px;
  border-color:#e0e5e0;
  box-shadow:0 1px 0 rgba(22,36,28,.02);
}
.onboard-main{
  width:min(760px,calc(100% - 28px));
}
.progress{
  height:5px;
  background:#e0e6e1;
}
.progress i{
  background:linear-gradient(90deg,var(--green),var(--green-bright));
  box-shadow:0 0 14px rgba(83,207,145,.22);
}
.step h1{
  font-weight:740;
  letter-spacing:-.042em;
}
.step>.intro{
  color:#66736b;
}
.form-card{
  border-color:#dce3dd;
  border-radius:24px;
  box-shadow:var(--shadow-md);
}

/* Haupt-App */
.app-shell{
  grid-template-columns:252px minmax(0,1fr);
}
.side{
  position:sticky;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 0%,rgba(83,207,145,.14),transparent 18rem),
    linear-gradient(180deg,#0b2017 0%,#0d291d 58%,#0b2118 100%);
  padding:26px 17px 20px;
  border-right:1px solid rgba(255,255,255,.04);
}
.side:after{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  border:1px solid rgba(255,255,255,.04);
  border-radius:50%;
  left:-190px;
  bottom:-130px;
  pointer-events:none;
}
.side>*{
  position:relative;
  z-index:1;
}
.side .simple-brand{
  padding:2px 10px 26px;
  border-bottom:1px solid rgba(255,255,255,.075);
  font-size:13px;
}
.club-mini{
  margin:12px 0 10px;
  padding:14px 10px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.club-mini strong{
  font-size:12.5px;
}
.club-mini span{
  color:rgba(255,255,255,.48);
}
.nav-list{
  gap:4px;
}
.nav-list a{
  position:relative;
  padding:12px 13px;
  border-radius:10px;
  color:rgba(255,255,255,.61);
  font-weight:650;
}
.nav-list a:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:3px;
  height:0;
  border-radius:99px;
  background:#62daa0;
  transform:translateY(-50%);
  transition:.16s ease;
}
.nav-list a:hover{
  background:rgba(255,255,255,.045);
  color:#fff;
}
.nav-list a.active{
  background:linear-gradient(90deg,rgba(83,207,145,.15),rgba(83,207,145,.055));
  color:#fff;
}
.nav-list a.active:before{
  height:20px;
}
.side-bottom{
  padding:14px 8px 2px;
}
.joins-side-action{
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.085);
}
.joins-side-action:hover{
  transform:translateY(-1px);
}
.trial-side-status{
  border-radius:10px;
}
.logout-button{
  border-radius:10px;
}

/* Inhaltsfläche */
.app-main{
  padding:42px clamp(24px,3.4vw,50px) 72px;
  background:
    radial-gradient(circle at 92% 0%,rgba(83,207,145,.035),transparent 24rem);
}
.app-main>*{
  max-width:1200px;
}
.topline{
  margin-bottom:30px;
}
.topline h1{
  font-size:38px;
  font-weight:735;
  letter-spacing:-.036em;
  color:#13231a;
}
.topline p{
  margin-top:7px;
  font-size:14px;
  color:#68756d;
}
.year-pill{
  border-color:#d4ddd6;
  border-radius:12px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-sm);
}

/* Karten */
.summary>div,
.summary>a,
.action-card,
.table-card,
.members-card,
.simple-section,
.settings-card,
.contribution-summary>div,
.finance-summary>div,
.finance-section,
.support-quick-card,
.admin-panel,
.admin-kpis>div,
.join-app-card{
  border-color:#dbe2dc;
  background:rgba(255,255,255,.94);
  box-shadow:var(--shadow-sm);
}
.summary>div,
.summary>a,
.action-card,
.contribution-summary>div,
.finance-summary>div,
.support-quick-card,
.admin-kpis>div{
  border-radius:18px;
}
.table-card,
.members-card,
.simple-section,
.settings-card,
.finance-section,
.admin-panel{
  border-radius:20px;
}
.summary .progress-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 0%,rgba(99,223,164,.19),transparent 14rem),
    linear-gradient(135deg,#123525,#0b2118);
  border-color:#133426;
  box-shadow:0 16px 34px rgba(13,37,27,.14);
}
.summary .progress-card:after{
  content:"";
  position:absolute;
  width:150px;height:150px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  right:-58px;bottom:-74px;
}
.summary strong,
.contribution-summary strong,
.finance-summary strong{
  font-weight:735;
}
.action-card{
  min-height:154px;
  padding:23px;
}
.action-card:hover{
  transform:translateY(-3px);
  border-color:#cbd8cf;
  box-shadow:var(--shadow-md);
}
.action-card i{
  width:46px;height:46px;
  border-radius:13px;
  background:linear-gradient(145deg,#eef8f2,#e2f1e9);
  box-shadow:inset 0 0 0 1px rgba(32,118,83,.04);
}
.action-card strong{
  font-size:16.5px;
  font-weight:720;
}

/* Listen und Tabellen */
.table-head,
.members-head{
  background:linear-gradient(180deg,#fafcfb,#f6f9f6);
}
.table-head{
  padding:19px 22px;
}
.member-row,
.members-row,
.payment-row,
.open-row,
.finance-row{
  transition:background-color .14s ease;
}
.member-row:hover,
.members-row:hover,
.payment-row:hover,
.open-row:hover,
.finance-row:hover{
  background:#f8fbf9;
}
.members-row{
  border-bottom-color:#edf1ee;
}
.member-main i,
.avatar{
  background:linear-gradient(145deg,#eef7f2,#e5f2ea);
  border:1px solid #dbeadf;
}
.status-open{
  background:#fff3e8;
}
.status-paid{
  background:#e8f6ee;
}
.status-none{
  background:#eef1ef;
  color:#66746c;
}

/* Einstellungen */
.settings-form,
.settings-form~.settings-card{
  max-width:940px;
}
.settings-card{
  padding:30px;
  margin-bottom:16px;
}
.settings-title{
  align-items:flex-start;
}
.settings-title>span{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:11px;
  background:linear-gradient(145deg,#eaf6ef,#e0f0e7);
  border:1px solid #d5e6dc;
  color:var(--green);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.settings-title h2{
  font-size:20.5px;
  font-weight:730;
}
.settings-title p{
  color:#69766e;
}
.logo-preview-shell,
.club-logo-shell{
  box-shadow:0 6px 18px rgba(16,49,33,.08);
}
.contribution-type-row,
.department-row{
  background:#fbfdfb;
  border-color:#dbe3dd;
}

/* Sheets / Dialoge */
.sheet-backdrop{
  background:rgba(6,20,13,.50);
  backdrop-filter:blur(5px);
}
.side-sheet{
  border-left:1px solid rgba(255,255,255,.8);
  box-shadow:-30px 0 80px rgba(5,22,13,.22);
}
.sheet-close{
  border-color:#d4ddd6;
  box-shadow:var(--shadow-sm);
}
.sheet-close:hover{
  transform:rotate(4deg);
  background:#f5f8f6;
}
.member-hero{
  padding-top:38px;
}
.member-hero>i{
  border:1px solid #d8e7dd;
  box-shadow:0 5px 14px rgba(32,118,83,.08);
}
.detail-grid>div{
  background:#fbfdfb;
  border-color:#dce4de;
}

/* Hinweise */
.auth-message{
  border:1px solid #e1e6e2;
}
.auth-message.error{
  border-color:#f0d7d1;
}
.auth-message.success{
  border-color:#cce5d6;
}
.toast{
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 45px rgba(4,21,12,.25);
  padding:13px 18px;
}

/* Support */
.support-quick-card{
  padding:24px;
}
.support-quick-card:hover{
  transform:translateY(-3px);
  border-color:#cbd8cf;
  box-shadow:var(--shadow-md);
}
.support-quick-card>span,
.admin-section-head>div>span,
.admin-login-card>span{
  letter-spacing:.16em;
}
.support-type,
.support-status{
  border:1px solid transparent;
}
.support-history-row{
  padding:15px 0;
}

/* Admin */
.admin-body{
  background:
    radial-gradient(circle at 82% 2%,rgba(83,207,145,.055),transparent 25rem),
    #f4f6f3;
}
.admin-shell{
  padding-top:28px;
}
.admin-head{
  padding-bottom:22px;
}
.admin-login-card{
  border-color:#d7e0d9;
  border-radius:24px;
  box-shadow:var(--shadow-lg);
}
.admin-topline h1{
  font-size:38px;
  font-weight:735;
}
.admin-kpis>div{
  padding:20px;
}
.admin-kpis strong{
  font-size:30px;
  font-weight:735;
}
.admin-club-row{
  border-top-color:#edf1ee;
}
.admin-club-row:hover{
  background:#f8fbf9;
}
.admin-billing{
  border:1px solid rgba(20,42,31,.04);
}

/* Digitale Beitritte */
.join-link-card{
  position:relative;
  overflow:hidden;
}
.join-link-card:after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-100px;top:-100px;
  border-radius:50%;
  background:rgba(83,207,145,.055);
  pointer-events:none;
}
.join-app-card{
  border-radius:16px;
  overflow:hidden;
}
.join-app-head{
  padding-bottom:14px;
}
.join-app-grid>div{
  background:#fafcfb;
  border-color:#e0e6e1;
}
.join-status{
  border:1px solid transparent;
}

/* Öffentlicher Beitritt */
.join-public-body{
  background:
    radial-gradient(circle at 75% 0%,rgba(83,207,145,.075),transparent 25rem),
    linear-gradient(180deg,#f6f8f4,#eef3ee);
}
.join-public-shell{
  padding-top:30px;
}
.join-public-brand,
.join-public-form,
.join-public-success,
.join-public-error{
  border-color:#d8e1da;
  box-shadow:var(--shadow-md);
}
.join-public-brand{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0%,rgba(83,207,145,.08),transparent 17rem),
    #fff;
}
.join-public-logo{
  box-shadow:0 9px 24px rgba(32,118,83,.12);
}
.join-contribution-option{
  transition:.15s ease;
}
.join-contribution-option:hover{
  border-color:#bcd0c2;
  background:#fbfdfb;
}
.join-contribution-option:has(input:checked){
  border-color:#8dbba4;
  background:#f0f8f4;
  box-shadow:0 0 0 3px rgba(32,118,83,.06);
}
.join-sepa-section{
  background:#f7faf8;
  border-color:#d8e3db;
}

/* Standard-Beitritt */
.standard-join-body{
  background:
    radial-gradient(circle at 50% 0%,rgba(83,207,145,.06),transparent 27rem),
    #edf2ee;
}
.standard-join-paper{
  border-color:#d9e1db;
  box-shadow:0 22px 60px rgba(12,34,22,.10);
}
.standard-join-head{
  border-bottom-color:#2a7f5b;
}

/* Mobile Top / Bottom */
.mobile-top{
  background:
    linear-gradient(90deg,#0b2118,#113324);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 5px 20px rgba(8,31,18,.10);
}
.mobile-bottom-nav{
  background:rgba(255,255,255,.94);
  border-top:1px solid #dfe5e0;
  box-shadow:0 -10px 30px rgba(17,42,29,.08);
  backdrop-filter:blur(18px);
}
.mobile-bottom-nav a{
  border-radius:11px;
}
.mobile-bottom-nav a.active{
  background:#edf7f1;
  color:var(--green-deep);
}
.mobile-bottom-nav i{
  font-style:normal;
}

/* Kleine Bewegung nur dort, wo sie hilft */
@media(prefers-reduced-motion:no-preference){
  .action-card,
  .support-quick-card,
  .primary,
  .next,
  .small-primary,
  .joins-side-action{
    transition-duration:.18s;
  }
}

/* Responsive */
@media(max-width:900px){
  .app-main{
    padding:28px 18px calc(112px + env(safe-area-inset-bottom));
  }
  .topline h1{
    font-size:31px;
  }
  .summary>div,
  .summary>a,
  .action-card,
  .settings-card,
  .simple-section,
  .table-card,
  .members-card{
    box-shadow:0 2px 8px rgba(17,42,29,.035);
  }
}
@media(max-width:620px){
  .auth-right{
    background:
      radial-gradient(circle at 90% 0%,rgba(83,207,145,.055),transparent 18rem),
      #f7f9f6;
  }
  .auth-card{
    border-radius:22px;
    box-shadow:0 18px 45px rgba(17,42,29,.10);
  }
  .settings-card{
    padding:22px 18px;
  }
  .topline{
    margin-bottom:22px;
  }
  .topline h1{
    font-size:29px;
  }
  .side-sheet{
    border-radius:0;
  }
}
@media(max-width:420px){
  .mobile-bottom-nav{
    padding-left:5px;
    padding-right:5px;
  }
  .mobile-bottom-nav a{
    padding-left:2px;
    padding-right:2px;
  }
}


/* VEREINSFACH – Admin Spendenverwaltung */
.admin-donation-panel{
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0%,rgba(83,207,145,.07),transparent 22rem),
    #fff;
}
.admin-donation-recipient{
  flex:0 0 auto;
  padding:8px 11px;
  border:1px solid #d5e5db;
  border-radius:999px;
  background:#eff8f3;
  color:var(--green-deep);
  font-size:11px;
  font-weight:800;
}
.admin-donation-intro{
  margin:2px 0 20px;
  color:#68756d;
  font-size:12px;
  line-height:1.6;
  max-width:780px;
}
.admin-donation-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.admin-donation-kpis>div{
  min-width:0;
  padding:17px;
  border:1px solid #dce4de;
  border-radius:16px;
  background:#fbfdfb;
  display:grid;
  gap:5px;
}
.admin-donation-kpis span{
  color:#68756d;
  font-size:10px;
  font-weight:700;
}
.admin-donation-kpis strong{
  color:#17261d;
  font-size:23px;
  line-height:1.1;
  font-weight:750;
  letter-spacing:-.035em;
}
.admin-donation-kpis small{
  color:#8a958e;
  font-size:9px;
}
.admin-donation-kpis .admin-donation-open{
  border-color:#b9dcc8;
  background:linear-gradient(145deg,#edf8f2,#f8fcf9);
}
.admin-donation-kpis .admin-donation-open strong{
  color:var(--green-deep);
}
.admin-donation-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:22px;
}
.admin-donation-meta span{
  padding:7px 10px;
  border-radius:999px;
  background:#f1f5f2;
  color:#526159;
  font-size:10px;
}
.admin-donation-meta b{
  color:#1e6f4f;
}
.admin-donation-transfer{
  display:grid;
  grid-template-columns:minmax(210px,1fr) 140px minmax(180px,1fr) auto;
  gap:12px;
  align-items:end;
  padding:18px;
  border:1px solid #dce4de;
  border-radius:16px;
  background:#f8faf8;
}
.admin-donation-transfer>div{
  align-self:center;
  display:grid;
  gap:4px;
}
.admin-donation-transfer>div strong{
  font-size:12px;
}
.admin-donation-transfer>div span{
  color:#727e76;
  font-size:9px;
  line-height:1.45;
}
.admin-donation-transfer label{
  display:grid;
  gap:6px;
  color:#526159;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.admin-donation-transfer input{
  width:100%;
  min-height:40px;
  box-sizing:border-box;
  border:1px solid #cfd9d1;
  border-radius:10px;
  background:#fff;
  color:#17261d;
  padding:0 11px;
  font:600 11px/1 inherit;
  text-transform:none;
  letter-spacing:0;
}
.admin-donation-transfer input:focus{
  outline:none;
  border-color:#79a98f;
  box-shadow:0 0 0 4px rgba(32,118,83,.08);
}
.admin-donation-transfer .primary{
  min-height:40px;
  white-space:nowrap;
}
.admin-donation-message{
  grid-column:1/-1;
  min-height:14px;
  margin:0;
  color:#557066;
  font-size:10px;
}
.admin-donation-history{
  margin-top:18px;
}
.admin-donation-history>strong{
  display:block;
  margin-bottom:7px;
  font-size:11px;
}
.admin-donation-history-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 2px;
  border-top:1px solid #edf1ee;
}
.admin-donation-history-row>div{
  display:grid;
  gap:2px;
}
.admin-donation-history-row strong{
  font-size:11px;
}
.admin-donation-history-row span,
.admin-donation-history-row time{
  color:#7b8780;
  font-size:9px;
}
@media(max-width:900px){
  .admin-donation-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-donation-transfer{
    grid-template-columns:1fr 1fr;
  }
  .admin-donation-transfer>div{
    grid-column:1/-1;
  }
}
@media(max-width:620px){
  .admin-donation-kpis{
    grid-template-columns:1fr;
  }
  .admin-donation-transfer{
    grid-template-columns:1fr;
  }
  .admin-donation-transfer>div,
  .admin-donation-message{
    grid-column:auto;
  }
  .admin-donation-recipient{
    display:none;
  }
}


/* VEREINSFACH – Tarifspende */
.billing-choice>div{
  display:grid;
}
.billing-donation-mini{
  display:inline-flex;
  width:max-content;
  margin-top:10px;
  padding:6px 9px;
  border-radius:999px;
  background:#edf8f2;
  color:#1f7652;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  line-height:1.2;
}
.billing-choice.recommended .billing-donation-mini{
  background:#e5f6ed;
  color:#176746;
}
.billing-giving{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:17px;
  align-items:center;
  margin-top:16px;
  padding:20px 22px;
  border:1px solid #cee3d6;
  border-radius:18px;
  background:
    radial-gradient(circle at 0% 100%,rgba(83,207,145,.10),transparent 16rem),
    linear-gradient(90deg,#eef8f2 0%,#f8fcfa 58%,#ffffff 100%);
  box-shadow:0 2px 8px rgba(17,42,29,.035);
}
.billing-giving-icon{
  width:58px;
  height:58px;
  display:grid;
  place-content:center;
  border-radius:16px;
  background:#dff3e8;
  color:#1f7a55;
  font-size:28px;
  box-shadow:inset 0 0 0 1px rgba(31,122,85,.05);
}
.billing-giving>div:last-child{
  display:grid;
  gap:5px;
}
.billing-giving span{
  color:#237a55;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
}
.billing-giving strong{
  color:#13251b;
  font-size:17px;
  line-height:1.35;
}
.billing-giving p{
  margin:0;
  color:#536159;
  font-size:12px;
  line-height:1.6;
}
.billing-giving p b{
  color:#173f2d;
}
.billing-giving a{
  color:#1e7652;
  font-weight:800;
  text-decoration:underline;
  text-decoration-color:rgba(30,118,82,.30);
  text-underline-offset:2px;
}
.billing-giving a:hover{
  color:#15583e;
}
@media(max-width:760px){
  .billing-giving{
    grid-template-columns:46px minmax(0,1fr);
    padding:16px;
    gap:13px;
  }
  .billing-giving-icon{
    width:46px;
    height:46px;
    border-radius:13px;
    font-size:22px;
  }
  .billing-giving strong{
    font-size:15px;
  }
}
