/* clubseite.ch – Ressourcen & Belegung (mobile first) */
.csr{--csr-line:var(--cs-line,#DDE3DC);--csr-ok:color-mix(in srgb,var(--cs-ok,#16A34A) 70%,var(--cs-ink,#0D1210));--csr-q:color-mix(in srgb,var(--cs-warn,#D97706) 70%,var(--cs-ink,#0D1210));--csr-std-h:38px;max-width:1100px;margin:0 auto;min-width:0}
.csr *{box-sizing:border-box}
.csr h3{margin:18px 0 8px;font-size:1.15em}
.csr-box{background:var(--cs-card,#FFFFFF);border:1px solid var(--csr-line);border-radius:10px;padding:14px;margin:0 0 14px;overflow-wrap:anywhere}
.csr-btn{display:inline-block;background:var(--cs-primary,#0E7A3E);color:var(--cs-on-primary,#FFFFFF)!important;border:0;border-radius:8px;padding:9px 14px;font-weight:700;text-decoration:none!important;cursor:pointer;font-size:14px;line-height:1.2;font-family:inherit}
.csr-btn.sec{background:var(--cs-bg,#F3F5F2);color:var(--cs-ink,#0D1210)!important}
.csr-btn:focus-visible,.csr a:focus-visible{outline:2px solid var(--cs-ink,#0D1210);outline-offset:2px}
.csr-hint{color:var(--cs-muted,#5D6862);font-size:.92em;margin:6px 0}
.csr-warn{background:#FBEFE3;background:color-mix(in srgb,var(--cs-warn,#D97706) 16%,transparent);border-radius:6px;padding:6px 8px;font-size:.92em;color:#92400E;color:color-mix(in srgb,var(--cs-warn,#D97706) 70%,var(--cs-ink,#0D1210))}
.csr-msg{padding:10px 14px;border-radius:8px;margin:0 0 12px;background:#E6F4EA;background:color-mix(in srgb,var(--cs-ok,#16A34A) 16%,transparent);color:#166534;color:color-mix(in srgb,var(--cs-ok,#16A34A) 70%,var(--cs-ink,#0D1210))}
.csr-msg.err{background:#FDE8E8;background:color-mix(in srgb,var(--cs-danger,#DC2626) 16%,transparent);color:#991B1B;color:color-mix(in srgb,var(--cs-danger,#DC2626) 70%,var(--cs-ink,#0D1210))}.csr-msg p{margin:0 0 4px}.csr-msg ul{margin:4px 0 0 18px;padding:0}
.csr-tabs,.csr-chips{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin:0 0 12px;padding:2px 0 6px;scrollbar-width:thin}
.csr-tabs a,.csr-chips a{flex:0 0 auto;padding:7px 12px;border-radius:999px;background:var(--cs-bg,#F3F5F2);color:var(--cs-ink,#0D1210)!important;text-decoration:none!important;font-size:14px;font-weight:600;white-space:nowrap}
.csr-tabs a.on,.csr-chips a.on{background:var(--cs-primary,#0E7A3E);color:var(--cs-on-primary,#FFFFFF)!important}
.csr-chips.csr-sub a{font-size:13px;padding:5px 10px;font-weight:500}
.csr-woche{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.csr-woche b{min-width:9em;text-align:center}
/* Formulare */
.csr-form label{display:flex;flex-direction:column;gap:4px;margin:0 0 10px;font-weight:600;min-width:0}
.csr-form input:not([type=checkbox]),.csr-form select,.csr-form textarea{width:100%;max-width:100%;padding:9px;border:1px solid var(--cs-line,#DDE3DC);border-radius:8px;font:inherit;background:var(--cs-card,#FFFFFF)}
.csr-form label.csr-check,.csr label.csr-check{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400}
.csr-form fieldset{border:1px solid var(--csr-line);border-radius:8px;padding:8px 10px;margin:0 0 10px;min-width:0}
.csr-form legend{font-weight:700;padding:0 4px}
.csr-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:0 10px}
.csr-mehr{margin:0 0 10px}.csr-mehr summary{cursor:pointer;color:var(--cs-ink,#0D1210)}
.csr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* Listen */
.csr-liste{display:grid;gap:10px;margin:0 0 14px}
.csr-item{background:var(--cs-card,#FFFFFF);border:1px solid var(--csr-line);border-left:5px solid var(--cs-line,#DDE3DC);border-radius:10px;padding:10px 12px;min-width:0;overflow-wrap:anywhere}
.csr-item.st-bestaetigt{border-left-color:var(--csr-ok)}.csr-item.st-angefragt{border-left-color:var(--cs-primary,#0E7A3E)}
.csr-item p{margin:4px 0}
.csr-item-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:baseline}
.csr-pill{font-size:12px;border-radius:999px;padding:2px 8px;background:var(--cs-bg,#F3F5F2);font-weight:700}
.csr-pill.st-bestaetigt{background:#E6F4EA;background:color-mix(in srgb,var(--cs-ok,#16A34A) 16%,transparent);color:var(--csr-ok)}.csr-pill.st-angefragt{background:var(--cs-chip,#E3F5EA);color:var(--csr-q)}
.csr-pill.st-abgelehnt,.csr-pill.st-storniert{background:#FDE8E8;background:color-mix(in srgb,var(--cs-danger,#DC2626) 16%,transparent);color:#991B1B;color:color-mix(in srgb,var(--cs-danger,#DC2626) 70%,var(--cs-ink,#0D1210))}
.csr-act,.csr-entscheid{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin-top:6px}
.csr-entscheid form{flex:1 1 260px;min-width:0}
.csr-entscheid details{flex:1 1 200px}
.csr-entscheid label{display:flex;flex-direction:column;gap:3px;margin:0 0 8px;font-weight:600}
.csr-entscheid input:not([type=checkbox]){width:100%;padding:8px;border:1px solid var(--cs-line,#DDE3DC);border-radius:8px;font:inherit}
.csr-inline{display:inline}
.csr-kontakt{font-size:.92em}
.csr-belegt ul{margin:0 0 0 18px;padding:0}.csr-frei{color:var(--cs-muted,#5D6862);font-style:italic;margin:4px 0}
/* Belegungsplan */
.csr-plan{container-type:inline-size;min-width:0}
.csr-grid{display:none}
.csr-lanes-hint{display:none}
.csr-agenda{display:grid;gap:8px}
.csr-tag{background:var(--cs-card,#FFFFFF);border:1px solid var(--csr-line);border-radius:10px;padding:8px 10px}
.csr-tag.heute{border-color:var(--cs-ink,#0D1210)}
.csr-tag h4{margin:0 0 4px;font-size:1em;display:flex;justify-content:space-between;gap:6px}
.csr-tag ul{list-style:none;margin:0;padding:0}
.csr-tag li{padding:5px 6px;margin:3px 0;border-radius:6px;overflow-wrap:anywhere}
.csr-z{font-variant-numeric:tabular-nums;font-weight:700}
.csr-plus{font-weight:700;text-decoration:none!important;color:var(--cs-ink,#0D1210)!important;font-size:.9em}
.csr-b{background:#E6F4EA;background:color-mix(in srgb,var(--cs-ok,#16A34A) 16%,transparent);border-left:4px solid var(--csr-ok);color:var(--cs-ink,#0D1210)}
.csr-b.st-angefragt{background:repeating-linear-gradient(135deg,var(--cs-chip,#E3F5EA) 0 6px,var(--cs-chip,#E3F5EA) 6px 12px);border-left-color:var(--cs-primary,#0E7A3E)}
.csr-b.q-aufgebot{background:var(--cs-bg,#F3F5F2);border-left-color:var(--cs-line,#DDE3DC);color:var(--cs-ink,#0D1210)}
.csr-legende{font-size:12px;display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.csr-legende .csr-b{padding:2px 6px;border-radius:4px}
@container (min-width: 560px){
	.csr-lanes-hint{display:block}
	.csr-grid{display:grid;grid-template-columns:34px repeat(7,minmax(0,1fr));border:1px solid var(--csr-line);border-radius:10px;overflow:hidden;background:var(--cs-card,#FFFFFF)}
	.csr-agenda{display:none}
	.csr-dh{height:34px;padding:6px 4px;font-size:13px;font-weight:700;text-align:center;border-bottom:1px solid var(--csr-line);background:var(--cs-bg,#F3F5F2);white-space:nowrap;overflow:hidden}
	.csr-col{border-left:1px solid var(--csr-line);min-width:0}
	.csr-col.heute .csr-dh{background:var(--cs-primary,#0E7A3E);color:var(--cs-on-primary,#FFFFFF)}
	.csr-col-body{position:relative;height:calc(var(--csr-std) * var(--csr-std-h));background-image:linear-gradient(#f0f0f0 1px,transparent 1px);background-size:100% var(--csr-std-h)}
	.csr-axis .csr-col-body span{position:absolute;left:4px;font-size:11px;color:var(--cs-muted,#5D6862);transform:translateY(1px)}
	.csr-col-body .csr-b{position:absolute;border-radius:5px;padding:2px 4px;font-size:11.5px;line-height:1.25;overflow:hidden;min-height:16px;box-shadow:0 0 0 1px #fff}
	.csr-col-body .csr-b small{display:block;color:var(--cs-ink,#0D1210)}
}
.csr-admin .csr-ical{width:220px;font-size:11px}
.csr-admin .csr-tab td{vertical-align:middle}
/* Dashboard «Mein Verein» (Blöcke aus cs_dashboard_bloecke) */
.csr-dash-zahlen{display:flex;flex-wrap:wrap;gap:.4em 1em;margin:.2em 0 .6em}
.csr-dash-zahlen span{white-space:nowrap}
.csr-dash-warn,.csr-dash-zahlen .csr-dash-warn b{color:#92400E;color:color-mix(in srgb,var(--cs-warn,#D97706) 70%,var(--cs-ink,#0D1210))}
.csr-dash-sub{margin:.6em 0 .2em;font-weight:600;font-size:.92em}
.csr-dash-list{list-style:none;margin:0;padding:0}
.csr-dash-list li{padding:.35em 0;border-bottom:1px solid var(--cs-line,#DDE3DC);line-height:1.35}
.csr-dash-list li:last-child{border-bottom:0}
.csr-dash-act{display:flex;flex-wrap:wrap;gap:.5em;margin:.6em 0 0}
.csr-dash-act a{min-height:44px;display:inline-flex;align-items:center}
/* 1.0.2: Reiter «Ressourcen» (Verwalten auf der Vereinsseite) */
.csr-kopf{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px}.csr-kopf h3{margin:0}
.csr-res{display:flex;align-items:center;gap:12px;background:var(--cs-card,#FFFFFF);border:1px solid var(--csr-line);border-radius:10px;padding:10px 12px;min-width:0}
.csr .csr-liste .csr-res{margin-bottom:0}
.csr-res.inaktiv{opacity:.6}
.csr-res-ic{flex:none;width:40px;height:40px;border-radius:50%;background:var(--cs-bg,#F3F5F2);display:flex;align-items:center;justify-content:center;font-size:20px}
.csr-res-x{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.csr-res-x small{color:var(--cs-muted,#5D6862);font-size:.84em}
.csr-res .csr-btn{flex:none;min-height:44px;display:inline-flex;align-items:center}
.csr-pw{list-style:none;margin:0 0 10px;padding:0}.csr-pw li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--csr-line)}
.csr-pw-neu{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.csr-pw-neu label{flex:1 1 220px;margin:0}
.csr-gross{width:100%;min-height:48px;font-size:16px}
.csr .csr-btn{min-height:44px}
/* 1.0.3: Abo-Knöpfe */
.csr .csr-abo{background:var(--cs-card,#FFFFFF);border:1px solid var(--cs-line,#DDE3DC);border-radius:12px;padding:4px 14px;margin:10px 0 12px}
.csr-abo summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.csr-abo-k{display:grid;grid-template-columns:1fr;gap:8px;margin:4px 0 8px}
.csr-abo-k .csr-btn{width:100%;text-align:center;box-sizing:border-box;display:block}
@media (min-width:600px){.csr-abo-k{grid-template-columns:1fr 1fr}}
/* Farbmuster (Welle 11): Titel in der Titelschrift des Vereins */
.csr :is(h1,h2,h3){font-family:var(--cs-font-head,'Barlow Condensed',system-ui,sans-serif)}
/* 1.1.2: SVG-Symbole statt Emojis */
.csr-sym{width:16px;height:16px;vertical-align:-3px;margin-right:5px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.csr-res-ic .csr-sym{width:20px;height:20px;margin:0}
/* 1.1.2: Wochenplan am PC – Einträge nicht zerquetschen (Zeile pro Angabe, Auslassungspunkte statt Zeichen-Umbruch), höhere Stunden */
@container (min-width: 560px){
	.csr-col-body .csr-b{overflow-wrap:normal;word-break:normal}
	.csr-col-body .csr-b .csr-z,.csr-col-body .csr-b .csr-bt,.csr-col-body .csr-b small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@container (min-width: 900px){
	.csr-plan .csr-grid{--csr-std-h:52px}
	.csr-col-body .csr-b{font-size:12.5px;padding:3px 5px}
}
@container (min-width: 560px){
	.csr-col-body .csr-b{container-type:inline-size;padding-left:3px;padding-right:3px}
}
@container (max-width: 52px){
	.csr-b .csr-z{font-size:10px;letter-spacing:-.02em;text-overflow:clip!important}
	.csr-b .csr-bt{font-size:10px}
	.csr-b small{display:none!important}
}
.csr-grid .csr-b .csr-z,.csr-grid .csr-b .csr-bt,.csr-grid .csr-b small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
